"<a onclick='i2b2.MedCo.QT.ctrlr.showDateConstraint(this)' title='Select the date range for this group's criterion to have occured within...'>Dates</a>"+
"</div>" +
"<div class='occur'>" +
// <!--<a id="A_11" href="JavaScript:i2b2.CRC.ctrlr.QT.panelControllers[0].showOccurs()" title="Select the minimum number of times this group's criterion has occured...">Occurs > <span id="SPAN_12">0</span>x</a>-->
"</div>" +
"<div class='exclude'>" +
"<a onclick='i2b2.MedCo.QT.ctrlr.excludePanel(this)' title='Exclude records matching this group\'s criteria...'>Exclude</a>" +
-$packages["unicode/utf8"]=(function(){var $pkg={},$init,B,A,C,D,F,G,H,I,J,K,L,M,N,Q;B=$pkg.acceptRange=$newType(0,$kindStruct,"utf8.acceptRange",true,"unicode/utf8",false,function(lo_,hi_){this.$val=this;if(arguments.length===0){this.lo=0;this.hi=0;return;}this.lo=lo_;this.hi=hi_;});D=function(a){var a,b,c,d,e,f,g;b=a.$length;if(b===0){return false;}d=(c=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),((c<0||c>=A.length)?($throwRuntimeError("index out of range"),undefined):A[c]));if(b>=((((d&7)>>>0)>>0))){return true;}f=$clone((e=d>>>4<<24>>>24,((e<0||e>=C.length)?($throwRuntimeError("index out of range"),undefined):C[e])),B);if(b>1){g=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(g<f.lo||f.hi<g){return true;}else if(b>2&&((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])<128||191<(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]))){return true;}}return false;};$pkg.FullRune=D;F=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.$length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=(((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=(h&7)>>>0;n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<((l>>0))){o=65533;p=1;b=o;c=p;return[b,c];}q=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l===2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l===3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRune=F;G=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=a.charCodeAt(0);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=((((a.charCodeAt(0)>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=(h&7)>>>0;n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<((l>>0))){o=65533;p=1;b=o;c=p;return[b,c];}q=a.charCodeAt(1);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l===2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=a.charCodeAt(2);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l===3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=a.charCodeAt(3);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRuneInString=G;H=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.$length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g])>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=F($subslice(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRune=H;I=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((a.charCodeAt(g)>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(a.charCodeAt(g))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=G($substring(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRuneInString=I;J=function(a){var a;if(a<0){return-1;}else if(a<=127){return 1;}else if(a<=2047){return 2;}else if(55296<=a&&a<=57343){return-1;}else if(a<=65535){return 3;}else if(a<=1114111){return 4;}return-1;};$pkg.RuneLen=J;K=function(a,b){var a,b,c;c=((b>>>0));if(c<=127){(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((b<<24>>>24)));return 1;}else if(c<=2047){$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((192|(((b>>6>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 2;}else if((c>1114111)||(55296<=c&&c<=57343)){b=65533;$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else if(c<=65535){$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else{$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((240|(((b>>18>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>12>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 4;}};$pkg.EncodeRune=K;L=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=a.$length;c=0;d=0;while(true){if(!(d<b)){break;}c=c+(1)>>0;e=((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]);if(e<128){d=d+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>b){d=d+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);k=(j=d+1>>0,((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]));if(k<i.lo||i.hi<k){g=1;}else if(g===2){}else{m=(l=d+2>>0,((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l]));if(m<128||191<m){g=1;}else if(g===3){}else{o=(n=d+3>>0,((n<0||n>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+n]));if(o<128||191<o){g=1;}}}d=d+(g)>>0;}return c;};$pkg.RuneCount=L;M=function(a){var a,b,c,d,e,f,g,h,i,j,k,l;b=0;c=a.length;d=0;while(true){if(!(d<c)){break;}e=a.charCodeAt(d);if(e<128){d=d+(1)>>0;b=b+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;b=b+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>c){d=d+(1)>>0;b=b+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);j=a.charCodeAt((d+1>>0));if(j<i.lo||i.hi<j){g=1;}else if(g===2){}else{k=a.charCodeAt((d+2>>0));if(k<128||191<k){g=1;}else if(g===3){}else{l=a.charCodeAt((d+3>>0));if(l<128||191<l){g=1;}}}d=d+(g)>>0;b=b+(1)>>0;}b=b;return b;};$pkg.RuneCountInString=M;N=function(a){var a;return!((((a&192)>>>0)===128));};$pkg.RuneStart=N;Q=function(a){var a;if(0<=a&&a<55296){return true;}else if(57343<a&&a<=1114111){return true;}return false;};$pkg.ValidRune=Q;B.init("unicode/utf8",[{prop:"lo",name:"lo",anonymous:false,exported:false,typ:$Uint8,tag:""},{prop:"hi",name:"hi",anonymous:false,exported:false,typ:$Uint8,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:A=$toNativeArray($kindUint8,[240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,19,3,3,3,3,3,3,3,3,3,3,3,3,35,3,3,52,4,4,4,68,241,241,241,241,241,241,241,241,241,241,241]);C=$toNativeArray($kindStruct,[new B.ptr(128,191),new B.ptr(160,191),new B.ptr(128,159),new B.ptr(144,191),new B.ptr(128,143)]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["bytes"]=(function(){var $pkg={},$init,A,B,D,C,H,I,BP,BQ,BR,E,F,J,K,P,AG,BL;A=$packages["errors"];B=$packages["io"];D=$packages["unicode"];C=$packages["unicode/utf8"];H=$pkg.Buffer=$newType(0,$kindStruct,"bytes.Buffer",true,"bytes",true,function(buf_,off_,lastRead_,bootstrap_){this.$val=this;if(arguments.length===0){this.buf=BQ.nil;this.off=0;this.lastRead=0;this.bootstrap=BR.zero();return;}this.buf=buf_;this.off=off_;this.lastRead=lastRead_;this.bootstrap=bootstrap_;});I=$pkg.readOp=$newType(4,$kindInt,"bytes.readOp",true,"bytes",false,null);BP=$ptrType(H);BQ=$sliceType($Uint8);BR=$arrayType($Uint8,64);E=function(d,e){var d,e,f,g,h,i;f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(i===e){return h;}g++;}return-1;};$pkg.IndexByte=E;F=function(d,e){var d,e,f,g,h,i;if(!((d.$length===e.$length))){return false;}f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(!((i===((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h])))){return false;}g++;}return true;};$pkg.Equal=F;H.ptr.prototype.Bytes=function(){var d;d=this;return $subslice(d.buf,d.off);};H.prototype.Bytes=function(){return this.$val.Bytes();};H.ptr.prototype.String=function(){var d;d=this;if(d===BP.nil){return"<nil>";}return($bytesToString($subslice(d.buf,d.off)));};H.prototype.String=function(){return this.$val.String();};H.ptr.prototype.Len=function(){var d;d=this;return d.buf.$length-d.off>>0;};H.prototype.Len=function(){return this.$val.Len();};H.ptr.prototype.Cap=function(){var d;d=this;return d.buf.$capacity;};H.prototype.Cap=function(){return this.$val.Cap();};H.ptr.prototype.Truncate=function(d){var d,e;e=this;if(d===0){e.Reset();return;}e.lastRead=0;if(d<0||d>e.Len()){$panic(new $String("bytes.Buffer: truncation out of range"));}e.buf=$subslice(e.buf,0,(e.off+d>>0));};H.prototype.Truncate=function(d){return this.$val.Truncate(d);};H.ptr.prototype.Reset=function(){var d;d=this;d.buf=$subslice(d.buf,0,0);d.off=0;d.lastRead=0;};H.prototype.Reset=function(){return this.$val.Reset();};H.ptr.prototype.tryGrowByReslice=function(d){var d,e,f;e=this;f=e.buf.$length;if((f+d>>0)<=e.buf.$capacity){e.buf=$subslice(e.buf,0,(f+d>>0));return[f,true];}return[0,false];};H.prototype.tryGrowByReslice=function(d){return this.$val.tryGrowByReslice(d);};H.ptr.prototype.grow=function(d){var d,e,f,g,h,i,j,k;e=this;f=e.Len();if((f===0)&&!((e.off===0))){e.Reset();}g=e.tryGrowByReslice(d);h=g[0];i=g[1];if(i){return h;}if(e.buf===BQ.nil&&d<=64){e.buf=$subslice(new BQ(e.bootstrap),0,d);return 0;}if((f+d>>0)<=(j=e.buf.$capacity/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))){$copySlice(e.buf,$subslice(e.buf,e.off));}else{k=J(($imul(2,e.buf.$capacity))+d>>0);$copySlice(k,$subslice(e.buf,e.off));e.buf=k;}e.off=0;e.buf=$subslice(e.buf,0,(f+d>>0));return f;};H.prototype.grow=function(d){return this.$val.grow(d);};H.ptr.prototype.Grow=function(d){var d,e,f;e=this;if(d<0){$panic(new $String("bytes.Buffer.Grow: negative count"));}f=e.grow(d);e.buf=$subslice(e.buf,0,f);};H.prototype.Grow=function(d){return this.$val.Grow(d);};H.ptr.prototype.Write=function(d){var d,e,f,g,h,i,j,k,l;e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.tryGrowByReslice(d.$length);i=h[0];j=h[1];if(!j){i=g.grow(d.$length);}k=$copySlice($subslice(g.buf,i),d);l=$ifaceNil;e=k;f=l;return[e,f];};H.prototype.Write=function(d){return this.$val.Write(d);};H.ptr.prototype.WriteString=function(d){var d,e,f,g,h,i,j,k,l;e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.tryGrowByReslice(d.length);i=h[0];j=h[1];if(!j){i=g.grow(d.length);}k=$copyString($subslice(g.buf,i),d);l=$ifaceNil;e=k;f=l;return[e,f];};H.prototype.WriteString=function(d){return this.$val.WriteString(d);};H.ptr.prototype.ReadFrom=function(d){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Reset();}case 1:h=g.buf.$capacity-g.buf.$length>>0;if(h<512){i=g.buf;if((g.off+h>>0)<512){i=J(($imul(2,g.buf.$capacity))+512>>0);}$copySlice(i,$subslice(g.buf,g.off));g.buf=$subslice(i,0,(g.buf.$length-g.off>>0));g.off=0;}k=d.Read($subslice(g.buf,g.buf.$length,g.buf.$capacity));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];g.buf=$subslice(g.buf,0,(g.buf.$length+l>>0));e=(n=(new $Int64(0,l)),new $Int64(e.$high+n.$high,e.$low+n.$low));if($interfaceIsEqual(m,B.EOF)){$s=2;continue;}if(!($interfaceIsEqual(m,$ifaceNil))){o=e;p=m;e=o;f=p;$s=-1;return[e,f];}$s=1;continue;case 2:q=e;r=$ifaceNil;e=q;f=r;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.ReadFrom};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.ReadFrom=function(d){return this.$val.ReadFrom(d);};J=function(d){var d,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){if(!($interfaceIsEqual($recover(),$ifaceNil))){$panic($pkg.ErrTooLarge);}}),[]]);return $makeSlice(BQ,d);}catch(err){$err=err;return BQ.nil;}finally{$callDeferred($deferred,$err);}};H.ptr.prototype.WriteTo=function(d){var d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;if(g.off<g.buf.$length){$s=1;continue;}$s=2;continue;case 1:h=g.Len();j=d.Write($subslice(g.buf,g.off));$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(k>h){$panic(new $String("bytes.Buffer.WriteTo: invalid Write count"));}g.off=g.off+(k)>>0;e=(new $Int64(0,k));if(!($interfaceIsEqual(l,$ifaceNil))){m=e;n=l;e=m;f=n;$s=-1;return[e,f];}if(!((k===h))){o=e;p=B.ErrShortWrite;e=o;f=p;$s=-1;return[e,f];}case 2:g.Reset();$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.WriteTo};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.WriteTo=function(d){return this.$val.WriteTo(d);};H.ptr.prototype.WriteByte=function(d){var d,e,f,g,h,i;e=this;e.lastRead=0;f=e.tryGrowByReslice(1);g=f[0];h=f[1];if(!h){g=e.grow(1);}(i=e.buf,((g<0||g>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+g]=d));return $ifaceNil;};H.prototype.WriteByte=function(d){return this.$val.WriteByte(d);};H.ptr.prototype.WriteRune=function(d){var d,e,f,g,h,i,j,k,l,m,n;e=0;f=$ifaceNil;g=this;if(d<128){g.WriteByte(((d<<24>>>24)));h=1;i=$ifaceNil;e=h;f=i;return[e,f];}g.lastRead=0;j=g.tryGrowByReslice(4);k=j[0];l=j[1];if(!l){k=g.grow(4);}e=C.EncodeRune($subslice(g.buf,k,(k+4>>0)),d);g.buf=$subslice(g.buf,0,(k+e>>0));m=e;n=$ifaceNil;e=m;f=n;return[e,f];};H.prototype.WriteRune=function(d){return this.$val.WriteRune(d);};H.ptr.prototype.Read=function(d){var d,e,f,g,h,i;e=0;f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Reset();if(d.$length===0){return[e,f];}h=0;i=B.EOF;e=h;f=i;return[e,f];}e=$copySlice(d,$subslice(g.buf,g.off));g.off=g.off+(e)>>0;if(e>0){g.lastRead=-1;}return[e,f];};H.prototype.Read=function(d){return this.$val.Read(d);};H.ptr.prototype.Next=function(d){var d,e,f,g;e=this;e.lastRead=0;f=e.Len();if(d>f){d=f;}g=$subslice(e.buf,e.off,(e.off+d>>0));e.off=e.off+(d)>>0;if(d>0){e.lastRead=-1;}return g;};H.prototype.Next=function(d){return this.$val.Next(d);};H.ptr.prototype.ReadByte=function(){var d,e,f,g;d=this;d.lastRead=0;if(d.off>=d.buf.$length){d.Reset();return[0,B.EOF];}g=(e=d.buf,f=d.off,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));d.off=d.off+(1)>>0;d.lastRead=-1;return[g,$ifaceNil];};H.prototype.ReadByte=function(){return this.$val.ReadByte();};H.ptr.prototype.ReadRune=function(){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;d=0;e=0;f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Reset();h=0;i=0;j=B.EOF;d=h;e=i;f=j;return[d,e,f];}m=(k=g.buf,l=g.off,((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]));if(m<128){g.off=g.off+(1)>>0;g.lastRead=1;n=((m>>0));o=1;p=$ifaceNil;d=n;e=o;f=p;return[d,e,f];}q=C.DecodeRune($subslice(g.buf,g.off));d=q[0];r=q[1];g.off=g.off+(r)>>0;g.lastRead=((r>>0));s=d;t=r;u=$ifaceNil;d=s;e=t;f=u;return[d,e,f];};H.prototype.ReadRune=function(){return this.$val.ReadRune();};H.ptr.prototype.UnreadRune=function(){var d;d=this;if(d.lastRead<=0){return A.New("bytes.Buffer: UnreadRune: previous operation was not a successful ReadRune");}if(d.off>=((d.lastRead>>0))){d.off=d.off-(((d.lastRead>>0)))>>0;}d.lastRead=0;return $ifaceNil;};H.prototype.UnreadRune=function(){return this.$val.UnreadRune();};H.ptr.prototype.UnreadByte=function(){var d;d=this;if(d.lastRead===0){return A.New("bytes.Buffer: UnreadByte: previous operation was not a successful read");}d.lastRead=0;if(d.off>0){d.off=d.off-(1)>>0;}return $ifaceNil;};H.prototype.UnreadByte=function(){return this.$val.UnreadByte();};H.ptr.prototype.ReadBytes=function(d){var d,e,f,g,h,i;e=BQ.nil;f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];e=$appendSlice(e,i);return[e,f];};H.prototype.ReadBytes=function(d){return this.$val.ReadBytes(d);};H.ptr.prototype.readSlice=function(d){var d,e,f,g,h,i,j,k;e=BQ.nil;f=$ifaceNil;g=this;h=E($subslice(g.buf,g.off),d);i=(g.off+h>>0)+1>>0;if(h<0){i=g.buf.$length;f=B.EOF;}e=$subslice(g.buf,g.off,i);g.off=i;g.lastRead=-1;j=e;k=f;e=j;f=k;return[e,f];};H.prototype.readSlice=function(d){return this.$val.readSlice(d);};H.ptr.prototype.ReadString=function(d){var d,e,f,g,h,i,j,k;e="";f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];j=($bytesToString(i));k=f;e=j;f=k;return[e,f];};H.prototype.ReadString=function(d){return this.$val.ReadString(d);};K=function(d){var d;return new H.ptr(d,0,0,BR.zero());};$pkg.NewBuffer=K;P=function(d,e){var d,e;return!((BL(d,e)===-1));};$pkg.Contains=P;AG=function(d,e){var d,e;return d.$length>=e.$length&&F($subslice(d,0,e.$length),e);};$pkg.HasPrefix=AG;BL=function(d,e){var d,e,f,g,h,i,j;f=e.$length;if(f===0){return 0;}if(f>d.$length){return-1;}g=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);if(f===1){return E(d,g);}h=0;i=$subslice(d,0,((d.$length-f>>0)+1>>0));while(true){if(!(h<i.$length)){break;}if(!((((h<0||h>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h])===g))){j=E($subslice(i,h),g);if(j<0){break;}h=h+(j)>>0;}if(F($subslice(d,h,(h+f>>0)),e)){return h;}h=h+(1)>>0;}return-1;};$pkg.Index=BL;BP.methods=[{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[BQ],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"tryGrowByReslice",name:"tryGrowByReslice",pkg:"bytes",typ:$funcType([$Int],[$Int,$Bool],false)},{prop:"grow",name:"grow",pkg:"bytes",typ:$funcType([$Int],[$Int],false)},{prop:"Grow",name:"Grow",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BQ],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([B.Reader],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([B.Writer],[$Int64,$error],false)},{prop:"WriteByte",name:"WriteByte",pkg:"",typ:$funcType([$Uint8],[$error],false)},{prop:"WriteRune",name:"WriteRune",pkg:"",typ:$funcType([$Int32],[$Int,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BQ],[$Int,$error],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([$Int],[BQ],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadBytes",name:"ReadBytes",pkg:"",typ:$funcType([$Uint8],[BQ,$error],false)},{prop:"readSlice",name:"readSlice",pkg:"bytes",typ:$funcType([$Uint8],[BQ,$error],false)},{prop:"ReadString",name:"ReadString",pkg:"",typ:$funcType([$Uint8],[$String,$error],false)}];H.init("bytes",[{prop:"buf",name:"buf",anonymous:false,exported:false,typ:BQ,tag:""},{prop:"off",name:"off",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"lastRead",name:"lastRead",anonymous:false,exported:false,typ:I,tag:""},{prop:"bootstrap",name:"bootstrap",anonymous:false,exported:false,typ:BR,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrTooLarge=A.New("bytes.Buffer: too large");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["unicode/utf8"]=(function(){var $pkg={},$init,B,A,C,D,F,G,H,I,J,K,L,M,N,Q;B=$pkg.acceptRange=$newType(0,$kindStruct,"utf8.acceptRange",true,"unicode/utf8",false,function(lo_,hi_){this.$val=this;if(arguments.length===0){this.lo=0;this.hi=0;return;}this.lo=lo_;this.hi=hi_;});D=function(a){var a,b,c,d,e,f,g;b=a.$length;if(b===0){return false;}d=(c=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),((c<0||c>=A.length)?($throwRuntimeError("index out of range"),undefined):A[c]));if(b>=((((d&7)>>>0)>>0))){return true;}f=$clone((e=d>>>4<<24>>>24,((e<0||e>=C.length)?($throwRuntimeError("index out of range"),undefined):C[e])),B);if(b>1){g=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(g<f.lo||f.hi<g){return true;}else if(b>2&&((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])<128||191<(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]))){return true;}}return false;};$pkg.FullRune=D;F=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.$length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=(((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=(h&7)>>>0;n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<((l>>0))){o=65533;p=1;b=o;c=p;return[b,c];}q=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l===2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l===3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRune=F;G=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=a.charCodeAt(0);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=((((a.charCodeAt(0)>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=(h&7)>>>0;n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<((l>>0))){o=65533;p=1;b=o;c=p;return[b,c];}q=a.charCodeAt(1);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l===2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=a.charCodeAt(2);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l===3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=a.charCodeAt(3);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRuneInString=G;H=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.$length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g])>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=F($subslice(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRune=H;I=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((a.charCodeAt(g)>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(a.charCodeAt(g))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=G($substring(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRuneInString=I;J=function(a){var a;if(a<0){return-1;}else if(a<=127){return 1;}else if(a<=2047){return 2;}else if(55296<=a&&a<=57343){return-1;}else if(a<=65535){return 3;}else if(a<=1114111){return 4;}return-1;};$pkg.RuneLen=J;K=function(a,b){var a,b,c;c=((b>>>0));if(c<=127){(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((b<<24>>>24)));return 1;}else if(c<=2047){$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((192|(((b>>6>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 2;}else if((c>1114111)||(55296<=c&&c<=57343)){b=65533;$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else if(c<=65535){$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else{$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((240|(((b>>18>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>12>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 4;}};$pkg.EncodeRune=K;L=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=a.$length;c=0;d=0;while(true){if(!(d<b)){break;}c=c+(1)>>0;e=((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]);if(e<128){d=d+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>b){d=d+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);k=(j=d+1>>0,((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]));if(k<i.lo||i.hi<k){g=1;}else if(g===2){}else{m=(l=d+2>>0,((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l]));if(m<128||191<m){g=1;}else if(g===3){}else{o=(n=d+3>>0,((n<0||n>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+n]));if(o<128||191<o){g=1;}}}d=d+(g)>>0;}return c;};$pkg.RuneCount=L;M=function(a){var a,b,c,d,e,f,g,h,i,j,k,l;b=0;c=a.length;d=0;while(true){if(!(d<c)){break;}e=a.charCodeAt(d);if(e<128){d=d+(1)>>0;b=b+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;b=b+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>c){d=d+(1)>>0;b=b+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);j=a.charCodeAt((d+1>>0));if(j<i.lo||i.hi<j){g=1;}else if(g===2){}else{k=a.charCodeAt((d+2>>0));if(k<128||191<k){g=1;}else if(g===3){}else{l=a.charCodeAt((d+3>>0));if(l<128||191<l){g=1;}}}d=d+(g)>>0;b=b+(1)>>0;}b=b;return b;};$pkg.RuneCountInString=M;N=function(a){var a;return!((((a&192)>>>0)===128));};$pkg.RuneStart=N;Q=function(a){var a;if(0<=a&&a<55296){return true;}else if(57343<a&&a<=1114111){return true;}return false;};$pkg.ValidRune=Q;B.init("unicode/utf8",[{prop:"lo",name:"lo",anonymous:false,exported:false,typ:$Uint8,tag:""},{prop:"hi",name:"hi",anonymous:false,exported:false,typ:$Uint8,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:A=$toNativeArray($kindUint8,[240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,19,3,3,3,3,3,3,3,3,3,3,3,3,35,3,3,52,4,4,4,68,241,241,241,241,241,241,241,241,241,241,241]);C=$toNativeArray($kindStruct,[new B.ptr(128,191),new B.ptr(160,191),new B.ptr(128,159),new B.ptr(144,191),new B.ptr(128,143)]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["strconv"]=(function(){var $pkg={},$init,B,A,C,S,Y,AC,AH,AO,AX,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,G,K,L,M,AD,AI,AJ,AK,AP,CR,AQ,CS,BD,BE,BF,BG,BH,BO,D,E,F,H,I,J,N,O,P,Q,R,T,U,V,W,X,Z,AA,AB,AE,AF,AG,AL,AM,AN,AR,AS,AT,AU,AV,AW,AY,AZ,BA,BB,BC,BI,BJ,BK,BL,BM,BN,BP,BQ,BS,BT,BU,BV,BW,BX,BY,CC,CE,CH,CI,CJ,CK,CL,CM,CN,CO,CQ;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];S=$pkg.NumError=$newType(0,$kindStruct,"strconv.NumError",true,"strconv",true,function(Func_,Num_,Err_){this.$val=this;if(arguments.length===0){this.Func="";this.Num="";this.Err=$ifaceNil;return;}this.Func=Func_;this.Num=Num_;this.Err=Err_;});Y=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal",true,"strconv",false,function(d_,nd_,dp_,neg_,trunc_){this.$val=this;if(arguments.length===0){this.d=CZ.zero();this.nd=0;this.dp=0;this.neg=false;this.trunc=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;this.trunc=trunc_;});AC=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat",true,"strconv",false,function(delta_,cutoff_){this.$val=this;if(arguments.length===0){this.delta=0;this.cutoff="";return;}this.delta=delta_;this.cutoff=cutoff_;});AH=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat",true,"strconv",false,function(mant_,exp_,neg_){this.$val=this;if(arguments.length===0){this.mant=new $Uint64(0,0);this.exp=0;this.neg=false;return;}this.mant=mant_;this.exp=exp_;this.neg=neg_;});AO=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo",true,"strconv",false,function(mantbits_,expbits_,bias_){this.$val=this;if(arguments.length===0){this.mantbits=0;this.expbits=0;this.bias=0;return;}this.mantbits=mantbits_;this.expbits=expbits_;this.bias=bias_;});AX=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice",true,"strconv",false,function(d_,nd_,dp_,neg_){this.$val=this;if(arguments.length===0){this.d=DB.nil;this.nd=0;this.dp=0;this.neg=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;});CT=$sliceType($Int);CU=$sliceType($Float64);CV=$sliceType($Float32);CW=$sliceType(AC);CX=$sliceType($Uint16);CY=$sliceType($Uint32);CZ=$arrayType($Uint8,800);DA=$ptrType(S);DB=$sliceType($Uint8);DC=$arrayType($Uint8,24);DD=$arrayType($Uint8,32);DE=$ptrType(AO);DF=$arrayType($Uint8,65);DG=$arrayType($Uint8,4);DH=$ptrType(Y);DI=$ptrType(AX);DJ=$ptrType(AH);D=function(a){var a,b;b=a;if(b===("1")||b===("t")||b===("T")||b===("true")||b===("TRUE")||b===("True")){return[true,$ifaceNil];}else if(b===("0")||b===("f")||b===("F")||b===("false")||b===("FALSE")||b===("False")){return[false,$ifaceNil];}return[false,T("ParseBool",a)];};$pkg.ParseBool=D;E=function(a){var a;if(a){return"true";}return"false";};$pkg.FormatBool=E;F=function(a,b){var a,b;if(b){return $appendSlice(a,"true");}return $appendSlice(a,"false");};$pkg.AppendBool=F;H=function(a,b){var a,b,c,d,e;if(!((a.length===b.length))){return false;}c=0;while(true){if(!(c<a.length)){break;}d=a.charCodeAt(c);if(65<=d&&d<=90){d=d+(32)<<24>>>24;}e=b.charCodeAt(c);if(65<=e&&e<=90){e=e+(32)<<24>>>24;}if(!((d===e))){return false;}c=c+(1)>>0;}return true;};I=function(a){var a,b,c,d,e,f,g,h,i,j,k,l;b=0;c=false;if(a.length===0){return[b,c];}d=a.charCodeAt(0);if(d===(43)){if(H(a,"+inf")||H(a,"+infinity")){e=A.Inf(1);f=true;b=e;c=f;return[b,c];}}else if(d===(45)){if(H(a,"-inf")||H(a,"-infinity")){g=A.Inf(-1);h=true;b=g;c=h;return[b,c];}}else if((d===(110))||(d===(78))){if(H(a,"nan")){i=A.NaN();j=true;b=i;c=j;return[b,c];}}else if((d===(105))||(d===(73))){if(H(a,"inf")||H(a,"infinity")){k=A.Inf(1);l=true;b=k;c=l;return[b,c];}}else{return[b,c];}return[b,c];};Y.ptr.prototype.set=function(a){var a,b,c,d,e,f,g,h,i,j;b=false;c=this;d=0;c.neg=false;c.trunc=false;if(d>=a.length){return b;}if((a.charCodeAt(d)===43)){d=d+(1)>>0;}else if((a.charCodeAt(d)===45)){c.neg=true;d=d+(1)>>0;}e=false;f=false;while(true){if(!(d<a.length)){break;}if((a.charCodeAt(d)===46)){if(e){return b;}e=true;c.dp=c.nd;d=d+(1)>>0;continue;}else if(48<=a.charCodeAt(d)&&a.charCodeAt(d)<=57){f=true;if((a.charCodeAt(d)===48)&&(c.nd===0)){c.dp=c.dp-(1)>>0;d=d+(1)>>0;continue;}if(c.nd<800){(g=c.d,h=c.nd,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]=a.charCodeAt(d)));c.nd=c.nd+(1)>>0;}else if(!((a.charCodeAt(d)===48))){c.trunc=true;}d=d+(1)>>0;continue;}break;}if(!f){return b;}if(!e){c.dp=c.nd;}if(d<a.length&&((a.charCodeAt(d)===101)||(a.charCodeAt(d)===69))){d=d+(1)>>0;if(d>=a.length){return b;}i=1;if(a.charCodeAt(d)===43){d=d+(1)>>0;}else if(a.charCodeAt(d)===45){d=d+(1)>>0;i=-1;}if(d>=a.length||a.charCodeAt(d)<48||a.charCodeAt(d)>57){return b;}j=0;while(true){if(!(d<a.length&&48<=a.charCodeAt(d)&&a.charCodeAt(d)<=57)){break;}if(j<10000){j=(($imul(j,10))+((a.charCodeAt(d)>>0))>>0)-48>>0;}d=d+(1)>>0;}c.dp=c.dp+(($imul(j,i)))>>0;}if(!((d===a.length))){return b;}b=true;return b;};Y.prototype.set=function(a){return this.$val.set(a);};J=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b=new $Uint64(0,0);c=0;d=false;e=false;f=false;g=0;if(g>=a.length){return[b,c,d,e,f];}if((a.charCodeAt(g)===43)){g=g+(1)>>0;}else if((a.charCodeAt(g)===45)){d=true;g=g+(1)>>0;}h=false;i=false;j=0;k=0;l=0;while(true){if(!(g<a.length)){break;}m=a.charCodeAt(g);n=true;if(n===((m===46))){if(h){return[b,c,d,e,f];}h=true;l=j;g=g+(1)>>0;continue;}else if(n===(48<=m&&m<=57)){i=true;if((m===48)&&(j===0)){l=l-(1)>>0;g=g+(1)>>0;continue;}j=j+(1)>>0;if(k<19){b=$mul64(b,(new $Uint64(0,10)));b=(o=(new $Uint64(0,(m-48<<24>>>24))),new $Uint64(b.$high+o.$high,b.$low+o.$low));k=k+(1)>>0;}else if(!((a.charCodeAt(g)===48))){e=true;}g=g+(1)>>0;continue;}break;}if(!i){return[b,c,d,e,f];}if(!h){l=j;}if(g<a.length&&((a.charCodeAt(g)===101)||(a.charCodeAt(g)===69))){g=g+(1)>>0;if(g>=a.length){return[b,c,d,e,f];}p=1;if(a.charCodeAt(g)===43){g=g+(1)>>0;}else if(a.charCodeAt(g)===45){g=g+(1)>>0;p=-1;}if(g>=a.length||a.charCodeAt(g)<48||a.charCodeAt(g)>57){return[b,c,d,e,f];}q=0;while(true){if(!(g<a.length&&48<=a.charCodeAt(g)&&a.charCodeAt(g)<=57)){break;}if(q<10000){q=(($imul(q,10))+((a.charCodeAt(g)>>0))>>0)-48>>0;}g=g+(1)>>0;}l=l+(($imul(q,p)))>>0;}if(!((g===a.length))){return[b,c,d,e,f];}if(!((b.$high===0&&b.$low===0))){c=l-k>>0;}f=true;return[b,c,d,e,f];};Y.ptr.prototype.floatBits=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s;$s=0;s:while(true){switch($s){case 0:b=new $Uint64(0,0);c=false;d=this;e=0;f=new $Uint64(0,0);if(d.nd===0){$s=1;continue;}$s=2;continue;case 1:f=new $Uint64(0,0);e=a.bias;$s=3;continue;case 2:if(d.dp>310){$s=4;continue;}$s=5;continue;case 4:$s=6;continue;case 5:if(d.dp<-330){$s=7;continue;}$s=8;continue;case 7:f=new $Uint64(0,0);e=a.bias;$s=3;continue;case 8:e=0;while(true){if(!(d.dp>0)){break;}g=0;if(d.dp>=K.$length){g=27;}else{g=(h=d.dp,((h<0||h>=K.$length)?($throwRuntimeError("index out of range"),undefined):K.$array[K.$offset+h]));}d.Shift(-g);e=e+(g)>>0;}while(true){if(!(d.dp<0||(d.dp===0)&&d.d[0]<53)){break;}i=0;if(-d.dp>=K.$length){i=27;}else{i=(j=-d.dp,((j<0||j>=K.$length)?($throwRuntimeError("index out of range"),undefined):K.$array[K.$offset+j]));}d.Shift(i);e=e-(i)>>0;}e=e-(1)>>0;if(e<(a.bias+1>>0)){k=(a.bias+1>>0)-e>>0;d.Shift(-k);e=e+(k)>>0;}if((e-a.bias>>0)>=(((l=a.expbits,l<32?(1<<l):0)>>0)-1>>0)){$s=9;continue;}$s=10;continue;case 9:$s=6;continue;case 10:d.Shift((((1+a.mantbits>>>0)>>0)));f=d.RoundedInteger();if((m=$shiftLeft64(new $Uint64(0,2),a.mantbits),(f.$high===m.$high&&f.$low===m.$low))){$s=11;continue;}$s=12;continue;case 11:f=$shiftRightUint64(f,(1));e=e+(1)>>0;if((e-a.bias>>0)>=(((n=a.expbits,n<32?(1<<n):0)>>0)-1>>0)){$s=13;continue;}$s=14;continue;case 13:$s=6;continue;case 14:case 12:if((o=(p=$shiftLeft64(new $Uint64(0,1),a.mantbits),new $Uint64(f.$high&p.$high,(f.$low&p.$low)>>>0)),(o.$high===0&&o.$low===0))){e=a.bias;}$s=3;continue;case 6:f=new $Uint64(0,0);e=(((q=a.expbits,q<32?(1<<q):0)>>0)-1>>0)+a.bias>>0;c=true;case 3:t=(r=(s=$shiftLeft64(new $Uint64(0,1),a.mantbits),new $Uint64(s.$high-0,s.$low-1)),new $Uint64(f.$high&r.$high,(f.$low&r.$low)>>>0));t=(u=$shiftLeft64((new $Uint64(0,(((e-a.bias>>0))&((((v=a.expbits,v<32?(1<<v):0)>>0)-1>>0))))),a.mantbits),new $Uint64(t.$high|u.$high,(t.$low|u.$low)>>>0));if(d.neg){t=(w=$shiftLeft64($shiftLeft64(new $Uint64(0,1),a.mantbits),a.expbits),new $Uint64(t.$high|w.$high,(t.$low|w.$low)>>>0));}x=t;y=c;b=x;c=y;$s=-1;return[b,c];}return;}};Y.prototype.floatBits=function(a){return this.$val.floatBits(a);};N=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;d=0;e=false;if(!((f=$shiftRightUint64(a,AQ.mantbits),(f.$high===0&&f.$low===0)))){return[d,e];}d=($flatten64(a));if(c){d=-d;}if((b===0)){g=d;h=true;d=g;e=h;return[d,e];}else if(b>0&&b<=37){if(b>22){d=d*((i=b-22>>0,((i<0||i>=L.$length)?($throwRuntimeError("index out of range"),undefined):L.$array[L.$offset+i])));b=22;}if(d>1e+15||d<-1e+15){return[d,e];}j=d*((b<0||b>=L.$length)?($throwRuntimeError("index out of range"),undefined):L.$array[L.$offset+b]);k=true;d=j;e=k;return[d,e];}else if(b<0&&b>=-22){l=d/(m=-b,((m<0||m>=L.$length)?($throwRuntimeError("index out of range"),undefined):L.$array[L.$offset+m]));n=true;d=l;e=n;return[d,e];}return[d,e];};O=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;d=0;e=false;if(!((f=$shiftRightUint64(a,AP.mantbits),(f.$high===0&&f.$low===0)))){return[d,e];}d=($flatten64(a));if(c){d=-d;}if((b===0)){g=d;h=true;d=g;e=h;return[d,e];}else if(b>0&&b<=17){if(b>10){d=$fround(d*((i=b-10>>0,((i<0||i>=M.$length)?($throwRuntimeError("index out of range"),undefined):M.$array[M.$offset+i]))));b=10;}if(d>1e+07||d<-1e+07){return[d,e];}j=$fround(d*((b<0||b>=M.$length)?($throwRuntimeError("index out of range"),undefined):M.$array[M.$offset+b]));k=true;d=j;e=k;return[d,e];}else if(b<0&&b>=-10){l=$fround(d/(m=-b,((m<0||m>=M.$length)?($throwRuntimeError("index out of range"),undefined):M.$array[M.$offset+m])));n=true;d=l;e=n;return[d,e];}return[d,e];};P=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=$ifaceNil;d=I(a);e=d[0];f=d[1];if(f){g=($fround(e));h=$ifaceNil;b=g;c=h;return[b,c];}if(G){i=J(a);j=i[0];k=i[1];l=i[2];m=i[3];n=i[4];if(n){if(!m){o=O(j,k,l);p=o[0];q=o[1];if(q){r=p;s=$ifaceNil;b=r;c=s;return[b,c];}}t=new AH.ptr(new $Uint64(0,0),0,false);u=t.AssignDecimal(j,k,l,m,AP);if(u){v=t.floatBits(AP);w=v[0];x=v[1];b=A.Float32frombits(((w.$low>>>0)));if(x){c=U("ParseFloat",a);}y=b;z=c;b=y;c=z;return[b,c];}}}aa=new Y.ptr(CZ.zero(),0,0,false,false);if(!aa.set(a)){ab=0;ac=T("ParseFloat",a);b=ab;c=ac;return[b,c];}ad=aa.floatBits(AP);ae=ad[0];af=ad[1];b=A.Float32frombits(((ae.$low>>>0)));if(af){c=U("ParseFloat",a);}ag=b;ah=c;b=ag;c=ah;return[b,c];};Q=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=$ifaceNil;d=I(a);e=d[0];f=d[1];if(f){g=e;h=$ifaceNil;b=g;c=h;return[b,c];}if(G){i=J(a);j=i[0];k=i[1];l=i[2];m=i[3];n=i[4];if(n){if(!m){o=N(j,k,l);p=o[0];q=o[1];if(q){r=p;s=$ifaceNil;b=r;c=s;return[b,c];}}t=new AH.ptr(new $Uint64(0,0),0,false);u=t.AssignDecimal(j,k,l,m,AQ);if(u){v=t.floatBits(AQ);w=v[0];x=v[1];b=A.Float64frombits(w);if(x){c=U("ParseFloat",a);}y=b;z=c;b=y;c=z;return[b,c];}}}aa=new Y.ptr(CZ.zero(),0,0,false,false);if(!aa.set(a)){ab=0;ac=T("ParseFloat",a);b=ab;c=ac;return[b,c];}ad=aa.floatBits(AQ);ae=ad[0];af=ad[1];b=A.Float64frombits(ae);if(af){c=U("ParseFloat",a);}ag=b;ah=c;b=ag;c=ah;return[b,c];};R=function(a,b){var a,b,c,d,e;if(b===32){c=P(a);d=c[0];e=c[1];return[(d),e];}return Q(a);};$pkg.ParseFloat=R;S.ptr.prototype.Error=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Err.Error();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return"strconv."+a.Func+": "+"parsing "+BV(a.Num)+": "+b;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Error=function(){return this.$val.Error();};T=function(a,b){var a,b;return new S.ptr(a,b,$pkg.ErrSyntax);};U=function(a,b){var a,b;return new S.ptr(a,b,$pkg.ErrRange);};V=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s;$s=0;s:while(true){switch($s){case 0:d=new $Uint64(0,0);e=$ifaceNil;f=new $Uint64(0,0);g=new $Uint64(0,0);h=f;i=g;if(c===0){c=32;}j=0;if(a.length<1){$s=2;continue;}if(2<=b&&b<=36){$s=3;continue;}if((b===0)){$s=4;continue;}$s=5;continue;case 2:e=$pkg.ErrSyntax;$s=7;continue;$s=6;continue;case 3:$s=6;continue;case 4:if((a.charCodeAt(0)===48)&&a.length>1&&((a.charCodeAt(1)===120)||(a.charCodeAt(1)===88))){$s=9;continue;}if((a.charCodeAt(0)===48)){$s=10;continue;}$s=11;continue;case 9:if(a.length<3){$s=13;continue;}$s=14;continue;case 13:e=$pkg.ErrSyntax;$s=7;continue;case 14:b=16;j=2;$s=12;continue;case 10:b=8;j=1;$s=12;continue;case 11:b=10;case 12:case 8:$s=6;continue;case 5:e=B.New("invalid base "+BK(b));$s=7;continue;case 6:case 1:k=b;if(k===(10)){h=new $Uint64(429496729,2576980378);}else if(k===(16)){h=new $Uint64(268435456,0);}else{h=(l=$div64(new $Uint64(4294967295,4294967295),(new $Uint64(0,b)),false),new $Uint64(l.$high+0,l.$low+1));}i=(m=$shiftLeft64(new $Uint64(0,1),((c>>>0))),new $Uint64(m.$high-0,m.$low-1));case 15:if(!(j<a.length)){$s=16;continue;}n=0;o=a.charCodeAt(j);if(48<=o&&o<=57){$s=18;continue;}if(97<=o&&o<=122){$s=19;continue;}if(65<=o&&o<=90){$s=20;continue;}$s=21;continue;case 18:n=o-48<<24>>>24;$s=22;continue;case 19:n=(o-97<<24>>>24)+10<<24>>>24;$s=22;continue;case 20:n=(o-65<<24>>>24)+10<<24>>>24;$s=22;continue;case 21:d=new $Uint64(0,0);e=$pkg.ErrSyntax;$s=7;continue;case 22:case 17:if(n>=((b<<24>>>24))){$s=23;continue;}$s=24;continue;case 23:d=new $Uint64(0,0);e=$pkg.ErrSyntax;$s=7;continue;case 24:if((d.$high>h.$high||(d.$high===h.$high&&d.$low>=h.$low))){$s=25;continue;}$s=26;continue;case 25:d=new $Uint64(4294967295,4294967295);e=$pkg.ErrRange;$s=7;continue;case 26:d=$mul64(d,((new $Uint64(0,b))));q=(p=(new $Uint64(0,n)),new $Uint64(d.$high+p.$high,d.$low+p.$low));if((q.$high<d.$high||(q.$high===d.$high&&q.$low<d.$low))||(q.$high>i.$high||(q.$high===i.$high&&q.$low>i.$low))){$s=27;continue;}$s=28;continue;case 27:d=new $Uint64(4294967295,4294967295);e=$pkg.ErrRange;$s=7;continue;case 28:d=q;j=j+(1)>>0;$s=15;continue;case 16:$s=-1;return[d,$ifaceNil];case 7:$s=-1;return[d,new S.ptr("ParseUint",a,e)];$s=-1;return[new $Uint64(0,0),$ifaceNil];}return;}};$pkg.ParseUint=V;W=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;d=new $Int64(0,0);e=$ifaceNil;if(c===0){c=32;}if(a.length===0){f=new $Int64(0,0);g=T("ParseInt",a);d=f;e=g;return[d,e];}h=a;i=false;if(a.charCodeAt(0)===43){a=$substring(a,1);}else if(a.charCodeAt(0)===45){i=true;a=$substring(a,1);}j=new $Uint64(0,0);k=V(a,b,c);j=k[0];e=k[1];if(!($interfaceIsEqual(e,$ifaceNil))&&!($interfaceIsEqual($assertType(e,DA).Err,$pkg.ErrRange))){$assertType(e,DA).Func="ParseInt";$assertType(e,DA).Num=h;l=new $Int64(0,0);m=e;d=l;e=m;return[d,e];}n=($shiftLeft64(new $Uint64(0,1),(((c-1>>0)>>>0))));if(!i&&(j.$high>n.$high||(j.$high===n.$high&&j.$low>=n.$low))){o=((p=new $Uint64(n.$high-0,n.$low-1),new $Int64(p.$high,p.$low)));q=U("ParseInt",h);d=o;e=q;return[d,e];}if(i&&(j.$high>n.$high||(j.$high===n.$high&&j.$low>n.$low))){r=(s=(new $Int64(n.$high,n.$low)),new $Int64(-s.$high,-s.$low));t=U("ParseInt",h);d=r;e=t;return[d,e];}u=(new $Int64(j.$high,j.$low));if(i){u=new $Int64(-u.$high,-u.$low);}v=u;w=$ifaceNil;d=v;e=w;return[d,e];};$pkg.ParseInt=W;X=function(a){var a,b,c,d,e,f,g;b=W(a,10,0);c=b[0];d=b[1];e=$assertType(d,DA,true);f=e[0];g=e[1];if(g){f.Func="Atoi";}return[(((c.$low+((c.$high>>31)*4294967296))>>0)),d];};$pkg.Atoi=X;Y.ptr.prototype.String=function(){var a,b,c,d;a=this;b=10+a.nd>>0;if(a.dp>0){b=b+(a.dp)>>0;}if(a.dp<0){b=b+(-a.dp)>>0;}c=$makeSlice(DB,b);d=0;if((a.nd===0)){return"0";}else if(a.dp<=0){((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=48);d=d+(1)>>0;((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=46);d=d+(1)>>0;d=d+(Z($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new DB(a.d),0,a.nd)))>>0;}else if(a.dp<a.nd){d=d+($copySlice($subslice(c,d),$subslice(new DB(a.d),0,a.dp)))>>0;((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=46);d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new DB(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new DB(a.d),0,a.nd)))>>0;d=d+(Z($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return($bytesToString($subslice(c,0,d)));};Y.prototype.String=function(){return this.$val.String();};Z=function(a){var a,b,c,d;b=a;c=0;while(true){if(!(c<b.$length)){break;}d=c;((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]=48);c++;}return a.$length;};AA=function(a){var a,b,c;while(true){if(!(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]))===48))){break;}a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Y.ptr.prototype.Assign=function(a){var a,b,c,d,e,f,g,h;b=this;c=DC.zero();d=0;while(true){if(!((a.$high>0||(a.$high===0&&a.$low>0)))){break;}e=$div64(a,new $Uint64(0,10),false);a=(f=$mul64(new $Uint64(0,10),e),new $Uint64(a.$high-f.$high,a.$low-f.$low));((d<0||d>=c.length)?($throwRuntimeError("index out of range"),undefined):c[d]=((new $Uint64(a.$high+0,a.$low+48).$low<<24>>>24)));d=d+(1)>>0;a=e;}b.nd=0;d=d-(1)>>0;while(true){if(!(d>=0)){break;}(g=b.d,h=b.nd,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]=((d<0||d>=c.length)?($throwRuntimeError("index out of range"),undefined):c[d])));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AA(b);};Y.prototype.Assign=function(a){return this.$val.Assign(a);};AB=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;c=0;d=0;e=0;while(true){if(!(((f=b,f<32?(e>>>f):0)>>>0)===0)){break;}if(c>=a.nd){if(e===0){a.nd=0;return;}while(true){if(!(((g=b,g<32?(e>>>g):0)>>>0)===0)){break;}e=e*10>>>0;c=c+(1)>>0;}break;}i=(((h=a.d,((c<0||c>=h.length)?($throwRuntimeError("index out of range"),undefined):h[c]))>>>0));e=((e*10>>>0)+i>>>0)-48>>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;k=(((j=b,j<32?(1<<j):0)>>>0))-1>>>0;while(true){if(!(c<a.nd)){break;}m=(((l=a.d,((c<0||c>=l.length)?($throwRuntimeError("index out of range"),undefined):l[c]))>>>0));o=(n=b,n<32?(e>>>n):0)>>>0;e=(e&(k))>>>0;(p=a.d,((d<0||d>=p.length)?($throwRuntimeError("index out of range"),undefined):p[d]=(((o+48>>>0)<<24>>>24))));d=d+(1)>>0;e=((e*10>>>0)+m>>>0)-48>>>0;c=c+(1)>>0;}while(true){if(!(e>0)){break;}r=(q=b,q<32?(e>>>q):0)>>>0;e=(e&(k))>>>0;if(d<800){(s=a.d,((d<0||d>=s.length)?($throwRuntimeError("index out of range"),undefined):s[d]=(((r+48>>>0)<<24>>>24))));d=d+(1)>>0;}else if(r>0){a.trunc=true;}e=e*10>>>0;}a.nd=d;AA(a);};AE=function(a,b){var a,b,c;c=0;while(true){if(!(c<b.length)){break;}if(c>=a.$length){return true;}if(!((((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c])<b.charCodeAt(c);}c=c+(1)>>0;}return false;};AF=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AD.$length)?($throwRuntimeError("index out of range"),undefined):AD.$array[AD.$offset+b]).delta;if(AE($subslice(new DB(a.d),0,a.nd),((b<0||b>=AD.$length)?($throwRuntimeError("index out of range"),undefined):AD.$array[AD.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(true){if(!(d>=0)){break;}f=f+(((g=b,g<32?((((((h=a.d,((d<0||d>=h.length)?($throwRuntimeError("index out of range"),undefined):h[d]))>>>0))-48>>>0))<<g):0)>>>0))>>>0;j=(i=f/10,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));k=f-(10*j>>>0)>>>0;e=e-(1)>>0;if(e<800){(l=a.d,((e<0||e>=l.length)?($throwRuntimeError("index out of range"),undefined):l[e]=(((k+48>>>0)<<24>>>24))));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(true){if(!(f>0)){break;}n=(m=f/10,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));o=f-(10*n>>>0)>>>0;e=e-(1)>>0;if(e<800){(p=a.d,((e<0||e>=p.length)?($throwRuntimeError("index out of range"),undefined):p[e]=(((o+48>>>0)<<24>>>24))));}else if(!((o===0))){a.trunc=true;}f=n;}a.nd=a.nd+(c)>>0;if(a.nd>=800){a.nd=800;}a.dp=a.dp+(c)>>0;AA(a);};Y.ptr.prototype.Shift=function(a){var a,b;b=this;if((b.nd===0)){}else if(a>0){while(true){if(!(a>28)){break;}AF(b,28);a=a-(28)>>0;}AF(b,((a>>>0)));}else if(a<0){while(true){if(!(a<-28)){break;}AB(b,28);a=a+(28)>>0;}AB(b,((-a>>>0)));}};Y.prototype.Shift=function(a){return this.$val.Shift(a);};AG=function(a,b){var a,b,c,d,e,f,g;if(b<0||b>=a.nd){return false;}if(((c=a.d,((b<0||b>=c.length)?($throwRuntimeError("index out of range"),undefined):c[b]))===53)&&((b+1>>0)===a.nd)){if(a.trunc){return true;}return b>0&&!(((d=(((e=a.d,f=b-1>>0,((f<0||f>=e.length)?($throwRuntimeError("index out of range"),undefined):e[f]))-48<<24>>>24))%2,d===d?d:$throwRuntimeError("integer divide by zero"))===0));}return(g=a.d,((b<0||b>=g.length)?($throwRuntimeError("index out of range"),undefined):g[b]))>=53;};Y.ptr.prototype.Round=function(a){var a,b;b=this;if(a<0||a>=b.nd){return;}if(AG(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Y.prototype.Round=function(a){return this.$val.Round(a);};Y.ptr.prototype.RoundDown=function(a){var a,b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AA(b);};Y.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Y.ptr.prototype.RoundUp=function(a){var a,b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(true){if(!(c>=0)){break;}e=(d=b.d,((c<0||c>=d.length)?($throwRuntimeError("index out of range"),undefined):d[c]));if(e<57){(g=b.d,((c<0||c>=g.length)?($throwRuntimeError("index out of range"),undefined):g[c]=((f=b.d,((c<0||c>=f.length)?($throwRuntimeError("index out of range"),undefined):f[c]))+(1)<<24>>>24)));b.nd=c+1>>0;return;}c=c-(1)>>0;}b.d[0]=49;b.nd=1;b.dp=b.dp+(1)>>0;};Y.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Y.ptr.prototype.RoundedInteger=function(){var a,b,c,d,e,f,g;a=this;if(a.dp>20){return new $Uint64(4294967295,4294967295);}b=0;c=new $Uint64(0,0);b=0;while(true){if(!(b<a.dp&&b<a.nd)){break;}c=(d=$mul64(c,new $Uint64(0,10)),e=(new $Uint64(0,((f=a.d,((b<0||b>=f.length)?($throwRuntimeError("index out of range"),undefined):f[b]))-48<<24>>>24))),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(true){if(!(b<a.dp)){break;}c=$mul64(c,(new $Uint64(0,10)));b=b+(1)>>0;}if(AG(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Y.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AH.ptr.prototype.floatBits=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;b=new $Uint64(0,0);c=false;d=this;d.Normalize();e=d.exp+63>>0;if(e<(a.bias+1>>0)){f=(a.bias+1>>0)-e>>0;d.mant=$shiftRightUint64(d.mant,(((f>>>0))));e=e+(f)>>0;}g=$shiftRightUint64(d.mant,((63-a.mantbits>>>0)));if(!((h=(i=d.mant,j=$shiftLeft64(new $Uint64(0,1),((62-a.mantbits>>>0))),new $Uint64(i.$high&j.$high,(i.$low&j.$low)>>>0)),(h.$high===0&&h.$low===0)))){g=(k=new $Uint64(0,1),new $Uint64(g.$high+k.$high,g.$low+k.$low));}if((l=$shiftLeft64(new $Uint64(0,2),a.mantbits),(g.$high===l.$high&&g.$low===l.$low))){g=$shiftRightUint64(g,(1));e=e+(1)>>0;}if((e-a.bias>>0)>=(((m=a.expbits,m<32?(1<<m):0)>>0)-1>>0)){g=new $Uint64(0,0);e=(((p=a.expbits,p<32?(1<<p):0)>>0)-1>>0)+a.bias>>0;c=true;}else if((n=(o=$shiftLeft64(new $Uint64(0,1),a.mantbits),new $Uint64(g.$high&o.$high,(g.$low&o.$low)>>>0)),(n.$high===0&&n.$low===0))){e=a.bias;}b=(q=(r=$shiftLeft64(new $Uint64(0,1),a.mantbits),new $Uint64(r.$high-0,r.$low-1)),new $Uint64(g.$high&q.$high,(g.$low&q.$low)>>>0));b=(s=$shiftLeft64((new $Uint64(0,(((e-a.bias>>0))&((((t=a.expbits,t<32?(1<<t):0)>>0)-1>>0))))),a.mantbits),new $Uint64(b.$high|s.$high,(b.$low|s.$low)>>>0));if(d.neg){b=(u=$shiftLeft64(new $Uint64(0,1),((a.mantbits+a.expbits>>>0))),new $Uint64(b.$high|u.$high,(b.$low|u.$low)>>>0));}return[b,c];};AH.prototype.floatBits=function(a){return this.$val.floatBits(a);};AH.ptr.prototype.AssignComputeBounds=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=new AH.ptr(new $Uint64(0,0),0,false);f=new AH.ptr(new $Uint64(0,0),0,false);g=this;g.mant=a;g.exp=b-((d.mantbits>>0))>>0;g.neg=c;if(g.exp<=0&&(h=$shiftLeft64(($shiftRightUint64(a,((-g.exp>>>0)))),((-g.exp>>>0))),(a.$high===h.$high&&a.$low===h.$low))){g.mant=$shiftRightUint64(g.mant,(((-g.exp>>>0))));g.exp=0;i=$clone(g,AH);j=$clone(g,AH);AH.copy(e,i);AH.copy(f,j);return[e,f];}k=b-d.bias>>0;AH.copy(f,new AH.ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg));if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){AH.copy(e,new AH.ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg));}else{AH.copy(e,new AH.ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg));}return[e,f];};AH.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AH.ptr.prototype.Normalize=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;a=0;b=this;c=b.mant;d=b.exp;e=c;f=d;if((e.$high===0&&e.$low===0)){a=0;return a;}if((g=$shiftRightUint64(e,32),(g.$high===0&&g.$low===0))){e=$shiftLeft64(e,(32));f=f-(32)>>0;}if((h=$shiftRightUint64(e,48),(h.$high===0&&h.$low===0))){e=$shiftLeft64(e,(16));f=f-(16)>>0;}if((i=$shiftRightUint64(e,56),(i.$high===0&&i.$low===0))){e=$shiftLeft64(e,(8));f=f-(8)>>0;}if((j=$shiftRightUint64(e,60),(j.$high===0&&j.$low===0))){e=$shiftLeft64(e,(4));f=f-(4)>>0;}if((k=$shiftRightUint64(e,62),(k.$high===0&&k.$low===0))){e=$shiftLeft64(e,(2));f=f-(2)>>0;}if((l=$shiftRightUint64(e,63),(l.$high===0&&l.$low===0))){e=$shiftLeft64(e,(1));f=f-(1)>>0;}a=(((b.exp-f>>0)>>>0));m=e;n=f;b.mant=m;b.exp=n;return a;};AH.prototype.Normalize=function(){return this.$val.Normalize();};AH.ptr.prototype.Multiply=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;b=this;c=$shiftRightUint64(b.mant,32);d=(new $Uint64(0,((b.mant.$low>>>0))));e=c;f=d;g=$shiftRightUint64(a.mant,32);h=(new $Uint64(0,((a.mant.$low>>>0))));i=g;j=h;k=$mul64(e,j);l=$mul64(f,i);b.mant=(m=(n=$mul64(e,i),o=$shiftRightUint64(k,32),new $Uint64(n.$high+o.$high,n.$low+o.$low)),p=$shiftRightUint64(l,32),new $Uint64(m.$high+p.$high,m.$low+p.$low));u=(q=(r=(new $Uint64(0,((k.$low>>>0)))),s=(new $Uint64(0,((l.$low>>>0)))),new $Uint64(r.$high+s.$high,r.$low+s.$low)),t=$shiftRightUint64(($mul64(f,j)),32),new $Uint64(q.$high+t.$high,q.$low+t.$low));u=(v=new $Uint64(0,2147483648),new $Uint64(u.$high+v.$high,u.$low+v.$low));b.mant=(w=b.mant,x=($shiftRightUint64(u,32)),new $Uint64(w.$high+x.$high,w.$low+x.$low));b.exp=(b.exp+a.exp>>0)+64>>0;};AH.prototype.Multiply=function(a){return this.$val.Multiply(a);};AH.ptr.prototype.AssignDecimal=function(a,b,c,d,e){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=false;g=this;h=0;if(d){h=h+(4)>>0;}g.mant=a;g.exp=0;g.neg=c;j=(i=((b- -348>>0))/8,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"));if(b<-348||j>=87){f=false;return f;}l=(k=((b- -348>>0))%8,k===k?k:$throwRuntimeError("integer divide by zero"));if(l<19&&(m=(n=19-l>>0,((n<0||n>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[n])),(a.$high<m.$high||(a.$high===m.$high&&a.$low<m.$low)))){g.mant=$mul64(g.mant,(((l<0||l>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[l])));g.Normalize();}else{g.Normalize();g.Multiply($clone(((l<0||l>=AI.length)?($throwRuntimeError("index out of range"),undefined):AI[l]),AH));h=h+(4)>>0;}g.Multiply($clone(((j<0||j>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[j]),AH));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<<p):0)>>0;q=e.bias-63>>0;r=0;if(g.exp<=q){r=((63-e.mantbits>>>0)+1>>>0)+(((q-g.exp>>0)>>>0))>>>0;}else{r=63-e.mantbits>>>0;}s=$shiftLeft64(new $Uint64(0,1),((r-1>>>0)));w=(t=g.mant,u=(v=$shiftLeft64(new $Uint64(0,1),r),new $Uint64(v.$high-0,v.$low-1)),new $Uint64(t.$high&u.$high,(t.$low&u.$low)>>>0));if((x=(y=(new $Int64(s.$high,s.$low)),z=(new $Int64(0,h)),new $Int64(y.$high-z.$high,y.$low-z.$low)),aa=(new $Int64(w.$high,w.$low)),(x.$high<aa.$high||(x.$high===aa.$high&&x.$low<aa.$low)))&&(ab=(new $Int64(w.$high,w.$low)),ac=(ad=(new $Int64(s.$high,s.$low)),ae=(new $Int64(0,h)),new $Int64(ad.$high+ae.$high,ad.$low+ae.$low)),(ab.$high<ac.$high||(ab.$high===ac.$high&&ab.$low<ac.$low)))){f=false;return f;}f=true;return f;};AH.prototype.AssignDecimal=function(a,b,c,d,e){return this.$val.AssignDecimal(a,b,c,d,e);};AH.ptr.prototype.frexp10=function(){var a,b,c,d,e,f,g,h,i,j;a=0;b=0;c=this;e=(d=($imul(((-46-c.exp>>0)),28))/93,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));g=(f=((e- -348>>0))/8,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"));Loop:while(true){h=(c.exp+((g<0||g>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[g]).exp>>0)+64>>0;if(h<-60){g=g+(1)>>0;}else if(h>-32){g=g-(1)>>0;}else{break Loop;}}c.Multiply($clone(((g<0||g>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[g]),AH));i=-((-348+($imul(g,8))>>0));j=g;a=i;b=j;return[a,b];};AH.prototype.frexp10=function(){return this.$val.frexp10();};AL=function(a,b,c){var a,b,c,d,e,f;d=0;e=c.frexp10();d=e[0];f=e[1];a.Multiply($clone(((f<0||f>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[f]),AH));b.Multiply($clone(((f<0||f>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[f]),AH));return d;};AH.ptr.prototype.FixedDecimal=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=this;if((d=c.mant,(d.$high===0&&d.$low===0))){a.nd=0;a.dp=0;a.neg=c.neg;return true;}if(b===0){$panic(new $String("strconv: internal error: extFloat.FixedDecimal called with n == 0"));}c.Normalize();e=c.frexp10();f=e[0];g=((-c.exp>>>0));h=(($shiftRightUint64(c.mant,g).$low>>>0));k=(i=c.mant,j=$shiftLeft64((new $Uint64(0,h)),g),new $Uint64(i.$high-j.$high,i.$low-j.$low));l=new $Uint64(0,1);m=b;n=0;o=new $Uint64(0,1);p=0;q=new $Uint64(0,1);r=p;s=q;while(true){if(!(r<20)){break;}if((t=(new $Uint64(0,h)),(s.$high>t.$high||(s.$high===t.$high&&s.$low>t.$low)))){n=r;break;}s=$mul64(s,(new $Uint64(0,10)));r=r+(1)>>0;}u=h;if(n>m){o=(v=n-m>>0,((v<0||v>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[v]));h=(w=h/(((o.$low>>>0))),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-(($imul(h,((o.$low>>>0)))>>>0))>>>0;}else{u=0;}x=DD.zero();y=32;z=h;while(true){if(!(z>0)){break;}ab=(aa=z/10,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>>0:$throwRuntimeError("integer divide by zero"));z=z-(($imul(10,ab)>>>0))>>>0;y=y-(1)>>0;((y<0||y>=x.length)?($throwRuntimeError("index out of range"),undefined):x[y]=(((z+48>>>0)<<24>>>24)));z=ab;}ac=y;while(true){if(!(ac<32)){break;}(ad=a.d,ae=ac-y>>0,((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae]=((ac<0||ac>=x.length)?($throwRuntimeError("index out of range"),undefined):x[ac])));ac=ac+(1)>>0;}af=32-y>>0;a.nd=af;a.dp=n+f>>0;m=m-(af)>>0;if(m>0){if(!((u===0))||!((o.$high===0&&o.$low===1))){$panic(new $String("strconv: internal error, rest != 0 but needed > 0"));}while(true){if(!(m>0)){break;}k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ag=$mul64(new $Uint64(0,2),l),ah=$shiftLeft64(new $Uint64(0,1),g),(ag.$high>ah.$high||(ag.$high===ah.$high&&ag.$low>ah.$low)))){return false;}ai=$shiftRightUint64(k,g);(aj=a.d,((af<0||af>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+af]=((new $Uint64(ai.$high+0,ai.$low+48).$low<<24>>>24))));k=(ak=$shiftLeft64(ai,g),new $Uint64(k.$high-ak.$high,k.$low-ak.$low));af=af+(1)>>0;m=m-(1)>>0;}a.nd=af;}am=AM(a,(al=$shiftLeft64((new $Uint64(0,u)),g),new $Uint64(al.$high|k.$high,(al.$low|k.$low)>>>0)),o,g,l);if(!am){return false;}an=a.nd-1>>0;while(true){if(!(an>=0)){break;}if(!(((ao=a.d,((an<0||an>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+an]))===48))){a.nd=an+1>>0;break;}an=an-(1)>>0;}return true;};AH.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AM=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if((f=$shiftLeft64(c,d),(b.$high>f.$high||(b.$high===f.$high&&b.$low>f.$low)))){$panic(new $String("strconv: num > den<<shift in adjustLastDigitFixed"));}if((g=$mul64(new $Uint64(0,2),e),h=$shiftLeft64(c,d),(g.$high>h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<<shift)/2"));}if((i=$mul64(new $Uint64(0,2),(new $Uint64(b.$high+e.$high,b.$low+e.$low))),j=$shiftLeft64(c,d),(i.$high<j.$high||(i.$high===j.$high&&i.$low<j.$low)))){return true;}if((k=$mul64(new $Uint64(0,2),(new $Uint64(b.$high-e.$high,b.$low-e.$low))),l=$shiftLeft64(c,d),(k.$high>l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(true){if(!(m>=0)){break;}if((n=a.d,((m<0||m>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+m]))===57){a.nd=a.nd-(1)>>0;}else{break;}m=m-(1)>>0;}if(m<0){(o=a.d,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]=49));a.nd=1;a.dp=a.dp+(1)>>0;}else{(q=a.d,((m<0||m>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+m]=((p=a.d,((m<0||m>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+m]))+(1)<<24>>>24)));}return true;}return false;};AH.ptr.prototype.ShortestDecimal=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=this;if((e=d.mant,(e.$high===0&&e.$low===0))){a.nd=0;a.dp=0;a.neg=d.neg;return true;}if((d.exp===0)&&$equal(b,d,AH)&&$equal(b,c,AH)){f=DC.zero();g=23;h=d.mant;while(true){if(!((h.$high>0||(h.$high===0&&h.$low>0)))){break;}i=$div64(h,new $Uint64(0,10),false);h=(j=$mul64(new $Uint64(0,10),i),new $Uint64(h.$high-j.$high,h.$low-j.$low));((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g]=((new $Uint64(h.$high+0,h.$low+48).$low<<24>>>24)));g=g-(1)>>0;h=i;}k=(24-g>>0)-1>>0;l=0;while(true){if(!(l<k)){break;}(n=a.d,((l<0||l>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?($throwRuntimeError("index out of range"),undefined):f[m]))));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(true){if(!(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]))===48))){break;}a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}a.neg=d.neg;return true;}c.Normalize();if(d.exp>c.exp){d.mant=$shiftLeft64(d.mant,((((d.exp-c.exp>>0)>>>0))));d.exp=c.exp;}if(b.exp>c.exp){b.mant=$shiftLeft64(b.mant,((((b.exp-c.exp>>0)>>>0))));b.exp=c.exp;}s=AL(b,d,c);c.mant=(t=c.mant,u=new $Uint64(0,1),new $Uint64(t.$high+u.$high,t.$low+u.$low));b.mant=(v=b.mant,w=new $Uint64(0,1),new $Uint64(v.$high-w.$high,v.$low-w.$low));x=((-c.exp>>>0));y=(($shiftRightUint64(c.mant,x).$low>>>0));ab=(z=c.mant,aa=$shiftLeft64((new $Uint64(0,y)),x),new $Uint64(z.$high-aa.$high,z.$low-aa.$low));ae=(ac=c.mant,ad=b.mant,new $Uint64(ac.$high-ad.$high,ac.$low-ad.$low));ah=(af=c.mant,ag=d.mant,new $Uint64(af.$high-ag.$high,af.$low-ag.$low));ai=0;aj=0;ak=new $Uint64(0,1);al=aj;am=ak;while(true){if(!(al<20)){break;}if((an=(new $Uint64(0,y)),(am.$high>an.$high||(am.$high===an.$high&&am.$low>an.$low)))){ai=al;break;}am=$mul64(am,(new $Uint64(0,10)));al=al+(1)>>0;}ao=0;while(true){if(!(ao<ai)){break;}aq=(ap=(ai-ao>>0)-1>>0,((ap<0||ap>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[ap]));as=(ar=y/((aq.$low>>>0)),(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>>0:$throwRuntimeError("integer divide by zero"));(at=a.d,((ao<0||ao>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+ao]=(((as+48>>>0)<<24>>>24))));y=y-(($imul(as,((aq.$low>>>0)))>>>0))>>>0;av=(au=$shiftLeft64((new $Uint64(0,y)),x),new $Uint64(au.$high+ab.$high,au.$low+ab.$low));if((av.$high<ae.$high||(av.$high===ae.$high&&av.$low<ae.$low))){a.nd=ao+1>>0;a.dp=ai+s>>0;a.neg=d.neg;return AN(a,av,ah,ae,$shiftLeft64(aq,x),new $Uint64(0,2));}ao=ao+(1)>>0;}a.nd=ai;a.dp=a.nd+s>>0;a.neg=d.neg;aw=0;ax=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ax=$mul64(ax,(new $Uint64(0,10)));aw=(($shiftRightUint64(ab,x).$low>>0));(ay=a.d,az=a.nd,((az<0||az>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+az]=(((aw+48>>0)<<24>>>24))));a.nd=a.nd+(1)>>0;ab=(ba=$shiftLeft64((new $Uint64(0,aw)),x),new $Uint64(ab.$high-ba.$high,ab.$low-ba.$low));if((bb=$mul64(ae,ax),(ab.$high<bb.$high||(ab.$high===bb.$high&&ab.$low<bb.$low)))){return AN(a,ab,$mul64(ah,ax),$mul64(ae,ax),$shiftLeft64(new $Uint64(0,1),x),$mul64(ax,new $Uint64(0,2)));}}};AH.prototype.ShortestDecimal=function(a,b,c){return this.$val.ShortestDecimal(a,b,c);};AN=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if((g=$mul64(new $Uint64(0,2),f),(e.$high<g.$high||(e.$high===g.$high&&e.$low<g.$low)))){return false;}while(true){if(!((h=(i=(j=$div64(e,new $Uint64(0,2),false),new $Uint64(b.$high+j.$high,b.$low+j.$low)),new $Uint64(i.$high+f.$high,i.$low+f.$low)),(h.$high<c.$high||(h.$high===c.$high&&h.$low<c.$low))))){break;}k=a.nd-1>>0;(m=a.d,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k]=((l=a.d,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k]))-(1)<<24>>>24)));b=(n=e,new $Uint64(b.$high+n.$high,b.$low+n.$low));}if((o=new $Uint64(b.$high+e.$high,b.$low+e.$low),p=(q=(r=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+r.$high,c.$low+r.$low)),new $Uint64(q.$high+f.$high,q.$low+f.$low)),(o.$high<p.$high||(o.$high===p.$high&&o.$low<=p.$low)))){return false;}if((b.$high<f.$high||(b.$high===f.$high&&b.$low<f.$low))||(s=new $Uint64(d.$high-f.$high,d.$low-f.$low),(b.$high>s.$high||(b.$high===s.$high&&b.$low>s.$low)))){return false;}if((a.nd===1)&&((t=a.d,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AR=function(a,b,c,d){var a,b,c,d;return($bytesToString(AT($makeSlice(DB,0,BC(c+4>>0,24)),a,b,c,d)));};$pkg.FormatFloat=AR;AS=function(a,b,c,d,e){var a,b,c,d,e;return AT(a,b,c,d,e);};$pkg.AppendFloat=AS;AT=function(a,b,c,d,e){var a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=new $Uint64(0,0);g=DE.nil;h=e;if(h===(32)){f=(new $Uint64(0,A.Float32bits(($fround(b)))));g=AP;}else if(h===(64)){f=A.Float64bits(b);g=AQ;}else{$panic(new $String("strconv: illegal AppendFloat/FormatFloat bitSize"));}j=!((i=$shiftRightUint64(f,((g.expbits+g.mantbits>>>0))),(i.$high===0&&i.$low===0)));l=(($shiftRightUint64(f,g.mantbits).$low>>0))&((((k=g.expbits,k<32?(1<<k):0)>>0)-1>>0));o=(m=(n=$shiftLeft64(new $Uint64(0,1),g.mantbits),new $Uint64(n.$high-0,n.$low-1)),new $Uint64(f.$high&m.$high,(f.$low&m.$low)>>>0));p=l;if(p===((((q=g.expbits,q<32?(1<<q):0)>>0)-1>>0))){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,r);}else if(p===(0)){l=l+(1)>>0;}else{o=(s=$shiftLeft64(new $Uint64(0,1),g.mantbits),new $Uint64(o.$high|s.$high,(o.$low|s.$low)>>>0));}l=l+(g.bias)>>0;if(c===98){return BA(a,j,o,l,g);}if(!G){return AU(a,d,c,j,o,l,g);}t=new AX.ptr(DB.nil,0,0,false);u=false;v=d<0;if(v){w=new AH.ptr(new $Uint64(0,0),0,false);x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AH);z=$clone(x[1],AH);aa=DD.zero();t.d=new DB(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AU(a,d,c,j,o,l,g);}ab=c;if((ab===(101))||(ab===(69))){d=BC(t.nd-1>>0,0);}else if(ab===(102)){d=BC(t.nd-t.dp>>0,0);}else if((ab===(103))||(ab===(71))){d=t.nd;}}else if(!((c===102))){ac=d;ad=c;if((ad===(101))||(ad===(69))){ac=ac+(1)>>0;}else if((ad===(103))||(ad===(71))){if(d===0){d=1;}ac=d;}if(ac<=15){ae=DC.zero();t.d=new DB(ae);af=new AH.ptr(o,l-((g.mantbits>>0))>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AU(a,d,c,j,o,l,g);}return AV(a,v,j,$clone(t,AX),d,c);};AU=function(a,b,c,d,e,f,g){var a,b,c,d,e,f,g,h,i,j,k,l;h=new Y.ptr(CZ.zero(),0,0,false,false);h.Assign(e);h.Shift(f-((g.mantbits>>0))>>0);i=new AX.ptr(DB.nil,0,0,false);j=b<0;if(j){AW(h,e,f,g);AX.copy(i,new AX.ptr(new DB(h.d),h.nd,h.dp,false));k=c;if((k===(101))||(k===(69))){b=i.nd-1>>0;}else if(k===(102)){b=BC(i.nd-i.dp>>0,0);}else if((k===(103))||(k===(71))){b=i.nd;}}else{l=c;if((l===(101))||(l===(69))){h.Round(b+1>>0);}else if(l===(102)){h.Round(h.dp+b>>0);}else if((l===(103))||(l===(71))){if(b===0){b=1;}h.Round(b);}AX.copy(i,new AX.ptr(new DB(h.d),h.nd,h.dp,false));}return AV(a,j,d,$clone(i,AX),b,c);};AV=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i;g=f;if((g===(101))||(g===(69))){return AY(a,c,$clone(d,AX),e,f);}else if(g===(102)){return AZ(a,c,$clone(d,AX),e);}else if((g===(103))||(g===(71))){h=e;if(h>d.nd&&d.nd>=d.dp){h=d.nd;}if(b){h=6;}i=d.dp-1>>0;if(i<-4||i>=h){if(e>d.nd){e=d.nd;}return AY(a,c,$clone(d,AX),e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return AZ(a,c,$clone(d,AX),BC(e-d.dp>>0,0));}return $append(a,37,f);};AW=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&($imul(332,((a.dp-a.nd>>0))))>=($imul(100,((c-((d.mantbits>>0))>>0))))){return;}f=new Y.ptr(CZ.zero(),0,0,false,false);f.Assign((g=$mul64(b,new $Uint64(0,2)),new $Uint64(g.$high+0,g.$low+1)));f.Shift((c-((d.mantbits>>0))>>0)-1>>0);h=new $Uint64(0,0);i=0;if((j=$shiftLeft64(new $Uint64(0,1),d.mantbits),(b.$high>j.$high||(b.$high===j.$high&&b.$low>j.$low)))||(c===e)){h=new $Uint64(b.$high-0,b.$low-1);i=c;}else{h=(k=$mul64(b,new $Uint64(0,2)),new $Uint64(k.$high-0,k.$low-1));i=c-1>>0;}l=new Y.ptr(CZ.zero(),0,0,false,false);l.Assign((m=$mul64(h,new $Uint64(0,2)),new $Uint64(m.$high+0,m.$low+1)));l.Shift((i-((d.mantbits>>0))>>0)-1>>0);o=(n=$div64(b,new $Uint64(0,2),true),(n.$high===0&&n.$low===0));p=0;while(true){if(!(p<a.nd)){break;}q=48;if(p<l.nd){q=(r=l.d,((p<0||p>=r.length)?($throwRuntimeError("index out of range"),undefined):r[p]));}t=(s=a.d,((p<0||p>=s.length)?($throwRuntimeError("index out of range"),undefined):s[p]));u=48;if(p<f.nd){u=(v=f.d,((p<0||p>=v.length)?($throwRuntimeError("index out of range"),undefined):v[p]));}w=!((q===t))||o&&((p+1>>0)===l.nd);x=!((t===u))&&(o||(t+1<<24>>>24)<u||(p+1>>0)<f.nd);if(w&&x){a.Round(p+1>>0);return;}else if(w){a.RoundDown(p+1>>0);return;}else if(x){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AY=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=BB(c.nd,d+1>>0);if(h<i){a=$appendSlice(a,$subslice(c.d,h,i));h=i;}while(true){if(!(h<=d)){break;}a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);j=c.dp-1>>0;if(c.nd===0){j=0;}if(j<0){f=45;j=-j;}else{f=43;}a=$append(a,f);if(j<10){a=$append(a,48,((j<<24>>>24))+48<<24>>>24);}else if(j<100){a=$append(a,(((k=j/10,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(((l=j%10,l===l?l:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}else{a=$append(a,(((m=j/100,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(n=(((o=j/10,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48<<24>>>24,(((p=j%10,p===p?p:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}return a;};AZ=function(a,b,c,d){var a,b,c,d,e,f,g,h,i;if(b){a=$append(a,45);}if(c.dp>0){e=BB(c.nd,c.dp);a=$appendSlice(a,$subslice(c.d,0,e));while(true){if(!(e<c.dp)){break;}a=$append(a,48);e=e+(1)>>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);f=0;while(true){if(!(f<d)){break;}g=48;h=c.dp+f>>0;if(0<=h&&h<c.nd){g=(i=c.d,((h<0||h>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h]));}a=$append(a,g);f=f+(1)>>0;}}return a;};BA=function(a,b,c,d,e){var a,b,c,d,e,f,g;if(b){a=$append(a,45);}f=BP(a,c,10,false,true);a=f[0];a=$append(a,112);d=d-(((e.mantbits>>0)))>>0;if(d>=0){a=$append(a,43);}g=BP(a,(new $Uint64(0,d)),10,d<0,true);a=g[0];return a;};BB=function(a,b){var a,b;if(a<b){return a;}return b;};BC=function(a,b){var a,b;if(a>b){return a;}return b;};BI=function(a,b){var a,b,c,d;if(true&&(a.$high<0||(a.$high===0&&a.$low<100))&&(b===10)){return BN(((a.$low>>0)));}c=BP(DB.nil,a,b,false,false);d=c[1];return d;};$pkg.FormatUint=BI;BJ=function(a,b){var a,b,c,d;if(true&&(0<a.$high||(0===a.$high&&0<=a.$low))&&(a.$high<0||(a.$high===0&&a.$low<100))&&(b===10)){return BN((((a.$low+((a.$high>>31)*4294967296))>>0)));}c=BP(DB.nil,(new $Uint64(a.$high,a.$low)),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};$pkg.FormatInt=BJ;BK=function(a){var a;return BJ((new $Int64(0,a)),10);};$pkg.Itoa=BK;BL=function(a,b,c){var a,b,c,d;if(true&&(0<b.$high||(0===b.$high&&0<=b.$low))&&(b.$high<0||(b.$high===0&&b.$low<100))&&(c===10)){return $appendSlice(a,BN((((b.$low+((b.$high>>31)*4294967296))>>0))));}d=BP(a,(new $Uint64(b.$high,b.$low)),c,(b.$high<0||(b.$high===0&&b.$low<0)),true);a=d[0];return a;};$pkg.AppendInt=BL;BM=function(a,b,c){var a,b,c,d;if(true&&(b.$high<0||(b.$high===0&&b.$low<100))&&(c===10)){return $appendSlice(a,BN(((b.$low>>0))));}d=BP(a,b,c,false,true);a=d[0];return a;};$pkg.AppendUint=BM;BN=function(a){var a,b;b=0;if(a<10){b=1;}return $substring("00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899",(($imul(a,2))+b>>0),(($imul(a,2))+2>>0));};BP=function(a,b,c,d,e){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=DB.nil;g="";if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=DF.zero();i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){if(true){while(true){if(!((b.$high>0||(b.$high===0&&b.$low>=1000000000)))){break;}j=$div64(b,new $Uint64(0,1000000000),false);l=(((k=$mul64(j,new $Uint64(0,1000000000)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0));m=4;while(true){if(!(m>0)){break;}o=(n=l%100,n===n?n:$throwRuntimeError("integer divide by zero"))*2>>>0;l=(p=l/(100),(p===p&&p!==1/0&&p!==-1/0)?p>>>0:$throwRuntimeError("integer divide by zero"));i=i-(2)>>0;(q=i+1>>0,((q<0||q>=h.length)?($throwRuntimeError("index out of range"),undefined):h[q]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((o+1>>>0))));(r=i+0>>0,((r<0||r>=h.length)?($throwRuntimeError("index out of range"),undefined):h[r]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((o+0>>>0))));m=m-(1)>>0;}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(((l*2>>>0)+1>>>0)));b=j;}}s=((b.$low>>>0));while(true){if(!(s>=100)){break;}u=(t=s%100,t===t?t:$throwRuntimeError("integer divide by zero"))*2>>>0;s=(v=s/(100),(v===v&&v!==1/0&&v!==-1/0)?v>>>0:$throwRuntimeError("integer divide by zero"));i=i-(2)>>0;(w=i+1>>0,((w<0||w>=h.length)?($throwRuntimeError("index out of range"),undefined):h[w]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((u+1>>>0))));(x=i+0>>0,((x<0||x>=h.length)?($throwRuntimeError("index out of range"),undefined):h[x]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((u+0>>>0))));}y=s*2>>>0;i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((y+1>>>0)));if(s>=10){i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(y));}}else{z=((c<0||c>=BO.length)?($throwRuntimeError("index out of range"),undefined):BO[c]);if(z>0){aa=(new $Uint64(0,c));ab=((c>>>0))-1>>>0;while(true){if(!((b.$high>aa.$high||(b.$high===aa.$high&&b.$low>=aa.$low)))){break;}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((((b.$low>>>0))&ab)>>>0)));b=$shiftRightUint64(b,(z));}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((b.$low>>>0))));}else{ac=(new $Uint64(0,c));while(true){if(!((b.$high>ac.$high||(b.$high===ac.$high&&b.$low>=ac.$low)))){break;}i=i-(1)>>0;ad=$div64(b,ac,false);((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((ae=$mul64(ad,ac),new $Uint64(b.$high-ae.$high,b.$low-ae.$low)).$low>>>0))));b=ad;}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((b.$low>>>0))));}}if(d){i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]=45);}if(e){f=$appendSlice(a,$subslice(new DB(h),i));return[f,g];}g=($bytesToString($subslice(new DB(h),i)));return[f,g];};BQ=function(a,b,c,d){var a,b,c,d,e;return($bytesToString(BS($makeSlice(DB,0,(e=($imul(3,a.length))/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"))),a,b,c,d)));};BS=function(a,b,c,d,e){var a,b,c,d,e,f,g,h;a=$append(a,c);f=0;while(true){if(!(b.length>0)){break;}g=((b.charCodeAt(0)>>0));f=1;if(g>=128){h=C.DecodeRuneInString(b);g=h[0];f=h[1];}if((f===1)&&(g===65533)){a=$appendSlice(a,"\\x");a=$append(a,"0123456789abcdef".charCodeAt((b.charCodeAt(0)>>>4<<24>>>24)));a=$append(a,"0123456789abcdef".charCodeAt(((b.charCodeAt(0)&15)>>>0)));b=$substring(b,f);continue;}a=BU(a,g,c,d,e);b=$substring(b,f);}a=$append(a,c);return a;};BT=function(a,b,c,d,e){var a,b,c,d,e;a=$append(a,c);if(!C.ValidRune(b)){b=65533;}a=BU(a,b,c,d,e);a=$append(a,c);return a;};BU=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j;f=DG.zero();if((b===((c>>0)))||(b===92)){a=$append(a,92);a=$append(a,((b<<24>>>24)));return a;}if(d){if(b<128&&CO(b)){a=$append(a,((b<<24>>>24)));return a;}}else if(CO(b)||e&&CQ(b)){g=C.EncodeRune(new DB(f),b);a=$appendSlice(a,$subslice(new DB(f),0,g));return a;}h=b;if(h===(7)){a=$appendSlice(a,"\\a");}else if(h===(8)){a=$appendSlice(a,"\\b");}else if(h===(12)){a=$appendSlice(a,"\\f");}else if(h===(10)){a=$appendSlice(a,"\\n");}else if(h===(13)){a=$appendSlice(a,"\\r");}else if(h===(9)){a=$appendSlice(a,"\\t");}else if(h===(11)){a=$appendSlice(a,"\\v");}else{if(b<32){a=$appendSlice(a,"\\x");a=$append(a,"0123456789abcdef".charCodeAt((((b<<24>>>24))>>>4<<24>>>24)));a=$append(a,"0123456789abcdef".charCodeAt(((((b<<24>>>24))&15)>>>0)));}else if(b>1114111){b=65533;a=$appendSlice(a,"\\u");i=12;while(true){if(!(i>=0)){break;}a=$append(a,"0123456789abcdef".charCodeAt((((b>>$min(((i>>>0)),31))>>0)&15)));i=i-(4)>>0;}}else if(b<65536){a=$appendSlice(a,"\\u");i=12;while(true){if(!(i>=0)){break;}a=$append(a,"0123456789abcdef".charCodeAt((((b>>$min(((i>>>0)),31))>>0)&15)));i=i-(4)>>0;}}else{a=$appendSlice(a,"\\U");j=28;while(true){if(!(j>=0)){break;}a=$append(a,"0123456789abcdef".charCodeAt((((b>>$min(((j>>>0)),31))>>0)&15)));j=j-(4)>>0;}}}return a;};BV=function(a){var a;return BQ(a,34,false,false);};$pkg.Quote=BV;BW=function(a,b){var a,b;return BS(a,b,34,false,false);};$pkg.AppendQuote=BW;BX=function(a){var a;return BQ(a,34,true,false);};$pkg.QuoteToASCII=BX;BY=function(a,b){var a,b;return BS(a,b,34,true,false);};$pkg.AppendQuoteToASCII=BY;CC=function(a,b){var a,b;return BT(a,b,39,false,false);};$pkg.AppendQuoteRune=CC;CE=function(a,b){var a,b;return BT(a,b,39,true,false);};$pkg.AppendQuoteRuneToASCII=CE;CH=function(a){var a,b,c,d;while(true){if(!(a.length>0)){break;}b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=$substring(a,d);if(d>1){if(c===65279){return false;}continue;}if(c===65533){return false;}if((c<32&&!((c===9)))||(c===96)||(c===127)){return false;}}return true;};$pkg.CanBackquote=CH;CI=function(a){var a,b,c,d,e,f,g,h,i,j;b=0;c=false;d=((a>>0));if(48<=d&&d<=57){e=d-48>>0;f=true;b=e;c=f;return[b,c];}else if(97<=d&&d<=102){g=(d-97>>0)+10>>0;h=true;b=g;c=h;return[b,c];}else if(65<=d&&d<=70){i=(d-65>>0)+10>>0;j=true;b=i;c=j;return[b,c];}return[b,c];};CJ=function(a,b){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=0;d=false;e="";f=$ifaceNil;g=a.charCodeAt(0);if((g===b)&&((b===39)||(b===34))){f=$pkg.ErrSyntax;return[c,d,e,f];}else if(g>=128){h=C.DecodeRuneInString(a);i=h[0];j=h[1];k=i;l=true;m=$substring(a,j);n=$ifaceNil;c=k;d=l;e=m;f=n;return[c,d,e,f];}else if(!((g===92))){o=((a.charCodeAt(0)>>0));p=false;q=$substring(a,1);r=$ifaceNil;c=o;d=p;e=q;f=r;return[c,d,e,f];}if(a.length<=1){f=$pkg.ErrSyntax;return[c,d,e,f];}s=a.charCodeAt(1);a=$substring(a,2);switch(0){default:t=s;if(t===(97)){c=7;}else if(t===(98)){c=8;}else if(t===(102)){c=12;}else if(t===(110)){c=10;}else if(t===(114)){c=13;}else if(t===(116)){c=9;}else if(t===(118)){c=11;}else if((t===(120))||(t===(117))||(t===(85))){u=0;v=s;if(v===(120)){u=2;}else if(v===(117)){u=4;}else if(v===(85)){u=8;}w=0;if(a.length<u){f=$pkg.ErrSyntax;return[c,d,e,f];}x=0;while(true){if(!(x<u)){break;}y=CI(a.charCodeAt(x));z=y[0];aa=y[1];if(!aa){f=$pkg.ErrSyntax;return[c,d,e,f];}w=(w<<4>>0)|z;x=x+(1)>>0;}a=$substring(a,u);if(s===120){c=w;break;}if(w>1114111){f=$pkg.ErrSyntax;return[c,d,e,f];}c=w;d=true;}else if((t===(48))||(t===(49))||(t===(50))||(t===(51))||(t===(52))||(t===(53))||(t===(54))||(t===(55))){ab=((s>>0))-48>>0;if(a.length<2){f=$pkg.ErrSyntax;return[c,d,e,f];}ac=0;while(true){if(!(ac<2)){break;}ad=((a.charCodeAt(ac)>>0))-48>>0;if(ad<0||ad>7){f=$pkg.ErrSyntax;return[c,d,e,f];}ab=((ab<<3>>0))|ad;ac=ac+(1)>>0;}a=$substring(a,2);if(ab>255){f=$pkg.ErrSyntax;return[c,d,e,f];}c=ab;}else if(t===(92)){c=92;}else if((t===(39))||(t===(34))){if(!((s===b))){f=$pkg.ErrSyntax;return[c,d,e,f];}c=((s>>0));}else{f=$pkg.ErrSyntax;return[c,d,e,f];}}e=a;return[c,d,e,f];};$pkg.UnquoteChar=CJ;CK=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=a.length;if(b<2){return["",$pkg.ErrSyntax];}c=a.charCodeAt(0);if(!((c===a.charCodeAt((b-1>>0))))){return["",$pkg.ErrSyntax];}a=$substring(a,1,(b-1>>0));if(c===96){if(CL(a,96)){return["",$pkg.ErrSyntax];}if(CL(a,13)){d=$makeSlice(DB,0,(a.length-1>>0));e=0;while(true){if(!(e<a.length)){break;}if(!((a.charCodeAt(e)===13))){d=$append(d,a.charCodeAt(e));}e=e+(1)>>0;}return[($bytesToString(d)),$ifaceNil];}return[a,$ifaceNil];}if(!((c===34))&&!((c===39))){return["",$pkg.ErrSyntax];}if(CL(a,10)){return["",$pkg.ErrSyntax];}if(!CL(a,92)&&!CL(a,c)){f=c;if(f===(34)){return[a,$ifaceNil];}else if(f===(39)){g=C.DecodeRuneInString(a);h=g[0];i=g[1];if((i===a.length)&&(!((h===65533))||!((i===1)))){return[a,$ifaceNil];}}}j=DG.zero();l=$makeSlice(DB,0,(k=($imul(3,a.length))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")));while(true){if(!(a.length>0)){break;}m=CJ(a,c);n=m[0];o=m[1];p=m[2];q=m[3];if(!($interfaceIsEqual(q,$ifaceNil))){return["",q];}a=p;if(n<128||!o){l=$append(l,((n<<24>>>24)));}else{r=C.EncodeRune(new DB(j),n);l=$appendSlice(l,$subslice(new DB(j),0,r));}if((c===39)&&!((a.length===0))){return["",$pkg.ErrSyntax];}}return[($bytesToString(l)),$ifaceNil];};$pkg.Unquote=CK;CL=function(a,b){var a,b,c;c=0;while(true){if(!(c<a.length)){break;}if(a.charCodeAt(c)===b){return true;}c=c+(1)>>0;}return false;};CM=function(a,b){var a,b,c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(true){if(!(e<f)){break;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h])<b){e=h+1>>0;}else{f=h;}}return e;};CN=function(a,b){var a,b,c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(true){if(!(e<f)){break;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h])<b){e=h+1>>0;}else{f=h;}}return e;};CO=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(a<=255){if(32<=a&&a<=126){return true;}if(161<=a&&a<=255){return!((a===173));}return false;}if(0<=a&&a<65536){b=((a<<16>>>16));c=BD;d=BE;e=b;f=c;g=d;h=CM(f,e);if(h>=f.$length||e<(i=(h&~1)>>0,((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+j]))<e){return false;}k=CM(g,e);return k>=g.$length||!((((k<0||k>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+k])===e));}l=((a>>>0));m=BF;n=BG;o=l;p=m;q=n;r=CN(p,o);if(r>=p.$length||o<(s=(r&~1)>>0,((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+t]))<o){return false;}if(a>=131072){return true;}a=a-(65536)>>0;u=CM(q,((a<<16>>>16)));return u>=q.$length||!((((u<0||u>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+u])===((a<<16>>>16))));};$pkg.IsPrint=CO;CQ=function(a){var a,b,c;if(a>65535){return false;}b=((a<<16>>>16));c=CM(BH,b);return c<BH.$length&&(b===((c<0||c>=BH.$length)?($throwRuntimeError("index out of range"),undefined):BH.$array[BH.$offset+c]));};DA.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DH.methods=[{prop:"set",name:"set",pkg:"strconv",typ:$funcType([$String],[$Bool],false)},{prop:"floatBits",name:"floatBits",pkg:"strconv",typ:$funcType([DE],[$Uint64,$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Assign",name:"Assign",pkg:"",typ:$funcType([$Uint64],[],false)},{prop:"Shift",name:"Shift",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundDown",name:"RoundDown",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundUp",name:"RoundUp",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundedInteger",name:"RoundedInteger",pkg:"",typ:$funcType([],[$Uint64],false)}];DJ.methods=[{prop:"floatBits",name:"floatBits",pkg:"strconv",typ:$funcType([DE],[$Uint64,$Bool],false)},{prop:"AssignComputeBounds",name:"AssignComputeBounds",pkg:"",typ:$funcType([$Uint64,$Int,$Bool,DE],[AH,AH],false)},{prop:"Normalize",name:"Normalize",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"Multiply",name:"Multiply",pkg:"",typ:$funcType([AH],[],false)},{prop:"AssignDecimal",name:"AssignDecimal",pkg:"",typ:$funcType([$Uint64,$Int,$Bool,$Bool,DE],[$Bool],false)},{prop:"frexp10",name:"frexp10",pkg:"strconv",typ:$funcType([],[$Int,$Int],false)},{prop:"FixedDecimal",name:"FixedDecimal",pkg:"",typ:$funcType([DI,$Int],[$Bool],false)},{prop:"ShortestDecimal",name:"ShortestDecimal",pkg:"",typ:$funcType([DI,DJ,DJ],[$Bool],false)}];S.init("",[{prop:"Func",name:"Func",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Num",name:"Num",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",anonymous:false,exported:true,typ:$error,tag:""}]);Y.init("strconv",[{prop:"d",name:"d",anonymous:false,exported:false,typ:CZ,tag:""},{prop:"nd",name:"nd",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"dp",name:"dp",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"trunc",name:"trunc",anonymous:false,exported:false,typ:$Bool,tag:""}]);AC.init("strconv",[{prop:"delta",name:"delta",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"cutoff",name:"cutoff",anonymous:false,exported:false,typ:$String,tag:""}]);AH.init("strconv",[{prop:"mant",name:"mant",anonymous:false,exported:false,typ:$Uint64,tag:""},{prop:"exp",name:"exp",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",anonymous:false,exported:false,typ:$Bool,tag:""}]);AO.init("strconv",[{prop:"mantbits",name:"mantbits",anonymous:false,exported:false,typ:$Uint,tag:""},{prop:"expbits",name:"expbits",anonymous:false,exported:false,typ:$Uint,tag:""},{prop:"bias",name:"bias",anonymous:false,exported:false,typ:$Int,tag:""}]);AX.init("strconv",[{prop:"d",name:"d",anonymous:false,exported:false,typ:DB,tag:""},{prop:"nd",name:"nd",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"dp",name:"dp",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",anonymous:false,exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=true;K=new CT([1,3,6,9,13,16,19,23,26]);L=new CU([1,10,100,1000,10000,100000,1e+06,1e+07,1e+08,1e+09,1e+10,1e+11,1e+12,1e+13,1e+14,1e+15,1e+16,1e+17,1e+18,1e+19,1e+20,1e+21,1e+22]);M=new CV([1,10,100,1000,10000,100000,1e+06,1e+07,1e+08,1e+09,1e+10]);$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AD=new CW([new AC.ptr(0,""),new AC.ptr(1,"5"),new AC.ptr(1,"25"),new AC.ptr(1,"125"),new AC.ptr(2,"625"),new AC.ptr(2,"3125"),new AC.ptr(2,"15625"),new AC.ptr(3,"78125"),new AC.ptr(3,"390625"),new AC.ptr(3,"1953125"),new AC.ptr(4,"9765625"),new AC.ptr(4,"48828125"),new AC.ptr(4,"244140625"),new AC.ptr(4,"1220703125"),new AC.ptr(5,"6103515625"),new AC.ptr(5,"30517578125"),new AC.ptr(5,"152587890625"),new AC.ptr(6,"762939453125"),new AC.ptr(6,"3814697265625"),new AC.ptr(6,"19073486328125"),new AC.ptr(7,"95367431640625"),new AC.ptr(7,"476837158203125"),new AC.ptr(7,"2384185791015625"),new AC.ptr(7,"11920928955078125"),new AC.ptr(8,"59604644775390625"),new AC.ptr(8,"298023223876953125"),new AC.ptr(8,"1490116119384765625"),new AC.ptr(9,"7450580596923828125"),new AC.ptr(9,"37252902984619140625"),new AC.ptr(9,"186264514923095703125"),new AC.ptr(10,"931322574615478515625"),new AC.ptr(10,"4656612873077392578125"),new AC.ptr(10,"23283064365386962890625"),new AC.ptr(10,"116415321826934814453125"),new AC.ptr(11,"582076609134674072265625"),new AC.ptr(11,"2910383045673370361328125"),new AC.ptr(11,"14551915228366851806640625"),new AC.ptr(12,"72759576141834259033203125"),new AC.ptr(12,"363797880709171295166015625"),new AC.ptr(12,"1818989403545856475830078125"),new AC.ptr(13,"9094947017729282379150390625"),new AC.ptr(13,"45474735088646411895751953125"),new AC.ptr(13,"227373675443232059478759765625"),new AC.ptr(13,"1136868377216160297393798828125"),new AC.ptr(14,"5684341886080801486968994140625"),new AC.ptr(14,"28421709430404007434844970703125"),new AC.ptr(14,"142108547152020037174224853515625"),new AC.ptr(15,"710542735760100185871124267578125"),new AC.ptr(15,"3552713678800500929355621337890625"),new AC.ptr(15,"17763568394002504646778106689453125"),new AC.ptr(16,"88817841970012523233890533447265625"),new AC.ptr(16,"444089209850062616169452667236328125"),new AC.ptr(16,"2220446049250313080847263336181640625"),new AC.ptr(16,"11102230246251565404236316680908203125"),new AC.ptr(17,"55511151231257827021181583404541015625"),new AC.ptr(17,"277555756156289135105907917022705078125"),new AC.ptr(17,"1387778780781445675529539585113525390625"),new AC.ptr(18,"6938893903907228377647697925567626953125"),new AC.ptr(18,"34694469519536141888238489627838134765625"),new AC.ptr(18,"173472347597680709441192448139190673828125"),new AC.ptr(19,"867361737988403547205962240695953369140625")]);AI=$toNativeArray($kindStruct,[new AH.ptr(new $Uint64(2147483648,0),-63,false),new AH.ptr(new $Uint64(2684354560,0),-60,false),new AH.ptr(new $Uint64(3355443200,0),-57,false),new AH.ptr(new $Uint64(4194304000,0),-54,false),new AH.ptr(new $Uint64(2621440000,0),-50,false),new AH.ptr(new $Uint64(3276800000,0),-47,false),new AH.ptr(new $Uint64(4096000000,0),-44,false),new AH.ptr(new $Uint64(2560000000,0),-40,false)]);AJ=$toNativeArray($kindStruct,[new AH.ptr(new $Uint64(4203730336,136053384),-1220,false),new AH.ptr(new $Uint64(3132023167,2722021238),-1193,false),new AH.ptr(new $Uint64(2333539104,810921078),-1166,false),new AH.ptr(new $Uint64(3477244234,1573795306),-1140,false),new AH.ptr(new $Uint64(2590748842,1432697645),-1113,false),new AH.ptr(new $Uint64(3860516611,1025131999),-1087,false),new AH.ptr(new $Uint64(2876309015,3348809418),-1060,false),new AH.ptr(new $Uint64(4286034428,3200048207),-1034,false),new AH.ptr(new $Uint64(3193344495,1097586188),-1007,false),new AH.ptr(new $Uint64(2379227053,2424306748),-980,false),new AH.ptr(new $Uint64(3545324584,827693699),-954,false),new AH.ptr(new $Uint64(2641472655,2913388981),-927,false),new AH.ptr(new $Uint64(3936100983,602835915),-901,false),new AH.ptr(new $Uint64(2932623761,1081627501),-874,false),new AH.ptr(new $Uint64(2184974969,1572261463),-847,false),new AH.ptr(new $Uint64(3255866422,1308317239),-821,false),new AH.ptr(new $Uint64(2425809519,944281679),-794,false),new AH.ptr(new $Uint64(3614737867,629291719),-768,false),new AH.ptr(new $Uint64(2693189581,2545915892),-741,false),new AH.ptr(new $Uint64(4013165208,388672741),-715,false),new AH.ptr(new $Uint64(2990041083,708162190),-688,false),new AH.ptr(new $Uint64(2227754207,3536207675),-661,false),new AH.ptr(new $Uint64(3319612455,450088378),-635,false),new AH.ptr(new $Uint64(2473304014,3139815830),-608,false),new AH.ptr(new $Uint64(3685510180,2103616900),-582,false),new AH.ptr(new $Uint64(2745919064,224385782),-555,false),new AH.ptr(new $Uint64(4091738259,3737383206),-529,false),new AH.ptr(new $Uint64(3048582568,2868871352),-502,false),new AH.ptr(new $Uint64(2271371013,1820084875),-475,false),new AH.ptr(new $Uint64(3384606560,885076051),-449,false),new AH.ptr(new $Uint64(2521728396,2444895829),-422,false),new AH.ptr(new $Uint64(3757668132,1881767613),-396,false),new AH.ptr(new $Uint64(2799680927,3102062735),-369,false),new AH.ptr(new $Uint64(4171849679,2289335700),-343,false),new AH.ptr(new $Uint64(3108270227,2410191823),-316,false),new AH.ptr(new $Uint64(2315841784,3205436779),-289,false),new AH.ptr(new $Uint64(3450873173,1697722806),-263,false),new AH.ptr(new $Uint64(2571100870,3497754540),-236,false),new AH.ptr(new $Uint64(3831238852,707476230),-210,false),new AH.ptr(new $Uint64(2854495385,1769181907),-183,false),new AH.ptr(new $Uint64(4253529586,2197867022),-157,false),new AH.ptr(new $Uint64(3169126500,2450594539),-130,false),new AH.ptr(new $Uint64(2361183241,1867548876),-103,false),new AH.ptr(new $Uint64(3518437208,3793315116),-77,false),new AH.ptr(new $Uint64(2621440000,0),-50,false),new AH.ptr(new $Uint64(3906250000,0),-24,false),new AH.ptr(new $Uint64(2910383045,2892103680),3,false),new AH.ptr(new $Uint64(2168404344,4170451332),30,false),new AH.ptr(new $Uint64(3231174267,3372684723),56,false),new AH.ptr(new $Uint64(2407412430,2078956656),83,false),new AH.ptr(new $Uint64(3587324068,2884206696),109,false),new AH.ptr(new $Uint64(2672764710,395977285),136,false),new AH.ptr(new $Uint64(3982729777,3569679143),162,false),new AH.ptr(new $Uint64(2967364920,2361961896),189,false),new AH.ptr(new $Uint64(2210859150,447440347),216,false),new AH.ptr(new $Uint64(3294436857,1114709402),242,false),new AH.ptr(new $Uint64(2454546732,2786846552),269,false),new AH.ptr(new $Uint64(3657559652,443583978),295,false),new AH.ptr(new $Uint64(2725094297,2599384906),322,false),new AH.ptr(new $Uint64(4060706939,3028118405),348,false),new AH.ptr(new $Uint64(3025462433,2044532855),375,false),new AH.ptr(new $Uint64(2254145170,1536935362),402,false),new AH.ptr(new $Uint64(3358938053,3365297469),428,false),new AH.ptr(new $Uint64(2502603868,4204241075),455,false),new AH.ptr(new $Uint64(3729170365,2577424355),481,false),new AH.ptr(new $Uint64(2778448436,3677981733),508,false),new AH.ptr(new $Uint64(4140210802,2744688476),534,false),new AH.ptr(new $Uint64(3084697427,1424604878),561,false),new AH.ptr(new $Uint64(2298278679,4062331362),588,false),new AH.ptr(new $Uint64(3424702107,3546052773),614,false),new AH.ptr(new $Uint64(2551601907,2065781727),641,false),new AH.ptr(new $Uint64(3802183132,2535403578),667,false),new AH.ptr(new $Uint64(2832847187,1558426518),694,false),new AH.ptr(new $Uint64(4221271257,2762425404),720,false),new AH.ptr(new $Uint64(3145092172,2812560400),747,false),new AH.ptr(new $Uint64(2343276271,3057687578),774,false),new AH.ptr(new $Uint64(3491753744,2790753324),800,false),new AH.ptr(new $Uint64(2601559269,3918606633),827,false),new AH.ptr(new $Uint64(3876625403,2711358621),853,false),new AH.ptr(new $Uint64(2888311001,1648096297),880,false),new AH.ptr(new $Uint64(2151959390,2057817989),907,false),new AH.ptr(new $Uint64(3206669376,61660461),933,false),new AH.ptr(new $Uint64(2389154863,1581580175),960,false),new AH.ptr(new $Uint64(3560118173,2626467905),986,false),new AH.ptr(new $Uint64(2652494738,3034782633),1013,false),new AH.ptr(new $Uint64(3952525166,3135207385),1039,false),new AH.ptr(new $Uint64(2944860731,2616258155),1066,false)]);AK=$toNativeArray($kindUint64,[new $Uint64(0,1),new $Uint64(0,10),new $Uint64(0,100),new $Uint64(0,1000),new $Uint64(0,10000),new $Uint64(0,100000),new $Uint64(0,1000000),new $Uint64(0,10000000),new $Uint64(0,100000000),new $Uint64(0,1000000000),new $Uint64(2,1410065408),new $Uint64(23,1215752192),new $Uint64(232,3567587328),new $Uint64(2328,1316134912),new $Uint64(23283,276447232),new $Uint64(232830,2764472320),new $Uint64(2328306,1874919424),new $Uint64(23283064,1569325056),new $Uint64(232830643,2808348672),new $Uint64(2328306436,2313682944)]);AP=new AO.ptr(23,8,-127);AQ=new AO.ptr(52,11,-1023);BD=new CX([32,126,161,887,890,895,900,1366,1369,1418,1421,1479,1488,1514,1520,1524,1542,1563,1566,1805,1808,1866,1869,1969,1984,2042,2048,2093,2096,2139,2142,2142,2208,2237,2260,2444,2447,2448,2451,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2531,2534,2555,2561,2570,2575,2576,2579,2617,2620,2626,2631,2632,2635,2637,2641,2641,2649,2654,2662,2677,2689,2745,2748,2765,2768,2768,2784,2787,2790,2801,2809,2809,2817,2828,2831,2832,2835,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2915,2918,2935,2946,2954,2958,2965,2969,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3021,3024,3024,3031,3031,3046,3066,3072,3129,3133,3149,3157,3162,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3407,3412,3427,3430,3455,3458,3478,3482,3517,3520,3526,3530,3530,3535,3551,3558,3567,3570,3572,3585,3642,3647,3675,3713,3716,3719,3722,3725,3725,3732,3751,3754,3773,3776,3789,3792,3801,3804,3807,3840,3948,3953,4058,4096,4295,4301,4301,4304,4685,4688,4701,4704,4749,4752,4789,4792,4805,4808,4885,4888,4954,4957,4988,4992,5017,5024,5109,5112,5117,5120,5788,5792,5880,5888,5908,5920,5942,5952,5971,5984,6003,6016,6109,6112,6121,6128,6137,6144,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6443,6448,6459,6464,6464,6468,6509,6512,6516,6528,6571,6576,6601,6608,6618,6622,6683,6686,6780,6783,6793,6800,6809,6816,6829,6832,6846,6912,6987,6992,7036,7040,7155,7164,7223,7227,7241,7245,7304,7360,7367,7376,7417,7424,7669,7675,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8382,8400,8432,8448,8587,8592,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11244,11247,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11844,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40917,40960,42124,42128,42182,42192,42539,42560,42743,42752,42935,42999,43051,43056,43065,43072,43127,43136,43205,43214,43225,43232,43261,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43877,43888,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64449,64467,64831,64848,64911,64914,64967,65008,65021,65024,65049,65056,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CX([173,907,909,930,1328,1376,1416,1424,1757,2111,2229,2274,2436,2473,2481,2526,2564,2601,2609,2612,2615,2621,2653,2692,2702,2706,2729,2737,2740,2758,2762,2820,2857,2865,2868,2910,2948,2961,2971,2973,3017,3076,3085,3089,3113,3141,3145,3159,3204,3213,3217,3241,3252,3269,3273,3295,3312,3332,3341,3345,3397,3401,3460,3506,3516,3541,3543,3715,3721,3736,3744,3748,3750,3756,3770,3781,3783,3912,3992,4029,4045,4294,4681,4695,4697,4745,4785,4799,4801,4823,4881,5760,5901,5997,6001,6431,6751,7415,8024,8026,8028,8030,8117,8133,8156,8181,8335,9215,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42927,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CY([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65947,65952,65952,66000,66045,66176,66204,66208,66256,66272,66299,66304,66339,66352,66378,66384,66426,66432,66499,66504,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67808,67829,67835,67867,67871,67897,67903,67903,67968,68023,68028,68047,68050,68102,68108,68147,68152,68154,68159,68167,68176,68184,68192,68255,68288,68326,68331,68342,68352,68405,68409,68437,68440,68466,68472,68497,68505,68508,68521,68527,68608,68680,68736,68786,68800,68850,68858,68863,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70093,70096,70132,70144,70206,70272,70313,70320,70378,70384,70393,70400,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70749,70784,70855,70864,70873,71040,71093,71096,71133,71168,71236,71248,71257,71264,71276,71296,71351,71360,71369,71424,71449,71453,71467,71472,71487,71840,71922,71935,71935,72384,72440,72704,72773,72784,72812,72816,72847,72850,72886,73728,74649,74752,74868,74880,75075,77824,78894,82944,83526,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,94176,94176,94208,100332,100352,101106,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119272,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,121483,121499,121519,122880,122904,122907,122922,124928,125124,125127,125142,125184,125258,125264,125273,125278,125279,126464,126500,126503,126523,126530,126530,126535,126548,126551,126564,126567,126619,126625,126651,126704,126705,126976,127019,127024,127123,127136,127150,127153,127221,127232,127244,127248,127339,127344,127404,127462,127490,127504,127547,127552,127560,127568,127569,127744,128722,128736,128748,128752,128758,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,129296,129319,129328,129328,129331,129355,129360,129374,129408,129425,129472,129472,131072,173782,173824,177972,177984,178205,178208,183969,194560,195101,917760,917999]);BG=new CX([12,39,59,62,399,926,2057,2102,2134,2291,2564,2580,2584,4285,4405,4576,4626,4743,4745,4750,4766,4868,4905,4913,4916,5210,5212,7177,7223,7336,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,55968,57351,57378,57381,60932,60960,60963,60968,60979,60984,60986,61000,61002,61004,61008,61011,61016,61018,61020,61022,61024,61027,61035,61043,61048,61053,61055,61066,61092,61098,61632,61648,61743,63775,63807]);BH=new CX([160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]);BO=$toNativeArray($kindUint,[0,0,1,0,2,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/base64"]=(function(){var $pkg={},$init,A,B,C,E,G,H,I,K,L,M,N,O,P,Q,R,S,T,U,D,F,J;A=$packages["io"];B=$packages["strconv"];C=$pkg.Encoding=$newType(0,$kindStruct,"base64.Encoding",true,"encoding/base64",true,function(encode_,decodeMap_,padChar_,strict_){this.$val=this;if(arguments.length===0){this.encode=K.zero();this.decodeMap=L.zero();this.padChar=0;this.strict=false;return;}this.encode=encode_;this.decodeMap=decodeMap_;this.padChar=padChar_;this.strict=strict_;});E=$pkg.encoder=$newType(0,$kindStruct,"base64.encoder",true,"encoding/base64",false,function(err_,enc_,w_,buf_,nbuf_,out_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;this.enc=N.nil;this.w=$ifaceNil;this.buf=O.zero();this.nbuf=0;this.out=P.zero();return;}this.err=err_;this.enc=enc_;this.w=w_;this.buf=buf_;this.nbuf=nbuf_;this.out=out_;});G=$pkg.CorruptInputError=$newType(8,$kindInt64,"base64.CorruptInputError",true,"encoding/base64",true,null);H=$pkg.decoder=$newType(0,$kindStruct,"base64.decoder",true,"encoding/base64",false,function(err_,readErr_,enc_,r_,end_,buf_,nbuf_,out_,outbuf_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;this.readErr=$ifaceNil;this.enc=N.nil;this.r=$ifaceNil;this.end=false;this.buf=P.zero();this.nbuf=0;this.out=M.nil;this.outbuf=R.zero();return;}this.err=err_;this.readErr=readErr_;this.enc=enc_;this.r=r_;this.end=end_;this.buf=buf_;this.nbuf=nbuf_;this.out=out_;this.outbuf=outbuf_;});I=$pkg.newlineFilteringReader=$newType(0,$kindStruct,"base64.newlineFilteringReader",true,"encoding/base64",false,function(wrapped_){this.$val=this;if(arguments.length===0){this.wrapped=$ifaceNil;return;}this.wrapped=wrapped_;});K=$arrayType($Uint8,64);L=$arrayType($Uint8,256);M=$sliceType($Uint8);N=$ptrType(C);O=$arrayType($Uint8,3);P=$arrayType($Uint8,1024);Q=$arrayType($Uint8,4);R=$arrayType($Uint8,768);S=$ptrType(E);T=$ptrType(H);U=$ptrType(I);D=function(a){var a,b,c,d,e,f,g,h;if(!((a.length===64))){$panic(new $String("encoding alphabet is not 64-bytes long"));}b=0;while(true){if(!(b<a.length)){break;}if((a.charCodeAt(b)===10)||(a.charCodeAt(b)===13)){$panic(new $String("encoding alphabet contains newline character"));}b=b+(1)>>0;}c=new C.ptr(K.zero(),L.zero(),0,false);c.padChar=61;$copyString(new M(c.encode),a);d=0;while(true){if(!(d<256)){break;}(e=c.decodeMap,((d<0||d>=e.length)?($throwRuntimeError("index out of range"),undefined):e[d]=255));d=d+(1)>>0;}f=0;while(true){if(!(f<a.length)){break;}(g=c.decodeMap,h=a.charCodeAt(f),((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]=((f<<24>>>24))));f=f+(1)>>0;}return c;};$pkg.NewEncoding=D;C.ptr.prototype.WithPadding=function(a){var a,b,c,d;b=this;if((a===13)||(a===10)||a>255){$panic(new $String("invalid padding"));}c=0;while(true){if(!(c<64)){break;}if((((d=b.encode,((c<0||c>=d.length)?($throwRuntimeError("index out of range"),undefined):d[c]))>>0))===a){$panic(new $String("padding contained in alphabet"));}c=c+(1)>>0;}b.padChar=a;return b;};C.prototype.WithPadding=function(a){return this.$val.WithPadding(a);};C.ptr.prototype.Strict=function(){var a;a=this;a.strict=true;return a;};C.prototype.Strict=function(){return this.$val.Strict();};C.ptr.prototype.Encode=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=this;if(b.$length===0){return;}d=0;e=0;f=d;g=e;i=$imul(((h=b.$length/3,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))),3);while(true){if(!(g<i)){break;}m=(((((((j=g+0>>0,((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]))>>>0))<<16>>>0)|((((k=g+1>>0,((k<0||k>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+k]))>>>0))<<8>>>0))>>>0)|(((l=g+2>>0,((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]))>>>0)))>>>0;(p=f+0>>0,((p<0||p>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+p]=(n=c.encode,o=((m>>>18>>>0)&63)>>>0,((o<0||o>=n.length)?($throwRuntimeError("index out of range"),undefined):n[o]))));(s=f+1>>0,((s<0||s>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+s]=(q=c.encode,r=((m>>>12>>>0)&63)>>>0,((r<0||r>=q.length)?($throwRuntimeError("index out of range"),undefined):q[r]))));(v=f+2>>0,((v<0||v>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]=(t=c.encode,u=((m>>>6>>>0)&63)>>>0,((u<0||u>=t.length)?($throwRuntimeError("index out of range"),undefined):t[u]))));(y=f+3>>0,((y<0||y>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+y]=(w=c.encode,x=(m&63)>>>0,((x<0||x>=w.length)?($throwRuntimeError("index out of range"),undefined):w[x]))));g=g+(3)>>0;f=f+(4)>>0;}z=b.$length-g>>0;if(z===0){return;}ab=(((aa=g+0>>0,((aa<0||aa>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+aa]))>>>0))<<16>>>0;if(z===2){ab=(ab|(((((ac=g+1>>0,((ac<0||ac>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ac]))>>>0))<<8>>>0)))>>>0;}(af=f+0>>0,((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]=(ad=c.encode,ae=((ab>>>18>>>0)&63)>>>0,((ae<0||ae>=ad.length)?($throwRuntimeError("index out of range"),undefined):ad[ae]))));(ai=f+1>>0,((ai<0||ai>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]=(ag=c.encode,ah=((ab>>>12>>>0)&63)>>>0,((ah<0||ah>=ag.length)?($throwRuntimeError("index out of range"),undefined):ag[ah]))));aj=z;if(aj===(2)){(am=f+2>>0,((am<0||am>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+am]=(ak=c.encode,al=((ab>>>6>>>0)&63)>>>0,((al<0||al>=ak.length)?($throwRuntimeError("index out of range"),undefined):ak[al]))));if(!((c.padChar===-1))){(an=f+3>>0,((an<0||an>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+an]=((c.padChar<<24>>>24))));}}else if(aj===(1)){if(!((c.padChar===-1))){(ao=f+2>>0,((ao<0||ao>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ao]=((c.padChar<<24>>>24))));(ap=f+3>>0,((ap<0||ap>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ap]=((c.padChar<<24>>>24))));}}};C.prototype.Encode=function(a,b){return this.$val.Encode(a,b);};C.ptr.prototype.EncodeToString=function(a){var a,b,c;b=this;c=$makeSlice(M,b.EncodedLen(a.$length));b.Encode(c,a);return($bytesToString(c));};C.prototype.EncodeToString=function(a){return this.$val.EncodeToString(a);};E.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(!($interfaceIsEqual(d.err,$ifaceNil))){e=0;f=d.err;b=e;c=f;$s=-1;return[b,c];}if(d.nbuf>0){$s=1;continue;}$s=2;continue;case 1:g=0;g=0;while(true){if(!(g<a.$length&&d.nbuf<3)){break;}(h=d.buf,i=d.nbuf,((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]=((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g])));d.nbuf=d.nbuf+(1)>>0;g=g+(1)>>0;}b=b+(g)>>0;a=$subslice(a,g);if(d.nbuf<3){$s=-1;return[b,c];}d.enc.Encode(new M(d.out),new M(d.buf));k=d.w.Write($subslice(new M(d.out),0,4));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;d.err=j[1];if(!($interfaceIsEqual(d.err,$ifaceNil))){l=b;m=d.err;b=l;c=m;$s=-1;return[b,c];}d.nbuf=0;case 2:case 4:if(!(a.$length>=3)){$s=5;continue;}n=768;if(n>a.$length){n=a.$length;n=n-((o=n%3,o===o?o:$throwRuntimeError("integer divide by zero")))>>0;}d.enc.Encode(new M(d.out),$subslice(a,0,n));r=d.w.Write($subslice(new M(d.out),0,($imul((q=n/3,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero")),4))));$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}p=r;d.err=p[1];if(!($interfaceIsEqual(d.err,$ifaceNil))){s=b;t=d.err;b=s;c=t;$s=-1;return[b,c];}b=b+(n)>>0;a=$subslice(a,n);$s=4;continue;case 5:u=0;while(true){if(!(u<a.$length)){break;}(v=d.buf,((u<0||u>=v.length)?($throwRuntimeError("index out of range"),undefined):v[u]=((u<0||u>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+u])));u=u+(1)>>0;}d.nbuf=a.$length;b=b+(a.$length)>>0;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Write=function(a){return this.$val.Write(a);};E.ptr.prototype.Close=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if($interfaceIsEqual(a.err,$ifaceNil)&&a.nbuf>0){$s=1;continue;}$s=2;continue;case 1:a.enc.Encode(new M(a.out),$subslice(new M(a.buf),0,a.nbuf));c=a.w.Write($subslice(new M(a.out),0,a.enc.EncodedLen(a.nbuf)));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;a.err=b[1];a.nbuf=0;case 2:$s=-1;return a.err;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Close};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Close=function(){return this.$val.Close();};F=function(a,b){var a,b;return new E.ptr($ifaceNil,a,b,O.zero(),0,P.zero());};$pkg.NewEncoder=F;C.ptr.prototype.EncodedLen=function(a){var a,b,c,d;b=this;if(b.padChar===-1){return(c=((($imul(a,8))+5>>0))/6,(c===c&&c!==1/0&&c!==-1/0)?c>>0:$throwRuntimeError("integer divide by zero"));}return $imul((d=((a+2>>0))/3,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")),4);};C.prototype.EncodedLen=function(a){return this.$val.EncodedLen(a);};G.prototype.Error=function(){var a;a=this;return"illegal base64 data at input byte "+B.FormatInt((new $Int64(a.$high,a.$low)),10);};$ptrType(G).prototype.Error=function(){return this.$get().Error();};C.ptr.prototype.decode=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=0;d=false;e=$ifaceNil;f=this;g=0;while(true){if(!(g<b.$length&&!d)){break;}h=Q.zero();i=3;j=4;k=i;l=j;m=0;while(true){if(!(m<4)){break;}if(b.$length===g){if((m===0)){n=c;o=false;p=$ifaceNil;c=n;d=o;e=p;return[c,d,e];}else if(((m===1))||(!((f.padChar===-1)))){q=c;r=false;s=(new G(0,(g-m>>0)));c=q;d=r;e=s;return[c,d,e];}t=m-1>>0;u=m;v=true;k=t;l=u;d=v;break;}w=((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]);g=g+(1)>>0;y=(x=f.decodeMap,((w<0||w>=x.length)?($throwRuntimeError("index out of range"),undefined):x[w]));if(!((y===255))){((m<0||m>=h.length)?($throwRuntimeError("index out of range"),undefined):h[m]=y);m=m+(1)>>0;continue;}if((w===10)||(w===13)){m=m-(1)>>0;m=m+(1)>>0;continue;}if(((w>>0))===f.padChar){z=m;if((z===(0))||(z===(1))){aa=c;ab=false;ac=(new G(0,(g-1>>0)));c=aa;d=ab;e=ac;return[c,d,e];}else if(z===(2)){while(true){if(!(g<b.$length&&((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])===10)||(((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])===13)))){break;}g=g+(1)>>0;}if(g===b.$length){ad=c;ae=false;af=(new G(0,b.$length));c=ad;d=ae;e=af;return[c,d,e];}if(!((((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])>>0))===f.padChar))){ag=c;ah=false;ai=(new G(0,(g-1>>0)));c=ag;d=ah;e=ai;return[c,d,e];}g=g+(1)>>0;}while(true){if(!(g<b.$length&&((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])===10)||(((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])===13)))){break;}g=g+(1)>>0;}if(g<b.$length){e=(new G(0,g));}aj=3;ak=m;al=true;k=aj;l=ak;d=al;break;}am=c;an=false;ao=(new G(0,(g-1>>0)));c=am;d=an;e=ao;return[c,d,e];}ap=((((((((h[0]>>>0))<<18>>>0)|(((h[1]>>>0))<<12>>>0))>>>0)|(((h[2]>>>0))<<6>>>0))>>>0)|((h[3]>>>0)))>>>0;aq=(((ap>>>0>>>0)<<24>>>24));ar=(((ap>>>8>>>0)<<24>>>24));as=(((ap>>>16>>>0)<<24>>>24));h[2]=aq;h[1]=ar;h[0]=as;at=l;if(at===(4)){(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=h[2]);h[2]=0;(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=h[1]);if(f.strict&&!((h[2]===0))){au=c;av=d;aw=(new G(0,(g-1>>0)));c=au;d=av;e=aw;return[c,d,e];}h[1]=0;(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=h[0]);if(f.strict&&(!((h[1]===0))||!((h[2]===0)))){ax=c;ay=d;az=(new G(0,(g-2>>0)));c=ax;d=ay;e=az;return[c,d,e];}}else if(at===(3)){(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=h[1]);if(f.strict&&!((h[2]===0))){ba=c;bb=d;bc=(new G(0,(g-1>>0)));c=ba;d=bb;e=bc;return[c,d,e];}h[1]=0;(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=h[0]);if(f.strict&&(!((h[1]===0))||!((h[2]===0)))){bd=c;be=d;bf=(new G(0,(g-2>>0)));c=bd;d=be;e=bf;return[c,d,e];}}else if(at===(2)){(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=h[0]);if(f.strict&&(!((h[1]===0))||!((h[2]===0)))){bg=c;bh=d;bi=(new G(0,(g-2>>0)));c=bg;d=bh;e=bi;return[c,d,e];}}a=$subslice(a,k);c=c+((l-1>>0))>>0;}bj=c;bk=d;bl=e;c=bj;d=bk;e=bl;return[c,d,e];};C.prototype.decode=function(a,b){return this.$val.decode(a,b);};C.ptr.prototype.Decode=function(a,b){var a,b,c,d,e,f;c=0;d=$ifaceNil;e=this;f=e.decode(a,b);c=f[0];d=f[2];return[c,d];};C.prototype.Decode=function(a,b){return this.$val.Decode(a,b);};C.ptr.prototype.DecodeString=function(a){var a,b,c,d,e,f;b=this;c=$makeSlice(M,b.DecodedLen(a.length));d=b.decode(c,(new M($stringToBytes(a))));e=d[0];f=d[2];return[$subslice(c,0,e),f];};C.prototype.DecodeString=function(a){return this.$val.DecodeString(a);};H.ptr.prototype.Read=function(a){var a,aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(d.out.$length>0){b=$copySlice(a,d.out);d.out=$subslice(d.out,b);e=b;f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}if(!($interfaceIsEqual(d.err,$ifaceNil))){g=0;h=d.err;b=g;c=h;$s=-1;return[b,c];}case 1:if(!(d.nbuf<4&&$interfaceIsEqual(d.readErr,$ifaceNil))){$s=2;continue;}j=$imul((i=a.$length/3,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero")),4);if(j<4){j=4;}if(j>1024){j=1024;}l=d.r.Read($subslice(new M(d.buf),d.nbuf,j));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;j=k[0];d.readErr=k[1];d.nbuf=d.nbuf+(j)>>0;$s=1;continue;case 2:if(d.nbuf<4){if((d.enc.padChar===-1)&&d.nbuf>0){m=0;n=d.enc.decode(new M(d.outbuf),$subslice(new M(d.buf),0,d.nbuf));m=n[0];d.err=n[2];d.nbuf=0;d.end=true;d.out=$subslice(new M(d.outbuf),0,m);b=$copySlice(a,d.out);d.out=$subslice(d.out,b);if(b>0||(a.$length===0)&&d.out.$length>0){o=b;p=$ifaceNil;b=o;c=p;$s=-1;return[b,c];}if(!($interfaceIsEqual(d.err,$ifaceNil))){q=0;r=d.err;b=q;c=r;$s=-1;return[b,c];}}d.err=d.readErr;if($interfaceIsEqual(d.err,A.EOF)&&d.nbuf>0){d.err=A.ErrUnexpectedEOF;}s=0;t=d.err;b=s;c=t;$s=-1;return[b,c];}v=$imul((u=d.nbuf/4,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero")),4);x=$imul((w=d.nbuf/4,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero")),3);if(x>a.$length){y=d.enc.decode(new M(d.outbuf),$subslice(new M(d.buf),0,v));x=y[0];d.end=y[1];d.err=y[2];d.out=$subslice(new M(d.outbuf),0,x);b=$copySlice(a,d.out);d.out=$subslice(d.out,b);}else{z=d.enc.decode(a,$subslice(new M(d.buf),0,v));b=z[0];d.end=z[1];d.err=z[2];}d.nbuf=d.nbuf-(v)>>0;$copySlice($subslice(new M(d.buf),0,d.nbuf),$subslice(new M(d.buf),v));aa=b;ab=d.err;b=aa;c=ab;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.Read};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.Read=function(a){return this.$val.Read(a);};I.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.wrapped.Read(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];case 2:if(!(e>0)){$s=3;continue;}g=0;h=$subslice(a,0,e);i=0;while(true){if(!(i<h.$length)){break;}j=i;k=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);if(!((k===13))&&!((k===10))){if(!((j===g))){((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]=k);}g=g+(1)>>0;}i++;}if(g>0){$s=-1;return[g,f];}m=b.wrapped.Read(a);$s=4;case 4:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;e=l[0];f=l[1];$s=2;continue;case 3:$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:I.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};I.prototype.Read=function(a){return this.$val.Read(a);};J=function(a,b){var a,b;return new H.ptr($ifaceNil,$ifaceNil,a,new I.ptr(b),false,P.zero(),0,M.nil,R.zero());};$pkg.NewDecoder=J;C.ptr.prototype.DecodedLen=function(a){var a,b,c,d;b=this;if(b.padChar===-1){return(c=($imul(a,6))/8,(c===c&&c!==1/0&&c!==-1/0)?c>>0:$throwRuntimeError("integer divide by zero"));}return $imul((d=a/4,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")),3);};C.prototype.DecodedLen=function(a){return this.$val.DecodedLen(a);};C.methods=[{prop:"WithPadding",name:"WithPadding",pkg:"",typ:$funcType([$Int32],[N],false)},{prop:"Strict",name:"Strict",pkg:"",typ:$funcType([],[N],false)}];N.methods=[{prop:"Encode",name:"Encode",pkg:"",typ:$funcType([M,M],[],false)},{prop:"EncodeToString",name:"EncodeToString",pkg:"",typ:$funcType([M],[$String],false)},{prop:"EncodedLen",name:"EncodedLen",pkg:"",typ:$funcType([$Int],[$Int],false)},{prop:"decode",name:"decode",pkg:"encoding/base64",typ:$funcType([M,M],[$Int,$Bool,$error],false)},{prop:"Decode",name:"Decode",pkg:"",typ:$funcType([M,M],[$Int,$error],false)},{prop:"DecodeString",name:"DecodeString",pkg:"",typ:$funcType([$String],[M,$error],false)},{prop:"DecodedLen",name:"DecodedLen",pkg:"",typ:$funcType([$Int],[$Int],false)}];S.methods=[{prop:"Write",name:"Write",pkg:"",typ:$funcType([M],[$Int,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)}];G.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];T.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([M],[$Int,$error],false)}];U.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([M],[$Int,$error],false)}];C.init("encoding/base64",[{prop:"encode",name:"encode",anonymous:false,exported:false,typ:K,tag:""},{prop:"decodeMap",name:"decodeMap",anonymous:false,exported:false,typ:L,tag:""},{prop:"padChar",name:"padChar",anonymous:false,exported:false,typ:$Int32,tag:""},{prop:"strict",name:"strict",anonymous:false,exported:false,typ:$Bool,tag:""}]);E.init("encoding/base64",[{prop:"err",name:"err",anonymous:false,exported:false,typ:$error,tag:""},{prop:"enc",name:"enc",anonymous:false,exported:false,typ:N,tag:""},{prop:"w",name:"w",anonymous:false,exported:false,typ:A.Writer,tag:""},{prop:"buf",name:"buf",anonymous:false,exported:false,typ:O,tag:""},{prop:"nbuf",name:"nbuf",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"out",name:"out",anonymous:false,exported:false,typ:P,tag:""}]);H.init("encoding/base64",[{prop:"err",name:"err",anonymous:false,exported:false,typ:$error,tag:""},{prop:"readErr",name:"readErr",anonymous:false,exported:false,typ:$error,tag:""},{prop:"enc",name:"enc",anonymous:false,exported:false,typ:N,tag:""},{prop:"r",name:"r",anonymous:false,exported:false,typ:A.Reader,tag:""},{prop:"end",name:"end",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"buf",name:"buf",anonymous:false,exported:false,typ:P,tag:""},{prop:"nbuf",name:"nbuf",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"out",name:"out",anonymous:false,exported:false,typ:M,tag:""},{prop:"outbuf",name:"outbuf",anonymous:false,exported:false,typ:R,tag:""}]);I.init("encoding/base64",[{prop:"wrapped",name:"wrapped",anonymous:false,exported:false,typ:A.Reader,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.StdEncoding=D("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");$pkg.URLEncoding=D("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");$pkg.RawStdEncoding=$clone($pkg.StdEncoding,C).WithPadding(-1);$pkg.RawURLEncoding=$clone($pkg.URLEncoding,C).WithPadding(-1);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["syscall"]=(function(){var $pkg={},$init,A,D,B,C,BY,CC,CF,CI,EC,ED,GD,GE,GM,GN,GO,GP,ND,NM,NR,NS,NT,NU,NV,NW,NX,NY,NZ,OA,OB,OC,OD,OE,OM,OO,OQ,OR,OS,PF,PH,PP,PT,PY,PZ,QA,QE,QF,QG,QH,QI,QM,QS,QT,QU,QV,QW,QY,RC,RD,RG,RH,RI,RJ,RK,RL,RM,RN,RO,RP,RQ,RR,RU,RY,E,F,N,O,P,AA,AB,AC,AD,FS,GF,GG,GH,HI,PO,HN,G,H,I,K,L,Q,R,S,T,V,W,X,Y,Z,AF,AH,BA,BB,BW,BX,CA,CB,CD,CE,CG,CH,CJ,CK,CW,CX,DC,DE,DK,EE,EF,EG,EH,EP,EQ,ES,FK,FL,FM,FN,GI,GK,GL,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,HA,HC,HF,HH,HQ,IG,IH,IN,IQ,IR,IS,IU,IX,IY,JS,KN,KR,KZ,LA,LC,LF,LH,LM,LN,LO,LP,LQ,LS,MA,MC,MG,MH,MI,MJ,MM,MN,MO,MQ,MR,MS,MT,MU,MV,MW;A=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["internal/race"];B=$packages["runtime"];C=$packages["sync"];BY=$pkg.RawConn=$newType(8,$kindInterface,"syscall.RawConn",true,"syscall",true,null);CC=$pkg.NetlinkRouteRequest=$newType(0,$kindStruct,"syscall.NetlinkRouteRequest",true,"syscall",true,function(Header_,Data_){this.$val=this;if(arguments.length===0){this.Header=new OM.ptr(0,0,0,0,0);this.Data=new OO.ptr(0);return;}this.Header=Header_;this.Data=Data_;});CF=$pkg.NetlinkMessage=$newType(0,$kindStruct,"syscall.NetlinkMessage",true,"syscall",true,function(Header_,Data_){this.$val=this;if(arguments.length===0){this.Header=new OM.ptr(0,0,0,0,0);this.Data=PF.nil;return;}this.Header=Header_;this.Data=Data_;});CI=$pkg.NetlinkRouteAttr=$newType(0,$kindStruct,"syscall.NetlinkRouteAttr",true,"syscall",true,function(Attr_,Value_){this.$val=this;if(arguments.length===0){this.Attr=new OQ.ptr(0,0);this.Value=PF.nil;return;}this.Attr=Attr_;this.Value=Value_;});EC=$pkg.SockaddrLinklayer=$newType(0,$kindStruct,"syscall.SockaddrLinklayer",true,"syscall",true,function(Protocol_,Ifindex_,Hatype_,Pkttype_,Halen_,Addr_,raw_){this.$val=this;if(arguments.length===0){this.Protocol=0;this.Ifindex=0;this.Hatype=0;this.Pkttype=0;this.Halen=0;this.Addr=PY.zero();this.raw=new NU.ptr(0,0,0,0,0,0,PY.zero());return;}this.Protocol=Protocol_;this.Ifindex=Ifindex_;this.Hatype=Hatype_;this.Pkttype=Pkttype_;this.Halen=Halen_;this.Addr=Addr_;this.raw=raw_;});ED=$pkg.SockaddrNetlink=$newType(0,$kindStruct,"syscall.SockaddrNetlink",true,"syscall",true,function(Family_,Pad_,Pid_,Groups_,raw_){this.$val=this;if(arguments.length===0){this.Family=0;this.Pad=0;this.Pid=0;this.Groups=0;this.raw=new NV.ptr(0,0,0,0);return;}this.Family=Family_;this.Pad=Pad_;this.Pid=Pid_;this.Groups=Groups_;this.raw=raw_;});GD=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper",true,"syscall",false,function(Mutex_,active_,mmap_,munmap_){this.$val=this;if(arguments.length===0){this.Mutex=new C.Mutex.ptr(0,0);this.active=false;this.mmap=$throwNilPointerError;this.munmap=$throwNilPointerError;return;}this.Mutex=Mutex_;this.active=active_;this.mmap=mmap_;this.munmap=munmap_;});GE=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno",true,"syscall",true,null);GM=$pkg.Sockaddr=$newType(8,$kindInterface,"syscall.Sockaddr",true,"syscall",true,null);GN=$pkg.SockaddrInet4=$newType(0,$kindStruct,"syscall.SockaddrInet4",true,"syscall",true,function(Port_,Addr_,raw_){this.$val=this;if(arguments.length===0){this.Port=0;this.Addr=QT.zero();this.raw=new NR.ptr(0,0,QT.zero(),PY.zero());return;}this.Port=Port_;this.Addr=Addr_;this.raw=raw_;});GO=$pkg.SockaddrInet6=$newType(0,$kindStruct,"syscall.SockaddrInet6",true,"syscall",true,function(Port_,ZoneId_,Addr_,raw_){this.$val=this;if(arguments.length===0){this.Port=0;this.ZoneId=0;this.Addr=QA.zero();this.raw=new NS.ptr(0,0,0,QA.zero(),0);return;}this.Port=Port_;this.ZoneId=ZoneId_;this.Addr=Addr_;this.raw=raw_;});GP=$pkg.SockaddrUnix=$newType(0,$kindStruct,"syscall.SockaddrUnix",true,"syscall",true,function(Name_,raw_){this.$val=this;if(arguments.length===0){this.Name="";this.raw=new NT.ptr(0,QS.zero());return;}this.Name=Name_;this.raw=raw_;});ND=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec",true,"syscall",true,function(Sec_,Nsec_){this.$val=this;if(arguments.length===0){this.Sec=new $Int64(0,0);this.Nsec=new $Int64(0,0);return;}this.Sec=Sec_;this.Nsec=Nsec_;});NM=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t",true,"syscall",true,function(Dev_,Ino_,Nlink_,Mode_,Uid_,Gid_,X__pad0_,Rdev_,Size_,Blksize_,Blocks_,Atim_,Mtim_,Ctim_,X__unused_){this.$val=this;if(arguments.length===0){this.Dev=new $Uint64(0,0);this.Ino=new $Uint64(0,0);this.Nlink=new $Uint64(0,0);this.Mode=0;this.Uid=0;this.Gid=0;this.X__pad0=0;this.Rdev=new $Uint64(0,0);this.Size=new $Int64(0,0);this.Blksize=new $Int64(0,0);this.Blocks=new $Int64(0,0);this.Atim=new ND.ptr(new $Int64(0,0),new $Int64(0,0));this.Mtim=new ND.ptr(new $Int64(0,0),new $Int64(0,0));this.Ctim=new ND.ptr(new $Int64(0,0),new $Int64(0,0));this.X__unused=RU.zero();return;}this.Dev=Dev_;this.Ino=Ino_;this.Nlink=Nlink_;this.Mode=Mode_;this.Uid=Uid_;this.Gid=Gid_;this.X__pad0=X__pad0_;this.Rdev=Rdev_;this.Size=Size_;this.Blksize=Blksize_;this.Blocks=Blocks_;this.Atim=Atim_;this.Mtim=Mtim_;this.Ctim=Ctim_;this.X__unused=X__unused_;});NR=$pkg.RawSockaddrInet4=$newType(0,$kindStruct,"syscall.RawSockaddrInet4",true,"syscall",true,function(Family_,Port_,Addr_,Zero_){this.$val=this;if(arguments.length===0){this.Family=0;this.Port=0;this.Addr=QT.zero();this.Zero=PY.zero();return;}this.Family=Family_;this.Port=Port_;this.Addr=Addr_;this.Zero=Zero_;});NS=$pkg.RawSockaddrInet6=$newType(0,$kindStruct,"syscall.RawSockaddrInet6",true,"syscall",true,function(Family_,Port_,Flowinfo_,Addr_,Scope_id_){this.$val=this;if(arguments.length===0){this.Family=0;this.Port=0;this.Flowinfo=0;this.Addr=QA.zero();this.Scope_id=0;return;}this.Family=Family_;this.Port=Port_;this.Flowinfo=Flowinfo_;this.Addr=Addr_;this.Scope_id=Scope_id_;});NT=$pkg.RawSockaddrUnix=$newType(0,$kindStruct,"syscall.RawSockaddrUnix",true,"syscall",true,function(Family_,Path_){this.$val=this;if(arguments.length===0){this.Family=0;this.Path=QS.zero();return;}this.Family=Family_;this.Path=Path_;});NU=$pkg.RawSockaddrLinklayer=$newType(0,$kindStruct,"syscall.RawSockaddrLinklayer",true,"syscall",true,function(Family_,Protocol_,Ifindex_,Hatype_,Pkttype_,Halen_,Addr_){this.$val=this;if(arguments.length===0){this.Family=0;this.Protocol=0;this.Ifindex=0;this.Hatype=0;this.Pkttype=0;this.Halen=0;this.Addr=PY.zero();return;}this.Family=Family_;this.Protocol=Protocol_;this.Ifindex=Ifindex_;this.Hatype=Hatype_;this.Pkttype=Pkttype_;this.Halen=Halen_;this.Addr=Addr_;});NV=$pkg.RawSockaddrNetlink=$newType(0,$kindStruct,"syscall.RawSockaddrNetlink",true,"syscall",true,function(Family_,Pad_,Pid_,Groups_){this.$val=this;if(arguments.length===0){this.Family=0;this.Pad=0;this.Pid=0;this.Groups=0;return;}this.Family=Family_;this.Pad=Pad_;this.Pid=Pid_;this.Groups=Groups_;});NW=$pkg.RawSockaddr=$newType(0,$kindStruct,"syscall.RawSockaddr",true,"syscall",true,function(Family_,Data_){this.$val=this;if(arguments.length===0){this.Family=0;this.Data=QU.zero();return;}this.Family=Family_;this.Data=Data_;});NX=$pkg.RawSockaddrAny=$newType(0,$kindStruct,"syscall.RawSockaddrAny",true,"syscall",true,function(Addr_,Pad_){this.$val=this;if(arguments.length===0){this.Addr=new NW.ptr(0,QU.zero());this.Pad=QV.zero();return;}this.Addr=Addr_;this.Pad=Pad_;});NY=$pkg._Socklen=$newType(4,$kindUint32,"syscall._Socklen",true,"syscall",false,null);NZ=$pkg.Linger=$newType(0,$kindStruct,"syscall.Linger",true,"syscall",true,function(Onoff_,Linger_){this.$val=this;if(arguments.length===0){this.Onoff=0;this.Linger=0;return;}this.Onoff=Onoff_;this.Linger=Linger_;});OA=$pkg.Iovec=$newType(0,$kindStruct,"syscall.Iovec",true,"syscall",true,function(Base_,Len_){this.$val=this;if(arguments.length===0){this.Base=PP.nil;this.Len=new $Uint64(0,0);return;}this.Base=Base_;this.Len=Len_;});OB=$pkg.IPMreq=$newType(0,$kindStruct,"syscall.IPMreq",true,"syscall",true,function(Multiaddr_,Interface_){this.$val=this;if(arguments.length===0){this.Multiaddr=QT.zero();this.Interface=QT.zero();return;}this.Multiaddr=Multiaddr_;this.Interface=Interface_;});OC=$pkg.IPMreqn=$newType(0,$kindStruct,"syscall.IPMreqn",true,"syscall",true,function(Multiaddr_,Address_,Ifindex_){this.$val=this;if(arguments.length===0){this.Multiaddr=QT.zero();this.Address=QT.zero();this.Ifindex=0;return;}this.Multiaddr=Multiaddr_;this.Address=Address_;this.Ifindex=Ifindex_;});OD=$pkg.IPv6Mreq=$newType(0,$kindStruct,"syscall.IPv6Mreq",true,"syscall",true,function(Multiaddr_,Interface_){this.$val=this;if(arguments.length===0){this.Multiaddr=QA.zero();this.Interface=0;return;}this.Multiaddr=Multiaddr_;this.Interface=Interface_;});OE=$pkg.Msghdr=$newType(0,$kindStruct,"syscall.Msghdr",true,"syscall",true,function(Name_,Namelen_,Pad_cgo_0_,Iov_,Iovlen_,Control_,Controllen_,Flags_,Pad_cgo_1_){this.$val=this;if(arguments.length===0){this.Name=PP.nil;this.Namelen=0;this.Pad_cgo_0=QT.zero();this.Iov=QY.nil;this.Iovlen=new $Uint64(0,0);this.Control=PP.nil;this.Controllen=new $Uint64(0,0);this.Flags=0;this.Pad_cgo_1=QT.zero();return;}this.Name=Name_;this.Namelen=Namelen_;this.Pad_cgo_0=Pad_cgo_0_;this.Iov=Iov_;this.Iovlen=Iovlen_;this.Control=Control_;this.Controllen=Controllen_;this.Flags=Flags_;this.Pad_cgo_1=Pad_cgo_1_;});OM=$pkg.NlMsghdr=$newType(0,$kindStruct,"syscall.NlMsghdr",true,"syscall",true,function(Len_,Type_,Flags_,Seq_,Pid_){this.$val=this;if(arguments.length===0){this.Len=0;this.Type=0;this.Flags=0;this.Seq=0;this.Pid=0;return;}this.Len=Len_;this.Type=Type_;this.Flags=Flags_;this.Seq=Seq_;this.Pid=Pid_;});OO=$pkg.RtGenmsg=$newType(0,$kindStruct,"syscall.RtGenmsg",true,"syscall",true,function(Family_){this.$val=this;if(arguments.length===0){this.Family=0;return;}this.Family=Family_;});OQ=$pkg.RtAttr=$newType(0,$kindStruct,"syscall.RtAttr",true,"syscall",true,function(Len_,Type_){this.$val=this;if(arguments.length===0){this.Len=0;this.Type=0;return;}this.Len=Len_;this.Type=Type_;});OR=$pkg.IfInfomsg=$newType(0,$kindStruct,"syscall.IfInfomsg",true,"syscall",true,function(Family_,X__ifi_pad_,Type_,Index_,Flags_,Change_){this.$val=this;if(arguments.length===0){this.Family=0;this.X__ifi_pad=0;this.Type=0;this.Index=0;this.Flags=0;this.Change=0;return;}this.Family=Family_;this.X__ifi_pad=X__ifi_pad_;this.Type=Type_;this.Index=Index_;this.Flags=Flags_;this.Change=Change_;});OS=$pkg.IfAddrmsg=$newType(0,$kindStruct,"syscall.IfAddrmsg",true,"syscall",true,function(Family_,Prefixlen_,Flags_,Scope_,Index_){this.$val=this;if(arguments.length===0){this.Family=0;this.Prefixlen=0;this.Flags=0;this.Scope=0;this.Index=0;return;}this.Family=Family_;this.Prefixlen=Prefixlen_;this.Flags=Flags_;this.Scope=Scope_;this.Index=Index_;});PF=$sliceType($Uint8);PH=$sliceType($String);PP=$ptrType($Uint8);PT=$ptrType($Int32);PY=$arrayType($Uint8,8);PZ=$ptrType($Uint16);QA=$arrayType($Uint8,16);QE=$ptrType(ED);QF=$sliceType(CF);QG=$ptrType(OM);QH=$sliceType(CI);QI=$ptrType(OQ);QM=$arrayType($Uint8,32);QS=$arrayType($Int8,108);QT=$arrayType($Uint8,4);QU=$arrayType($Int8,14);QV=$arrayType($Int8,96);QW=$ptrType(NY);QY=$ptrType(OA);RC=$structType("syscall",[{prop:"addr",name:"addr",anonymous:false,exported:false,typ:$Uintptr,tag:""},{prop:"len",name:"len",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"cap",name:"cap",anonymous:false,exported:false,typ:$Int,tag:""}]);RD=$ptrType($Int64);RG=$funcType([$Uintptr],[],false);RH=$funcType([$Uintptr],[$Bool],false);RI=$ptrType(CC);RJ=$ptrType(EC);RK=$ptrType(GD);RL=$mapType(PP,PF);RM=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);RN=$funcType([$Uintptr,$Uintptr],[$error],false);RO=$ptrType(GN);RP=$ptrType(GO);RQ=$ptrType(GP);RR=$ptrType(ND);RU=$arrayType($Int64,3);RY=$ptrType(OE);G=function(){$flushConsole=(function(){if(!((F.$length===0))){$global.console.log($externalize(($bytesToString(F)),$String));F=PF.nil;}});};H=function(){if(!E){$global.console.error($externalize("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md",$String));}E=true;};I=function(h){var h,i,j;i=$global.goPrintToConsole;if(!(i===undefined)){i(h);return;}F=$appendSlice(F,h);while(true){j=K(F,10);if(j===-1){break;}$global.console.log($externalize(($bytesToString($subslice(F,0,j))),$String));F=$subslice(F,(j+1>>0));}};K=function(h,i){var h,i,j,k,l,m;j=h;k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);if(m===i){return l;}k++;}return-1;};L=function(){var h,i,j,k,l,m;h=$global.process;if(h===undefined){return PH.nil;}i=h.env;j=$global.Object.keys(i);k=$makeSlice(PH,$parseInt(j.length));l=0;while(true){if(!(l<$parseInt(j.length))){break;}m=$internalize(j[l],$String);((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]=m+"="+$internalize(i[$externalize(m,$String)],$String));l=l+(1)>>0;}return k;};Q=function(h){var h,i,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(N===null){if(O){return null;}O=true;i=$global.require;if(i===undefined){$panic(new $String(""));}N=i($externalize("syscall",$String));}return N[$externalize(h,$String)];}catch(err){$err=err;return null;}finally{$callDeferred($deferred,$err);}};R=function(h,i,j,k){var aa,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=0;m=0;n=0;o=Q("Syscall");if(!(o===null)){p=o(h,i,j,k);q=((($parseInt(p[0])>>0)>>>0));r=((($parseInt(p[1])>>0)>>>0));s=((($parseInt(p[2])>>0)>>>0));l=q;m=r;n=s;return[l,m,n];}if((h===1)&&((i===1)||(i===2))){t=j;u=$makeSlice(PF,$parseInt(t.length));u.$array=t;I(u);v=(($parseInt(t.length)>>>0));w=0;x=0;l=v;m=w;n=x;return[l,m,n];}if(h===60){B.Goexit();}H();y=((P>>>0));z=0;aa=13;l=y;m=z;n=aa;return[l,m,n];};$pkg.Syscall=R;S=function(h,i,j,k,l,m,n){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;o=0;p=0;q=0;r=Q("Syscall6");if(!(r===null)){s=r(h,i,j,k,l,m,n);t=((($parseInt(s[0])>>0)>>>0));u=((($parseInt(s[1])>>0)>>>0));v=((($parseInt(s[2])>>0)>>>0));o=t;p=u;q=v;return[o,p,q];}if(!((h===202))){H();}w=((P>>>0));x=0;y=13;o=w;p=x;q=y;return[o,p,q];};$pkg.Syscall6=S;T=function(h,i,j,k){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;l=0;m=0;n=0;o=Q("Syscall");if(!(o===null)){p=o(h,i,j,k);q=((($parseInt(p[0])>>0)>>>0));r=((($parseInt(p[1])>>0)>>>0));s=((($parseInt(p[2])>>0)>>>0));l=q;m=r;n=s;return[l,m,n];}H();t=((P>>>0));u=0;v=13;l=t;m=u;n=v;return[l,m,n];};$pkg.RawSyscall=T;V=function(h){var h,i,j,k,l,m;i=new($global.Uint8Array)(h.length+1>>0);j=(new PF($stringToBytes(h)));k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);if(m===0){return[PP.nil,new GE(22)];}i[l]=m;k++;}i[h.length]=0;return[((i)),$ifaceNil];};$pkg.BytePtrFromString=V;W=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r;k=new $Uint64(0,0);l=false;if(h.$length<(((i+j>>>0)>>0))){m=new $Uint64(0,0);n=false;k=m;l=n;return[k,l];}if(false){o=X($subslice(h,i),j);p=true;k=o;l=p;return[k,l];}q=Y($subslice(h,i),j);r=true;k=q;l=r;return[k,l];};X=function(h,i){var aa,ab,ac,ad,ae,af,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=i;if(j===(1)){return(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])));}else if(j===(2)){$unused((1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]));return(k=(new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),l=$shiftLeft64((new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),8),new $Uint64(k.$high|l.$high,(k.$low|l.$low)>>>0));}else if(j===(4)){$unused((3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]));return(m=(n=(o=(new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),p=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),8),new $Uint64(o.$high|p.$high,(o.$low|p.$low)>>>0)),q=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),16),new $Uint64(n.$high|q.$high,(n.$low|q.$low)>>>0)),r=$shiftLeft64((new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),24),new $Uint64(m.$high|r.$high,(m.$low|r.$low)>>>0));}else if(j===(8)){$unused((7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]));return(s=(t=(u=(v=(w=(x=(y=(new $Uint64(0,(7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]))),z=$shiftLeft64((new $Uint64(0,(6>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+6]))),8),new $Uint64(y.$high|z.$high,(y.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Uint64(0,(5>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+5]))),16),new $Uint64(x.$high|aa.$high,(x.$low|aa.$low)>>>0)),ab=$shiftLeft64((new $Uint64(0,(4>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+4]))),24),new $Uint64(w.$high|ab.$high,(w.$low|ab.$low)>>>0)),ac=$shiftLeft64((new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),32),new $Uint64(v.$high|ac.$high,(v.$low|ac.$low)>>>0)),ad=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),40),new $Uint64(u.$high|ad.$high,(u.$low|ad.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),48),new $Uint64(t.$high|ae.$high,(t.$low|ae.$low)>>>0)),af=$shiftLeft64((new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),56),new $Uint64(s.$high|af.$high,(s.$low|af.$low)>>>0));}else{$panic(new $String("syscall: readInt with unsupported size"));}};Y=function(h,i){var aa,ab,ac,ad,ae,af,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=i;if(j===(1)){return(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])));}else if(j===(2)){$unused((1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]));return(k=(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),l=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),8),new $Uint64(k.$high|l.$high,(k.$low|l.$low)>>>0));}else if(j===(4)){$unused((3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]));return(m=(n=(o=(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),p=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),8),new $Uint64(o.$high|p.$high,(o.$low|p.$low)>>>0)),q=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),16),new $Uint64(n.$high|q.$high,(n.$low|q.$low)>>>0)),r=$shiftLeft64((new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),24),new $Uint64(m.$high|r.$high,(m.$low|r.$low)>>>0));}else if(j===(8)){$unused((7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]));return(s=(t=(u=(v=(w=(x=(y=(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),z=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),8),new $Uint64(y.$high|z.$high,(y.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),16),new $Uint64(x.$high|aa.$high,(x.$low|aa.$low)>>>0)),ab=$shiftLeft64((new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),24),new $Uint64(w.$high|ab.$high,(w.$low|ab.$low)>>>0)),ac=$shiftLeft64((new $Uint64(0,(4>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+4]))),32),new $Uint64(v.$high|ac.$high,(v.$low|ac.$low)>>>0)),ad=$shiftLeft64((new $Uint64(0,(5>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+5]))),40),new $Uint64(u.$high|ad.$high,(u.$low|ad.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(6>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+6]))),48),new $Uint64(t.$high|ae.$high,(t.$low|ae.$low)>>>0)),af=$shiftLeft64((new $Uint64(0,(7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]))),56),new $Uint64(s.$high|af.$high,(s.$low|af.$low)>>>0));}else{$panic(new $String("syscall: readInt with unsupported size"));}};Z=function(h,i,j){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;k=0;l=0;m=PH.nil;n=h.$length;l=0;while(true){if(!(!((i===0))&&h.$length>0)){break;}o=FM(h);p=o[0];q=o[1];if(!q||(r=(new $Uint64(0,h.$length)),(p.$high>r.$high||(p.$high===r.$high&&p.$low>r.$low)))){s=n;t=l;u=j;k=s;l=t;m=u;return[k,l,m];}v=$subslice(h,0,$flatten64(p));h=$subslice(h,$flatten64(p));w=FL(v);x=w[0];q=w[1];if(!q){break;}if((x.$high===0&&x.$low===0)){continue;}y=FN(v);z=y[0];q=y[1];if(!q||(aa=new $Uint64(0+z.$high,19+z.$low),ab=(new $Uint64(0,v.$length)),(aa.$high>ab.$high||(aa.$high===ab.$high&&aa.$low>ab.$low)))){break;}ac=$subslice(v,19,$flatten64(new $Uint64(0+z.$high,19+z.$low)));ad=ac;ae=0;while(true){if(!(ae<ad.$length)){break;}af=ae;ag=((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae]);if(ag===0){ac=$subslice(ac,0,af);break;}ae++;}if(($bytesToString(ac))==="."||($bytesToString(ac))===".."){continue;}i=i-(1)>>0;l=l+(1)>>0;j=$append(j,($bytesToString(ac)));}ah=n-h.$length>>0;ai=l;aj=j;k=ah;l=ai;m=aj;return[k,l,m];};$pkg.ParseDirent=Z;AF=function(){var h,i,j,k,l,m,n,o,p,q;AC={};h=AD;i=0;while(true){if(!(i<h.$length)){break;}j=i;k=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);l=0;while(true){if(!(l<k.length)){break;}if(k.charCodeAt(l)===61){m=$substring(k,0,l);n=(o=AC[$String.keyFor(m)],o!==undefined?[o.v,true]:[0,false]);p=n[1];if(!p){q=m;(AC||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(q)]={k:q,v:j};}else{((j<0||j>=AD.$length)?($throwRuntimeError("index out of range"),undefined):AD.$array[AD.$offset+j]="");}break;}l=l+(1)>>0;}i++;}};AH=function(h){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);i="";j=false;$r=AA.Do(AF);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(h.length===0){k="";l=false;i=k;j=l;$s=-1;return[i,j];}$r=AB.RLock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(AB,"RUnlock"),[]]);m=(n=AC[$String.keyFor(h)],n!==undefined?[n.v,true]:[0,false]);o=m[0];p=m[1];if(!p){q="";r=false;i=q;j=r;$s=-1;return[i,j];}s=((o<0||o>=AD.$length)?($throwRuntimeError("index out of range"),undefined):AD.$array[AD.$offset+o]);t=0;while(true){if(!(t<s.length)){break;}if(s.charCodeAt(t)===61){u=$substring(s,(t+1>>0));v=true;i=u;j=v;$s=-1;return[i,j];}t=t+(1)>>0;}w="";x=false;i=w;j=x;$s=-1;return[i,j];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[i,j];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AH};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.Getenv=AH;BA=function(h){var h;IU(h,2,1);};$pkg.CloseOnExec=BA;BB=function(h,i){var h,i,j,k,l,m;j=$ifaceNil;k=IU(h,3,0);l=k[0];j=k[1];if(!($interfaceIsEqual(j,$ifaceNil))){j=j;return j;}if(i){l=l|(2048);}else{l=(l&~(2048))>>0;}m=IU(h,4,l);j=m[1];j=j;return j;};$pkg.SetNonblock=BB;BW=function(h,i){var h,i;};BX=function(h,i){var h,i;};CA=function(h){var h;return(((h+4>>0)-1>>0))&-4;};CB=function(h){var h;return(((h+4>>0)-1>>0))&-4;};CC.ptr.prototype.toWireFormat=function(){var h,i;h=this;i=$makeSlice(PF,h.Header.Len);(($sliceToArray($subslice(i,0,4)))).$set(h.Header.Len);(($sliceToArray($subslice(i,4,6)))).$set(h.Header.Type);(($sliceToArray($subslice(i,6,8)))).$set(h.Header.Flags);(($sliceToArray($subslice(i,8,12)))).$set(h.Header.Seq);(($sliceToArray($subslice(i,12,16)))).$set(h.Header.Pid);(16>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+16]=(h.Data.Family));return i;};CC.prototype.toWireFormat=function(){return this.$val.toWireFormat();};CD=function(h,i,j){var h,i,j,k;k=new CC.ptr(new OM.ptr(0,0,0,0,0),new OO.ptr(0));k.Header.Len=17;k.Header.Type=((h<<16>>>16));k.Header.Flags=769;k.Header.Seq=((i>>>0));k.Data.Family=((j<<24>>>24));return k.toWireFormat();};CE=function(h,i){var aa,ab,ac,ad,ae,af,ag,ah,ai,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);j=HF(16,3,0);k=j[0];l=j[1];if(!($interfaceIsEqual(l,$ifaceNil))){$s=-1;return[PF.nil,l];}$deferred.push([IG,[k]]);m=new ED.ptr(16,0,0,0,new NV.ptr(0,0,0,0));n=GQ(k,m);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!($interfaceIsEqual(o,$ifaceNil))){$s=-1;return[PF.nil,o];}p=CD(h,1,i);q=GV(k,p,0,m);$s=2;case 2:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return[PF.nil,r];}s=PF.nil;t=$makeSlice(PF,DC());done:while(true){u=t;v=GU(k,u,0);w=v[0];x=v[2];if(!($interfaceIsEqual(x,$ifaceNil))){$s=-1;return[PF.nil,x];}if(w<16){$s=-1;return[PF.nil,new GE(22)];}u=$subslice(u,0,w);s=$appendSlice(s,u);y=CG(u);z=y[0];x=y[1];if(!($interfaceIsEqual(x,$ifaceNil))){$s=-1;return[PF.nil,x];}aa=z;ab=0;while(true){if(!(ab<aa.$length)){break;}ac=$clone(((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]),CF);ad=EH(k);ae=ad[0];af=ad[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[PF.nil,af];}ag=ae;if($assertType(ag,QE,true)[1]){ah=ag.$val;if(!((ac.Header.Seq===1))||!((ac.Header.Pid===ah.Pid))){$s=-1;return[PF.nil,new GE(22)];}}else{ai=ag;$s=-1;return[PF.nil,new GE(22)];}if(ac.Header.Type===3){break done;}if(ac.Header.Type===2){$s=-1;return[PF.nil,new GE(22)];}ab++;}}$s=-1;return[s,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[PF.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CE};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.NetlinkRIB=CE;CG=function(h){var h,i,j,k,l,m,n,o;i=QF.nil;while(true){if(!(h.$length>=16)){break;}j=CH(h);k=j[0];l=j[1];m=j[2];n=j[3];if(!($interfaceIsEqual(n,$ifaceNil))){return[QF.nil,n];}o=new CF.ptr($clone(k,OM),$subslice(l,0,(((k.Len>>0))-16>>0)));i=$append(i,o);h=$subslice(h,m);}return[i,$ifaceNil];};$pkg.ParseNetlinkMessage=CG;CH=function(h){var h,i,j,k,l,m;l=((i=($sliceToArray(h)),j=new OM.ptr(0,0,0,0,0),k=new DataView(i.buffer,i.byteOffset),j.Len=k.getUint32(0,true),j.Type=k.getUint16(4,true),j.Flags=k.getUint16(6,true),j.Seq=k.getUint32(8,true),j.Pid=k.getUint32(12,true),j));m=CA(((l.Len>>0)));if(((l.Len>>0))<16||m>h.$length){return[QG.nil,PF.nil,0,new GE(22)];}return[l,$subslice(h,16),m,$ifaceNil];};CJ=function(h){var h,i,j,k,l,m,n,o,p,q;i=PF.nil;j=h.Header.Type;if((j===(16))||(j===(17))){i=$subslice(h.Data,16);}else if((j===(20))||(j===(21))){i=$subslice(h.Data,8);}else if((j===(24))||(j===(25))){i=$subslice(h.Data,12);}else{return[QH.nil,new GE(22)];}k=QH.nil;while(true){if(!(i.$length>=4)){break;}l=CK(i);m=l[0];n=l[1];o=l[2];p=l[3];if(!($interfaceIsEqual(p,$ifaceNil))){return[QH.nil,p];}q=new CI.ptr($clone(m,OQ),$subslice(n,0,(((m.Len>>0))-4>>0)));k=$append(k,q);i=$subslice(i,o);}return[k,$ifaceNil];};$pkg.ParseNetlinkRouteAttr=CJ;CK=function(h){var h,i,j,k,l;l=((i=($sliceToArray(h)),j=new OQ.ptr(0,0),k=new DataView(i.buffer,i.byteOffset),j.Len=k.getUint16(0,true),j.Type=k.getUint16(2,true),j));if(((l.Len>>0))<4||((l.Len>>0))>h.$length){return[QI.nil,PF.nil,0,new GE(22)];}return[l,$subslice(h,4),CB(((l.Len>>0))),$ifaceNil];};CW=function(h){var h;if(h<0){return"-"+CX(((-h>>>0)));}return CX(((h>>>0)));};CX=function(h){var h,i,j,k,l;i=QM.zero();j=31;while(true){if(!(h>=10)){break;}((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j]=((((k=h%10,k===k?k:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24)));j=j-(1)>>0;h=(l=h/(10),(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));}((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j]=(((h+48>>>0)<<24>>>24)));return($bytesToString($subslice(new PF(i),j)));};ND.ptr.prototype.Unix=function(){var h,i,j,k,l;h=new $Int64(0,0);i=new $Int64(0,0);j=this;k=(j.Sec);l=(j.Nsec);h=k;i=l;return[h,i];};ND.prototype.Unix=function(){return this.$val.Unix();};ND.ptr.prototype.Nano=function(){var h,i,j;h=this;return(i=$mul64((h.Sec),new $Int64(0,1000000000)),j=(h.Nsec),new $Int64(i.$high+j.$high,i.$low+j.$low));};ND.prototype.Nano=function(){return this.$val.Nano();};DC=function(){$throwRuntimeError("native function not implemented: syscall.Getpagesize");};$pkg.Getpagesize=DC;DE=function(h,i){var h,i,j;j=$ifaceNil;j=IS(-100,h,i,0);return j;};$pkg.Chmod=DE;DK=function(h,i,j){var h,i,j,k,l,m;k=0;l=$ifaceNil;m=HQ(-100,h,i|0,j);k=m[0];l=m[1];return[k,l];};$pkg.Open=DK;GN.ptr.prototype.sockaddr=function(){var h,i,j,k,l,m,n,o,p;h=this;if(h.Port<0||h.Port>65535){return[0,0,new GE(22)];}h.raw.Family=2;j=(((i=h.raw,(i.$ptr_Port||(i.$ptr_Port=new PZ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},i))))));j.nilCheck,j[0]=(((h.Port>>8>>0)<<24>>>24));j.nilCheck,j[1]=((h.Port<<24>>>24));k=0;while(true){if(!(k<4)){break;}(m=h.raw.Addr,((k<0||k>=m.length)?($throwRuntimeError("index out of range"),undefined):m[k]=(l=h.Addr,((k<0||k>=l.length)?($throwRuntimeError("index out of range"),undefined):l[k]))));k=k+(1)>>0;}n=new Uint8Array(16);return[(n),16,$ifaceNil];};GN.prototype.sockaddr=function(){return this.$val.sockaddr();};GO.ptr.prototype.sockaddr=function(){var h,i,j,k,l,m,n,o,p;h=this;if(h.Port<0||h.Port>65535){return[0,0,new GE(22)];}h.raw.Family=10;j=(((i=h.raw,(i.$ptr_Port||(i.$ptr_Port=new PZ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},i))))));j.nilCheck,j[0]=(((h.Port>>8>>0)<<24>>>24));j.nilCheck,j[1]=((h.Port<<24>>>24));h.raw.Scope_id=h.ZoneId;k=0;while(true){if(!(k<16)){break;}(m=h.raw.Addr,((k<0||k>=m.length)?($throwRuntimeError("index out of range"),undefined):m[k]=(l=h.Addr,((k<0||k>=l.length)?($throwRuntimeError("index out of range"),undefined):l[k]))));k=k+(1)>>0;}n=new Uint8Array(28);return[(n),28,$ifaceNil];};GO.prototype.sockaddr=function(){return this.$val.sockaddr();};GP.ptr.prototype.sockaddr=function(){var h,i,j,k,l,m,n,o,p;h=this;i=h.Name;j=i.length;if(j>=108){return[0,0,new GE(22)];}h.raw.Family=1;k=0;while(true){if(!(k<j)){break;}(l=h.raw.Path,((k<0||k>=l.length)?($throwRuntimeError("index out of range"),undefined):l[k]=((i.charCodeAt(k)<<24>>24))));k=k+(1)>>0;}m=2;if(j>0){m=m+((((j>>>0))+1>>>0))>>>0;}if(h.raw.Path[0]===64){h.raw.Path[0]=0;m=m-(1)>>>0;}n=new Uint8Array(110);return[(n),m,$ifaceNil];};GP.prototype.sockaddr=function(){return this.$val.sockaddr();};EC.ptr.prototype.sockaddr=function(){var h,i,j,k,l,m,n;h=this;if(h.Ifindex<0||h.Ifindex>2147483647){return[0,0,new GE(22)];}h.raw.Family=17;h.raw.Protocol=h.Protocol;h.raw.Ifindex=((h.Ifindex>>0));h.raw.Hatype=h.Hatype;h.raw.Pkttype=h.Pkttype;h.raw.Halen=h.Halen;i=0;while(true){if(!(i<8)){break;}(k=h.raw.Addr,((i<0||i>=k.length)?($throwRuntimeError("index out of range"),undefined):k[i]=(j=h.Addr,((i<0||i>=j.length)?($throwRuntimeError("index out of range"),undefined):j[i]))));i=i+(1)>>0;}l=new Uint8Array(20);return[(l),20,$ifaceNil];};EC.prototype.sockaddr=function(){return this.$val.sockaddr();};ED.ptr.prototype.sockaddr=function(){var h,i,j,k;h=this;h.raw.Family=16;h.raw.Pad=h.Pad;h.raw.Pid=h.Pid;h.raw.Groups=h.Groups;i=new Uint8Array(12);return[(i),12,$ifaceNil];};ED.prototype.sockaddr=function(){return this.$val.sockaddr();};EE=function(h){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;i=h.Addr.Family;if(i===(16)){m=new Uint8Array(112);p=((j=(m),k=new NV.ptr(0,0,0,0),l=new DataView(j.buffer,j.byteOffset),k.Family=l.getUint16(0,true),k.Pad=l.getUint16(2,true),k.Pid=l.getUint32(4,true),k.Groups=l.getUint32(8,true),k));n=h,o=new DataView(m.buffer,m.byteOffset),n.Addr.Family=o.getUint16(0,true),n.Addr.Data=new($nativeArray($kindInt8))(m.buffer,$min(m.byteOffset+2,m.buffer.byteLength)),n.Pad=new($nativeArray($kindInt8))(m.buffer,$min(m.byteOffset+16,m.buffer.byteLength));q=new ED.ptr(0,0,0,0,new NV.ptr(0,0,0,0));q.Family=p.Family;q.Pad=p.Pad;q.Pid=p.Pid;q.Groups=p.Groups;return[q,$ifaceNil];}else if(i===(17)){u=new Uint8Array(112);x=((r=(u),s=new NU.ptr(0,0,0,0,0,0,PY.zero()),t=new DataView(r.buffer,r.byteOffset),s.Family=t.getUint16(0,true),s.Protocol=t.getUint16(2,true),s.Ifindex=t.getInt32(4,true),s.Hatype=t.getUint16(8,true),s.Pkttype=t.getUint8(10,true),s.Halen=t.getUint8(11,true),s.Addr=new($nativeArray($kindUint8))(r.buffer,$min(r.byteOffset+12,r.buffer.byteLength)),s));v=h,w=new DataView(u.buffer,u.byteOffset),v.Addr.Family=w.getUint16(0,true),v.Addr.Data=new($nativeArray($kindInt8))(u.buffer,$min(u.byteOffset+2,u.buffer.byteLength)),v.Pad=new($nativeArray($kindInt8))(u.buffer,$min(u.byteOffset+16,u.buffer.byteLength));y=new EC.ptr(0,0,0,0,0,PY.zero(),new NU.ptr(0,0,0,0,0,0,PY.zero()));y.Protocol=x.Protocol;y.Ifindex=((x.Ifindex>>0));y.Hatype=x.Hatype;y.Pkttype=x.Pkttype;y.Halen=x.Halen;z=0;while(true){if(!(z<8)){break;}(ab=y.Addr,((z<0||z>=ab.length)?($throwRuntimeError("index out of range"),undefined):ab[z]=(aa=x.Addr,((z<0||z>=aa.length)?($throwRuntimeError("index out of range"),undefined):aa[z]))));z=z+(1)>>0;}return[y,$ifaceNil];}else if(i===(1)){af=new Uint8Array(112);ai=((ac=(af),ad=new NT.ptr(0,QS.zero()),ae=new DataView(ac.buffer,ac.byteOffset),ad.Family=ae.getUint16(0,true),ad.Path=new($nativeArray($kindInt8))(ac.buffer,$min(ac.byteOffset+2,ac.buffer.byteLength)),ad));ag=h,ah=new DataView(af.buffer,af.byteOffset),ag.Addr.Family=ah.getUint16(0,true),ag.Addr.Data=new($nativeArray($kindInt8))(af.buffer,$min(af.byteOffset+2,af.buffer.byteLength)),ag.Pad=new($nativeArray($kindInt8))(af.buffer,$min(af.byteOffset+16,af.buffer.byteLength));aj=new GP.ptr("",new NT.ptr(0,QS.zero()));if(ai.Path[0]===0){ai.Path[0]=64;}ak=0;while(true){if(!(ak<108&&!(((al=ai.Path,((ak<0||ak>=al.length)?($throwRuntimeError("index out of range"),undefined):al[ak]))===0)))){break;}ak=ak+(1)>>0;}am=$subslice(new PF((($sliceToArray(new PF(ai.Path))))),0,ak);aj.Name=($bytesToString(am));return[aj,$ifaceNil];}else if(i===(2)){aq=new Uint8Array(112);at=((an=(aq),ao=new NR.ptr(0,0,QT.zero(),PY.zero()),ap=new DataView(an.buffer,an.byteOffset),ao.Family=ap.getUint16(0,true),ao.Port=ap.getUint16(2,true),ao.Addr=new($nativeArray($kindUint8))(an.buffer,$min(an.byteOffset+4,an.buffer.byteLength)),ao.Zero=new($nativeArray($kindUint8))(an.buffer,$min(an.byteOffset+8,an.buffer.byteLength)),ao));ar=h,as=new DataView(aq.buffer,aq.byteOffset),ar.Addr.Family=as.getUint16(0,true),ar.Addr.Data=new($nativeArray($kindInt8))(aq.buffer,$min(aq.byteOffset+2,aq.buffer.byteLength)),ar.Pad=new($nativeArray($kindInt8))(aq.buffer,$min(aq.byteOffset+16,aq.buffer.byteLength));au=new GN.ptr(0,QT.zero(),new NR.ptr(0,0,QT.zero(),PY.zero()));av=(((at.$ptr_Port||(at.$ptr_Port=new PZ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},at)))));au.Port=((((av.nilCheck,av[0])>>0))<<8>>0)+(((av.nilCheck,av[1])>>0))>>0;aw=0;while(true){if(!(aw<4)){break;}(ay=au.Addr,((aw<0||aw>=ay.length)?($throwRuntimeError("index out of range"),undefined):ay[aw]=(ax=at.Addr,((aw<0||aw>=ax.length)?($throwRuntimeError("index out of range"),undefined):ax[aw]))));aw=aw+(1)>>0;}return[au,$ifaceNil];}else if(i===(10)){bc=new Uint8Array(112);bf=((az=(bc),ba=new NS.ptr(0,0,0,QA.zero(),0),bb=new DataView(az.buffer,az.byteOffset),ba.Family=bb.getUint16(0,true),ba.Port=bb.getUint16(2,true),ba.Flowinfo=bb.getUint32(4,true),ba.Addr=new($nativeArray($kindUint8))(az.buffer,$min(az.byteOffset+8,az.buffer.byteLength)),ba.Scope_id=bb.getUint32(24,true),ba));bd=h,be=new DataView(bc.buffer,bc.byteOffset),bd.Addr.Family=be.getUint16(0,true),bd.Addr.Data=new($nativeArray($kindInt8))(bc.buffer,$min(bc.byteOffset+2,bc.buffer.byteLength)),bd.Pad=new($nativeArray($kindInt8))(bc.buffer,$min(bc.byteOffset+16,bc.buffer.byteLength));bg=new GO.ptr(0,0,QA.zero(),new NS.ptr(0,0,0,QA.zero(),0));bh=(((bf.$ptr_Port||(bf.$ptr_Port=new PZ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},bf)))));bg.Port=((((bh.nilCheck,bh[0])>>0))<<8>>0)+(((bh.nilCheck,bh[1])>>0))>>0;bg.ZoneId=bf.Scope_id;bi=0;while(true){if(!(bi<16)){break;}(bk=bg.Addr,((bi<0||bi>=bk.length)?($throwRuntimeError("index out of range"),undefined):bk[bi]=(bj=bf.Addr,((bi<0||bi>=bj.length)?($throwRuntimeError("index out of range"),undefined):bj[bi]))));bi=bi+(1)>>0;}return[bg,$ifaceNil];}return[$ifaceNil,new GE(97)];};EF=function(h){var h,i,j,k,l,m,n,o,p;i=0;j=$ifaceNil;k=$ifaceNil;l=new NX.ptr(new NW.ptr(0,QU.zero()),QV.zero());m=112;n=MG(h,l,(o||(o=new QW(function(){return m;},function($v){m=$v;}))));i=n[0];k=n[1];if(!($interfaceIsEqual(k,$ifaceNil))){return[i,j,k];}p=EE(l);j=p[0];k=p[1];if(!($interfaceIsEqual(k,$ifaceNil))){IG(i);i=0;}return[i,j,k];};$pkg.Accept=EF;EG=function(h,i){var h,i,j,k,l,m,n,o,p,q;j=0;k=$ifaceNil;l=$ifaceNil;m=new NX.ptr(new NW.ptr(0,QU.zero()),QV.zero());n=112;o=MH(h,m,(p||(p=new QW(function(){return n;},function($v){n=$v;}))),i);j=o[0];l=o[1];if(!($interfaceIsEqual(l,$ifaceNil))){return[j,k,l];}if(n>112){$panic(new $String("RawSockaddrAny too small"));}q=EE(m);k=q[0];l=q[1];if(!($interfaceIsEqual(l,$ifaceNil))){IG(j);j=0;}return[j,k,l];};$pkg.Accept4=EG;EH=function(h){var h,i,j,k,l,m,n;i=$ifaceNil;j=$ifaceNil;k=new NX.ptr(new NW.ptr(0,QU.zero()),QV.zero());l=112;j=MR(h,k,(m||(m=new QW(function(){return l;},function($v){l=$v;}))));if(!($interfaceIsEqual(j,$ifaceNil))){return[i,j];}n=EE(k);i=n[0];j=n[1];return[i,j];};$pkg.Getsockname=EH;EP=function(h,i,j,k){var h,i,j,k,l,m,n,o;l=$ifaceNil;m=new Uint8Array(12);l=MN(h,i,j,(m),12);n=k,o=new DataView(m.buffer,m.byteOffset),n.Multiaddr=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+0,m.buffer.byteLength)),n.Address=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+4,m.buffer.byteLength)),n.Ifindex=o.getInt32(8,true);return l;};$pkg.SetsockoptIPMreqn=EP;EQ=function(h,i,j,k){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=0;m=0;n=0;o=$ifaceNil;p=$ifaceNil;q=new OE.ptr(PP.nil,0,QT.zero(),QY.nil,new $Uint64(0,0),PP.nil,new $Uint64(0,0),0,QT.zero());r=new NX.ptr(new NW.ptr(0,QU.zero()),QV.zero());s=new Uint8Array(112);q.Name=((s));t=r,u=new DataView(s.buffer,s.byteOffset),t.Addr.Family=u.getUint16(0,true),t.Addr.Data=new($nativeArray($kindInt8))(s.buffer,$min(s.byteOffset+2,s.buffer.byteLength)),t.Pad=new($nativeArray($kindInt8))(s.buffer,$min(s.byteOffset+16,s.buffer.byteLength));q.Namelen=112;v=new OA.ptr(PP.nil,new $Uint64(0,0));if(i.$length>0){v.Base=(($sliceToArray(i)));v.SetLen(i.$length);}w=0;if(j.$length>0){if(i.$length===0){v.Base=(x||(x=new PP(function(){return w;},function($v){w=$v;})));v.SetLen(1);}q.Control=(($sliceToArray(j)));q.SetControllen(j.$length);}q.Iov=v;q.Iovlen=new $Uint64(0,1);y=MU(h,q,k);l=y[0];p=y[1];if(!($interfaceIsEqual(p,$ifaceNil))){return[l,m,n,o,p];}m=((q.Controllen.$low>>0));n=((q.Flags>>0));if(!((r.Addr.Family===0))){z=EE(r);o=z[0];p=z[1];}return[l,m,n,o,p];};$pkg.Recvmsg=EQ;ES=function(h,i,j,k,l){var aa,ab,ac,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=[m];n=[n];o=[o];p=0;q=$ifaceNil;r=0;s=0;if(!($interfaceIsEqual(k,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:t=$ifaceNil;v=k.sockaddr();$s=3;case 3:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;r=u[0];s=u[1];t=u[2];if(!($interfaceIsEqual(t,$ifaceNil))){w=0;x=t;p=w;q=x;$s=-1;return[p,q];}case 2:o[0]=new OE.ptr(PP.nil,0,QT.zero(),QY.nil,new $Uint64(0,0),PP.nil,new $Uint64(0,0),0,QT.zero());o[0].Name=((r));o[0].Namelen=((s>>>0));n[0]=new OA.ptr(PP.nil,new $Uint64(0,0));if(i.$length>0){n[0].Base=(($sliceToArray(i)));n[0].SetLen(i.$length);}m[0]=0;if(j.$length>0){if(i.$length===0){n[0].Base=(m.$ptr||(m.$ptr=new PP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},m)));n[0].SetLen(1);}o[0].Control=(($sliceToArray(j)));o[0].SetControllen(j.$length);}o[0].Iov=n[0];o[0].Iovlen=new $Uint64(0,1);y=MV(h,o[0],l);p=y[0];q=y[1];if(!($interfaceIsEqual(q,$ifaceNil))){z=0;aa=q;p=z;q=aa;$s=-1;return[p,q];}if(j.$length>0&&(i.$length===0)){p=0;}ab=p;ac=$ifaceNil;p=ab;q=ac;$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:ES};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SendmsgN=ES;FK=function(h,i){var h,i,j,k,l;j=0;k=$ifaceNil;l=IY(h,i);j=l[0];k=l[1];return[j,k];};$pkg.ReadDirent=FK;FL=function(h){var h;return W(h,0,8);};FM=function(h){var h;return W(h,16,2);};FN=function(h){var h,i,j,k;i=FM(h);j=i[0];k=i[1];if(!k){return[new $Uint64(0,0),false];}return[new $Uint64(j.$high-0,j.$low-19),true];};OA.ptr.prototype.SetLen=function(h){var h,i;i=this;i.Len=(new $Uint64(0,h));};OA.prototype.SetLen=function(h){return this.$val.SetLen(h);};OE.ptr.prototype.SetControllen=function(h){var h,i;i=this;i.Controllen=(new $Uint64(0,h));};OE.prototype.SetControllen=function(h){return this.$val.SetControllen(h);};GD.ptr.prototype.Mmap=function(h,i,j,k,l){var aa,ab,ac,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);m=[m];n=PF.nil;o=$ifaceNil;p=this;if(j<=0){q=PF.nil;r=new GE(22);n=q;o=r;$s=-1;return[n,o];}t=p.mmap(0,((j>>>0)),k,l,h,i);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];if(!($interfaceIsEqual(v,$ifaceNil))){w=PF.nil;x=v;n=w;o=x;$s=-1;return[n,o];}m[0]=new RC.ptr(u,j,j);y=m[0];z=$indexPtr(y.$array,y.$offset+(y.$capacity-1>>0),PP);$r=p.Mutex.Lock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(p.Mutex,"Unlock"),[]]);aa=z;(p.active||$throwRuntimeError("assignment to entry in nil map"))[PP.keyFor(aa)]={k:aa,v:y};ab=y;ac=$ifaceNil;n=ab;o=ac;$s=-1;return[n,o];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[n,o];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:GD.ptr.prototype.Mmap};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};GD.prototype.Mmap=function(h,i,j,k,l){return this.$val.Mmap(h,i,j,k,l);};GD.ptr.prototype.Munmap=function(h){var h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);i=$ifaceNil;j=this;if((h.$length===0)||!((h.$length===h.$capacity))){i=new GE(22);$s=-1;return i;}k=$indexPtr(h.$array,h.$offset+(h.$capacity-1>>0),PP);$r=j.Mutex.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(j.Mutex,"Unlock"),[]]);m=(l=j.active[PP.keyFor(k)],l!==undefined?l.v:PF.nil);if(m===PF.nil||!($indexPtr(m.$array,m.$offset+0,PP)===$indexPtr(h.$array,h.$offset+0,PP))){i=new GE(22);$s=-1;return i;}n=j.munmap((($sliceToArray(m))),((m.$length>>>0)));$s=2;case 2:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!($interfaceIsEqual(o,$ifaceNil))){i=o;$s=-1;return i;}delete j.active[PP.keyFor(k)];i=$ifaceNil;$s=-1;return i;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return i;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:GD.ptr.prototype.Munmap};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};GD.prototype.Munmap=function(h){return this.$val.Munmap(h);};GE.prototype.Error=function(){var h,i;h=this.$val;if(0<=((h>>0))&&((h>>0))<133){i=((h<0||h>=HN.length)?($throwRuntimeError("index out of range"),undefined):HN[h]);if(!(i==="")){return i;}}return"errno "+CW(((h>>0)));};$ptrType(GE).prototype.Error=function(){return new GE(this.$get()).Error();};GE.prototype.Temporary=function(){var h;h=this.$val;return(h===4)||(h===24)||(h===104)||(h===103)||new GE(h).Timeout();};$ptrType(GE).prototype.Temporary=function(){return new GE(this.$get()).Temporary();};GE.prototype.Timeout=function(){var h;h=this.$val;return(h===11)||(h===11)||(h===110);};$ptrType(GE).prototype.Timeout=function(){return new GE(this.$get()).Timeout();};GI=function(h){var h,i;i=h;if(i===(0)){return $ifaceNil;}else if(i===(11)){return GF;}else if(i===(22)){return GG;}else if(i===(2)){return GH;}return new GE(h);};GK=function(h,i){var h,i,j,k,l;j=0;k=$ifaceNil;l=JS(h,i);j=l[0];k=l[1];if(false){if(j>0){D.WriteRange(($sliceToArray(i)),j);}if($interfaceIsEqual(k,$ifaceNil)){D.Acquire(((PO||(PO=new RD(function(){return HI;},function($v){HI=$v;})))));}}if(false&&j>0){BX(($sliceToArray(i)),j);}return[j,k];};$pkg.Read=GK;GL=function(h,i){var h,i,j,k,l;j=0;k=$ifaceNil;if(false){D.ReleaseMerge(((PO||(PO=new RD(function(){return HI;},function($v){HI=$v;})))));}l=KN(h,i);j=l[0];k=l[1];if(false&&j>0){D.ReadRange(($sliceToArray(i)),j);}if(false&&j>0){BW(($sliceToArray(i)),j);}return[j,k];};$pkg.Write=GL;GQ=function(h,i){var h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=$ifaceNil;l=i.sockaddr();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];j=k[2];if(!($interfaceIsEqual(j,$ifaceNil))){j=j;$s=-1;return j;}j=MI(h,m,n);$s=-1;return j;}return;}if($f===undefined){$f={$blk:GQ};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Bind=GQ;GR=function(h,i){var h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=$ifaceNil;l=i.sockaddr();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];j=k[2];if(!($interfaceIsEqual(j,$ifaceNil))){j=j;$s=-1;return j;}j=MJ(h,m,n);$s=-1;return j;}return;}if($f===undefined){$f={$blk:GR};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Connect=GR;GS=function(h){var h,i,j,k,l,m,n;i=$ifaceNil;j=$ifaceNil;k=new NX.ptr(new NW.ptr(0,QU.zero()),QV.zero());l=112;j=MQ(h,k,(m||(m=new QW(function(){return l;},function($v){l=$v;}))));if(!($interfaceIsEqual(j,$ifaceNil))){return[i,j];}n=EE(k);i=n[0];j=n[1];return[i,j];};$pkg.Getpeername=GS;GT=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r;k=0;l=$ifaceNil;m=0;n=4;l=MM(h,i,j,((o||(o=new PT(function(){return m;},function($v){m=$v;})))),(p||(p=new QW(function(){return n;},function($v){n=$v;}))));q=((m>>0));r=l;k=q;l=r;return[k,l];};$pkg.GetsockoptInt=GT;GU=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r;k=0;l=$ifaceNil;m=$ifaceNil;n=new NX.ptr(new NW.ptr(0,QU.zero()),QV.zero());o=112;p=MS(h,i,j,n,(q||(q=new QW(function(){return o;},function($v){o=$v;}))));k=p[0];m=p[1];if(!($interfaceIsEqual(m,$ifaceNil))){return[k,l,m];}if(!((n.Addr.Family===0))){r=EE(n);l=r[0];m=r[1];}return[k,l,m];};$pkg.Recvfrom=GU;GV=function(h,i,j,k){var h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=$ifaceNil;n=k.sockaddr();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];l=m[2];if(!($interfaceIsEqual(l,$ifaceNil))){l=l;$s=-1;return l;}l=MT(h,i,j,o,p);$s=-1;return l;}return;}if($f===undefined){$f={$blk:GV};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sendto=GV;GW=function(h,i,j,k){var h,i,j,k,l,m;l=$ifaceNil;l=MN(h,i,j,((m||(m=new PP(function(){return k;},function($v){k=$v;})))),1);return l;};$pkg.SetsockoptByte=GW;GX=function(h,i,j,k){var h,i,j,k,l,m,n;l=$ifaceNil;m=((k>>0));l=MN(h,i,j,((n||(n=new PT(function(){return m;},function($v){m=$v;})))),4);return l;};$pkg.SetsockoptInt=GX;GY=function(h,i,j,k){var h,i,j,k,l;l=$ifaceNil;l=MN(h,i,j,($sliceToArray(new PF(k))),4);return l;};$pkg.SetsockoptInet4Addr=GY;GZ=function(h,i,j,k){var h,i,j,k,l,m,n,o;l=$ifaceNil;m=new Uint8Array(8);l=MN(h,i,j,(m),8);n=k,o=new DataView(m.buffer,m.byteOffset),n.Multiaddr=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+0,m.buffer.byteLength)),n.Interface=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+4,m.buffer.byteLength));return l;};$pkg.SetsockoptIPMreq=GZ;HA=function(h,i,j,k){var h,i,j,k,l,m,n,o;l=$ifaceNil;m=new Uint8Array(20);l=MN(h,i,j,(m),20);n=k,o=new DataView(m.buffer,m.byteOffset),n.Multiaddr=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+0,m.buffer.byteLength)),n.Interface=o.getUint32(16,true);return l;};$pkg.SetsockoptIPv6Mreq=HA;HC=function(h,i,j,k){var h,i,j,k,l,m,n,o;l=$ifaceNil;m=new Uint8Array(8);l=MN(h,i,j,(m),8);n=k,o=new DataView(m.buffer,m.byteOffset),n.Onoff=o.getInt32(0,true),n.Linger=o.getInt32(4,true);return l;};$pkg.SetsockoptLinger=HC;HF=function(h,i,j){var h,i,j,k,l,m,n,o;k=0;l=$ifaceNil;if((h===10)&&$pkg.SocketDisableIPv6){m=-1;n=new GE(97);k=m;l=n;return[k,l];}o=MO(h,i,j);k=o[0];l=o[1];return[k,l];};$pkg.Socket=HF;HH=function(h,i,j,k){var h,i,j,k,l,m,n;l=0;m=$ifaceNil;if(false){D.ReleaseMerge(((PO||(PO=new RD(function(){return HI;},function($v){HI=$v;})))));}n=LS(h,i,j,k);l=n[0];m=n[1];return[l,m];};$pkg.Sendfile=HH;HQ=function(h,i,j,k){var h,i,j,k,l,m,n,o,p,q,r;l=0;m=$ifaceNil;n=PP.nil;o=V(i);n=o[0];m=o[1];if(!($interfaceIsEqual(m,$ifaceNil))){return[l,m];}p=S(257,((h>>>0)),((n)),((j>>>0)),((k>>>0)),0,0);q=p[0];r=p[2];l=((q>>0));if(!((r===0))){m=GI(r);}return[l,m];};IG=function(h){var h,i,j,k;i=$ifaceNil;j=R(3,((h>>>0)),0,0);k=j[2];if(!((k===0))){i=GI(k);}return i;};$pkg.Close=IG;IH=function(h){var h,i,j,k,l,m;i=0;j=$ifaceNil;k=R(32,((h>>>0)),0,0);l=k[0];m=k[2];i=((l>>0));if(!((m===0))){j=GI(m);}return[i,j];};$pkg.Dup=IH;IN=function(h){var h;R(231,((h>>>0)),0,0);return;};$pkg.Exit=IN;IQ=function(h){var h,i,j,k;i=$ifaceNil;j=R(81,((h>>>0)),0,0);k=j[2];if(!((k===0))){i=GI(k);}return i;};$pkg.Fchdir=IQ;IR=function(h,i){var h,i,j,k,l;j=$ifaceNil;k=R(91,((h>>>0)),((i>>>0)),0);l=k[2];if(!((l===0))){j=GI(l);}return j;};$pkg.Fchmod=IR;IS=function(h,i,j,k){var h,i,j,k,l,m,n,o,p;l=$ifaceNil;m=PP.nil;n=V(i);m=n[0];l=n[1];if(!($interfaceIsEqual(l,$ifaceNil))){return l;}o=S(268,((h>>>0)),((m)),((j>>>0)),((k>>>0)),0,0);p=o[2];if(!((p===0))){l=GI(p);}return l;};$pkg.Fchmodat=IS;IU=function(h,i,j){var h,i,j,k,l,m,n,o;k=0;l=$ifaceNil;m=R(72,((h>>>0)),((i>>>0)),((j>>>0)));n=m[0];o=m[2];k=((n>>0));if(!((o===0))){l=GI(o);}return[k,l];};IX=function(h){var h,i,j,k;i=$ifaceNil;j=R(74,((h>>>0)),0,0);k=j[2];if(!((k===0))){i=GI(k);}return i;};$pkg.Fsync=IX;IY=function(h,i){var h,i,j,k,l,m,n,o;j=0;k=$ifaceNil;l=0;if(i.$length>0){l=($sliceToArray(i));}else{l=(new Uint8Array(0));}m=R(217,((h>>>0)),(l),((i.$length>>>0)));n=m[0];o=m[2];j=((n>>0));if(!((o===0))){k=GI(o);}return[j,k];};$pkg.Getdents=IY;JS=function(h,i){var h,i,j,k,l,m,n,o;j=0;k=$ifaceNil;l=0;if(i.$length>0){l=($sliceToArray(i));}else{l=(new Uint8Array(0));}m=R(0,((h>>>0)),(l),((i.$length>>>0)));n=m[0];o=m[2];j=((n>>0));if(!((o===0))){k=GI(o);}return[j,k];};KN=function(h,i){var h,i,j,k,l,m,n,o;j=0;k=$ifaceNil;l=0;if(i.$length>0){l=($sliceToArray(i));}else{l=(new Uint8Array(0));}m=R(1,((h>>>0)),(l),((i.$length>>>0)));n=m[0];o=m[2];j=((n>>0));if(!((o===0))){k=GI(o);}return[j,k];};KR=function(h,i){var h,i,j,k,l;j=$ifaceNil;k=R(11,(h),(i),0);l=k[2];if(!((l===0))){j=GI(l);}return j;};KZ=function(h,i,j){var h,i,j,k,l,m;k=$ifaceNil;l=R(93,((h>>>0)),((i>>>0)),((j>>>0)));m=l[2];if(!((m===0))){k=GI(m);}return k;};$pkg.Fchown=KZ;LA=function(h,i){var h,i,j,k,l,m,n,o;j=$ifaceNil;l=new Uint8Array(144);k=R(5,((h>>>0)),((l)),0);m=i,n=new DataView(l.buffer,l.byteOffset),m.Dev=new $Uint64(n.getUint32(4,true),n.getUint32(0,true)),m.Ino=new $Uint64(n.getUint32(12,true),n.getUint32(8,true)),m.Nlink=new $Uint64(n.getUint32(20,true),n.getUint32(16,true)),m.Mode=n.getUint32(24,true),m.Uid=n.getUint32(28,true),m.Gid=n.getUint32(32,true),m.X__pad0=n.getInt32(36,true),m.Rdev=new $Uint64(n.getUint32(44,true),n.getUint32(40,true)),m.Size=new $Int64(n.getUint32(52,true),n.getUint32(48,true)),m.Blksize=new $Int64(n.getUint32(60,true),n.getUint32(56,true)),m.Blocks=new $Int64(n.getUint32(68,true),n.getUint32(64,true)),m.Atim.Sec=new $Int64(n.getUint32(76,true),n.getUint32(72,true)),m.Atim.Nsec=new $Int64(n.getUint32(84,true),n.getUint32(80,true)),m.Mtim.Sec=new $Int64(n.getUint32(92,true),n.getUint32(88,true)),m.Mtim.Nsec=new $Int64(n.getUint32(100,true),n.getUint32(96,true)),m.Ctim.Sec=new $Int64(n.getUint32(108,true),n.getUint32(104,true)),m.Ctim.Nsec=new $Int64(n.getUint32(116,true),n.getUint32(112,true)),m.X__unused=new($nativeArray($kindInt64))(l.buffer,$min(l.byteOffset+120,l.buffer.byteLength));o=k[2];if(!((o===0))){j=GI(o);}return j;};$pkg.Fstat=LA;LC=function(h,i){var h,i,j,k,l;j=$ifaceNil;k=R(77,((h>>>0)),((i.$low>>>0)),0);l=k[2];if(!((l===0))){j=GI(l);}return j;};$pkg.Ftruncate=LC;LF=function(){var h,i,j;h=0;i=T(104,0,0,0);j=i[0];h=((j>>0));return h;};$pkg.Getgid=LF;LH=function(){var h,i,j;h=0;i=T(102,0,0,0);j=i[0];h=((j>>0));return h;};$pkg.Getuid=LH;LM=function(h,i){var h,i,j,k,l;j=$ifaceNil;k=R(50,((h>>>0)),((i>>>0)),0);l=k[2];if(!((l===0))){j=GI(l);}return j;};$pkg.Listen=LM;LN=function(h,i){var h,i,j,k,l,m,n,o,p,q;j=$ifaceNil;k=PP.nil;l=V(h);k=l[0];j=l[1];if(!($interfaceIsEqual(j,$ifaceNil))){return j;}n=new Uint8Array(144);m=R(6,((k)),((n)),0);o=i,p=new DataView(n.buffer,n.byteOffset),o.Dev=new $Uint64(p.getUint32(4,true),p.getUint32(0,true)),o.Ino=new $Uint64(p.getUint32(12,true),p.getUint32(8,true)),o.Nlink=new $Uint64(p.getUint32(20,true),p.getUint32(16,true)),o.Mode=p.getUint32(24,true),o.Uid=p.getUint32(28,true),o.Gid=p.getUint32(32,true),o.X__pad0=p.getInt32(36,true),o.Rdev=new $Uint64(p.getUint32(44,true),p.getUint32(40,true)),o.Size=new $Int64(p.getUint32(52,true),p.getUint32(48,true)),o.Blksize=new $Int64(p.getUint32(60,true),p.getUint32(56,true)),o.Blocks=new $Int64(p.getUint32(68,true),p.getUint32(64,true)),o.Atim.Sec=new $Int64(p.getUint32(76,true),p.getUint32(72,true)),o.Atim.Nsec=new $Int64(p.getUint32(84,true),p.getUint32(80,true)),o.Mtim.Sec=new $Int64(p.getUint32(92,true),p.getUint32(88,true)),o.Mtim.Nsec=new $Int64(p.getUint32(100,true),p.getUint32(96,true)),o.Ctim.Sec=new $Int64(p.getUint32(108,true),p.getUint32(104,true)),o.Ctim.Nsec=new $Int64(p.getUint32(116,true),p.getUint32(112,true)),o.X__unused=new($nativeArray($kindInt64))(n.buffer,$min(n.byteOffset+120,n.buffer.byteLength));q=m[2];if(!((q===0))){j=GI(q);}return j;};$pkg.Lstat=LN;LO=function(h,i,j){var h,i,j,k,l,m,n,o,p;k=0;l=$ifaceNil;m=0;if(i.$length>0){m=($sliceToArray(i));}else{m=(new Uint8Array(0));}n=S(17,((h>>>0)),(m),((i.$length>>>0)),((j.$low>>>0)),0,0);o=n[0];p=n[2];k=((o>>0));if(!((p===0))){l=GI(p);}return[k,l];};$pkg.Pread=LO;LP=function(h,i,j){var h,i,j,k,l,m,n,o,p;k=0;l=$ifaceNil;m=0;if(i.$length>0){m=($sliceToArray(i));}else{m=(new Uint8Array(0));}n=S(18,((h>>>0)),(m),((i.$length>>>0)),((j.$low>>>0)),0,0);o=n[0];p=n[2];k=((o>>0));if(!((p===0))){l=GI(p);}return[k,l];};$pkg.Pwrite=LP;LQ=function(h,i,j){var h,i,j,k,l,m,n,o;k=new $Int64(0,0);l=$ifaceNil;m=R(8,((h>>>0)),((i.$low>>>0)),((j>>>0)));n=m[0];o=m[2];k=(new $Int64(0,n.constructor===Number?n:1));if(!((o===0))){l=GI(o);}return[k,l];};$pkg.Seek=LQ;LS=function(h,i,j,k){var h,i,j,k,l,m,n,o,p;l=0;m=$ifaceNil;n=S(40,((h>>>0)),((i>>>0)),((j)),((k>>>0)),0,0);o=n[0];p=n[2];l=((o>>0));if(!((p===0))){m=GI(p);}return[l,m];};MA=function(h,i){var h,i,j,k,l;j=$ifaceNil;k=R(48,((h>>>0)),((i>>>0)),0);l=k[2];if(!((l===0))){j=GI(l);}return j;};$pkg.Shutdown=MA;MC=function(h,i){var h,i,j,k,l,m,n,o,p,q;j=$ifaceNil;k=PP.nil;l=V(h);k=l[0];j=l[1];if(!($interfaceIsEqual(j,$ifaceNil))){return j;}n=new Uint8Array(144);m=R(4,((k)),((n)),0);o=i,p=new DataView(n.buffer,n.byteOffset),o.Dev=new $Uint64(p.getUint32(4,true),p.getUint32(0,true)),o.Ino=new $Uint64(p.getUint32(12,true),p.getUint32(8,true)),o.Nlink=new $Uint64(p.getUint32(20,true),p.getUint32(16,true)),o.Mode=p.getUint32(24,true),o.Uid=p.getUint32(28,true),o.Gid=p.getUint32(32,true),o.X__pad0=p.getInt32(36,true),o.Rdev=new $Uint64(p.getUint32(44,true),p.getUint32(40,true)),o.Size=new $Int64(p.getUint32(52,true),p.getUint32(48,true)),o.Blksize=new $Int64(p.getUint32(60,true),p.getUint32(56,true)),o.Blocks=new $Int64(p.getUint32(68,true),p.getUint32(64,true)),o.Atim.Sec=new $Int64(p.getUint32(76,true),p.getUint32(72,true)),o.Atim.Nsec=new $Int64(p.getUint32(84,true),p.getUint32(80,true)),o.Mtim.Sec=new $Int64(p.getUint32(92,true),p.getUint32(88,true)),o.Mtim.Nsec=new $Int64(p.getUint32(100,true),p.getUint32(96,true)),o.Ctim.Sec=new $Int64(p.getUint32(108,true),p.getUint32(104,true)),o.Ctim.Nsec=new $Int64(p.getUint32(116,true),p.getUint32(112,true)),o.X__unused=new($nativeArray($kindInt64))(n.buffer,$min(n.byteOffset+120,n.buffer.byteLength));q=m[2];if(!((q===0))){j=GI(q);}return j;};$pkg.Stat=MC;MG=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r;k=0;l=$ifaceNil;n=new Uint8Array(112);m=R(43,((h>>>0)),((n)),((j)));o=i,p=new DataView(n.buffer,n.byteOffset),o.Addr.Family=p.getUint16(0,true),o.Addr.Data=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+2,n.buffer.byteLength)),o.Pad=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+16,n.buffer.byteLength));q=m[0];r=m[2];k=((q>>0));if(!((r===0))){l=GI(r);}return[k,l];};MH=function(h,i,j,k){var h,i,j,k,l,m,n,o,p,q,r,s;l=0;m=$ifaceNil;o=new Uint8Array(112);n=S(288,((h>>>0)),((o)),((j)),((k>>>0)),0,0);p=i,q=new DataView(o.buffer,o.byteOffset),p.Addr.Family=q.getUint16(0,true),p.Addr.Data=new($nativeArray($kindInt8))(o.buffer,$min(o.byteOffset+2,o.buffer.byteLength)),p.Pad=new($nativeArray($kindInt8))(o.buffer,$min(o.byteOffset+16,o.buffer.byteLength));r=n[0];s=n[2];l=((r>>0));if(!((s===0))){m=GI(s);}return[l,m];};MI=function(h,i,j){var h,i,j,k,l,m;k=$ifaceNil;l=R(49,((h>>>0)),(i),((j>>>0)));m=l[2];if(!((m===0))){k=GI(m);}return k;};MJ=function(h,i,j){var h,i,j,k,l,m;k=$ifaceNil;l=R(42,((h>>>0)),(i),((j>>>0)));m=l[2];if(!((m===0))){k=GI(m);}return k;};MM=function(h,i,j,k,l){var h,i,j,k,l,m,n,o;m=$ifaceNil;n=S(55,((h>>>0)),((i>>>0)),((j>>>0)),(k),((l)),0);o=n[2];if(!((o===0))){m=GI(o);}return m;};MN=function(h,i,j,k,l){var h,i,j,k,l,m,n,o;m=$ifaceNil;n=S(54,((h>>>0)),((i>>>0)),((j>>>0)),(k),(l),0);o=n[2];if(!((o===0))){m=GI(o);}return m;};MO=function(h,i,j){var h,i,j,k,l,m,n,o;k=0;l=$ifaceNil;m=T(41,((h>>>0)),((i>>>0)),((j>>>0)));n=m[0];o=m[2];k=((n>>0));if(!((o===0))){l=GI(o);}return[k,l];};MQ=function(h,i,j){var h,i,j,k,l,m,n,o,p;k=$ifaceNil;m=new Uint8Array(112);l=T(52,((h>>>0)),((m)),((j)));n=i,o=new DataView(m.buffer,m.byteOffset),n.Addr.Family=o.getUint16(0,true),n.Addr.Data=new($nativeArray($kindInt8))(m.buffer,$min(m.byteOffset+2,m.buffer.byteLength)),n.Pad=new($nativeArray($kindInt8))(m.buffer,$min(m.byteOffset+16,m.buffer.byteLength));p=l[2];if(!((p===0))){k=GI(p);}return k;};MR=function(h,i,j){var h,i,j,k,l,m,n,o,p;k=$ifaceNil;m=new Uint8Array(112);l=T(51,((h>>>0)),((m)),((j)));n=i,o=new DataView(m.buffer,m.byteOffset),n.Addr.Family=o.getUint16(0,true),n.Addr.Data=new($nativeArray($kindInt8))(m.buffer,$min(m.byteOffset+2,m.buffer.byteLength)),n.Pad=new($nativeArray($kindInt8))(m.buffer,$min(m.byteOffset+16,m.buffer.byteLength));p=l[2];if(!((p===0))){k=GI(p);}return k;};MS=function(h,i,j,k,l){var h,i,j,k,l,m,n,o,p,q,r,s,t,u;m=0;n=$ifaceNil;o=0;if(i.$length>0){o=($sliceToArray(i));}else{o=(new Uint8Array(0));}q=new Uint8Array(112);p=S(45,((h>>>0)),(o),((i.$length>>>0)),((j>>>0)),((q)),((l)));r=k,s=new DataView(q.buffer,q.byteOffset),r.Addr.Family=s.getUint16(0,true),r.Addr.Data=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+2,q.buffer.byteLength)),r.Pad=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+16,q.buffer.byteLength));t=p[0];u=p[2];m=((t>>0));if(!((u===0))){n=GI(u);}return[m,n];};MT=function(h,i,j,k,l){var h,i,j,k,l,m,n,o,p;m=$ifaceNil;n=0;if(i.$length>0){n=($sliceToArray(i));}else{n=(new Uint8Array(0));}o=S(44,((h>>>0)),(n),((i.$length>>>0)),((j>>>0)),(k),((l>>>0)));p=o[2];if(!((p===0))){m=GI(p);}return m;};MU=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r;k=0;l=$ifaceNil;n=new Uint8Array(48);m=R(47,((h>>>0)),((n)),((j>>>0)));o=i,p=new DataView(n.buffer,n.byteOffset),o.Namelen=p.getUint32(4,true),o.Pad_cgo_0=new($nativeArray($kindUint8))(n.buffer,$min(n.byteOffset+8,n.buffer.byteLength)),o.Iovlen=new $Uint64(p.getUint32(20,true),p.getUint32(16,true)),o.Controllen=new $Uint64(p.getUint32(36,true),p.getUint32(32,true)),o.Flags=p.getInt32(40,true),o.Pad_cgo_1=new($nativeArray($kindUint8))(n.buffer,$min(n.byteOffset+44,n.buffer.byteLength));q=m[0];r=m[2];k=((q>>0));if(!((r===0))){l=GI(r);}return[k,l];};MV=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r;k=0;l=$ifaceNil;n=new Uint8Array(48);m=R(46,((h>>>0)),((n)),((j>>>0)));o=i,p=new DataView(n.buffer,n.byteOffset),o.Namelen=p.getUint32(4,true),o.Pad_cgo_0=new($nativeArray($kindUint8))(n.buffer,$min(n.byteOffset+8,n.buffer.byteLength)),o.Iovlen=new $Uint64(p.getUint32(20,true),p.getUint32(16,true)),o.Controllen=new $Uint64(p.getUint32(36,true),p.getUint32(32,true)),o.Flags=p.getInt32(40,true),o.Pad_cgo_1=new($nativeArray($kindUint8))(n.buffer,$min(n.byteOffset+44,n.buffer.byteLength));q=m[0];r=m[2];k=((q>>0));if(!((r===0))){l=GI(r);}return[k,l];};MW=function(h,i,j,k,l,m){var h,i,j,k,l,m,n,o,p,q,r;n=0;o=$ifaceNil;p=S(9,(h),(i),((j>>>0)),((k>>>0)),((l>>>0)),((m.$low>>>0)));q=p[0];r=p[2];n=(q);if(!((r===0))){o=GI(r);}return[n,o];};RI.methods=[{prop:"toWireFormat",name:"toWireFormat",pkg:"syscall",typ:$funcType([],[PF],false)}];RJ.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,NY,$error],false)}];QE.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,NY,$error],false)}];RK.methods=[{prop:"Mmap",name:"Mmap",pkg:"",typ:$funcType([$Int,$Int64,$Int,$Int,$Int],[PF,$error],false)},{prop:"Munmap",name:"Munmap",pkg:"",typ:$funcType([PF],[$error],false)}];GE.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}];RO.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,NY,$error],false)}];RP.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,NY,$error],false)}];RQ.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,NY,$error],false)}];RR.methods=[{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64,$Int64],false)},{prop:"Nano",name:"Nano",pkg:"",typ:$funcType([],[$Int64],false)}];QY.methods=[{prop:"SetLen",name:"SetLen",pkg:"",typ:$funcType([$Int],[],false)}];RY.methods=[{prop:"SetControllen",name:"SetControllen",pkg:"",typ:$funcType([$Int],[],false)}];BY.init([{prop:"Control",name:"Control",pkg:"",typ:$funcType([RG],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([RH],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([RH],[$error],false)}]);CC.init("",[{prop:"Header",name:"Header",anonymous:false,exported:true,typ:OM,tag:""},{prop:"Data",name:"Data",anonymous:false,exported:true,typ:OO,tag:""}]);CF.init("",[{prop:"Header",name:"Header",anonymous:false,exported:true,typ:OM,tag:""},{prop:"Data",name:"Data",anonymous:false,exported:true,typ:PF,tag:""}]);CI.init("",[{prop:"Attr",name:"Attr",anonymous:false,exported:true,typ:OQ,tag:""},{prop:"Value",name:"Value",anonymous:false,exported:true,typ:PF,tag:""}]);EC.init("syscall",[{prop:"Protocol",name:"Protocol",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Ifindex",name:"Ifindex",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Hatype",name:"Hatype",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Pkttype",name:"Pkttype",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Halen",name:"Halen",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:PY,tag:""},{prop:"raw",name:"raw",anonymous:false,exported:false,typ:NU,tag:""}]);ED.init("syscall",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Pad",name:"Pad",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Pid",name:"Pid",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Groups",name:"Groups",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"raw",name:"raw",anonymous:false,exported:false,typ:NV,tag:""}]);GD.init("syscall",[{prop:"Mutex",name:"Mutex",anonymous:true,exported:true,typ:C.Mutex,tag:""},{prop:"active",name:"active",anonymous:false,exported:false,typ:RL,tag:""},{prop:"mmap",name:"mmap",anonymous:false,exported:false,typ:RM,tag:""},{prop:"munmap",name:"munmap",anonymous:false,exported:false,typ:RN,tag:""}]);GM.init([{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,NY,$error],false)}]);GN.init("syscall",[{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:QT,tag:""},{prop:"raw",name:"raw",anonymous:false,exported:false,typ:NR,tag:""}]);GO.init("syscall",[{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"ZoneId",name:"ZoneId",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:QA,tag:""},{prop:"raw",name:"raw",anonymous:false,exported:false,typ:NS,tag:""}]);GP.init("syscall",[{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""},{prop:"raw",name:"raw",anonymous:false,exported:false,typ:NT,tag:""}]);ND.init("",[{prop:"Sec",name:"Sec",anonymous:false,exported:true,typ:$Int64,tag:""},{prop:"Nsec",name:"Nsec",anonymous:false,exported:true,typ:$Int64,tag:""}]);NM.init("",[{prop:"Dev",name:"Dev",anonymous:false,exported:true,typ:$Uint64,tag:""},{prop:"Ino",name:"Ino",anonymous:false,exported:true,typ:$Uint64,tag:""},{prop:"Nlink",name:"Nlink",anonymous:false,exported:true,typ:$Uint64,tag:""},{prop:"Mode",name:"Mode",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Uid",name:"Uid",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Gid",name:"Gid",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"X__pad0",name:"X__pad0",anonymous:false,exported:true,typ:$Int32,tag:""},{prop:"Rdev",name:"Rdev",anonymous:false,exported:true,typ:$Uint64,tag:""},{prop:"Size",name:"Size",anonymous:false,exported:true,typ:$Int64,tag:""},{prop:"Blksize",name:"Blksize",anonymous:false,exported:true,typ:$Int64,tag:""},{prop:"Blocks",name:"Blocks",anonymous:false,exported:true,typ:$Int64,tag:""},{prop:"Atim",name:"Atim",anonymous:false,exported:true,typ:ND,tag:""},{prop:"Mtim",name:"Mtim",anonymous:false,exported:true,typ:ND,tag:""},{prop:"Ctim",name:"Ctim",anonymous:false,exported:true,typ:ND,tag:""},{prop:"X__unused",name:"X__unused",anonymous:false,exported:true,typ:RU,tag:""}]);NR.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:QT,tag:""},{prop:"Zero",name:"Zero",anonymous:false,exported:true,typ:PY,tag:""}]);NS.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Flowinfo",name:"Flowinfo",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:QA,tag:""},{prop:"Scope_id",name:"Scope_id",anonymous:false,exported:true,typ:$Uint32,tag:""}]);NT.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Path",name:"Path",anonymous:false,exported:true,typ:QS,tag:""}]);NU.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Protocol",name:"Protocol",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Ifindex",name:"Ifindex",anonymous:false,exported:true,typ:$Int32,tag:""},{prop:"Hatype",name:"Hatype",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Pkttype",name:"Pkttype",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Halen",name:"Halen",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:PY,tag:""}]);NV.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Pad",name:"Pad",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Pid",name:"Pid",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Groups",name:"Groups",anonymous:false,exported:true,typ:$Uint32,tag:""}]);NW.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Data",name:"Data",anonymous:false,exported:true,typ:QU,tag:""}]);NX.init("",[{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:NW,tag:""},{prop:"Pad",name:"Pad",anonymous:false,exported:true,typ:QV,tag:""}]);NZ.init("",[{prop:"Onoff",name:"Onoff",anonymous:false,exported:true,typ:$Int32,tag:""},{prop:"Linger",name:"Linger",anonymous:false,exported:true,typ:$Int32,tag:""}]);OA.init("",[{prop:"Base",name:"Base",anonymous:false,exported:true,typ:PP,tag:""},{prop:"Len",name:"Len",anonymous:false,exported:true,typ:$Uint64,tag:""}]);OB.init("",[{prop:"Multiaddr",name:"Multiaddr",anonymous:false,exported:true,typ:QT,tag:""},{prop:"Interface",name:"Interface",anonymous:false,exported:true,typ:QT,tag:""}]);OC.init("",[{prop:"Multiaddr",name:"Multiaddr",anonymous:false,exported:true,typ:QT,tag:""},{prop:"Address",name:"Address",anonymous:false,exported:true,typ:QT,tag:""},{prop:"Ifindex",name:"Ifindex",anonymous:false,exported:true,typ:$Int32,tag:""}]);OD.init("",[{prop:"Multiaddr",name:"Multiaddr",anonymous:false,exported:true,typ:QA,tag:""},{prop:"Interface",name:"Interface",anonymous:false,exported:true,typ:$Uint32,tag:""}]);OE.init("",[{prop:"Name",name:"Name",anonymous:false,exported:true,typ:PP,tag:""},{prop:"Namelen",name:"Namelen",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Pad_cgo_0",name:"Pad_cgo_0",anonymous:false,exported:true,typ:QT,tag:""},{prop:"Iov",name:"Iov",anonymous:false,exported:true,typ:QY,tag:""},{prop:"Iovlen",name:"Iovlen",anonymous:false,exported:true,typ:$Uint64,tag:""},{prop:"Control",name:"Control",anonymous:false,exported:true,typ:PP,tag:""},{prop:"Controllen",name:"Controllen",anonymous:false,exported:true,typ:$Uint64,tag:""},{prop:"Flags",name:"Flags",anonymous:false,exported:true,typ:$Int32,tag:""},{prop:"Pad_cgo_1",name:"Pad_cgo_1",anonymous:false,exported:true,typ:QT,tag:""}]);OM.init("",[{prop:"Len",name:"Len",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Type",name:"Type",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Flags",name:"Flags",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Seq",name:"Seq",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Pid",name:"Pid",anonymous:false,exported:true,typ:$Uint32,tag:""}]);OO.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint8,tag:""}]);OQ.init("",[{prop:"Len",name:"Len",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Type",name:"Type",anonymous:false,exported:true,typ:$Uint16,tag:""}]);OR.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"X__ifi_pad",name:"X__ifi_pad",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Type",name:"Type",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Index",name:"Index",anonymous:false,exported:true,typ:$Int32,tag:""},{prop:"Flags",name:"Flags",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Change",name:"Change",anonymous:false,exported:true,typ:$Uint32,tag:""}]);OS.init("",[{prop:"Family",name:"Family",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Prefixlen",name:"Prefixlen",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Flags",name:"Flags",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Scope",name:"Scope",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Index",name:"Index",anonymous:false,exported:true,typ:$Uint32,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}F=PF.nil;N=null;AA=new C.Once.ptr(new C.Mutex.ptr(0,0),0);AB=new C.RWMutex.ptr(new C.Mutex.ptr(0,0),0,0,0,0);AC=false;$pkg.ForkLock=new C.RWMutex.ptr(new C.Mutex.ptr(0,0),0,0,0,0);$pkg.SocketDisableIPv6=false;HI=new $Int64(0,0);E=false;O=false;P=-1;AD=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;GF=new GE(11);GG=new GE(22);GH=new GE(2);HN=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","no such device or address","argument list too long","exec format error","bad file descriptor","no child processes","resource temporarily unavailable","cannot allocate memory","permission denied","bad address","block device required","device or resource busy","file exists","invalid cross-device link","no such device","not a directory","is a directory","invalid argument","too many open files in system","too many open files","inappropriate ioctl for device","text file busy","file too large","no space left on device","illegal seek","read-only file system","too many links","broken pipe","numerical argument out of domain","numerical result out of range","resource deadlock avoided","file name too long","no locks available","function not implemented","directory not empty","too many levels of symbolic links","","no message of desired type","identifier removed","channel number out of range","level 2 not synchronized","level 3 halted","level 3 reset","link number out of range","protocol driver not attached","no CSI structure available","level 2 halted","invalid exchange","invalid request descriptor","exchange full","no anode","invalid request code","invalid slot","","bad font file format","device not a stream","no data available","timer expired","out of streams resources","machine is not on the network","package not installed","object is remote","link has been severed","advertise error","srmount error","communication error on send","protocol error","multihop attempted","RFS specific error","bad message","value too large for defined data type","name not unique on network","file descriptor in bad state","remote address changed","can not access a needed shared library","accessing a corrupted shared library",".lib section in a.out corrupted","attempting to link in too many shared libraries","cannot exec a shared library directly","invalid or incomplete multibyte or wide character","interrupted system call should be restarted","streams pipe error","too many users","socket operation on non-socket","destination address required","message too long","protocol wrong type for socket","protocol not available","protocol not supported","socket type not supported","operation not supported","protocol family not supported","address family not supported by protocol","address already in use","cannot assign requested address","network is down","network is unreachable","network dropped connection on reset","software caused connection abort","connection reset by peer","no buffer space available","transport endpoint is already connected","transport endpoint is not connected","cannot send after transport endpoint shutdown","too many references: cannot splice","connection timed out","connection refused","host is down","no route to host","operation already in progress","operation now in progress","stale NFS file handle","structure needs cleaning","not a XENIX named type file","no XENIX semaphores available","is a named type file","remote I/O error","disk quota exceeded","no medium found","wrong medium type","operation canceled","required key not available","key has expired","key has been revoked","key was rejected by service","owner died","state not recoverable","operation not possible due to RF-kill"]);FS=new GD.ptr(new C.Mutex.ptr(0,0),{},MW,KR);G();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},$init,B,E,F,J,M,N,O,P,Q;B=$pkg.Mutex=$newType(0,$kindStruct,"nosync.Mutex",true,"github.com/gopherjs/gopherjs/nosync",true,function(locked_){this.$val=this;if(arguments.length===0){this.locked=false;return;}this.locked=locked_;});E=$pkg.Once=$newType(0,$kindStruct,"nosync.Once",true,"github.com/gopherjs/gopherjs/nosync",true,function(doing_,done_){this.$val=this;if(arguments.length===0){this.doing=false;this.done=false;return;}this.doing=doing_;this.done=done_;});F=$pkg.Pool=$newType(0,$kindStruct,"nosync.Pool",true,"github.com/gopherjs/gopherjs/nosync",true,function(store_,New_){this.$val=this;if(arguments.length===0){this.store=O.nil;this.New=$throwNilPointerError;return;}this.store=store_;this.New=New_;});J=$ptrType(B);M=$funcType([],[],false);N=$ptrType(E);O=$sliceType($emptyInterface);P=$ptrType(F);Q=$funcType([],[$emptyInterface],false);B.ptr.prototype.Lock=function(){var a;a=this;if(a.locked){$panic(new $String("nosync: mutex is already locked"));}a.locked=true;};B.prototype.Lock=function(){return this.$val.Lock();};B.ptr.prototype.Unlock=function(){var a;a=this;if(!a.locked){$panic(new $String("nosync: unlock of unlocked mutex"));}a.locked=false;};B.prototype.Unlock=function(){return this.$val.Unlock();};E.ptr.prototype.Do=function(a){var a,b,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=[b];b[0]=this;if(b[0].done){$s=-1;return;}if(b[0].doing){$panic(new $String("nosync: Do called within f"));}b[0].doing=true;$deferred.push([(function(b){return function(){b[0].doing=false;b[0].done=true;};})(b),[]]);$r=a();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:E.ptr.prototype.Do};}$f.a=a;$f.b=b;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};E.prototype.Do=function(a){return this.$val.Do(a);};F.ptr.prototype.Get=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.store.$length===0){$s=1;continue;}$s=2;continue;case 1:if(!(a.New===$throwNilPointerError)){$s=3;continue;}$s=4;continue;case 3:b=a.New();$s=5;case 5:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;case 4:$s=-1;return $ifaceNil;case 2:e=(c=a.store,d=a.store.$length-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));a.store=$subslice(a.store,0,(a.store.$length-1>>0));$s=-1;return e;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Get};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Get=function(){return this.$val.Get();};F.ptr.prototype.Put=function(a){var a,b;b=this;if($interfaceIsEqual(a,$ifaceNil)){return;}b.store=$append(b.store,a);};F.prototype.Put=function(a){return this.$val.Put(a);};J.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];N.methods=[{prop:"Do",name:"Do",pkg:"",typ:$funcType([M],[],false)}];P.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Put",name:"Put",pkg:"",typ:$funcType([$emptyInterface],[],false)}];B.init("github.com/gopherjs/gopherjs/nosync",[{prop:"locked",name:"locked",anonymous:false,exported:false,typ:$Bool,tag:""}]);E.init("github.com/gopherjs/gopherjs/nosync",[{prop:"doing",name:"doing",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"done",name:"done",anonymous:false,exported:false,typ:$Bool,tag:""}]);F.init("github.com/gopherjs/gopherjs/nosync",[{prop:"store",name:"store",anonymous:false,exported:false,typ:O,tag:""},{prop:"New",name:"New",anonymous:false,exported:true,typ:Q,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["time"]=(function(){var $pkg={},$init,C,B,E,A,D,G,AF,AX,BM,BN,BP,BT,CJ,CK,CL,DI,DJ,DK,DM,DO,DP,DQ,DR,DS,DT,DU,DW,DY,DZ,EA,EB,EC,EE,R,U,V,W,X,AB,AE,AR,AU,BO,BQ,CA,CM,DG,CN,DH,CO,CQ,CY,DE,F,H,I,J,L,M,Q,S,T,Y,Z,AA,AC,AD,AG,AH,AI,AJ,AK,AL,AN,AO,AP,AQ,AS,AT,AV,AW,AY,AZ,BB,BC,BR,BS,BU,BV,BW,BY,BZ,CB,CC,CD,CE,CF,CG,CH,CI,CP;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];A=$packages["runtime"];D=$packages["syscall"];G=$pkg.runtimeTimer=$newType(0,$kindStruct,"time.runtimeTimer",true,"time",false,function(i_,when_,period_,f_,arg_,timeout_,active_){this.$val=this;if(arguments.length===0){this.i=0;this.when=new $Int64(0,0);this.period=new $Int64(0,0);this.f=$throwNilPointerError;this.arg=$ifaceNil;this.timeout=null;this.active=false;return;}this.i=i_;this.when=when_;this.period=period_;this.f=f_;this.arg=arg_;this.timeout=timeout_;this.active=active_;});AF=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError",true,"time",true,function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;if(arguments.length===0){this.Layout="";this.Value="";this.LayoutElem="";this.ValueElem="";this.Message="";return;}this.Layout=Layout_;this.Value=Value_;this.LayoutElem=LayoutElem_;this.ValueElem=ValueElem_;this.Message=Message_;});AX=$pkg.Timer=$newType(0,$kindStruct,"time.Timer",true,"time",true,function(C_,r_){this.$val=this;if(arguments.length===0){this.C=$chanNil;this.r=new G.ptr(0,new $Int64(0,0),new $Int64(0,0),$throwNilPointerError,$ifaceNil,null,false);return;}this.C=C_;this.r=r_;});BM=$pkg.Time=$newType(0,$kindStruct,"time.Time",true,"time",true,function(wall_,ext_,loc_){this.$val=this;if(arguments.length===0){this.wall=new $Uint64(0,0);this.ext=new $Int64(0,0);this.loc=DS.nil;return;}this.wall=wall_;this.ext=ext_;this.loc=loc_;});BN=$pkg.Month=$newType(4,$kindInt,"time.Month",true,"time",true,null);BP=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday",true,"time",true,null);BT=$pkg.Duration=$newType(8,$kindInt64,"time.Duration",true,"time",true,null);CJ=$pkg.Location=$newType(0,$kindStruct,"time.Location",true,"time",true,function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;if(arguments.length===0){this.name="";this.zone=DI.nil;this.tx=DJ.nil;this.cacheStart=new $Int64(0,0);this.cacheEnd=new $Int64(0,0);this.cacheZone=DK.nil;return;}this.name=name_;this.zone=zone_;this.tx=tx_;this.cacheStart=cacheStart_;this.cacheEnd=cacheEnd_;this.cacheZone=cacheZone_;});CK=$pkg.zone=$newType(0,$kindStruct,"time.zone",true,"time",false,function(name_,offset_,isDST_){this.$val=this;if(arguments.length===0){this.name="";this.offset=0;this.isDST=false;return;}this.name=name_;this.offset=offset_;this.isDST=isDST_;});CL=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans",true,"time",false,function(when_,index_,isstd_,isutc_){this.$val=this;if(arguments.length===0){this.when=new $Int64(0,0);this.index=0;this.isstd=false;this.isutc=false;return;}this.when=when_;this.index=index_;this.isstd=isstd_;this.isutc=isutc_;});DI=$sliceType(CK);DJ=$sliceType(CL);DK=$ptrType(CK);DM=$sliceType($String);DO=$arrayType($Uint8,20);DP=$sliceType($Uint8);DQ=$arrayType($Uint8,9);DR=$arrayType($Uint8,64);DS=$ptrType(CJ);DT=$chanType(BM,false,false);DU=$funcType([],[],false);DW=$arrayType($Uint8,32);DY=$funcType([$emptyInterface,$Uintptr],[],false);DZ=$ptrType(B.Object);EA=$ptrType(AF);EB=$ptrType(AX);EC=$chanType(BM,false,true);EE=$ptrType(BM);F=function(){$unused(CE(new $Int64(0,0),new $Int64(0,0)));};H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=Q(l,40);n=Q(l,41);if((m===-1)||(n===-1)){CN.name="UTC";return;}CN.name=$substring(l,(m+1>>0),n);CN.zone=new DI([new CK.ptr(CN.name,$imul(($parseInt(k.getTimezoneOffset())>>0),-60),false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k,l,m,n,o,p,q,r;k=new $Int64(0,0);l=0;m=new $Int64(0,0);n=I();o=$div64(n,new $Int64(0,1000000000),false);p=(((q=$div64(n,new $Int64(0,1000000000),true),q.$low+((q.$high>>31)*4294967296))>>0));r=n;k=o;l=p;m=r;return[k,l,m];};L=function(k){var k,l,m,n;k.active=true;n=$div64(((l=k.when,m=I(),new $Int64(l.$high-m.$high,l.$low-m.$low))),new $Int64(0,1000000),false);if((n.$high>0||(n.$high===0&&n.$low>2147483647))){return;}if((n.$high<0||(n.$high===0&&n.$low<0))){n=new $Int64(0,0);}k.timeout=$setTimeout((function(){var o,p,q;k.active=false;if(!((o=k.period,(o.$high===0&&o.$low===0)))){k.when=(p=k.when,q=k.period,new $Int64(p.$high+q.$high,p.$low+q.$low));L(k);}$go(k.f,[k.arg,0]);}),$externalize(new $Int64(n.$high+0,n.$low+1),$Int64));};M=function(k){var k,l;$global.clearTimeout(k.timeout);l=k.active;k.active=false;return l;};Q=function(k,l){var k,l;return $parseInt(k.indexOf($global.String.fromCharCode(l)))>>0;};S=function(k){var k,l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};T=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l="";m=0;n="";o=0;while(true){if(!(o<k.length)){break;}p=((k.charCodeAt(o)>>0));q=p;if(q===(74)){if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="January"){r=$substring(k,0,o);s=257;t=$substring(k,(o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!S($substring(k,(o+3>>0)))){u=$substring(k,0,o);v=258;w=$substring(k,(o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===(77)){if(k.length>=(o+3>>0)){if($substring(k,o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="Monday"){x=$substring(k,0,o);y=261;z=$substring(k,(o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!S($substring(k,(o+3>>0)))){aa=$substring(k,0,o);ab=262;ac=$substring(k,(o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if($substring(k,o,(o+3>>0))==="MST"){ad=$substring(k,0,o);ae=21;af=$substring(k,(o+3>>0));l=ad;m=ae;n=af;return[l,m,n];}}}else if(q===(48)){if(k.length>=(o+2>>0)&&49<=k.charCodeAt((o+1>>0))&&k.charCodeAt((o+1>>0))<=54){ag=$substring(k,0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=R.length)?($throwRuntimeError("index out of range"),undefined):R[ai]));aj=$substring(k,(o+2>>0));l=ag;m=ah;n=aj;return[l,m,n];}}else if(q===(49)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===53)){ak=$substring(k,0,o);al=522;am=$substring(k,(o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=$substring(k,0,o);ao=259;ap=$substring(k,(o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===(50)){if(k.length>=(o+4>>0)&&$substring(k,o,(o+4>>0))==="2006"){aq=$substring(k,0,o);ar=273;as=$substring(k,(o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=$substring(k,0,o);au=263;av=$substring(k,(o+1>>0));l=at;m=au;n=av;return[l,m,n];}else if(q===(95)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===50)){if(k.length>=(o+5>>0)&&$substring(k,(o+1>>0),(o+5>>0))==="2006"){aw=$substring(k,0,(o+1>>0));ax=273;ay=$substring(k,(o+5>>0));l=aw;m=ax;n=ay;return[l,m,n];}az=$substring(k,0,o);ba=264;bb=$substring(k,(o+2>>0));l=az;m=ba;n=bb;return[l,m,n];}}else if(q===(51)){bc=$substring(k,0,o);bd=523;be=$substring(k,(o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===(52)){bf=$substring(k,0,o);bg=525;bh=$substring(k,(o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===(53)){bi=$substring(k,0,o);bj=527;bk=$substring(k,(o+1>>0));l=bi;m=bj;n=bk;return[l,m,n];}else if(q===(80)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bl=$substring(k,0,o);bm=531;bn=$substring(k,(o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===(112)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bo=$substring(k,0,o);bp=532;bq=$substring(k,(o+2>>0));l=bo;m=bp;n=bq;return[l,m,n];}}else if(q===(45)){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="-070000"){br=$substring(k,0,o);bs=28;bt=$substring(k,(o+7>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+9>>0)&&$substring(k,o,(o+9>>0))==="-07:00:00"){bu=$substring(k,0,o);bv=31;bw=$substring(k,(o+9>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+5>>0)&&$substring(k,o,(o+5>>0))==="-0700"){bx=$substring(k,0,o);by=27;bz=$substring(k,(o+5>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="-07:00"){ca=$substring(k,0,o);cb=30;cc=$substring(k,(o+6>>0));l=ca;m=cb;n=cc;return[l,m,n];}if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="-07"){cd=$substring(k,0,o);ce=29;cf=$substring(k,(o+3>>0));l=cd;m=ce;n=cf;return[l,m,n];}}else if(q===(90)){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="Z070000"){cg=$substring(k,0,o);ch=23;ci=$substring(k,(o+7>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+9>>0)&&$substring(k,o,(o+9>>0))==="Z07:00:00"){cj=$substring(k,0,o);ck=26;cl=$substring(k,(o+9>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+5>>0)&&$substring(k,o,(o+5>>0))==="Z0700"){cm=$substring(k,0,o);cn=22;co=$substring(k,(o+5>>0));l=cm;m=cn;n=co;return[l,m,n];}if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="Z07:00"){cp=$substring(k,0,o);cq=25;cr=$substring(k,(o+6>>0));l=cp;m=cq;n=cr;return[l,m,n];}if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="Z07"){cs=$substring(k,0,o);ct=24;cu=$substring(k,(o+3>>0));l=cs;m=ct;n=cu;return[l,m,n];}}else if(q===(46)){if((o+1>>0)<k.length&&((k.charCodeAt((o+1>>0))===48)||(k.charCodeAt((o+1>>0))===57))){cv=k.charCodeAt((o+1>>0));cw=o+1>>0;while(true){if(!(cw<k.length&&(k.charCodeAt(cw)===cv))){break;}cw=cw+(1)>>0;}if(!AH(k,cw)){cx=32;if(k.charCodeAt((o+1>>0))===57){cx=33;}cx=cx|((((cw-((o+1>>0))>>0))<<16>>0));cy=$substring(k,0,o);cz=cx;da=$substring(k,cw);l=cy;m=cz;n=da;return[l,m,n];}}}o=o+(1)>>0;}db=k;dc=0;dd="";l=db;m=dc;n=dd;return[l,m,n];};Y=function(k,l){var k,l,m,n,o;m=0;while(true){if(!(m<k.length)){break;}n=k.charCodeAt(m);o=l.charCodeAt(m);if(!((n===o))){n=(n|(32))>>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};Z=function(k,l){var k,l,m,n,o,p;m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);if(l.length>=p.length&&Y($substring(l,0,p.length),p)){return[o,$substring(l,p.length),$ifaceNil];}n++;}return[-1,l,AE];};AA=function(k,l,m){var k,l,m,n,o,p,q,r,s;n=((l>>>0));if(l<0){k=$append(k,45);n=((-l>>>0));}o=DO.zero();p=20;while(true){if(!(n>=10)){break;}p=p-(1)>>0;r=(q=n/10,(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"));((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p]=((((48+n>>>0)-(r*10>>>0)>>>0)<<24>>>24)));n=r;}p=p-(1)>>0;((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p]=(((48+n>>>0)<<24>>>24)));s=20-p>>0;while(true){if(!(s<m)){break;}k=$append(k,48);s=s+(1)>>0;}return $appendSlice(k,$subslice(new DP(o),p));};AC=function(k){var k,l,m,n,o,p,q,r,s,t,u;l=0;m=$ifaceNil;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=$substring(k,1);}o=AS(k);p=o[0];q=o[1];m=o[2];l=(((p.$low+((p.$high>>31)*4294967296))>>0));if(!($interfaceIsEqual(m,$ifaceNil))||!(q==="")){r=0;s=AB;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};AD=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t;o=l;p=DQ.zero();q=9;while(true){if(!(q>0)){break;}q=q-(1)>>0;((q<0||q>=p.length)?($throwRuntimeError("index out of range"),undefined):p[q]=((((r=o%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24)));o=(s=o/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}if(m>9){m=9;}if(n){while(true){if(!(m>0&&((t=m-1>>0,((t<0||t>=p.length)?($throwRuntimeError("index out of range"),undefined):p[t]))===48))){break;}m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DP(p),0,m));};BM.ptr.prototype.String=function(){var aa,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).Format("2006-01-02 15:04:05.999999999 -0700 MST");$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(!((n=(o=k.wall,new $Uint64(o.$high&2147483648,(o.$low&0)>>>0)),(n.$high===0&&n.$low===0)))){q=((p=k.ext,new $Uint64(p.$high,p.$low)));r=43;if((s=k.ext,(s.$high<0||(s.$high===0&&s.$low<0)))){r=45;q=new $Uint64(-q.$high,-q.$low);}t=$div64(q,new $Uint64(0,1000000000),false);u=$div64(q,new $Uint64(0,1000000000),true);v=t;q=u;w=$div64(v,new $Uint64(0,1000000000),false);x=$div64(v,new $Uint64(0,1000000000),true);y=w;v=x;z=DP.nil;z=$appendSlice(z," m=");z=$append(z,r);aa=0;if(!((y.$high===0&&y.$low===0))){z=AA(z,((y.$low>>0)),0);aa=9;}z=AA(z,((v.$low>>0)),aa);z=$append(z,46);z=AA(z,((q.$low>>0)),9);m=m+(($bytesToString(z)));}$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.String};}$f.aa=aa;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.String=function(){return this.$val.String();};BM.ptr.prototype.Format=function(k){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=DP.nil;n=k.length+10>>0;if(n<64){o=DR.zero();m=$subslice(new DP(o),0,0);}else{m=$makeSlice(DP,0,n);}p=$clone(l,BM).AppendFormat(m,k);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}m=p;$s=-1;return($bytesToString(m));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Format};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Format=function(k){return this.$val.Format(k);};BM.ptr.prototype.AppendFormat=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=this;o=$clone(m,BM).locabs();$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];r=n[2];s=-1;t=0;u=0;v=-1;w=0;x=0;while(true){if(!(!(l===""))){break;}y=T(l);z=y[0];aa=y[1];ab=y[2];if(!(z==="")){k=$appendSlice(k,z);}if(aa===0){break;}l=ab;if(s<0&&!(((aa&256)===0))){ac=BZ(r,true);s=ac[0];t=ac[1];u=ac[2];}if(v<0&&!(((aa&512)===0))){ad=BS(r);v=ad[0];w=ad[1];x=ad[2];}switch(0){default:ae=aa&65535;if(ae===(274)){af=s;if(af<0){af=-af;}k=AA(k,(ag=af%100,ag===ag?ag:$throwRuntimeError("integer divide by zero")),2);}else if(ae===(273)){k=AA(k,s,4);}else if(ae===(258)){k=$appendSlice(k,$substring(new BN(t).String(),0,3));}else if(ae===(257)){ah=new BN(t).String();k=$appendSlice(k,ah);}else if(ae===(259)){k=AA(k,((t>>0)),0);}else if(ae===(260)){k=AA(k,((t>>0)),2);}else if(ae===(262)){k=$appendSlice(k,$substring(new BP(BR(r)).String(),0,3));}else if(ae===(261)){ai=new BP(BR(r)).String();k=$appendSlice(k,ai);}else if(ae===(263)){k=AA(k,u,0);}else if(ae===(264)){if(u<10){k=$append(k,32);}k=AA(k,u,0);}else if(ae===(265)){k=AA(k,u,2);}else if(ae===(522)){k=AA(k,v,2);}else if(ae===(523)){ak=(aj=v%12,aj===aj?aj:$throwRuntimeError("integer divide by zero"));if(ak===0){ak=12;}k=AA(k,ak,0);}else if(ae===(524)){am=(al=v%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}k=AA(k,am,2);}else if(ae===(525)){k=AA(k,w,0);}else if(ae===(526)){k=AA(k,w,2);}else if(ae===(527)){k=AA(k,x,0);}else if(ae===(528)){k=AA(k,x,2);}else if(ae===(531)){if(v>=12){k=$appendSlice(k,"PM");}else{k=$appendSlice(k,"AM");}}else if(ae===(532)){if(v>=12){k=$appendSlice(k,"pm");}else{k=$appendSlice(k,"am");}}else if((ae===(22))||(ae===(25))||(ae===(23))||(ae===(24))||(ae===(26))||(ae===(27))||(ae===(30))||(ae===(28))||(ae===(29))||(ae===(31))){if((q===0)&&((aa===22)||(aa===25)||(aa===23)||(aa===24)||(aa===26))){k=$append(k,90);break;}ao=(an=q/60,(an===an&&an!==1/0&&an!==-1/0)?an>>0:$throwRuntimeError("integer divide by zero"));ap=q;if(ao<0){k=$append(k,45);ao=-ao;ap=-ap;}else{k=$append(k,43);}k=AA(k,(aq=ao/60,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero")),2);if((aa===25)||(aa===30)||(aa===26)||(aa===31)){k=$append(k,58);}if(!((aa===29))&&!((aa===24))){k=AA(k,(ar=ao%60,ar===ar?ar:$throwRuntimeError("integer divide by zero")),2);}if((aa===23)||(aa===28)||(aa===31)||(aa===26)){if((aa===31)||(aa===26)){k=$append(k,58);}k=AA(k,(as=ap%60,as===as?as:$throwRuntimeError("integer divide by zero")),2);}}else if(ae===(21)){if(!(p==="")){k=$appendSlice(k,p);break;}au=(at=q/60,(at===at&&at!==1/0&&at!==-1/0)?at>>0:$throwRuntimeError("integer divide by zero"));if(au<0){k=$append(k,45);au=-au;}else{k=$append(k,43);}k=AA(k,(av=au/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero")),2);k=AA(k,(aw=au%60,aw===aw?aw:$throwRuntimeError("integer divide by zero")),2);}else if((ae===(32))||(ae===(33))){k=AD(k,(($clone(m,BM).Nanosecond()>>>0)),aa>>16>>0,(aa&65535)===33);}}}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.AppendFormat};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.AppendFormat=function(k,l){return this.$val.AppendFormat(k,l);};AG=function(k){var k;return"\""+k+"\"";};AF.ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AG(k.Value)+" as "+AG(k.Layout)+": cannot parse "+AG(k.ValueElem)+" as "+AG(k.LayoutElem);}return"parsing time "+AG(k.Value)+k.Message;};AF.prototype.Error=function(){return this.$val.Error();};AH=function(k,l){var k,l,m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AI=function(k,l){var k,l;if(!AH(k,0)){return[0,k,AE];}if(!AH(k,1)){if(l){return[0,k,AE];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)),$substring(k,1),$ifaceNil];}return[($imul((((k.charCodeAt(0)-48<<24>>>24)>>0)),10))+(((k.charCodeAt(1)-48<<24>>>24)>>0))>>0,$substring(k,2),$ifaceNil];};AJ=function(k){var k;while(true){if(!(k.length>0&&(k.charCodeAt(0)===32))){break;}k=$substring(k,1);}return k;};AK=function(k,l){var k,l;while(true){if(!(l.length>0)){break;}if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AE];}l=AJ(l);k=AJ(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AE];}l=$substring(l,1);k=$substring(k,1);}return[k,$ifaceNil];};AL=function(k,l){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=AN(k,l,$pkg.UTC,$pkg.Local);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;}return;}if($f===undefined){$f={$blk:AL};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=AL;AN=function(k,l,m,n){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;dt=$f.dt;du=$f.du;dv=$f.dv;dw=$f.dw;dx=$f.dx;dy=$f.dy;dz=$f.dz;ea=$f.ea;eb=$f.eb;ec=$f.ec;ed=$f.ed;ee=$f.ee;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=k;p=l;q=o;r=p;s="";t=false;u=false;v=0;w=1;x=1;y=0;z=0;aa=0;ab=0;ac=DS.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=T(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=$substring(k,ah.length,(k.length-aj.length>>0));al=AK(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";switch(0){default:an=ai&65535;if(an===(274)){if(l.length<2){af=AE;break;}ao=$substring(l,0,2);ap=$substring(l,2);am=ao;l=ap;aq=AC(am);v=aq[0];af=aq[1];if(v>=69){v=v+(1900)>>0;}else{v=v+(2000)>>0;}}else if(an===(273)){if(l.length<4||!AH(l,0)){af=AE;break;}ar=$substring(l,0,4);as=$substring(l,4);am=ar;l=as;at=AC(am);v=at[0];af=at[1];}else if(an===(258)){au=Z(W,l);w=au[0];l=au[1];af=au[2];}else if(an===(257)){av=Z(X,l);w=av[0];l=av[1];af=av[2];}else if((an===(259))||(an===(260))){aw=AI(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||12<w){s="month";}}else if(an===(262)){ax=Z(V,l);l=ax[1];af=ax[2];}else if(an===(261)){ay=Z(U,l);l=ay[1];af=ay[2];}else if((an===(263))||(an===(264))||(an===(265))){if((ai===264)&&l.length>0&&(l.charCodeAt(0)===32)){l=$substring(l,1);}az=AI(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0){s="day";}}else if(an===(522)){ba=AI(l,false);y=ba[0];l=ba[1];af=ba[2];if(y<0||24<=y){s="hour";}}else if((an===(523))||(an===(524))){bb=AI(l,ai===524);y=bb[0];l=bb[1];af=bb[2];if(y<0||12<y){s="hour";}}else if((an===(525))||(an===(526))){bc=AI(l,ai===526);z=bc[0];l=bc[1];af=bc[2];if(z<0||60<=z){s="minute";}}else if((an===(527))||(an===(528))){bd=AI(l,ai===528);aa=bd[0];l=bd[1];af=bd[2];if(aa<0||60<=aa){s="second";break;}if(l.length>=2&&(l.charCodeAt(0)===46)&&AH(l,1)){be=T(k);ai=be[1];ai=ai&(65535);if((ai===32)||(ai===33)){break;}bf=2;while(true){if(!(bf<l.length&&AH(l,bf))){break;}bf=bf+(1)>>0;}bg=AQ(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=$substring(l,bf);}}else if(an===(531)){if(l.length<2){af=AE;break;}bh=$substring(l,0,2);bi=$substring(l,2);am=bh;l=bi;bj=am;if(bj===("PM")){u=true;}else if(bj===("AM")){t=true;}else{af=AE;}}else if(an===(532)){if(l.length<2){af=AE;break;}bk=$substring(l,0,2);bl=$substring(l,2);am=bk;l=bl;bm=am;if(bm===("pm")){u=true;}else if(bm===("am")){t=true;}else{af=AE;}}else if((an===(22))||(an===(25))||(an===(23))||(an===(24))||(an===(26))||(an===(27))||(an===(29))||(an===(30))||(an===(28))||(an===(31))){if(((ai===22)||(ai===24)||(ai===25))&&l.length>=1&&(l.charCodeAt(0)===90)){l=$substring(l,1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===25)||(ai===30)){if(l.length<6){af=AE;break;}if(!((l.charCodeAt(3)===58))){af=AE;break;}bv=$substring(l,0,1);bw=$substring(l,1,3);bx=$substring(l,4,6);by="00";bz=$substring(l,6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if((ai===29)||(ai===24)){if(l.length<3){af=AE;break;}ca=$substring(l,0,1);cb=$substring(l,1,3);cc="00";cd="00";ce=$substring(l,3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===26)||(ai===31)){if(l.length<9){af=AE;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AE;break;}cf=$substring(l,0,1);cg=$substring(l,1,3);ch=$substring(l,4,6);ci=$substring(l,7,9);cj=$substring(l,9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===28)){if(l.length<7){af=AE;break;}ck=$substring(l,0,1);cl=$substring(l,1,3);cm=$substring(l,3,5);cn=$substring(l,5,7);co=$substring(l,7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AE;break;}cp=$substring(l,0,1);cq=$substring(l,1,3);cr=$substring(l,3,5);cs="00";ct=$substring(l,5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=AC(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=AC(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=AC(bu);cz=dc[0];af=dc[1];}ad=($imul(((($imul(cx,60))+cy>>0)),60))+cz>>0;dd=br.charCodeAt(0);if(dd===(43)){}else if(dd===(45)){ad=-ad;}else{af=AE;}}else if(an===(21)){if(l.length>=3&&$substring(l,0,3)==="UTC"){ac=$pkg.UTC;l=$substring(l,3);break;}de=AO(l);df=de[0];dg=de[1];if(!dg){af=AE;break;}dh=$substring(l,0,df);di=$substring(l,df);ae=dh;l=di;}else if(an===(32)){dj=1+((ai>>16>>0))>>0;if(l.length<dj){af=AE;break;}dk=AQ(l,dj);ab=dk[0];s=dk[1];af=dk[2];l=$substring(l,dj);}else if(an===(33)){if(l.length<2||!((l.charCodeAt(0)===46))||l.charCodeAt(1)<48||57<l.charCodeAt(1)){break;}dl=0;while(true){if(!(dl<9&&(dl+1>>0)<l.length&&48<=l.charCodeAt((dl+1>>0))&&l.charCodeAt((dl+1>>0))<=57)){break;}dl=dl+(1)>>0;}dm=AQ(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=$substring(l,(1+dl>>0));}}if(!(s==="")){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(x<1||x>CB(((w>>0)),v)){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,"",l,": day out of range")];}if(!(ac===DS.nil)){$s=1;continue;}$s=2;continue;case 1:dn=CH(v,((w>>0)),x,y,z,aa,ab,ac);$s=3;case 3:if($c){$c=false;dn=dn.$blk();}if(dn&&dn.$blk!==undefined){break s;}$s=-1;return[dn,$ifaceNil];case 2:if(!((ad===-1))){$s=4;continue;}$s=5;continue;case 4:dp=CH(v,((w>>0)),x,y,z,aa,ab,$pkg.UTC);$s=6;case 6:if($c){$c=false;dp=dp.$blk();}if(dp&&dp.$blk!==undefined){break s;}dq=$clone(dp,BM);dq.addSec((dr=(new $Int64(0,ad)),new $Int64(-dr.$high,-dr.$low)));dt=n.lookup(dq.unixSec());$s=7;case 7:if($c){$c=false;dt=dt.$blk();}if(dt&&dt.$blk!==undefined){break s;}ds=dt;du=ds[0];dv=ds[1];if((dv===ad)&&(ae===""||du===ae)){dq.setLoc(n);$s=-1;return[dq,$ifaceNil];}dq.setLoc(CP(ae,ad));$s=-1;return[dq,$ifaceNil];case 5:if(!(ae==="")){$s=8;continue;}$s=9;continue;case 8:dw=CH(v,((w>>0)),x,y,z,aa,ab,$pkg.UTC);$s=10;case 10:if($c){$c=false;dw=dw.$blk();}if(dw&&dw.$blk!==undefined){break s;}dx=$clone(dw,BM);dz=n.lookupName(ae,dx.unixSec());$s=11;case 11:if($c){$c=false;dz=dz.$blk();}if(dz&&dz.$blk!==undefined){break s;}dy=dz;ea=dy[0];eb=dy[2];if(eb){dx.addSec((ec=(new $Int64(0,ea)),new $Int64(-ec.$high,-ec.$low)));dx.setLoc(n);$s=-1;return[dx,$ifaceNil];}if(ae.length>3&&$substring(ae,0,3)==="GMT"){ed=AC($substring(ae,3));ea=ed[0];ea=$imul(ea,(3600));}dx.setLoc(CP(ae,ea));$s=-1;return[dx,$ifaceNil];case 9:ee=CH(v,((w>>0)),x,y,z,aa,ab,m);$s=12;case 12:if($c){$c=false;ee=ee.$blk();}if(ee&&ee.$blk!==undefined){break s;}$s=-1;return[ee,$ifaceNil];}return;}if($f===undefined){$f={$blk:AN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.dt=dt;$f.du=du;$f.dv=dv;$f.dw=dw;$f.dx=dx;$f.dy=dy;$f.dz=dz;$f.ea=ea;$f.eb=eb;$f.ec=ec;$f.ed=ed;$f.ee=ee;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AO=function(k){var aa,ab,ac,ad,ae,af,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=0;m=false;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&($substring(k,0,4)==="ChST"||$substring(k,0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if($substring(k,0,3)==="GMT"){l=AP(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(true){if(!(t<6)){break;}if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90<u){break;}t=t+(1)>>0;}v=t;if((v===(0))||(v===(1))||(v===(2))||(v===(6))){w=0;x=false;l=w;m=x;return[l,m];}else if(v===(5)){if(k.charCodeAt(4)===84){y=5;z=true;l=y;m=z;return[l,m];}}else if(v===(4)){if((k.charCodeAt(3)===84)||$substring(k,0,4)==="WITA"){aa=4;ab=true;l=aa;m=ab;return[l,m];}}else if(v===(3)){ac=3;ad=true;l=ac;m=ad;return[l,m];}ae=0;af=false;l=ae;m=af;return[l,m];};AP=function(k){var k,l,m,n,o,p;k=$substring(k,3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AS($substring(k,1));n=m[0];o=m[1];p=m[2];if(!($interfaceIsEqual(p,$ifaceNil))){return 3;}if(l===45){n=new $Int64(-n.$high,-n.$low);}if((n.$high===0&&n.$low===0)||(n.$high<-1||(n.$high===-1&&n.$low<4294967282))||(0<n.$high||(0===n.$high&&12<n.$low))){return 3;}return(3+k.length>>0)-o.length>>0;};AQ=function(k,l){var k,l,m,n,o,p,q,r;m=0;n="";o=$ifaceNil;if(!((k.charCodeAt(0)===46))){o=AE;return[m,n,o];}p=AC($substring(k,1,l));m=p[0];o=p[1];if(!($interfaceIsEqual(o,$ifaceNil))){return[m,n,o];}if(m<0||1000000000<=m){n="fractional second";return[m,n,o];}q=10-l>>0;r=0;while(true){if(!(r<q)){break;}m=$imul(m,(10));r=r+(1)>>0;}return[m,n,o];};AS=function(k){var aa,ab,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=new $Int64(0,0);m="";n=$ifaceNil;o=0;while(true){if(!(o<k.length)){break;}p=k.charCodeAt(o);if(p<48||p>57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>3435973836))){q=new $Int64(0,0);r="";s=AR;l=q;m=r;n=s;return[l,m,n];}l=(t=(u=$mul64(l,new $Int64(0,10)),v=(new $Int64(0,p)),new $Int64(u.$high+v.$high,u.$low+v.$low)),new $Int64(t.$high-0,t.$low-48));if((l.$high<0||(l.$high===0&&l.$low<0))){w=new $Int64(0,0);x="";y=AR;l=w;m=x;n=y;return[l,m,n];}o=o+(1)>>0;}z=l;aa=$substring(k,o);ab=$ifaceNil;l=z;m=aa;n=ab;return[l,m,n];};AT=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x;l=new $Int64(0,0);m=0;n="";o=0;m=1;p=false;while(true){if(!(o<k.length)){break;}q=k.charCodeAt(o);if(q<48||q>57){break;}if(p){o=o+(1)>>0;continue;}if((l.$high>214748364||(l.$high===214748364&&l.$low>3435973836))){p=true;o=o+(1)>>0;continue;}u=(r=(s=$mul64(l,new $Int64(0,10)),t=(new $Int64(0,q)),new $Int64(s.$high+t.$high,s.$low+t.$low)),new $Int64(r.$high-0,r.$low-48));if((u.$high<0||(u.$high===0&&u.$low<0))){p=true;o=o+(1)>>0;continue;}l=u;m=m*(10);o=o+(1)>>0;}v=l;w=m;x=$substring(k,o);l=v;m=w;n=x;return[l,m,n];};AV=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=k;m=new $Int64(0,0);n=false;if(!(k==="")){o=k.charCodeAt(0);if((o===45)||(o===43)){n=o===45;k=$substring(k,1);}}if(k==="0"){return[new BT(0,0),$ifaceNil];}if(k===""){return[new BT(0,0),C.New("time: invalid duration "+l)];}while(true){if(!(!(k===""))){break;}p=new $Int64(0,0);q=new $Int64(0,0);r=p;s=q;t=1;u=$ifaceNil;if(!((k.charCodeAt(0)===46)||48<=k.charCodeAt(0)&&k.charCodeAt(0)<=57)){return[new BT(0,0),C.New("time: invalid duration "+l)];}v=k.length;w=AS(k);r=w[0];k=w[1];u=w[2];if(!($interfaceIsEqual(u,$ifaceNil))){return[new BT(0,0),C.New("time: invalid duration "+l)];}x=!((v===k.length));y=false;if(!(k==="")&&(k.charCodeAt(0)===46)){k=$substring(k,1);z=k.length;aa=AT(k);s=aa[0];t=aa[1];k=aa[2];y=!((z===k.length));}if(!x&&!y){return[new BT(0,0),C.New("time: invalid duration "+l)];}ab=0;while(true){if(!(ab<k.length)){break;}ac=k.charCodeAt(ab);if((ac===46)||48<=ac&&ac<=57){break;}ab=ab+(1)>>0;}if(ab===0){return[new BT(0,0),C.New("time: missing unit in duration "+l)];}ad=$substring(k,0,ab);k=$substring(k,ab);ae=(af=AU[$String.keyFor(ad)],af!==undefined?[af.v,true]:[new $Int64(0,0),false]);ag=ae[0];ah=ae[1];if(!ah){return[new BT(0,0),C.New("time: unknown unit "+ad+" in duration "+l)];}if((ai=$div64(new $Int64(2147483647,4294967295),ag,false),(r.$high>ai.$high||(r.$high===ai.$high&&r.$low>ai.$low)))){return[new BT(0,0),C.New("time: invalid duration "+l)];}r=$mul64(r,(ag));if((s.$high>0||(s.$high===0&&s.$low>0))){r=(aj=(new $Int64(0,($flatten64(s))*(($flatten64(ag))/t))),new $Int64(r.$high+aj.$high,r.$low+aj.$low));if((r.$high<0||(r.$high===0&&r.$low<0))){return[new BT(0,0),C.New("time: invalid duration "+l)];}}m=(ak=r,new $Int64(m.$high+ak.$high,m.$low+ak.$low));if((m.$high<0||(m.$high===0&&m.$low<0))){return[new BT(0,0),C.New("time: invalid duration "+l)];}}if(n){m=new $Int64(-m.$high,-m.$low);}return[(new BT(m.$high,m.$low)),$ifaceNil];};$pkg.ParseDuration=AV;AW=function(k){var k,l,m,n;if((k.$high<0||(k.$high===0&&k.$low<=0))){return I();}n=(l=I(),m=(new $Int64(k.$high,k.$low)),new $Int64(l.$high+m.$high,l.$low+m.$low));if((n.$high<0||(n.$high===0&&n.$low<0))){n=new $Int64(2147483647,4294967295);}return n;};AX.ptr.prototype.Stop=function(){var k;k=this;if(k.r.f===$throwNilPointerError){$panic(new $String("time: Stop called on uninitialized Timer"));}return M(k.r);};AX.prototype.Stop=function(){return this.$val.Stop();};AY=function(k){var k,l,m;l=new $Chan(BM,1);m=new AX.ptr(l,new G.ptr(0,AW(k),new $Int64(0,0),AZ,new DT(l),null,false));L(m.r);return m;};$pkg.NewTimer=AY;AX.ptr.prototype.Reset=function(k){var k,l,m,n;l=this;if(l.r.f===$throwNilPointerError){$panic(new $String("time: Reset called on uninitialized Timer"));}m=AW(k);n=M(l.r);l.r.when=m;L(l.r);return n;};AX.prototype.Reset=function(k){return this.$val.Reset(k);};AZ=function(k,l){var k,l,m,$r;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$r=$f.$r;}m=$select([[$assertType(k,DT),$clone(CC(),BM)],[]]);if(m[0]===0){}else if(m[0]===1){}if($f===undefined){$f={$blk:AZ};}$f.k=k;$f.l=l;$f.m=m;$f.$r=$r;return $f;};BB=function(k,l){var k,l,m;m=new AX.ptr($chanNil,new G.ptr(0,AW(k),new $Int64(0,0),BC,new DU(l),null,false));L(m.r);return m;};$pkg.AfterFunc=BB;BC=function(k,l){var k,l;$go($assertType(k,DU),[]);};BM.ptr.prototype.nsec=function(){var k,l;k=this;return(((l=k.wall,new $Uint64(l.$high&0,(l.$low&1073741823)>>>0)).$low>>0));};BM.prototype.nsec=function(){return this.$val.nsec();};BM.ptr.prototype.sec=function(){var k,l,m,n,o;k=this;if(!((l=(m=k.wall,new $Uint64(m.$high&2147483648,(m.$low&0)>>>0)),(l.$high===0&&l.$low===0)))){return(n=((o=$shiftRightUint64($shiftLeft64(k.wall,1),31),new $Int64(o.$high,o.$low))),new $Int64(13+n.$high,3618733952+n.$low));}return(k.ext);};BM.prototype.sec=function(){return this.$val.sec();};BM.ptr.prototype.unixSec=function(){var k,l;k=this;return(l=k.sec(),new $Int64(l.$high+-15,l.$low+2288912640));};BM.prototype.unixSec=function(){return this.$val.unixSec();};BM.ptr.prototype.addSec=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w;l=this;if(!((m=(n=l.wall,new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){p=((o=$shiftRightUint64($shiftLeft64(l.wall,1),31),new $Int64(o.$high,o.$low)));q=new $Int64(p.$high+k.$high,p.$low+k.$low);if((0<q.$high||(0===q.$high&&0<=q.$low))&&(q.$high<1||(q.$high===1&&q.$low<=4294967295))){l.wall=(r=(s=(t=l.wall,new $Uint64(t.$high&0,(t.$low&1073741823)>>>0)),u=$shiftLeft64((new $Uint64(q.$high,q.$low)),30),new $Uint64(s.$high|u.$high,(s.$low|u.$low)>>>0)),new $Uint64(r.$high|2147483648,(r.$low|0)>>>0));return;}l.stripMono();}l.ext=(v=l.ext,w=k,new $Int64(v.$high+w.$high,v.$low+w.$low));};BM.prototype.addSec=function(k){return this.$val.addSec(k);};BM.ptr.prototype.setLoc=function(k){var k,l;l=this;if(k===CM){k=DS.nil;}l.stripMono();l.loc=k;};BM.prototype.setLoc=function(k){return this.$val.setLoc(k);};BM.ptr.prototype.stripMono=function(){var k,l,m,n,o;k=this;if(!((l=(m=k.wall,new $Uint64(m.$high&2147483648,(m.$low&0)>>>0)),(l.$high===0&&l.$low===0)))){k.ext=k.sec();k.wall=(n=k.wall,o=new $Uint64(0,1073741823),new $Uint64(n.$high&o.$high,(n.$low&o.$low)>>>0));}};BM.prototype.stripMono=function(){return this.$val.stripMono();};BM.ptr.prototype.After=function(k){var k,l,m,n,o,p,q,r,s,t;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high>r.$high||(q.$high===r.$high&&q.$low>r.$low)));}s=l.sec();t=k.sec();return(s.$high>t.$high||(s.$high===t.$high&&s.$low>t.$low))||(s.$high===t.$high&&s.$low===t.$low)&&l.nsec()>k.nsec();};BM.prototype.After=function(k){return this.$val.After(k);};BM.ptr.prototype.Before=function(k){var k,l,m,n,o,p,q,r,s,t,u,v;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high<r.$high||(q.$high===r.$high&&q.$low<r.$low)));}return(s=l.sec(),t=k.sec(),(s.$high<t.$high||(s.$high===t.$high&&s.$low<t.$low)))||(u=l.sec(),v=k.sec(),(u.$high===v.$high&&u.$low===v.$low))&&l.nsec()<k.nsec();};BM.prototype.Before=function(k){return this.$val.Before(k);};BM.ptr.prototype.Equal=function(k){var k,l,m,n,o,p,q,r,s,t;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high===r.$high&&q.$low===r.$low));}return(s=l.sec(),t=k.sec(),(s.$high===t.$high&&s.$low===t.$low))&&(l.nsec()===k.nsec());};BM.prototype.Equal=function(k){return this.$val.Equal(k);};BN.prototype.String=function(){var k,l,m,n;k=this.$val;if(1<=k&&k<=12){return(l=k-1>>0,((l<0||l>=BO.length)?($throwRuntimeError("index out of range"),undefined):BO[l]));}m=$makeSlice(DP,20);n=BV(m,(new $Uint64(0,k)));return"%!Month("+($bytesToString($subslice(m,n)))+")";};$ptrType(BN).prototype.String=function(){return new BN(this.$get()).String();};BP.prototype.String=function(){var k;k=this.$val;return((k<0||k>=BQ.length)?($throwRuntimeError("index out of range"),undefined):BQ[k]);};$ptrType(BP).prototype.String=function(){return new BP(this.$get()).String();};BM.ptr.prototype.IsZero=function(){var k,l;k=this;return(l=k.sec(),(l.$high===0&&l.$low===0))&&(k.nsec()===0);};BM.prototype.IsZero=function(){return this.$val.IsZero();};BM.ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=k.loc;if(l===DS.nil||l===CN){$s=1;continue;}$s=2;continue;case 1:m=l.get();$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;case 2:n=k.unixSec();if(!(l===CM)){$s=4;continue;}$s=5;continue;case 4:if(!(l.cacheZone===DK.nil)&&(o=l.cacheStart,(o.$high<n.$high||(o.$high===n.$high&&o.$low<=n.$low)))&&(p=l.cacheEnd,(n.$high<p.$high||(n.$high===p.$high&&n.$low<p.$low)))){$s=6;continue;}$s=7;continue;case 6:n=(q=(new $Int64(0,l.cacheZone.offset)),new $Int64(n.$high+q.$high,n.$low+q.$low));$s=8;continue;case 7:s=l.lookup(n);$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[1];n=(u=(new $Int64(0,t)),new $Int64(n.$high+u.$high,n.$low+u.$low));case 8:case 5:$s=-1;return((v=new $Int64(n.$high+2147483646,n.$low+450480384),new $Uint64(v.$high,v.$low)));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.abs};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.abs=function(){return this.$val.abs();};BM.ptr.prototype.locabs=function(){var k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k="";l=0;m=new $Uint64(0,0);n=this;o=n.loc;if(o===DS.nil||o===CN){$s=1;continue;}$s=2;continue;case 1:p=o.get();$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;case 2:q=n.unixSec();if(!(o===CM)){$s=4;continue;}$s=5;continue;case 4:if(!(o.cacheZone===DK.nil)&&(r=o.cacheStart,(r.$high<q.$high||(r.$high===q.$high&&r.$low<=q.$low)))&&(s=o.cacheEnd,(q.$high<s.$high||(q.$high===s.$high&&q.$low<s.$low)))){$s=7;continue;}$s=8;continue;case 7:k=o.cacheZone.name;l=o.cacheZone.offset;$s=9;continue;case 8:u=o.lookup(q);$s=10;case 10:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;k=t[0];l=t[1];case 9:q=(v=(new $Int64(0,l)),new $Int64(q.$high+v.$high,q.$low+v.$low));$s=6;continue;case 5:k="UTC";case 6:m=((w=new $Int64(q.$high+2147483646,q.$low+450480384),new $Uint64(w.$high,w.$low)));$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.locabs};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.locabs=function(){return this.$val.locabs();};BM.ptr.prototype.Date=function(){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=0;n=this;p=$clone(n,BM).date(true);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;k=o[0];l=o[1];m=o[2];$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Date};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Date=function(){return this.$val.Date();};BM.ptr.prototype.Year=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(false);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];$s=-1;return n;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Year};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Year=function(){return this.$val.Year();};BM.ptr.prototype.Month=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[1];$s=-1;return n;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Month};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Month=function(){return this.$val.Month();};BM.ptr.prototype.Day=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[2];$s=-1;return n;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Day};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Day=function(){return this.$val.Day();};BM.ptr.prototype.Weekday=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=BR(l);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Weekday};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Weekday=function(){return this.$val.Weekday();};BR=function(k){var k,l,m;l=$div64((new $Uint64(k.$high+0,k.$low+86400)),new $Uint64(0,604800),true);return(((m=((l.$low>>0))/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0));};BM.ptr.prototype.ISOWeek=function(){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=this;o=$clone(m,BM).date(true);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;k=n[0];p=n[1];q=n[2];r=n[3];t=$clone(m,BM).Weekday();$s=2;case 2:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=(s=(((t+6>>0)>>0))%7,s===s?s:$throwRuntimeError("integer divide by zero"));l=(v=(((r-u>>0)+7>>0))/7,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"));x=(w=(((u-r>>0)+371>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(1<=x&&x<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((x===4)||((x===5)&&CF(k))){l=l+(1)>>0;}}if((p===12)&&q>=29&&u<3){z=(y=(((u+31>>0)-q>>0))%7,y===y?y:$throwRuntimeError("integer divide by zero"));if(0<=z&&z<=2){k=k+(1)>>0;l=1;}}$s=-1;return[k,l];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.ISOWeek};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BM.ptr.prototype.Clock=function(){var k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=0;n=this;p=$clone(n,BM).abs();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=BS(p);$s=2;case 2:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;k=o[0];l=o[1];m=o[2];$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Clock};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Clock=function(){return this.$val.Clock();};BS=function(k){var k,l,m,n,o,p;l=0;m=0;n=0;n=(($div64(k,new $Uint64(0,86400),true).$low>>0));l=(o=n/3600,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));n=n-(($imul(l,3600)))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-(($imul(m,60)))>>0;return[l,m,n];};BM.ptr.prototype.Hour=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return(l=(($div64(m,new $Uint64(0,86400),true).$low>>0))/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Hour};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Hour=function(){return this.$val.Hour();};BM.ptr.prototype.Minute=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return(l=(($div64(m,new $Uint64(0,3600),true).$low>>0))/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Minute};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Minute=function(){return this.$val.Minute();};BM.ptr.prototype.Second=function(){var k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return(($div64(l,new $Uint64(0,60),true).$low>>0));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Second};}$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Second=function(){return this.$val.Second();};BM.ptr.prototype.Nanosecond=function(){var k;k=this;return((k.nsec()>>0));};BM.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BM.ptr.prototype.YearDay=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(false);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[3];$s=-1;return n+1>>0;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.YearDay};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.YearDay=function(){return this.$val.YearDay();};BT.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=DW.zero();m=32;n=(new $Uint64(k.$high,k.$low));o=(k.$high<0||(k.$high===0&&k.$low<0));if(o){n=new $Uint64(-n.$high,-n.$low);}if((n.$high<0||(n.$high===0&&n.$low<1000000000))){p=0;m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=115);m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0s";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=110);}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DP(l),m),"\xC2\xB5");}else{p=6;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=109);}q=BU($subslice(new DP(l),0,m),n,p);m=q[0];n=q[1];m=BV($subslice(new DP(l),0,m),n);}else{m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=115);r=BU($subslice(new DP(l),0,m),n,9);m=r[0];n=r[1];m=BV($subslice(new DP(l),0,m),$div64(n,new $Uint64(0,60),true));n=$div64(n,(new $Uint64(0,60)),false);if((n.$high>0||(n.$high===0&&n.$low>0))){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=109);m=BV($subslice(new DP(l),0,m),$div64(n,new $Uint64(0,60),true));n=$div64(n,(new $Uint64(0,60)),false);if((n.$high>0||(n.$high===0&&n.$low>0))){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=104);m=BV($subslice(new DP(l),0,m),n);}}}if(o){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=45);}return($bytesToString($subslice(new DP(l),m)));};$ptrType(BT).prototype.String=function(){return this.$get().String();};BU=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u;n=0;o=new $Uint64(0,0);p=k.$length;q=false;r=0;while(true){if(!(r<m)){break;}s=$div64(l,new $Uint64(0,10),true);q=q||!((s.$high===0&&s.$low===0));if(q){p=p-(1)>>0;((p<0||p>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+p]=(((s.$low<<24>>>24))+48<<24>>>24));}l=$div64(l,(new $Uint64(0,10)),false);r=r+(1)>>0;}if(q){p=p-(1)>>0;((p<0||p>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+p]=46);}t=p;u=l;n=t;o=u;return[n,o];};BV=function(k,l){var k,l,m;m=k.$length;if((l.$high===0&&l.$low===0)){m=m-(1)>>0;((m<0||m>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+m]=48);}else{while(true){if(!((l.$high>0||(l.$high===0&&l.$low>0)))){break;}m=m-(1)>>0;((m<0||m>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+m]=((($div64(l,new $Uint64(0,10),true).$low<<24>>>24))+48<<24>>>24));l=$div64(l,(new $Uint64(0,10)),false);}}return m;};BT.prototype.Nanoseconds=function(){var k;k=this;return(new $Int64(k.$high,k.$low));};$ptrType(BT).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BT.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BT(0,1000000000),false);m=$div64(k,new BT(0,1000000000),true);return($flatten64(l))+($flatten64(m))/1e+09;};$ptrType(BT).prototype.Seconds=function(){return this.$get().Seconds();};BT.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BT(13,4165425152),false);m=$div64(k,new BT(13,4165425152),true);return($flatten64(l))+($flatten64(m))/6e+10;};$ptrType(BT).prototype.Minutes=function(){return this.$get().Minutes();};BT.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BT(838,817405952),false);m=$div64(k,new BT(838,817405952),true);return($flatten64(l))+($flatten64(m))/3.6e+12;};$ptrType(BT).prototype.Hours=function(){return this.$get().Hours();};BT.prototype.Truncate=function(k){var k,l,m;l=this;if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}return(m=$div64(l,k,true),new BT(l.$high-m.$high,l.$low-m.$low));};$ptrType(BT).prototype.Truncate=function(k){return this.$get().Truncate(k);};BW=function(k,l){var k,l,m,n,o,p;return(m=(n=(new $Uint64(k.$high,k.$low)),o=(new $Uint64(k.$high,k.$low)),new $Uint64(n.$high+o.$high,n.$low+o.$low)),p=(new $Uint64(l.$high,l.$low)),(m.$high<p.$high||(m.$high===p.$high&&m.$low<p.$low)));};BT.prototype.Round=function(k){var k,l,m,n,o,p,q;l=this;if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=$div64(l,k,true);if((l.$high<0||(l.$high===0&&l.$low<0))){m=new BT(-m.$high,-m.$low);if(BW(m,k)){return new BT(l.$high+m.$high,l.$low+m.$low);}o=(n=new BT(l.$high-k.$high,l.$low-k.$low),new BT(n.$high+m.$high,n.$low+m.$low));if((o.$high<l.$high||(o.$high===l.$high&&o.$low<l.$low))){return o;}return new BT(-2147483648,0);}if(BW(m,k)){return new BT(l.$high-m.$high,l.$low-m.$low);}q=(p=new BT(l.$high+k.$high,l.$low+k.$low),new BT(p.$high-m.$high,p.$low-m.$low));if((q.$high>l.$high||(q.$high===l.$high&&q.$low>l.$low))){return q;}return new BT(2147483647,4294967295);};$ptrType(BT).prototype.Round=function(k){return this.$get().Round(k);};BM.ptr.prototype.Add=function(k){var aa,ab,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=this;n=((m=$div64(k,new BT(0,1000000000),false),new $Int64(m.$high,m.$low)));p=l.nsec()+(((o=$div64(k,new BT(0,1000000000),true),o.$low+((o.$high>>31)*4294967296))>>0))>>0;if(p>=1000000000){n=(q=new $Int64(0,1),new $Int64(n.$high+q.$high,n.$low+q.$low));p=p-(1000000000)>>0;}else if(p<0){n=(r=new $Int64(0,1),new $Int64(n.$high-r.$high,n.$low-r.$low));p=p+(1000000000)>>0;}l.wall=(s=(t=l.wall,new $Uint64(t.$high&~0,(t.$low&~1073741823)>>>0)),u=(new $Uint64(0,p)),new $Uint64(s.$high|u.$high,(s.$low|u.$low)>>>0));l.addSec(n);if(!((v=(w=l.wall,new $Uint64(w.$high&2147483648,(w.$low&0)>>>0)),(v.$high===0&&v.$low===0)))){z=(x=l.ext,y=(new $Int64(k.$high,k.$low)),new $Int64(x.$high+y.$high,x.$low+y.$low));if((k.$high<0||(k.$high===0&&k.$low<0))&&(aa=(l.ext),(z.$high>aa.$high||(z.$high===aa.$high&&z.$low>aa.$low)))||(k.$high>0||(k.$high===0&&k.$low>0))&&(ab=(l.ext),(z.$high<ab.$high||(z.$high===ab.$high&&z.$low<ab.$low)))){l.stripMono();}else{l.ext=z;}}return l;};BM.prototype.Add=function(k){return this.$val.Add(k);};BM.ptr.prototype.Sub=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){q=(l.ext);r=(k.ext);t=((s=new $Int64(q.$high-r.$high,q.$low-r.$low),new BT(s.$high,s.$low)));if((t.$high<0||(t.$high===0&&t.$low<0))&&(q.$high>r.$high||(q.$high===r.$high&&q.$low>r.$low))){return new BT(2147483647,4294967295);}if((t.$high>0||(t.$high===0&&t.$low>0))&&(q.$high<r.$high||(q.$high===r.$high&&q.$low<r.$low))){return new BT(-2147483648,0);}return t;}z=(u=$mul64(((v=(w=l.sec(),x=k.sec(),new $Int64(w.$high-x.$high,w.$low-x.$low)),new BT(v.$high,v.$low))),new BT(0,1000000000)),y=(new BT(0,(l.nsec()-k.nsec()>>0))),new BT(u.$high+y.$high,u.$low+y.$low));if($clone($clone(k,BM).Add(z),BM).Equal($clone(l,BM))){return z;}else if($clone(l,BM).Before($clone(k,BM))){return new BT(-2147483648,0);}else{return new BT(2147483647,4294967295);}};BM.prototype.Sub=function(k){return this.$val.Sub(k);};BY=function(k){var k;return $clone(k,BM).Sub($clone(CC(),BM));};$pkg.Until=BY;BM.ptr.prototype.AddDate=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;p=$clone(n,BM).Date();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];r=o[1];s=o[2];u=$clone(n,BM).Clock();$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];x=t[2];y=CH(q+k>>0,r+((l>>0))>>0,s+m>>0,v,w,x,((n.nsec()>>0)),$clone(n,BM).Location());$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$s=-1;return y;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.AddDate};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BM.ptr.prototype.date=function(k){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=0;m=0;n=0;o=0;p=this;r=$clone(p,BM).abs();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=BZ(r,k);$s=2;case 2:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;l=q[0];m=q[1];n=q[2];o=q[3];$s=-1;return[l,m,n,o];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.date};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.date=function(k){return this.$val.date(k);};BZ=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=0;o=0;p=0;q=$div64(k,new $Uint64(0,86400),false);r=$div64(q,new $Uint64(0,146097),false);s=$mul64(new $Uint64(0,400),r);q=(t=$mul64(new $Uint64(0,146097),r),new $Uint64(q.$high-t.$high,q.$low-t.$low));r=$div64(q,new $Uint64(0,36524),false);r=(u=$shiftRightUint64(r,2),new $Uint64(r.$high-u.$high,r.$low-u.$low));s=(v=$mul64(new $Uint64(0,100),r),new $Uint64(s.$high+v.$high,s.$low+v.$low));q=(w=$mul64(new $Uint64(0,36524),r),new $Uint64(q.$high-w.$high,q.$low-w.$low));r=$div64(q,new $Uint64(0,1461),false);s=(x=$mul64(new $Uint64(0,4),r),new $Uint64(s.$high+x.$high,s.$low+x.$low));q=(y=$mul64(new $Uint64(0,1461),r),new $Uint64(q.$high-y.$high,q.$low-y.$low));r=$div64(q,new $Uint64(0,365),false);r=(z=$shiftRightUint64(r,2),new $Uint64(r.$high-z.$high,r.$low-z.$low));s=(aa=r,new $Uint64(s.$high+aa.$high,s.$low+aa.$low));q=(ab=$mul64(new $Uint64(0,365),r),new $Uint64(q.$high-ab.$high,q.$low-ab.$low));m=(((ac=(ad=(new $Int64(s.$high,s.$low)),new $Int64(ad.$high+-69,ad.$low+4075721025)),ac.$low+((ac.$high>>31)*4294967296))>>0));p=((q.$low>>0));if(!l){return[m,n,o,p];}o=p;if(CF(m)){if(o>59){o=o-(1)>>0;}else if((o===59)){n=2;o=29;return[m,n,o,p];}}n=(((ae=o/31,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>0:$throwRuntimeError("integer divide by zero"))>>0));ag=(((af=n+1>>0,((af<0||af>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[af]))>>0));ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=((((n<0||n>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[n])>>0));}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};CB=function(k,l){var k,l,m;if((k===2)&&CF(l)){return 29;}return(((((k<0||k>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[k])-(m=k-1>>0,((m<0||m>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[m]))>>0)>>0));};CC=function(){var k,l,m,n,o,p,q,r,s;k=J();l=k[0];m=k[1];n=k[2];l=(o=new $Int64(0,2682288000),new $Int64(l.$high+o.$high,l.$low+o.$low));if(!((p=$shiftRightUint64((new $Uint64(l.$high,l.$low)),33),(p.$high===0&&p.$low===0)))){return new BM.ptr((new $Uint64(0,m)),new $Int64(l.$high+13,l.$low+3618733952),$pkg.Local);}return new BM.ptr((q=(r=$shiftLeft64((new $Uint64(l.$high,l.$low)),30),new $Uint64(2147483648|r.$high,(0|r.$low)>>>0)),s=(new $Uint64(0,m)),new $Uint64(q.$high|s.$high,(q.$low|s.$low)>>>0)),n,$pkg.Local);};$pkg.Now=CC;CD=function(k,l){var k,l;return new BM.ptr((new $Uint64(0,l)),new $Int64(k.$high+14,k.$low+2006054656),$pkg.Local);};BM.ptr.prototype.UTC=function(){var k;k=this;k.setLoc(CM);return k;};BM.prototype.UTC=function(){return this.$val.UTC();};BM.ptr.prototype.Local=function(){var k;k=this;k.setLoc($pkg.Local);return k;};BM.prototype.Local=function(){return this.$val.Local();};BM.ptr.prototype.In=function(k){var k,l;l=this;if(k===DS.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.setLoc(k);return l;};BM.prototype.In=function(k){return this.$val.In(k);};BM.ptr.prototype.Location=function(){var k,l;k=this;l=k.loc;if(l===DS.nil){l=$pkg.UTC;}return l;};BM.prototype.Location=function(){return this.$val.Location();};BM.ptr.prototype.Zone=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k="";l=0;m=this;o=m.loc.lookup(m.unixSec());$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;k=n[0];l=n[1];$s=-1;return[k,l];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Zone};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Zone=function(){return this.$val.Zone();};BM.ptr.prototype.Unix=function(){var k;k=this;return k.unixSec();};BM.prototype.Unix=function(){return this.$val.Unix();};BM.ptr.prototype.UnixNano=function(){var k,l,m;k=this;return(l=$mul64((k.unixSec()),new $Int64(0,1000000000)),m=(new $Int64(0,k.nsec())),new $Int64(l.$high+m.$high,l.$low+m.$low));};BM.prototype.UnixNano=function(){return this.$val.UnixNano();};BM.ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=0;if($clone(k,BM).Location()===$pkg.UTC){$s=1;continue;}$s=2;continue;case 1:l=-1;$s=3;continue;case 2:n=$clone(k,BM).Zone();$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[1];if(!(((p=o%60,p===p?p:$throwRuntimeError("integer divide by zero"))===0))){$s=-1;return[DP.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}o=(q=o/(60),(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"));if(o<-32768||(o===-1)||o>32767){$s=-1;return[DP.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=((o<<16>>16));case 3:r=k.sec();s=k.nsec();t=new DP([1,(($shiftRightInt64(r,56).$low<<24>>>24)),(($shiftRightInt64(r,48).$low<<24>>>24)),(($shiftRightInt64(r,40).$low<<24>>>24)),(($shiftRightInt64(r,32).$low<<24>>>24)),(($shiftRightInt64(r,24).$low<<24>>>24)),(($shiftRightInt64(r,16).$low<<24>>>24)),(($shiftRightInt64(r,8).$low<<24>>>24)),((r.$low<<24>>>24)),(((s>>24>>0)<<24>>>24)),(((s>>16>>0)<<24>>>24)),(((s>>8>>0)<<24>>>24)),((s<<24>>>24)),(((l>>8<<16>>16)<<24>>>24)),((l<<24>>>24))]);$s=-1;return[t,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalBinary};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BM.ptr.prototype.UnmarshalBinary=function(k){var aa,ab,ac,ad,ae,af,ag,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=k;if(m.$length===0){$s=-1;return C.New("Time.UnmarshalBinary: no data");}if(!(((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===1))){$s=-1;return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){$s=-1;return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);ab=(n=(o=(p=(q=(r=(s=(t=(new $Int64(0,(7>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+7]))),u=$shiftLeft64((new $Int64(0,(6>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+6]))),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64((new $Int64(0,(5>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+5]))),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64((new $Int64(0,(4>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+4]))),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64((new $Int64(0,(3>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+3]))),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64((new $Int64(0,(2>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+2]))),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64((new $Int64(0,(1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1]))),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Int64(0,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);ac=(((((3>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+3])>>0))|((((2>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+2])>>0))<<8>>0))|((((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])>>0))<<16>>0))|((((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])>>0))<<24>>0);m=$subslice(m,4);ad=$imul(((((((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])<<16>>16))|((((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])<<16>>16))<<8<<16>>16))>>0)),60);BM.copy(l,new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil));l.wall=(new $Uint64(0,ac));l.ext=ab;if(ad===-60){$s=1;continue;}$s=2;continue;case 1:l.setLoc(CM);$s=3;continue;case 2:af=$pkg.Local.lookup(l.unixSec());$s=4;case 4:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ag=ae[1];if(ad===ag){l.setLoc($pkg.Local);}else{l.setLoc(CP("",ad));}case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalBinary};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BM.ptr.prototype.GobEncode=function(){var k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).MarshalBinary();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.GobEncode};}$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.GobEncode=function(){return this.$val.GobEncode();};BM.ptr.prototype.GobDecode=function(k){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=l.UnmarshalBinary(k);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.GobDecode};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BM.ptr.prototype.MarshalJSON=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).Year();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m<0||m>=10000){$s=-1;return[DP.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}n=$makeSlice(DP,0,37);n=$append(n,34);o=$clone(k,BM).AppendFormat(n,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;n=$append(n,34);$s=-1;return[n,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalJSON};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BM.ptr.prototype.UnmarshalJSON=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;if(($bytesToString(k))==="null"){$s=-1;return $ifaceNil;}m=$ifaceNil;o=AL("\"2006-01-02T15:04:05Z07:00\"",($bytesToString(k)));$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;BM.copy(l,n[0]);m=n[1];$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalJSON};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BM.ptr.prototype.MarshalText=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).Year();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m<0||m>=10000){$s=-1;return[DP.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}n=$makeSlice(DP,0,35);o=$clone(k,BM).AppendFormat(n,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$s=-1;return[o,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalText};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalText=function(){return this.$val.MarshalText();};BM.ptr.prototype.UnmarshalText=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=$ifaceNil;o=AL("2006-01-02T15:04:05Z07:00",($bytesToString(k)));$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;BM.copy(l,n[0]);m=n[1];$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalText};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};CE=function(k,l){var k,l,m,n,o,p,q;if((l.$high<0||(l.$high===0&&l.$low<0))||(l.$high>0||(l.$high===0&&l.$low>=1000000000))){m=$div64(l,new $Int64(0,1000000000),false);k=(n=m,new $Int64(k.$high+n.$high,k.$low+n.$low));l=(o=$mul64(m,new $Int64(0,1000000000)),new $Int64(l.$high-o.$high,l.$low-o.$low));if((l.$high<0||(l.$high===0&&l.$low<0))){l=(p=new $Int64(0,1000000000),new $Int64(l.$high+p.$high,l.$low+p.$low));k=(q=new $Int64(0,1),new $Int64(k.$high-q.$high,k.$low-q.$low));}}return CD(k,(((l.$low+((l.$high>>31)*4294967296))>>0)));};$pkg.Unix=CE;CF=function(k){var k,l,m,n;return((l=k%4,l===l?l:$throwRuntimeError("integer divide by zero"))===0)&&(!(((m=k%100,m===m?m:$throwRuntimeError("integer divide by zero"))===0))||((n=k%400,n===n?n:$throwRuntimeError("integer divide by zero"))===0));};CG=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u;n=0;o=0;if(l<0){q=(p=((-l-1>>0))/m,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))+1>>0;k=k-(q)>>0;l=l+(($imul(q,m)))>>0;}if(l>=m){s=(r=l/m,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"));k=k+(s)>>0;l=l-(($imul(s,m)))>>0;}t=k;u=l;n=t;o=u;return[n,o];};CH=function(k,l,m,n,o,p,q,r){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(r===DS.nil){$panic(new $String("time: missing Location in call to Date"));}s=((l>>0))-1>>0;t=CG(k,s,12);k=t[0];s=t[1];l=((s>>0))+1>>0;u=CG(p,q,1000000000);p=u[0];q=u[1];v=CG(o,p,60);o=v[0];p=v[1];w=CG(n,o,60);n=w[0];o=w[1];x=CG(m,n,24);m=x[0];n=x[1];aa=((y=(z=(new $Int64(0,k)),new $Int64(z.$high- -69,z.$low-4075721025)),new $Uint64(y.$high,y.$low)));ab=$div64(aa,new $Uint64(0,400),false);aa=(ac=$mul64(new $Uint64(0,400),ab),new $Uint64(aa.$high-ac.$high,aa.$low-ac.$low));ad=$mul64(new $Uint64(0,146097),ab);ab=$div64(aa,new $Uint64(0,100),false);aa=(ae=$mul64(new $Uint64(0,100),ab),new $Uint64(aa.$high-ae.$high,aa.$low-ae.$low));ad=(af=$mul64(new $Uint64(0,36524),ab),new $Uint64(ad.$high+af.$high,ad.$low+af.$low));ab=$div64(aa,new $Uint64(0,4),false);aa=(ag=$mul64(new $Uint64(0,4),ab),new $Uint64(aa.$high-ag.$high,aa.$low-ag.$low));ad=(ah=$mul64(new $Uint64(0,1461),ab),new $Uint64(ad.$high+ah.$high,ad.$low+ah.$low));ab=aa;ad=(ai=$mul64(new $Uint64(0,365),ab),new $Uint64(ad.$high+ai.$high,ad.$low+ai.$low));ad=(aj=(new $Uint64(0,(ak=l-1>>0,((ak<0||ak>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[ak])))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(CF(k)&&l>=3){ad=(al=new $Uint64(0,1),new $Uint64(ad.$high+al.$high,ad.$low+al.$low));}ad=(am=(new $Uint64(0,(m-1>>0))),new $Uint64(ad.$high+am.$high,ad.$low+am.$low));an=$mul64(ad,new $Uint64(0,86400));an=(ao=(new $Uint64(0,((($imul(n,3600))+($imul(o,60))>>0)+p>>0))),new $Uint64(an.$high+ao.$high,an.$low+ao.$low));aq=(ap=(new $Int64(an.$high,an.$low)),new $Int64(ap.$high+-2147483647,ap.$low+3844486912));as=r.lookup(aq);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;at=ar[1];au=ar[3];av=ar[4];if(!((at===0))){$s=2;continue;}$s=3;continue;case 2:ax=(aw=(new $Int64(0,at)),new $Int64(aq.$high-aw.$high,aq.$low-aw.$low));if((ax.$high<au.$high||(ax.$high===au.$high&&ax.$low<au.$low))){$s=5;continue;}if((ax.$high>av.$high||(ax.$high===av.$high&&ax.$low>=av.$low))){$s=6;continue;}$s=7;continue;case 5:az=r.lookup(new $Int64(au.$high-0,au.$low-1));$s=8;case 8:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;at=ay[1];$s=7;continue;case 6:bb=r.lookup(av);$s=9;case 9:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ba=bb;at=ba[1];case 7:case 4:aq=(bc=(new $Int64(0,at)),new $Int64(aq.$high-bc.$high,aq.$low-bc.$low));case 3:bd=$clone(CD(aq,((q>>0))),BM);bd.setLoc(r);$s=-1;return bd;}return;}if($f===undefined){$f={$blk:CH};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Date=CH;BM.ptr.prototype.Truncate=function(k){var k,l,m,n;l=this;l.stripMono();if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=CI($clone(l,BM),k);n=m[1];return $clone(l,BM).Add(new BT(-n.$high,-n.$low));};BM.prototype.Truncate=function(k){return this.$val.Truncate(k);};BM.ptr.prototype.Round=function(k){var k,l,m,n;l=this;l.stripMono();if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=CI($clone(l,BM),k);n=m[1];if(BW(n,k)){return $clone(l,BM).Add(new BT(-n.$high,-n.$low));}return $clone(l,BM).Add(new BT(k.$high-n.$high,k.$low-n.$low));};BM.prototype.Round=function(k){return this.$val.Round(k);};CI=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=new BT(0,0);o=false;p=k.nsec();q=k.sec();if((q.$high<0||(q.$high===0&&q.$low<0))){o=true;q=new $Int64(-q.$high,-q.$low);p=-p;if(p<0){p=p+(1000000000)>>0;q=(r=new $Int64(0,1),new $Int64(q.$high-r.$high,q.$low-r.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(s=$div64(new BT(0,1000000000),(new BT(l.$high+l.$high,l.$low+l.$low)),true),(s.$high===0&&s.$low===0))){m=(((u=p/(((l.$low+((l.$high>>31)*4294967296))>>0)),(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0))&1;n=(new BT(0,(v=p%(((l.$low+((l.$high>>31)*4294967296))>>0)),v===v?v:$throwRuntimeError("integer divide by zero"))));}else if((t=$div64(l,new BT(0,1000000000),true),(t.$high===0&&t.$low===0))){x=((w=$div64(l,new BT(0,1000000000),false),new $Int64(w.$high,w.$low)));m=(((y=$div64(q,x,false),y.$low+((y.$high>>31)*4294967296))>>0))&1;n=(z=$mul64(((aa=$div64(q,x,true),new BT(aa.$high,aa.$low))),new BT(0,1000000000)),ab=(new BT(0,p)),new BT(z.$high+ab.$high,z.$low+ab.$low));}else{ac=(new $Uint64(q.$high,q.$low));ad=$mul64(($shiftRightUint64(ac,32)),new $Uint64(0,1000000000));ae=$shiftRightUint64(ad,32);af=$shiftLeft64(ad,32);ad=$mul64((new $Uint64(ac.$high&0,(ac.$low&4294967295)>>>0)),new $Uint64(0,1000000000));ag=af;ah=new $Uint64(af.$high+ad.$high,af.$low+ad.$low);ai=ag;af=ah;if((af.$high<ai.$high||(af.$high===ai.$high&&af.$low<ai.$low))){ae=(aj=new $Uint64(0,1),new $Uint64(ae.$high+aj.$high,ae.$low+aj.$low));}ak=af;al=(am=(new $Uint64(0,p)),new $Uint64(af.$high+am.$high,af.$low+am.$low));ai=ak;af=al;if((af.$high<ai.$high||(af.$high===ai.$high&&af.$low<ai.$low))){ae=(an=new $Uint64(0,1),new $Uint64(ae.$high+an.$high,ae.$low+an.$low));}ao=(new $Uint64(l.$high,l.$low));while(true){if(!(!((ap=$shiftRightUint64(ao,63),(ap.$high===0&&ap.$low===1))))){break;}ao=$shiftLeft64(ao,(1));}aq=new $Uint64(0,0);while(true){m=0;if((ae.$high>ao.$high||(ae.$high===ao.$high&&ae.$low>ao.$low))||(ae.$high===ao.$high&&ae.$low===ao.$low)&&(af.$high>aq.$high||(af.$high===aq.$high&&af.$low>=aq.$low))){m=1;ar=af;as=new $Uint64(af.$high-aq.$high,af.$low-aq.$low);ai=ar;af=as;if((af.$high>ai.$high||(af.$high===ai.$high&&af.$low>ai.$low))){ae=(at=new $Uint64(0,1),new $Uint64(ae.$high-at.$high,ae.$low-at.$low));}ae=(au=ao,new $Uint64(ae.$high-au.$high,ae.$low-au.$low));}if((ao.$high===0&&ao.$low===0)&&(av=(new $Uint64(l.$high,l.$low)),(aq.$high===av.$high&&aq.$low===av.$low))){break;}aq=$shiftRightUint64(aq,(1));aq=(aw=$shiftLeft64((new $Uint64(ao.$high&0,(ao.$low&1)>>>0)),63),new $Uint64(aq.$high|aw.$high,(aq.$low|aw.$low)>>>0));ao=$shiftRightUint64(ao,(1));}n=(new BT(af.$high,af.$low));}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BT(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CJ.ptr.prototype.get=function(){var k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;if(k===DS.nil){$s=-1;return CM;}if(k===CN){$s=1;continue;}$s=2;continue;case 1:$r=CO.Do(H);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return k;}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.get};}$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.get=function(){return this.$val.get();};CJ.ptr.prototype.String=function(){var k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=k.get();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l.name;}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.String};}$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.String=function(){return this.$val.String();};CP=function(k,l){var k,l,m,n;m=new CJ.ptr(k,new DI([new CK.ptr(k,l,false)]),new DJ([new CL.ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),DK.nil);m.cacheZone=(n=m.zone,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]));return m;};$pkg.FixedZone=CP;CJ.ptr.prototype.lookup=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l="";m=0;n=false;o=new $Int64(0,0);p=new $Int64(0,0);q=this;r=q.get();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);$s=-1;return[l,m,n,o,p];}s=q.cacheZone;if(!(s===DK.nil)&&(t=q.cacheStart,(t.$high<k.$high||(t.$high===k.$high&&t.$low<=k.$low)))&&(u=q.cacheEnd,(k.$high<u.$high||(k.$high===u.$high&&k.$low<u.$low)))){l=s.name;m=s.offset;n=s.isDST;o=q.cacheStart;p=q.cacheEnd;$s=-1;return[l,m,n,o,p];}if((q.tx.$length===0)||(v=(w=q.tx,(0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0])).when,(k.$high<v.$high||(k.$high===v.$high&&k.$low<v.$low)))){z=(x=q.zone,y=q.lookupFirstZone(),((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]));l=z.name;m=z.offset;n=z.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(aa=q.tx,(0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}$s=-1;return[l,m,n,o,p];}ab=q.tx;p=new $Int64(2147483647,4294967295);ac=0;ad=ab.$length;while(true){if(!((ad-ac>>0)>1)){break;}af=ac+(ae=((ad-ac>>0))/2,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>0:$throwRuntimeError("integer divide by zero"))>>0;ag=((af<0||af>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+af]).when;if((k.$high<ag.$high||(k.$high===ag.$high&&k.$low<ag.$low))){p=ag;ad=af;}else{ac=af;}}aj=(ah=q.zone,ai=((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]).index,((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai]));l=aj.name;m=aj.offset;n=aj.isDST;o=((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]).when;$s=-1;return[l,m,n,o,p];}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.lookup};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.lookup=function(k){return this.$val.lookup(k);};CJ.ptr.prototype.lookupFirstZone=function(){var k,l,m,n,o,p,q,r,s,t,u;k=this;if(!k.firstZoneUsed()){return 0;}if(k.tx.$length>0&&(l=k.zone,m=(n=k.tx,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m])).isDST){p=(((o=k.tx,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])).index>>0))-1>>0;while(true){if(!(p>=0)){break;}if(!(q=k.zone,((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(true){if(!(s<r.$length)){break;}t=s;if(!(u=k.zone,((t<0||t>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CJ.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CJ.ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(true){if(!(m<l.$length)){break;}n=$clone(((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]),CL);if(n.index===0){return true;}m++;}return false;};CJ.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CJ.ptr.prototype.lookupName=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=false;o=false;p=this;q=p.get();$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p.zone;s=0;case 2:if(!(s<r.$length)){$s=3;continue;}t=s;v=(u=p.zone,((t<0||t>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+t]));if(v.name===k){$s=4;continue;}$s=5;continue;case 4:y=p.lookup((x=(new $Int64(0,v.offset)),new $Int64(l.$high-x.$high,l.$low-x.$low)));$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w=y;z=w[0];aa=w[1];ab=w[2];if(z===v.name){ac=aa;ad=ab;ae=true;m=ac;n=ad;o=ae;$s=-1;return[m,n,o];}case 5:s++;$s=2;continue;case 3:af=p.zone;ag=0;while(true){if(!(ag<af.$length)){break;}ah=ag;aj=(ai=p.zone,((ah<0||ah>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+ah]));if(aj.name===k){ak=aj.offset;al=aj.isDST;am=true;m=ak;n=al;o=am;$s=-1;return[m,n,o];}ag++;}$s=-1;return[m,n,o];}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.lookupName};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};EA.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];EB.methods=[{prop:"Stop",name:"Stop",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([BT],[$Bool],false)}];BM.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"AppendFormat",name:"AppendFormat",pkg:"",typ:$funcType([DP,$String],[DP],false)},{prop:"After",name:"After",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Before",name:"Before",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"IsZero",name:"IsZero",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"abs",name:"abs",pkg:"time",typ:$funcType([],[$Uint64],false)},{prop:"locabs",name:"locabs",pkg:"time",typ:$funcType([],[$String,$Int,$Uint64],false)},{prop:"Date",name:"Date",pkg:"",typ:$funcType([],[$Int,BN,$Int],false)},{prop:"Year",name:"Year",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Month",name:"Month",pkg:"",typ:$funcType([],[BN],false)},{prop:"Day",name:"Day",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Weekday",name:"Weekday",pkg:"",typ:$funcType([],[BP],false)},{prop:"ISOWeek",name:"ISOWeek",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Clock",name:"Clock",pkg:"",typ:$funcType([],[$Int,$Int,$Int],false)},{prop:"Hour",name:"Hour",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Minute",name:"Minute",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Second",name:"Second",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Nanosecond",name:"Nanosecond",pkg:"",typ:$funcType([],[$Int],false)},{prop:"YearDay",name:"YearDay",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([BT],[BM],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([BM],[BT],false)},{prop:"AddDate",name:"AddDate",pkg:"",typ:$funcType([$Int,$Int,$Int],[BM],false)},{prop:"date",name:"date",pkg:"time",typ:$funcType([$Bool],[$Int,BN,$Int,$Int],false)},{prop:"UTC",name:"UTC",pkg:"",typ:$funcType([],[BM],false)},{prop:"Local",name:"Local",pkg:"",typ:$funcType([],[BM],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([DS],[BM],false)},{prop:"Location",name:"Location",pkg:"",typ:$funcType([],[DS],false)},{prop:"Zone",name:"Zone",pkg:"",typ:$funcType([],[$String,$Int],false)},{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"UnixNano",name:"UnixNano",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([BT],[BM],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([BT],[BM],false)}];EE.methods=[{prop:"nsec",name:"nsec",pkg:"time",typ:$funcType([],[$Int32],false)},{prop:"sec",name:"sec",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"unixSec",name:"unixSec",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"addSec",name:"addSec",pkg:"time",typ:$funcType([$Int64],[],false)},{prop:"setLoc",name:"setLoc",pkg:"time",typ:$funcType([DS],[],false)},{prop:"stripMono",name:"stripMono",pkg:"time",typ:$funcType([],[],false)},{prop:"setMono",name:"setMono",pkg:"time",typ:$funcType([$Int64],[],false)},{prop:"mono",name:"mono",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([DP],[$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DP],[$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DP],[$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DP],[$error],false)}];BN.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BP.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BT.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Nanoseconds",name:"Nanoseconds",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seconds",name:"Seconds",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Minutes",name:"Minutes",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Hours",name:"Hours",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([BT],[BT],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([BT],[BT],false)}];DS.methods=[{prop:"get",name:"get",pkg:"time",typ:$funcType([],[DS],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"lookup",name:"lookup",pkg:"time",typ:$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false)},{prop:"lookupFirstZone",name:"lookupFirstZone",pkg:"time",typ:$funcType([],[$Int],false)},{prop:"firstZoneUsed",name:"firstZoneUsed",pkg:"time",typ:$funcType([],[$Bool],false)},{prop:"lookupName",name:"lookupName",pkg:"time",typ:$funcType([$String,$Int64],[$Int,$Bool,$Bool],false)}];G.init("time",[{prop:"i",name:"i",anonymous:false,exported:false,typ:$Int32,tag:""},{prop:"when",name:"when",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"period",name:"period",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"f",name:"f",anonymous:false,exported:false,typ:DY,tag:""},{prop:"arg",name:"arg",anonymous:false,exported:false,typ:$emptyInterface,tag:""},{prop:"timeout",name:"timeout",anonymous:false,exported:false,typ:DZ,tag:""},{prop:"active",name:"active",anonymous:false,exported:false,typ:$Bool,tag:""}]);AF.init("",[{prop:"Layout",name:"Layout",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Value",name:"Value",anonymous:false,exported:true,typ:$String,tag:""},{prop:"LayoutElem",name:"LayoutElem",anonymous:false,exported:true,typ:$String,tag:""},{prop:"ValueElem",name:"ValueElem",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Message",name:"Message",anonymous:false,exported:true,typ:$String,tag:""}]);AX.init("time",[{prop:"C",name:"C",anonymous:false,exported:true,typ:EC,tag:""},{prop:"r",name:"r",anonymous:false,exported:false,typ:G,tag:""}]);BM.init("time",[{prop:"wall",name:"wall",anonymous:false,exported:false,typ:$Uint64,tag:""},{prop:"ext",name:"ext",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"loc",name:"loc",anonymous:false,exported:false,typ:DS,tag:""}]);CJ.init("time",[{prop:"name",name:"name",anonymous:false,exported:false,typ:$String,tag:""},{prop:"zone",name:"zone",anonymous:false,exported:false,typ:DI,tag:""},{prop:"tx",name:"tx",anonymous:false,exported:false,typ:DJ,tag:""},{prop:"cacheStart",name:"cacheStart",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"cacheEnd",name:"cacheEnd",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"cacheZone",name:"cacheZone",anonymous:false,exported:false,typ:DK,tag:""}]);CK.init("time",[{prop:"name",name:"name",anonymous:false,exported:false,typ:$String,tag:""},{prop:"offset",name:"offset",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"isDST",name:"isDST",anonymous:false,exported:false,typ:$Bool,tag:""}]);CL.init("time",[{prop:"when",name:"when",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"index",name:"index",anonymous:false,exported:false,typ:$Uint8,tag:""},{prop:"isstd",name:"isstd",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"isutc",name:"isutc",anonymous:false,exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CN=new CJ.ptr("",DI.nil,DJ.nil,new $Int64(0,0),new $Int64(0,0),DK.nil);CO=new E.Once.ptr(false,false);R=$toNativeArray($kindInt,[260,265,524,526,528,274]);U=new DM(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);V=new DM(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);W=new DM(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);X=new DM(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);AB=C.New("time: invalid number");AE=C.New("bad value for field");AR=C.New("time: bad [0-9]*");BO=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BQ=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);AU=$makeMap($String.keyFor,[{k:"ns",v:new $Int64(0,1)},{k:"us",v:new $Int64(0,1000)},{k:"\xC2\xB5s",v:new $Int64(0,1000)},{k:"\xCE\xBCs",v:new $Int64(0,1000)},{k:"ms",v:new $Int64(0,1000000)},{k:"s",v:new $Int64(0,1000000000)},{k:"m",v:new $Int64(13,4165425152)},{k:"h",v:new $Int64(838,817405952)}]);CA=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CM=new CJ.ptr("UTC",DI.nil,DJ.nil,new $Int64(0,0),new $Int64(0,0),DK.nil);$pkg.UTC=CM;$pkg.Local=CN;CQ=C.New("time: invalid location name");CY=C.New("malformed time zone information");DE=new DM(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",A.GOROOT()+"/lib/time/zoneinfo.zip"]);F();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["time"]=(function(){var $pkg={},$init,C,B,E,A,D,G,AF,AX,BM,BN,BP,BT,CJ,CK,CL,DI,DJ,DK,DM,DO,DP,DQ,DR,DS,DT,DU,DW,DY,DZ,EA,EB,EC,EE,R,U,V,W,X,AB,AE,AR,AU,BO,BQ,CA,CM,DG,CN,DH,CO,CQ,CY,DE,F,H,I,J,L,M,Q,S,T,Y,Z,AA,AC,AD,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AS,AT,AV,AW,AY,AZ,BB,BC,BR,BS,BU,BV,BW,BY,BZ,CB,CC,CD,CE,CF,CG,CH,CI,CP;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];A=$packages["runtime"];D=$packages["syscall"];G=$pkg.runtimeTimer=$newType(0,$kindStruct,"time.runtimeTimer",true,"time",false,function(i_,when_,period_,f_,arg_,timeout_,active_){this.$val=this;if(arguments.length===0){this.i=0;this.when=new $Int64(0,0);this.period=new $Int64(0,0);this.f=$throwNilPointerError;this.arg=$ifaceNil;this.timeout=null;this.active=false;return;}this.i=i_;this.when=when_;this.period=period_;this.f=f_;this.arg=arg_;this.timeout=timeout_;this.active=active_;});AF=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError",true,"time",true,function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;if(arguments.length===0){this.Layout="";this.Value="";this.LayoutElem="";this.ValueElem="";this.Message="";return;}this.Layout=Layout_;this.Value=Value_;this.LayoutElem=LayoutElem_;this.ValueElem=ValueElem_;this.Message=Message_;});AX=$pkg.Timer=$newType(0,$kindStruct,"time.Timer",true,"time",true,function(C_,r_){this.$val=this;if(arguments.length===0){this.C=$chanNil;this.r=new G.ptr(0,new $Int64(0,0),new $Int64(0,0),$throwNilPointerError,$ifaceNil,null,false);return;}this.C=C_;this.r=r_;});BM=$pkg.Time=$newType(0,$kindStruct,"time.Time",true,"time",true,function(wall_,ext_,loc_){this.$val=this;if(arguments.length===0){this.wall=new $Uint64(0,0);this.ext=new $Int64(0,0);this.loc=DS.nil;return;}this.wall=wall_;this.ext=ext_;this.loc=loc_;});BN=$pkg.Month=$newType(4,$kindInt,"time.Month",true,"time",true,null);BP=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday",true,"time",true,null);BT=$pkg.Duration=$newType(8,$kindInt64,"time.Duration",true,"time",true,null);CJ=$pkg.Location=$newType(0,$kindStruct,"time.Location",true,"time",true,function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;if(arguments.length===0){this.name="";this.zone=DI.nil;this.tx=DJ.nil;this.cacheStart=new $Int64(0,0);this.cacheEnd=new $Int64(0,0);this.cacheZone=DK.nil;return;}this.name=name_;this.zone=zone_;this.tx=tx_;this.cacheStart=cacheStart_;this.cacheEnd=cacheEnd_;this.cacheZone=cacheZone_;});CK=$pkg.zone=$newType(0,$kindStruct,"time.zone",true,"time",false,function(name_,offset_,isDST_){this.$val=this;if(arguments.length===0){this.name="";this.offset=0;this.isDST=false;return;}this.name=name_;this.offset=offset_;this.isDST=isDST_;});CL=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans",true,"time",false,function(when_,index_,isstd_,isutc_){this.$val=this;if(arguments.length===0){this.when=new $Int64(0,0);this.index=0;this.isstd=false;this.isutc=false;return;}this.when=when_;this.index=index_;this.isstd=isstd_;this.isutc=isutc_;});DI=$sliceType(CK);DJ=$sliceType(CL);DK=$ptrType(CK);DM=$sliceType($String);DO=$arrayType($Uint8,20);DP=$sliceType($Uint8);DQ=$arrayType($Uint8,9);DR=$arrayType($Uint8,64);DS=$ptrType(CJ);DT=$chanType(BM,false,false);DU=$funcType([],[],false);DW=$arrayType($Uint8,32);DY=$funcType([$emptyInterface,$Uintptr],[],false);DZ=$ptrType(B.Object);EA=$ptrType(AF);EB=$ptrType(AX);EC=$chanType(BM,false,true);EE=$ptrType(BM);F=function(){$unused(CE(new $Int64(0,0),new $Int64(0,0)));};H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=Q(l,40);n=Q(l,41);if((m===-1)||(n===-1)){CN.name="UTC";return;}CN.name=$substring(l,(m+1>>0),n);CN.zone=new DI([new CK.ptr(CN.name,$imul(($parseInt(k.getTimezoneOffset())>>0),-60),false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k,l,m,n,o,p,q,r;k=new $Int64(0,0);l=0;m=new $Int64(0,0);n=I();o=$div64(n,new $Int64(0,1000000000),false);p=(((q=$div64(n,new $Int64(0,1000000000),true),q.$low+((q.$high>>31)*4294967296))>>0));r=n;k=o;l=p;m=r;return[k,l,m];};L=function(k){var k,l,m,n;k.active=true;n=$div64(((l=k.when,m=I(),new $Int64(l.$high-m.$high,l.$low-m.$low))),new $Int64(0,1000000),false);if((n.$high>0||(n.$high===0&&n.$low>2147483647))){return;}if((n.$high<0||(n.$high===0&&n.$low<0))){n=new $Int64(0,0);}k.timeout=$setTimeout((function(){var o,p,q;k.active=false;if(!((o=k.period,(o.$high===0&&o.$low===0)))){k.when=(p=k.when,q=k.period,new $Int64(p.$high+q.$high,p.$low+q.$low));L(k);}$go(k.f,[k.arg,0]);}),$externalize(new $Int64(n.$high+0,n.$low+1),$Int64));};M=function(k){var k,l;$global.clearTimeout(k.timeout);l=k.active;k.active=false;return l;};Q=function(k,l){var k,l;return $parseInt(k.indexOf($global.String.fromCharCode(l)))>>0;};S=function(k){var k,l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};T=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l="";m=0;n="";o=0;while(true){if(!(o<k.length)){break;}p=((k.charCodeAt(o)>>0));q=p;if(q===(74)){if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="January"){r=$substring(k,0,o);s=257;t=$substring(k,(o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!S($substring(k,(o+3>>0)))){u=$substring(k,0,o);v=258;w=$substring(k,(o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===(77)){if(k.length>=(o+3>>0)){if($substring(k,o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="Monday"){x=$substring(k,0,o);y=261;z=$substring(k,(o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!S($substring(k,(o+3>>0)))){aa=$substring(k,0,o);ab=262;ac=$substring(k,(o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if($substring(k,o,(o+3>>0))==="MST"){ad=$substring(k,0,o);ae=21;af=$substring(k,(o+3>>0));l=ad;m=ae;n=af;return[l,m,n];}}}else if(q===(48)){if(k.length>=(o+2>>0)&&49<=k.charCodeAt((o+1>>0))&&k.charCodeAt((o+1>>0))<=54){ag=$substring(k,0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=R.length)?($throwRuntimeError("index out of range"),undefined):R[ai]));aj=$substring(k,(o+2>>0));l=ag;m=ah;n=aj;return[l,m,n];}}else if(q===(49)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===53)){ak=$substring(k,0,o);al=522;am=$substring(k,(o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=$substring(k,0,o);ao=259;ap=$substring(k,(o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===(50)){if(k.length>=(o+4>>0)&&$substring(k,o,(o+4>>0))==="2006"){aq=$substring(k,0,o);ar=273;as=$substring(k,(o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=$substring(k,0,o);au=263;av=$substring(k,(o+1>>0));l=at;m=au;n=av;return[l,m,n];}else if(q===(95)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===50)){if(k.length>=(o+5>>0)&&$substring(k,(o+1>>0),(o+5>>0))==="2006"){aw=$substring(k,0,(o+1>>0));ax=273;ay=$substring(k,(o+5>>0));l=aw;m=ax;n=ay;return[l,m,n];}az=$substring(k,0,o);ba=264;bb=$substring(k,(o+2>>0));l=az;m=ba;n=bb;return[l,m,n];}}else if(q===(51)){bc=$substring(k,0,o);bd=523;be=$substring(k,(o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===(52)){bf=$substring(k,0,o);bg=525;bh=$substring(k,(o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===(53)){bi=$substring(k,0,o);bj=527;bk=$substring(k,(o+1>>0));l=bi;m=bj;n=bk;return[l,m,n];}else if(q===(80)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bl=$substring(k,0,o);bm=531;bn=$substring(k,(o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===(112)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bo=$substring(k,0,o);bp=532;bq=$substring(k,(o+2>>0));l=bo;m=bp;n=bq;return[l,m,n];}}else if(q===(45)){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="-070000"){br=$substring(k,0,o);bs=28;bt=$substring(k,(o+7>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+9>>0)&&$substring(k,o,(o+9>>0))==="-07:00:00"){bu=$substring(k,0,o);bv=31;bw=$substring(k,(o+9>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+5>>0)&&$substring(k,o,(o+5>>0))==="-0700"){bx=$substring(k,0,o);by=27;bz=$substring(k,(o+5>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="-07:00"){ca=$substring(k,0,o);cb=30;cc=$substring(k,(o+6>>0));l=ca;m=cb;n=cc;return[l,m,n];}if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="-07"){cd=$substring(k,0,o);ce=29;cf=$substring(k,(o+3>>0));l=cd;m=ce;n=cf;return[l,m,n];}}else if(q===(90)){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="Z070000"){cg=$substring(k,0,o);ch=23;ci=$substring(k,(o+7>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+9>>0)&&$substring(k,o,(o+9>>0))==="Z07:00:00"){cj=$substring(k,0,o);ck=26;cl=$substring(k,(o+9>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+5>>0)&&$substring(k,o,(o+5>>0))==="Z0700"){cm=$substring(k,0,o);cn=22;co=$substring(k,(o+5>>0));l=cm;m=cn;n=co;return[l,m,n];}if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="Z07:00"){cp=$substring(k,0,o);cq=25;cr=$substring(k,(o+6>>0));l=cp;m=cq;n=cr;return[l,m,n];}if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="Z07"){cs=$substring(k,0,o);ct=24;cu=$substring(k,(o+3>>0));l=cs;m=ct;n=cu;return[l,m,n];}}else if(q===(46)){if((o+1>>0)<k.length&&((k.charCodeAt((o+1>>0))===48)||(k.charCodeAt((o+1>>0))===57))){cv=k.charCodeAt((o+1>>0));cw=o+1>>0;while(true){if(!(cw<k.length&&(k.charCodeAt(cw)===cv))){break;}cw=cw+(1)>>0;}if(!AH(k,cw)){cx=32;if(k.charCodeAt((o+1>>0))===57){cx=33;}cx=cx|((((cw-((o+1>>0))>>0))<<16>>0));cy=$substring(k,0,o);cz=cx;da=$substring(k,cw);l=cy;m=cz;n=da;return[l,m,n];}}}o=o+(1)>>0;}db=k;dc=0;dd="";l=db;m=dc;n=dd;return[l,m,n];};Y=function(k,l){var k,l,m,n,o;m=0;while(true){if(!(m<k.length)){break;}n=k.charCodeAt(m);o=l.charCodeAt(m);if(!((n===o))){n=(n|(32))>>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};Z=function(k,l){var k,l,m,n,o,p;m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);if(l.length>=p.length&&Y($substring(l,0,p.length),p)){return[o,$substring(l,p.length),$ifaceNil];}n++;}return[-1,l,AE];};AA=function(k,l,m){var k,l,m,n,o,p,q,r,s;n=((l>>>0));if(l<0){k=$append(k,45);n=((-l>>>0));}o=DO.zero();p=20;while(true){if(!(n>=10)){break;}p=p-(1)>>0;r=(q=n/10,(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"));((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p]=((((48+n>>>0)-(r*10>>>0)>>>0)<<24>>>24)));n=r;}p=p-(1)>>0;((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p]=(((48+n>>>0)<<24>>>24)));s=20-p>>0;while(true){if(!(s<m)){break;}k=$append(k,48);s=s+(1)>>0;}return $appendSlice(k,$subslice(new DP(o),p));};AC=function(k){var k,l,m,n,o,p,q,r,s,t,u;l=0;m=$ifaceNil;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=$substring(k,1);}o=AS(k);p=o[0];q=o[1];m=o[2];l=(((p.$low+((p.$high>>31)*4294967296))>>0));if(!($interfaceIsEqual(m,$ifaceNil))||!(q==="")){r=0;s=AB;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};AD=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t;o=l;p=DQ.zero();q=9;while(true){if(!(q>0)){break;}q=q-(1)>>0;((q<0||q>=p.length)?($throwRuntimeError("index out of range"),undefined):p[q]=((((r=o%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24)));o=(s=o/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}if(m>9){m=9;}if(n){while(true){if(!(m>0&&((t=m-1>>0,((t<0||t>=p.length)?($throwRuntimeError("index out of range"),undefined):p[t]))===48))){break;}m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DP(p),0,m));};BM.ptr.prototype.String=function(){var aa,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).Format("2006-01-02 15:04:05.999999999 -0700 MST");$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(!((n=(o=k.wall,new $Uint64(o.$high&2147483648,(o.$low&0)>>>0)),(n.$high===0&&n.$low===0)))){q=((p=k.ext,new $Uint64(p.$high,p.$low)));r=43;if((s=k.ext,(s.$high<0||(s.$high===0&&s.$low<0)))){r=45;q=new $Uint64(-q.$high,-q.$low);}t=$div64(q,new $Uint64(0,1000000000),false);u=$div64(q,new $Uint64(0,1000000000),true);v=t;q=u;w=$div64(v,new $Uint64(0,1000000000),false);x=$div64(v,new $Uint64(0,1000000000),true);y=w;v=x;z=DP.nil;z=$appendSlice(z," m=");z=$append(z,r);aa=0;if(!((y.$high===0&&y.$low===0))){z=AA(z,((y.$low>>0)),0);aa=9;}z=AA(z,((v.$low>>0)),aa);z=$append(z,46);z=AA(z,((q.$low>>0)),9);m=m+(($bytesToString(z)));}$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.String};}$f.aa=aa;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.String=function(){return this.$val.String();};BM.ptr.prototype.Format=function(k){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=DP.nil;n=k.length+10>>0;if(n<64){o=DR.zero();m=$subslice(new DP(o),0,0);}else{m=$makeSlice(DP,0,n);}p=$clone(l,BM).AppendFormat(m,k);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}m=p;$s=-1;return($bytesToString(m));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Format};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Format=function(k){return this.$val.Format(k);};BM.ptr.prototype.AppendFormat=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=this;o=$clone(m,BM).locabs();$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];r=n[2];s=-1;t=0;u=0;v=-1;w=0;x=0;while(true){if(!(!(l===""))){break;}y=T(l);z=y[0];aa=y[1];ab=y[2];if(!(z==="")){k=$appendSlice(k,z);}if(aa===0){break;}l=ab;if(s<0&&!(((aa&256)===0))){ac=BZ(r,true);s=ac[0];t=ac[1];u=ac[2];}if(v<0&&!(((aa&512)===0))){ad=BS(r);v=ad[0];w=ad[1];x=ad[2];}switch(0){default:ae=aa&65535;if(ae===(274)){af=s;if(af<0){af=-af;}k=AA(k,(ag=af%100,ag===ag?ag:$throwRuntimeError("integer divide by zero")),2);}else if(ae===(273)){k=AA(k,s,4);}else if(ae===(258)){k=$appendSlice(k,$substring(new BN(t).String(),0,3));}else if(ae===(257)){ah=new BN(t).String();k=$appendSlice(k,ah);}else if(ae===(259)){k=AA(k,((t>>0)),0);}else if(ae===(260)){k=AA(k,((t>>0)),2);}else if(ae===(262)){k=$appendSlice(k,$substring(new BP(BR(r)).String(),0,3));}else if(ae===(261)){ai=new BP(BR(r)).String();k=$appendSlice(k,ai);}else if(ae===(263)){k=AA(k,u,0);}else if(ae===(264)){if(u<10){k=$append(k,32);}k=AA(k,u,0);}else if(ae===(265)){k=AA(k,u,2);}else if(ae===(522)){k=AA(k,v,2);}else if(ae===(523)){ak=(aj=v%12,aj===aj?aj:$throwRuntimeError("integer divide by zero"));if(ak===0){ak=12;}k=AA(k,ak,0);}else if(ae===(524)){am=(al=v%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}k=AA(k,am,2);}else if(ae===(525)){k=AA(k,w,0);}else if(ae===(526)){k=AA(k,w,2);}else if(ae===(527)){k=AA(k,x,0);}else if(ae===(528)){k=AA(k,x,2);}else if(ae===(531)){if(v>=12){k=$appendSlice(k,"PM");}else{k=$appendSlice(k,"AM");}}else if(ae===(532)){if(v>=12){k=$appendSlice(k,"pm");}else{k=$appendSlice(k,"am");}}else if((ae===(22))||(ae===(25))||(ae===(23))||(ae===(24))||(ae===(26))||(ae===(27))||(ae===(30))||(ae===(28))||(ae===(29))||(ae===(31))){if((q===0)&&((aa===22)||(aa===25)||(aa===23)||(aa===24)||(aa===26))){k=$append(k,90);break;}ao=(an=q/60,(an===an&&an!==1/0&&an!==-1/0)?an>>0:$throwRuntimeError("integer divide by zero"));ap=q;if(ao<0){k=$append(k,45);ao=-ao;ap=-ap;}else{k=$append(k,43);}k=AA(k,(aq=ao/60,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero")),2);if((aa===25)||(aa===30)||(aa===26)||(aa===31)){k=$append(k,58);}if(!((aa===29))&&!((aa===24))){k=AA(k,(ar=ao%60,ar===ar?ar:$throwRuntimeError("integer divide by zero")),2);}if((aa===23)||(aa===28)||(aa===31)||(aa===26)){if((aa===31)||(aa===26)){k=$append(k,58);}k=AA(k,(as=ap%60,as===as?as:$throwRuntimeError("integer divide by zero")),2);}}else if(ae===(21)){if(!(p==="")){k=$appendSlice(k,p);break;}au=(at=q/60,(at===at&&at!==1/0&&at!==-1/0)?at>>0:$throwRuntimeError("integer divide by zero"));if(au<0){k=$append(k,45);au=-au;}else{k=$append(k,43);}k=AA(k,(av=au/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero")),2);k=AA(k,(aw=au%60,aw===aw?aw:$throwRuntimeError("integer divide by zero")),2);}else if((ae===(32))||(ae===(33))){k=AD(k,(($clone(m,BM).Nanosecond()>>>0)),aa>>16>>0,(aa&65535)===33);}}}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.AppendFormat};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.AppendFormat=function(k,l){return this.$val.AppendFormat(k,l);};AG=function(k){var k;return"\""+k+"\"";};AF.ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AG(k.Value)+" as "+AG(k.Layout)+": cannot parse "+AG(k.ValueElem)+" as "+AG(k.LayoutElem);}return"parsing time "+AG(k.Value)+k.Message;};AF.prototype.Error=function(){return this.$val.Error();};AH=function(k,l){var k,l,m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AI=function(k,l){var k,l;if(!AH(k,0)){return[0,k,AE];}if(!AH(k,1)){if(l){return[0,k,AE];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)),$substring(k,1),$ifaceNil];}return[($imul((((k.charCodeAt(0)-48<<24>>>24)>>0)),10))+(((k.charCodeAt(1)-48<<24>>>24)>>0))>>0,$substring(k,2),$ifaceNil];};AJ=function(k){var k;while(true){if(!(k.length>0&&(k.charCodeAt(0)===32))){break;}k=$substring(k,1);}return k;};AK=function(k,l){var k,l;while(true){if(!(l.length>0)){break;}if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AE];}l=AJ(l);k=AJ(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AE];}l=$substring(l,1);k=$substring(k,1);}return[k,$ifaceNil];};AL=function(k,l){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=AN(k,l,$pkg.UTC,$pkg.Local);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;}return;}if($f===undefined){$f={$blk:AL};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=AL;AM=function(k,l,m){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=AN(k,l,m,m);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return n;}return;}if($f===undefined){$f={$blk:AM};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ParseInLocation=AM;AN=function(k,l,m,n){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;dt=$f.dt;du=$f.du;dv=$f.dv;dw=$f.dw;dx=$f.dx;dy=$f.dy;dz=$f.dz;ea=$f.ea;eb=$f.eb;ec=$f.ec;ed=$f.ed;ee=$f.ee;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=k;p=l;q=o;r=p;s="";t=false;u=false;v=0;w=1;x=1;y=0;z=0;aa=0;ab=0;ac=DS.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=T(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=$substring(k,ah.length,(k.length-aj.length>>0));al=AK(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";switch(0){default:an=ai&65535;if(an===(274)){if(l.length<2){af=AE;break;}ao=$substring(l,0,2);ap=$substring(l,2);am=ao;l=ap;aq=AC(am);v=aq[0];af=aq[1];if(v>=69){v=v+(1900)>>0;}else{v=v+(2000)>>0;}}else if(an===(273)){if(l.length<4||!AH(l,0)){af=AE;break;}ar=$substring(l,0,4);as=$substring(l,4);am=ar;l=as;at=AC(am);v=at[0];af=at[1];}else if(an===(258)){au=Z(W,l);w=au[0];l=au[1];af=au[2];}else if(an===(257)){av=Z(X,l);w=av[0];l=av[1];af=av[2];}else if((an===(259))||(an===(260))){aw=AI(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||12<w){s="month";}}else if(an===(262)){ax=Z(V,l);l=ax[1];af=ax[2];}else if(an===(261)){ay=Z(U,l);l=ay[1];af=ay[2];}else if((an===(263))||(an===(264))||(an===(265))){if((ai===264)&&l.length>0&&(l.charCodeAt(0)===32)){l=$substring(l,1);}az=AI(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0){s="day";}}else if(an===(522)){ba=AI(l,false);y=ba[0];l=ba[1];af=ba[2];if(y<0||24<=y){s="hour";}}else if((an===(523))||(an===(524))){bb=AI(l,ai===524);y=bb[0];l=bb[1];af=bb[2];if(y<0||12<y){s="hour";}}else if((an===(525))||(an===(526))){bc=AI(l,ai===526);z=bc[0];l=bc[1];af=bc[2];if(z<0||60<=z){s="minute";}}else if((an===(527))||(an===(528))){bd=AI(l,ai===528);aa=bd[0];l=bd[1];af=bd[2];if(aa<0||60<=aa){s="second";break;}if(l.length>=2&&(l.charCodeAt(0)===46)&&AH(l,1)){be=T(k);ai=be[1];ai=ai&(65535);if((ai===32)||(ai===33)){break;}bf=2;while(true){if(!(bf<l.length&&AH(l,bf))){break;}bf=bf+(1)>>0;}bg=AQ(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=$substring(l,bf);}}else if(an===(531)){if(l.length<2){af=AE;break;}bh=$substring(l,0,2);bi=$substring(l,2);am=bh;l=bi;bj=am;if(bj===("PM")){u=true;}else if(bj===("AM")){t=true;}else{af=AE;}}else if(an===(532)){if(l.length<2){af=AE;break;}bk=$substring(l,0,2);bl=$substring(l,2);am=bk;l=bl;bm=am;if(bm===("pm")){u=true;}else if(bm===("am")){t=true;}else{af=AE;}}else if((an===(22))||(an===(25))||(an===(23))||(an===(24))||(an===(26))||(an===(27))||(an===(29))||(an===(30))||(an===(28))||(an===(31))){if(((ai===22)||(ai===24)||(ai===25))&&l.length>=1&&(l.charCodeAt(0)===90)){l=$substring(l,1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===25)||(ai===30)){if(l.length<6){af=AE;break;}if(!((l.charCodeAt(3)===58))){af=AE;break;}bv=$substring(l,0,1);bw=$substring(l,1,3);bx=$substring(l,4,6);by="00";bz=$substring(l,6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if((ai===29)||(ai===24)){if(l.length<3){af=AE;break;}ca=$substring(l,0,1);cb=$substring(l,1,3);cc="00";cd="00";ce=$substring(l,3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===26)||(ai===31)){if(l.length<9){af=AE;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AE;break;}cf=$substring(l,0,1);cg=$substring(l,1,3);ch=$substring(l,4,6);ci=$substring(l,7,9);cj=$substring(l,9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===28)){if(l.length<7){af=AE;break;}ck=$substring(l,0,1);cl=$substring(l,1,3);cm=$substring(l,3,5);cn=$substring(l,5,7);co=$substring(l,7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AE;break;}cp=$substring(l,0,1);cq=$substring(l,1,3);cr=$substring(l,3,5);cs="00";ct=$substring(l,5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=AC(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=AC(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=AC(bu);cz=dc[0];af=dc[1];}ad=($imul(((($imul(cx,60))+cy>>0)),60))+cz>>0;dd=br.charCodeAt(0);if(dd===(43)){}else if(dd===(45)){ad=-ad;}else{af=AE;}}else if(an===(21)){if(l.length>=3&&$substring(l,0,3)==="UTC"){ac=$pkg.UTC;l=$substring(l,3);break;}de=AO(l);df=de[0];dg=de[1];if(!dg){af=AE;break;}dh=$substring(l,0,df);di=$substring(l,df);ae=dh;l=di;}else if(an===(32)){dj=1+((ai>>16>>0))>>0;if(l.length<dj){af=AE;break;}dk=AQ(l,dj);ab=dk[0];s=dk[1];af=dk[2];l=$substring(l,dj);}else if(an===(33)){if(l.length<2||!((l.charCodeAt(0)===46))||l.charCodeAt(1)<48||57<l.charCodeAt(1)){break;}dl=0;while(true){if(!(dl<9&&(dl+1>>0)<l.length&&48<=l.charCodeAt((dl+1>>0))&&l.charCodeAt((dl+1>>0))<=57)){break;}dl=dl+(1)>>0;}dm=AQ(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=$substring(l,(1+dl>>0));}}if(!(s==="")){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(x<1||x>CB(((w>>0)),v)){$s=-1;return[new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil),new AF.ptr(q,r,"",l,": day out of range")];}if(!(ac===DS.nil)){$s=1;continue;}$s=2;continue;case 1:dn=CH(v,((w>>0)),x,y,z,aa,ab,ac);$s=3;case 3:if($c){$c=false;dn=dn.$blk();}if(dn&&dn.$blk!==undefined){break s;}$s=-1;return[dn,$ifaceNil];case 2:if(!((ad===-1))){$s=4;continue;}$s=5;continue;case 4:dp=CH(v,((w>>0)),x,y,z,aa,ab,$pkg.UTC);$s=6;case 6:if($c){$c=false;dp=dp.$blk();}if(dp&&dp.$blk!==undefined){break s;}dq=$clone(dp,BM);dq.addSec((dr=(new $Int64(0,ad)),new $Int64(-dr.$high,-dr.$low)));dt=n.lookup(dq.unixSec());$s=7;case 7:if($c){$c=false;dt=dt.$blk();}if(dt&&dt.$blk!==undefined){break s;}ds=dt;du=ds[0];dv=ds[1];if((dv===ad)&&(ae===""||du===ae)){dq.setLoc(n);$s=-1;return[dq,$ifaceNil];}dq.setLoc(CP(ae,ad));$s=-1;return[dq,$ifaceNil];case 5:if(!(ae==="")){$s=8;continue;}$s=9;continue;case 8:dw=CH(v,((w>>0)),x,y,z,aa,ab,$pkg.UTC);$s=10;case 10:if($c){$c=false;dw=dw.$blk();}if(dw&&dw.$blk!==undefined){break s;}dx=$clone(dw,BM);dz=n.lookupName(ae,dx.unixSec());$s=11;case 11:if($c){$c=false;dz=dz.$blk();}if(dz&&dz.$blk!==undefined){break s;}dy=dz;ea=dy[0];eb=dy[2];if(eb){dx.addSec((ec=(new $Int64(0,ea)),new $Int64(-ec.$high,-ec.$low)));dx.setLoc(n);$s=-1;return[dx,$ifaceNil];}if(ae.length>3&&$substring(ae,0,3)==="GMT"){ed=AC($substring(ae,3));ea=ed[0];ea=$imul(ea,(3600));}dx.setLoc(CP(ae,ea));$s=-1;return[dx,$ifaceNil];case 9:ee=CH(v,((w>>0)),x,y,z,aa,ab,m);$s=12;case 12:if($c){$c=false;ee=ee.$blk();}if(ee&&ee.$blk!==undefined){break s;}$s=-1;return[ee,$ifaceNil];}return;}if($f===undefined){$f={$blk:AN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.dt=dt;$f.du=du;$f.dv=dv;$f.dw=dw;$f.dx=dx;$f.dy=dy;$f.dz=dz;$f.ea=ea;$f.eb=eb;$f.ec=ec;$f.ed=ed;$f.ee=ee;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AO=function(k){var aa,ab,ac,ad,ae,af,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=0;m=false;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&($substring(k,0,4)==="ChST"||$substring(k,0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if($substring(k,0,3)==="GMT"){l=AP(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(true){if(!(t<6)){break;}if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90<u){break;}t=t+(1)>>0;}v=t;if((v===(0))||(v===(1))||(v===(2))||(v===(6))){w=0;x=false;l=w;m=x;return[l,m];}else if(v===(5)){if(k.charCodeAt(4)===84){y=5;z=true;l=y;m=z;return[l,m];}}else if(v===(4)){if((k.charCodeAt(3)===84)||$substring(k,0,4)==="WITA"){aa=4;ab=true;l=aa;m=ab;return[l,m];}}else if(v===(3)){ac=3;ad=true;l=ac;m=ad;return[l,m];}ae=0;af=false;l=ae;m=af;return[l,m];};AP=function(k){var k,l,m,n,o,p;k=$substring(k,3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AS($substring(k,1));n=m[0];o=m[1];p=m[2];if(!($interfaceIsEqual(p,$ifaceNil))){return 3;}if(l===45){n=new $Int64(-n.$high,-n.$low);}if((n.$high===0&&n.$low===0)||(n.$high<-1||(n.$high===-1&&n.$low<4294967282))||(0<n.$high||(0===n.$high&&12<n.$low))){return 3;}return(3+k.length>>0)-o.length>>0;};AQ=function(k,l){var k,l,m,n,o,p,q,r;m=0;n="";o=$ifaceNil;if(!((k.charCodeAt(0)===46))){o=AE;return[m,n,o];}p=AC($substring(k,1,l));m=p[0];o=p[1];if(!($interfaceIsEqual(o,$ifaceNil))){return[m,n,o];}if(m<0||1000000000<=m){n="fractional second";return[m,n,o];}q=10-l>>0;r=0;while(true){if(!(r<q)){break;}m=$imul(m,(10));r=r+(1)>>0;}return[m,n,o];};AS=function(k){var aa,ab,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=new $Int64(0,0);m="";n=$ifaceNil;o=0;while(true){if(!(o<k.length)){break;}p=k.charCodeAt(o);if(p<48||p>57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>3435973836))){q=new $Int64(0,0);r="";s=AR;l=q;m=r;n=s;return[l,m,n];}l=(t=(u=$mul64(l,new $Int64(0,10)),v=(new $Int64(0,p)),new $Int64(u.$high+v.$high,u.$low+v.$low)),new $Int64(t.$high-0,t.$low-48));if((l.$high<0||(l.$high===0&&l.$low<0))){w=new $Int64(0,0);x="";y=AR;l=w;m=x;n=y;return[l,m,n];}o=o+(1)>>0;}z=l;aa=$substring(k,o);ab=$ifaceNil;l=z;m=aa;n=ab;return[l,m,n];};AT=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x;l=new $Int64(0,0);m=0;n="";o=0;m=1;p=false;while(true){if(!(o<k.length)){break;}q=k.charCodeAt(o);if(q<48||q>57){break;}if(p){o=o+(1)>>0;continue;}if((l.$high>214748364||(l.$high===214748364&&l.$low>3435973836))){p=true;o=o+(1)>>0;continue;}u=(r=(s=$mul64(l,new $Int64(0,10)),t=(new $Int64(0,q)),new $Int64(s.$high+t.$high,s.$low+t.$low)),new $Int64(r.$high-0,r.$low-48));if((u.$high<0||(u.$high===0&&u.$low<0))){p=true;o=o+(1)>>0;continue;}l=u;m=m*(10);o=o+(1)>>0;}v=l;w=m;x=$substring(k,o);l=v;m=w;n=x;return[l,m,n];};AV=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=k;m=new $Int64(0,0);n=false;if(!(k==="")){o=k.charCodeAt(0);if((o===45)||(o===43)){n=o===45;k=$substring(k,1);}}if(k==="0"){return[new BT(0,0),$ifaceNil];}if(k===""){return[new BT(0,0),C.New("time: invalid duration "+l)];}while(true){if(!(!(k===""))){break;}p=new $Int64(0,0);q=new $Int64(0,0);r=p;s=q;t=1;u=$ifaceNil;if(!((k.charCodeAt(0)===46)||48<=k.charCodeAt(0)&&k.charCodeAt(0)<=57)){return[new BT(0,0),C.New("time: invalid duration "+l)];}v=k.length;w=AS(k);r=w[0];k=w[1];u=w[2];if(!($interfaceIsEqual(u,$ifaceNil))){return[new BT(0,0),C.New("time: invalid duration "+l)];}x=!((v===k.length));y=false;if(!(k==="")&&(k.charCodeAt(0)===46)){k=$substring(k,1);z=k.length;aa=AT(k);s=aa[0];t=aa[1];k=aa[2];y=!((z===k.length));}if(!x&&!y){return[new BT(0,0),C.New("time: invalid duration "+l)];}ab=0;while(true){if(!(ab<k.length)){break;}ac=k.charCodeAt(ab);if((ac===46)||48<=ac&&ac<=57){break;}ab=ab+(1)>>0;}if(ab===0){return[new BT(0,0),C.New("time: missing unit in duration "+l)];}ad=$substring(k,0,ab);k=$substring(k,ab);ae=(af=AU[$String.keyFor(ad)],af!==undefined?[af.v,true]:[new $Int64(0,0),false]);ag=ae[0];ah=ae[1];if(!ah){return[new BT(0,0),C.New("time: unknown unit "+ad+" in duration "+l)];}if((ai=$div64(new $Int64(2147483647,4294967295),ag,false),(r.$high>ai.$high||(r.$high===ai.$high&&r.$low>ai.$low)))){return[new BT(0,0),C.New("time: invalid duration "+l)];}r=$mul64(r,(ag));if((s.$high>0||(s.$high===0&&s.$low>0))){r=(aj=(new $Int64(0,($flatten64(s))*(($flatten64(ag))/t))),new $Int64(r.$high+aj.$high,r.$low+aj.$low));if((r.$high<0||(r.$high===0&&r.$low<0))){return[new BT(0,0),C.New("time: invalid duration "+l)];}}m=(ak=r,new $Int64(m.$high+ak.$high,m.$low+ak.$low));if((m.$high<0||(m.$high===0&&m.$low<0))){return[new BT(0,0),C.New("time: invalid duration "+l)];}}if(n){m=new $Int64(-m.$high,-m.$low);}return[(new BT(m.$high,m.$low)),$ifaceNil];};$pkg.ParseDuration=AV;AW=function(k){var k,l,m,n;if((k.$high<0||(k.$high===0&&k.$low<=0))){return I();}n=(l=I(),m=(new $Int64(k.$high,k.$low)),new $Int64(l.$high+m.$high,l.$low+m.$low));if((n.$high<0||(n.$high===0&&n.$low<0))){n=new $Int64(2147483647,4294967295);}return n;};AX.ptr.prototype.Stop=function(){var k;k=this;if(k.r.f===$throwNilPointerError){$panic(new $String("time: Stop called on uninitialized Timer"));}return M(k.r);};AX.prototype.Stop=function(){return this.$val.Stop();};AY=function(k){var k,l,m;l=new $Chan(BM,1);m=new AX.ptr(l,new G.ptr(0,AW(k),new $Int64(0,0),AZ,new DT(l),null,false));L(m.r);return m;};$pkg.NewTimer=AY;AX.ptr.prototype.Reset=function(k){var k,l,m,n;l=this;if(l.r.f===$throwNilPointerError){$panic(new $String("time: Reset called on uninitialized Timer"));}m=AW(k);n=M(l.r);l.r.when=m;L(l.r);return n;};AX.prototype.Reset=function(k){return this.$val.Reset(k);};AZ=function(k,l){var k,l,m,$r;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$r=$f.$r;}m=$select([[$assertType(k,DT),$clone(CC(),BM)],[]]);if(m[0]===0){}else if(m[0]===1){}if($f===undefined){$f={$blk:AZ};}$f.k=k;$f.l=l;$f.m=m;$f.$r=$r;return $f;};BB=function(k,l){var k,l,m;m=new AX.ptr($chanNil,new G.ptr(0,AW(k),new $Int64(0,0),BC,new DU(l),null,false));L(m.r);return m;};$pkg.AfterFunc=BB;BC=function(k,l){var k,l;$go($assertType(k,DU),[]);};BM.ptr.prototype.nsec=function(){var k,l;k=this;return(((l=k.wall,new $Uint64(l.$high&0,(l.$low&1073741823)>>>0)).$low>>0));};BM.prototype.nsec=function(){return this.$val.nsec();};BM.ptr.prototype.sec=function(){var k,l,m,n,o;k=this;if(!((l=(m=k.wall,new $Uint64(m.$high&2147483648,(m.$low&0)>>>0)),(l.$high===0&&l.$low===0)))){return(n=((o=$shiftRightUint64($shiftLeft64(k.wall,1),31),new $Int64(o.$high,o.$low))),new $Int64(13+n.$high,3618733952+n.$low));}return(k.ext);};BM.prototype.sec=function(){return this.$val.sec();};BM.ptr.prototype.unixSec=function(){var k,l;k=this;return(l=k.sec(),new $Int64(l.$high+-15,l.$low+2288912640));};BM.prototype.unixSec=function(){return this.$val.unixSec();};BM.ptr.prototype.addSec=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w;l=this;if(!((m=(n=l.wall,new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){p=((o=$shiftRightUint64($shiftLeft64(l.wall,1),31),new $Int64(o.$high,o.$low)));q=new $Int64(p.$high+k.$high,p.$low+k.$low);if((0<q.$high||(0===q.$high&&0<=q.$low))&&(q.$high<1||(q.$high===1&&q.$low<=4294967295))){l.wall=(r=(s=(t=l.wall,new $Uint64(t.$high&0,(t.$low&1073741823)>>>0)),u=$shiftLeft64((new $Uint64(q.$high,q.$low)),30),new $Uint64(s.$high|u.$high,(s.$low|u.$low)>>>0)),new $Uint64(r.$high|2147483648,(r.$low|0)>>>0));return;}l.stripMono();}l.ext=(v=l.ext,w=k,new $Int64(v.$high+w.$high,v.$low+w.$low));};BM.prototype.addSec=function(k){return this.$val.addSec(k);};BM.ptr.prototype.setLoc=function(k){var k,l;l=this;if(k===CM){k=DS.nil;}l.stripMono();l.loc=k;};BM.prototype.setLoc=function(k){return this.$val.setLoc(k);};BM.ptr.prototype.stripMono=function(){var k,l,m,n,o;k=this;if(!((l=(m=k.wall,new $Uint64(m.$high&2147483648,(m.$low&0)>>>0)),(l.$high===0&&l.$low===0)))){k.ext=k.sec();k.wall=(n=k.wall,o=new $Uint64(0,1073741823),new $Uint64(n.$high&o.$high,(n.$low&o.$low)>>>0));}};BM.prototype.stripMono=function(){return this.$val.stripMono();};BM.ptr.prototype.After=function(k){var k,l,m,n,o,p,q,r,s,t;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high>r.$high||(q.$high===r.$high&&q.$low>r.$low)));}s=l.sec();t=k.sec();return(s.$high>t.$high||(s.$high===t.$high&&s.$low>t.$low))||(s.$high===t.$high&&s.$low===t.$low)&&l.nsec()>k.nsec();};BM.prototype.After=function(k){return this.$val.After(k);};BM.ptr.prototype.Before=function(k){var k,l,m,n,o,p,q,r,s,t,u,v;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high<r.$high||(q.$high===r.$high&&q.$low<r.$low)));}return(s=l.sec(),t=k.sec(),(s.$high<t.$high||(s.$high===t.$high&&s.$low<t.$low)))||(u=l.sec(),v=k.sec(),(u.$high===v.$high&&u.$low===v.$low))&&l.nsec()<k.nsec();};BM.prototype.Before=function(k){return this.$val.Before(k);};BM.ptr.prototype.Equal=function(k){var k,l,m,n,o,p,q,r,s,t;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high===r.$high&&q.$low===r.$low));}return(s=l.sec(),t=k.sec(),(s.$high===t.$high&&s.$low===t.$low))&&(l.nsec()===k.nsec());};BM.prototype.Equal=function(k){return this.$val.Equal(k);};BN.prototype.String=function(){var k,l,m,n;k=this.$val;if(1<=k&&k<=12){return(l=k-1>>0,((l<0||l>=BO.length)?($throwRuntimeError("index out of range"),undefined):BO[l]));}m=$makeSlice(DP,20);n=BV(m,(new $Uint64(0,k)));return"%!Month("+($bytesToString($subslice(m,n)))+")";};$ptrType(BN).prototype.String=function(){return new BN(this.$get()).String();};BP.prototype.String=function(){var k;k=this.$val;return((k<0||k>=BQ.length)?($throwRuntimeError("index out of range"),undefined):BQ[k]);};$ptrType(BP).prototype.String=function(){return new BP(this.$get()).String();};BM.ptr.prototype.IsZero=function(){var k,l;k=this;return(l=k.sec(),(l.$high===0&&l.$low===0))&&(k.nsec()===0);};BM.prototype.IsZero=function(){return this.$val.IsZero();};BM.ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=k.loc;if(l===DS.nil||l===CN){$s=1;continue;}$s=2;continue;case 1:m=l.get();$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;case 2:n=k.unixSec();if(!(l===CM)){$s=4;continue;}$s=5;continue;case 4:if(!(l.cacheZone===DK.nil)&&(o=l.cacheStart,(o.$high<n.$high||(o.$high===n.$high&&o.$low<=n.$low)))&&(p=l.cacheEnd,(n.$high<p.$high||(n.$high===p.$high&&n.$low<p.$low)))){$s=6;continue;}$s=7;continue;case 6:n=(q=(new $Int64(0,l.cacheZone.offset)),new $Int64(n.$high+q.$high,n.$low+q.$low));$s=8;continue;case 7:s=l.lookup(n);$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[1];n=(u=(new $Int64(0,t)),new $Int64(n.$high+u.$high,n.$low+u.$low));case 8:case 5:$s=-1;return((v=new $Int64(n.$high+2147483646,n.$low+450480384),new $Uint64(v.$high,v.$low)));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.abs};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.abs=function(){return this.$val.abs();};BM.ptr.prototype.locabs=function(){var k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k="";l=0;m=new $Uint64(0,0);n=this;o=n.loc;if(o===DS.nil||o===CN){$s=1;continue;}$s=2;continue;case 1:p=o.get();$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;case 2:q=n.unixSec();if(!(o===CM)){$s=4;continue;}$s=5;continue;case 4:if(!(o.cacheZone===DK.nil)&&(r=o.cacheStart,(r.$high<q.$high||(r.$high===q.$high&&r.$low<=q.$low)))&&(s=o.cacheEnd,(q.$high<s.$high||(q.$high===s.$high&&q.$low<s.$low)))){$s=7;continue;}$s=8;continue;case 7:k=o.cacheZone.name;l=o.cacheZone.offset;$s=9;continue;case 8:u=o.lookup(q);$s=10;case 10:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;k=t[0];l=t[1];case 9:q=(v=(new $Int64(0,l)),new $Int64(q.$high+v.$high,q.$low+v.$low));$s=6;continue;case 5:k="UTC";case 6:m=((w=new $Int64(q.$high+2147483646,q.$low+450480384),new $Uint64(w.$high,w.$low)));$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.locabs};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.locabs=function(){return this.$val.locabs();};BM.ptr.prototype.Date=function(){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=0;n=this;p=$clone(n,BM).date(true);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;k=o[0];l=o[1];m=o[2];$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Date};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Date=function(){return this.$val.Date();};BM.ptr.prototype.Year=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(false);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];$s=-1;return n;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Year};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Year=function(){return this.$val.Year();};BM.ptr.prototype.Month=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[1];$s=-1;return n;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Month};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Month=function(){return this.$val.Month();};BM.ptr.prototype.Day=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[2];$s=-1;return n;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Day};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Day=function(){return this.$val.Day();};BM.ptr.prototype.Weekday=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=BR(l);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Weekday};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Weekday=function(){return this.$val.Weekday();};BR=function(k){var k,l,m;l=$div64((new $Uint64(k.$high+0,k.$low+86400)),new $Uint64(0,604800),true);return(((m=((l.$low>>0))/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0));};BM.ptr.prototype.ISOWeek=function(){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=this;o=$clone(m,BM).date(true);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;k=n[0];p=n[1];q=n[2];r=n[3];t=$clone(m,BM).Weekday();$s=2;case 2:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=(s=(((t+6>>0)>>0))%7,s===s?s:$throwRuntimeError("integer divide by zero"));l=(v=(((r-u>>0)+7>>0))/7,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"));x=(w=(((u-r>>0)+371>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(1<=x&&x<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((x===4)||((x===5)&&CF(k))){l=l+(1)>>0;}}if((p===12)&&q>=29&&u<3){z=(y=(((u+31>>0)-q>>0))%7,y===y?y:$throwRuntimeError("integer divide by zero"));if(0<=z&&z<=2){k=k+(1)>>0;l=1;}}$s=-1;return[k,l];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.ISOWeek};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BM.ptr.prototype.Clock=function(){var k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=0;n=this;p=$clone(n,BM).abs();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=BS(p);$s=2;case 2:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;k=o[0];l=o[1];m=o[2];$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Clock};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Clock=function(){return this.$val.Clock();};BS=function(k){var k,l,m,n,o,p;l=0;m=0;n=0;n=(($div64(k,new $Uint64(0,86400),true).$low>>0));l=(o=n/3600,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));n=n-(($imul(l,3600)))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-(($imul(m,60)))>>0;return[l,m,n];};BM.ptr.prototype.Hour=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return(l=(($div64(m,new $Uint64(0,86400),true).$low>>0))/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Hour};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Hour=function(){return this.$val.Hour();};BM.ptr.prototype.Minute=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return(l=(($div64(m,new $Uint64(0,3600),true).$low>>0))/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Minute};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Minute=function(){return this.$val.Minute();};BM.ptr.prototype.Second=function(){var k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).abs();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return(($div64(l,new $Uint64(0,60),true).$low>>0));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Second};}$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Second=function(){return this.$val.Second();};BM.ptr.prototype.Nanosecond=function(){var k;k=this;return((k.nsec()>>0));};BM.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BM.ptr.prototype.YearDay=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).date(false);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[3];$s=-1;return n+1>>0;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.YearDay};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.YearDay=function(){return this.$val.YearDay();};BT.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=DW.zero();m=32;n=(new $Uint64(k.$high,k.$low));o=(k.$high<0||(k.$high===0&&k.$low<0));if(o){n=new $Uint64(-n.$high,-n.$low);}if((n.$high<0||(n.$high===0&&n.$low<1000000000))){p=0;m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=115);m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0s";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=110);}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DP(l),m),"\xC2\xB5");}else{p=6;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=109);}q=BU($subslice(new DP(l),0,m),n,p);m=q[0];n=q[1];m=BV($subslice(new DP(l),0,m),n);}else{m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=115);r=BU($subslice(new DP(l),0,m),n,9);m=r[0];n=r[1];m=BV($subslice(new DP(l),0,m),$div64(n,new $Uint64(0,60),true));n=$div64(n,(new $Uint64(0,60)),false);if((n.$high>0||(n.$high===0&&n.$low>0))){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=109);m=BV($subslice(new DP(l),0,m),$div64(n,new $Uint64(0,60),true));n=$div64(n,(new $Uint64(0,60)),false);if((n.$high>0||(n.$high===0&&n.$low>0))){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=104);m=BV($subslice(new DP(l),0,m),n);}}}if(o){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=45);}return($bytesToString($subslice(new DP(l),m)));};$ptrType(BT).prototype.String=function(){return this.$get().String();};BU=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u;n=0;o=new $Uint64(0,0);p=k.$length;q=false;r=0;while(true){if(!(r<m)){break;}s=$div64(l,new $Uint64(0,10),true);q=q||!((s.$high===0&&s.$low===0));if(q){p=p-(1)>>0;((p<0||p>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+p]=(((s.$low<<24>>>24))+48<<24>>>24));}l=$div64(l,(new $Uint64(0,10)),false);r=r+(1)>>0;}if(q){p=p-(1)>>0;((p<0||p>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+p]=46);}t=p;u=l;n=t;o=u;return[n,o];};BV=function(k,l){var k,l,m;m=k.$length;if((l.$high===0&&l.$low===0)){m=m-(1)>>0;((m<0||m>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+m]=48);}else{while(true){if(!((l.$high>0||(l.$high===0&&l.$low>0)))){break;}m=m-(1)>>0;((m<0||m>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+m]=((($div64(l,new $Uint64(0,10),true).$low<<24>>>24))+48<<24>>>24));l=$div64(l,(new $Uint64(0,10)),false);}}return m;};BT.prototype.Nanoseconds=function(){var k;k=this;return(new $Int64(k.$high,k.$low));};$ptrType(BT).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BT.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BT(0,1000000000),false);m=$div64(k,new BT(0,1000000000),true);return($flatten64(l))+($flatten64(m))/1e+09;};$ptrType(BT).prototype.Seconds=function(){return this.$get().Seconds();};BT.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BT(13,4165425152),false);m=$div64(k,new BT(13,4165425152),true);return($flatten64(l))+($flatten64(m))/6e+10;};$ptrType(BT).prototype.Minutes=function(){return this.$get().Minutes();};BT.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BT(838,817405952),false);m=$div64(k,new BT(838,817405952),true);return($flatten64(l))+($flatten64(m))/3.6e+12;};$ptrType(BT).prototype.Hours=function(){return this.$get().Hours();};BT.prototype.Truncate=function(k){var k,l,m;l=this;if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}return(m=$div64(l,k,true),new BT(l.$high-m.$high,l.$low-m.$low));};$ptrType(BT).prototype.Truncate=function(k){return this.$get().Truncate(k);};BW=function(k,l){var k,l,m,n,o,p;return(m=(n=(new $Uint64(k.$high,k.$low)),o=(new $Uint64(k.$high,k.$low)),new $Uint64(n.$high+o.$high,n.$low+o.$low)),p=(new $Uint64(l.$high,l.$low)),(m.$high<p.$high||(m.$high===p.$high&&m.$low<p.$low)));};BT.prototype.Round=function(k){var k,l,m,n,o,p,q;l=this;if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=$div64(l,k,true);if((l.$high<0||(l.$high===0&&l.$low<0))){m=new BT(-m.$high,-m.$low);if(BW(m,k)){return new BT(l.$high+m.$high,l.$low+m.$low);}o=(n=new BT(l.$high-k.$high,l.$low-k.$low),new BT(n.$high+m.$high,n.$low+m.$low));if((o.$high<l.$high||(o.$high===l.$high&&o.$low<l.$low))){return o;}return new BT(-2147483648,0);}if(BW(m,k)){return new BT(l.$high-m.$high,l.$low-m.$low);}q=(p=new BT(l.$high+k.$high,l.$low+k.$low),new BT(p.$high-m.$high,p.$low-m.$low));if((q.$high>l.$high||(q.$high===l.$high&&q.$low>l.$low))){return q;}return new BT(2147483647,4294967295);};$ptrType(BT).prototype.Round=function(k){return this.$get().Round(k);};BM.ptr.prototype.Add=function(k){var aa,ab,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=this;n=((m=$div64(k,new BT(0,1000000000),false),new $Int64(m.$high,m.$low)));p=l.nsec()+(((o=$div64(k,new BT(0,1000000000),true),o.$low+((o.$high>>31)*4294967296))>>0))>>0;if(p>=1000000000){n=(q=new $Int64(0,1),new $Int64(n.$high+q.$high,n.$low+q.$low));p=p-(1000000000)>>0;}else if(p<0){n=(r=new $Int64(0,1),new $Int64(n.$high-r.$high,n.$low-r.$low));p=p+(1000000000)>>0;}l.wall=(s=(t=l.wall,new $Uint64(t.$high&~0,(t.$low&~1073741823)>>>0)),u=(new $Uint64(0,p)),new $Uint64(s.$high|u.$high,(s.$low|u.$low)>>>0));l.addSec(n);if(!((v=(w=l.wall,new $Uint64(w.$high&2147483648,(w.$low&0)>>>0)),(v.$high===0&&v.$low===0)))){z=(x=l.ext,y=(new $Int64(k.$high,k.$low)),new $Int64(x.$high+y.$high,x.$low+y.$low));if((k.$high<0||(k.$high===0&&k.$low<0))&&(aa=(l.ext),(z.$high>aa.$high||(z.$high===aa.$high&&z.$low>aa.$low)))||(k.$high>0||(k.$high===0&&k.$low>0))&&(ab=(l.ext),(z.$high<ab.$high||(z.$high===ab.$high&&z.$low<ab.$low)))){l.stripMono();}else{l.ext=z;}}return l;};BM.prototype.Add=function(k){return this.$val.Add(k);};BM.ptr.prototype.Sub=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){q=(l.ext);r=(k.ext);t=((s=new $Int64(q.$high-r.$high,q.$low-r.$low),new BT(s.$high,s.$low)));if((t.$high<0||(t.$high===0&&t.$low<0))&&(q.$high>r.$high||(q.$high===r.$high&&q.$low>r.$low))){return new BT(2147483647,4294967295);}if((t.$high>0||(t.$high===0&&t.$low>0))&&(q.$high<r.$high||(q.$high===r.$high&&q.$low<r.$low))){return new BT(-2147483648,0);}return t;}z=(u=$mul64(((v=(w=l.sec(),x=k.sec(),new $Int64(w.$high-x.$high,w.$low-x.$low)),new BT(v.$high,v.$low))),new BT(0,1000000000)),y=(new BT(0,(l.nsec()-k.nsec()>>0))),new BT(u.$high+y.$high,u.$low+y.$low));if($clone($clone(k,BM).Add(z),BM).Equal($clone(l,BM))){return z;}else if($clone(l,BM).Before($clone(k,BM))){return new BT(-2147483648,0);}else{return new BT(2147483647,4294967295);}};BM.prototype.Sub=function(k){return this.$val.Sub(k);};BY=function(k){var k;return $clone(k,BM).Sub($clone(CC(),BM));};$pkg.Until=BY;BM.ptr.prototype.AddDate=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;p=$clone(n,BM).Date();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];r=o[1];s=o[2];u=$clone(n,BM).Clock();$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];x=t[2];y=CH(q+k>>0,r+((l>>0))>>0,s+m>>0,v,w,x,((n.nsec()>>0)),$clone(n,BM).Location());$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$s=-1;return y;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.AddDate};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BM.ptr.prototype.date=function(k){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=0;m=0;n=0;o=0;p=this;r=$clone(p,BM).abs();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=BZ(r,k);$s=2;case 2:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;l=q[0];m=q[1];n=q[2];o=q[3];$s=-1;return[l,m,n,o];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.date};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.date=function(k){return this.$val.date(k);};BZ=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=0;o=0;p=0;q=$div64(k,new $Uint64(0,86400),false);r=$div64(q,new $Uint64(0,146097),false);s=$mul64(new $Uint64(0,400),r);q=(t=$mul64(new $Uint64(0,146097),r),new $Uint64(q.$high-t.$high,q.$low-t.$low));r=$div64(q,new $Uint64(0,36524),false);r=(u=$shiftRightUint64(r,2),new $Uint64(r.$high-u.$high,r.$low-u.$low));s=(v=$mul64(new $Uint64(0,100),r),new $Uint64(s.$high+v.$high,s.$low+v.$low));q=(w=$mul64(new $Uint64(0,36524),r),new $Uint64(q.$high-w.$high,q.$low-w.$low));r=$div64(q,new $Uint64(0,1461),false);s=(x=$mul64(new $Uint64(0,4),r),new $Uint64(s.$high+x.$high,s.$low+x.$low));q=(y=$mul64(new $Uint64(0,1461),r),new $Uint64(q.$high-y.$high,q.$low-y.$low));r=$div64(q,new $Uint64(0,365),false);r=(z=$shiftRightUint64(r,2),new $Uint64(r.$high-z.$high,r.$low-z.$low));s=(aa=r,new $Uint64(s.$high+aa.$high,s.$low+aa.$low));q=(ab=$mul64(new $Uint64(0,365),r),new $Uint64(q.$high-ab.$high,q.$low-ab.$low));m=(((ac=(ad=(new $Int64(s.$high,s.$low)),new $Int64(ad.$high+-69,ad.$low+4075721025)),ac.$low+((ac.$high>>31)*4294967296))>>0));p=((q.$low>>0));if(!l){return[m,n,o,p];}o=p;if(CF(m)){if(o>59){o=o-(1)>>0;}else if((o===59)){n=2;o=29;return[m,n,o,p];}}n=(((ae=o/31,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>0:$throwRuntimeError("integer divide by zero"))>>0));ag=(((af=n+1>>0,((af<0||af>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[af]))>>0));ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=((((n<0||n>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[n])>>0));}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};CB=function(k,l){var k,l,m;if((k===2)&&CF(l)){return 29;}return(((((k<0||k>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[k])-(m=k-1>>0,((m<0||m>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[m]))>>0)>>0));};CC=function(){var k,l,m,n,o,p,q,r,s;k=J();l=k[0];m=k[1];n=k[2];l=(o=new $Int64(0,2682288000),new $Int64(l.$high+o.$high,l.$low+o.$low));if(!((p=$shiftRightUint64((new $Uint64(l.$high,l.$low)),33),(p.$high===0&&p.$low===0)))){return new BM.ptr((new $Uint64(0,m)),new $Int64(l.$high+13,l.$low+3618733952),$pkg.Local);}return new BM.ptr((q=(r=$shiftLeft64((new $Uint64(l.$high,l.$low)),30),new $Uint64(2147483648|r.$high,(0|r.$low)>>>0)),s=(new $Uint64(0,m)),new $Uint64(q.$high|s.$high,(q.$low|s.$low)>>>0)),n,$pkg.Local);};$pkg.Now=CC;CD=function(k,l){var k,l;return new BM.ptr((new $Uint64(0,l)),new $Int64(k.$high+14,k.$low+2006054656),$pkg.Local);};BM.ptr.prototype.UTC=function(){var k;k=this;k.setLoc(CM);return k;};BM.prototype.UTC=function(){return this.$val.UTC();};BM.ptr.prototype.Local=function(){var k;k=this;k.setLoc($pkg.Local);return k;};BM.prototype.Local=function(){return this.$val.Local();};BM.ptr.prototype.In=function(k){var k,l;l=this;if(k===DS.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.setLoc(k);return l;};BM.prototype.In=function(k){return this.$val.In(k);};BM.ptr.prototype.Location=function(){var k,l;k=this;l=k.loc;if(l===DS.nil){l=$pkg.UTC;}return l;};BM.prototype.Location=function(){return this.$val.Location();};BM.ptr.prototype.Zone=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k="";l=0;m=this;o=m.loc.lookup(m.unixSec());$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;k=n[0];l=n[1];$s=-1;return[k,l];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Zone};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Zone=function(){return this.$val.Zone();};BM.ptr.prototype.Unix=function(){var k;k=this;return k.unixSec();};BM.prototype.Unix=function(){return this.$val.Unix();};BM.ptr.prototype.UnixNano=function(){var k,l,m;k=this;return(l=$mul64((k.unixSec()),new $Int64(0,1000000000)),m=(new $Int64(0,k.nsec())),new $Int64(l.$high+m.$high,l.$low+m.$low));};BM.prototype.UnixNano=function(){return this.$val.UnixNano();};BM.ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=0;if($clone(k,BM).Location()===$pkg.UTC){$s=1;continue;}$s=2;continue;case 1:l=-1;$s=3;continue;case 2:n=$clone(k,BM).Zone();$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[1];if(!(((p=o%60,p===p?p:$throwRuntimeError("integer divide by zero"))===0))){$s=-1;return[DP.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}o=(q=o/(60),(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"));if(o<-32768||(o===-1)||o>32767){$s=-1;return[DP.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=((o<<16>>16));case 3:r=k.sec();s=k.nsec();t=new DP([1,(($shiftRightInt64(r,56).$low<<24>>>24)),(($shiftRightInt64(r,48).$low<<24>>>24)),(($shiftRightInt64(r,40).$low<<24>>>24)),(($shiftRightInt64(r,32).$low<<24>>>24)),(($shiftRightInt64(r,24).$low<<24>>>24)),(($shiftRightInt64(r,16).$low<<24>>>24)),(($shiftRightInt64(r,8).$low<<24>>>24)),((r.$low<<24>>>24)),(((s>>24>>0)<<24>>>24)),(((s>>16>>0)<<24>>>24)),(((s>>8>>0)<<24>>>24)),((s<<24>>>24)),(((l>>8<<16>>16)<<24>>>24)),((l<<24>>>24))]);$s=-1;return[t,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalBinary};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BM.ptr.prototype.UnmarshalBinary=function(k){var aa,ab,ac,ad,ae,af,ag,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=k;if(m.$length===0){$s=-1;return C.New("Time.UnmarshalBinary: no data");}if(!(((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===1))){$s=-1;return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){$s=-1;return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);ab=(n=(o=(p=(q=(r=(s=(t=(new $Int64(0,(7>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+7]))),u=$shiftLeft64((new $Int64(0,(6>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+6]))),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64((new $Int64(0,(5>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+5]))),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64((new $Int64(0,(4>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+4]))),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64((new $Int64(0,(3>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+3]))),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64((new $Int64(0,(2>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+2]))),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64((new $Int64(0,(1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1]))),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Int64(0,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);ac=(((((3>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+3])>>0))|((((2>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+2])>>0))<<8>>0))|((((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])>>0))<<16>>0))|((((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])>>0))<<24>>0);m=$subslice(m,4);ad=$imul(((((((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])<<16>>16))|((((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])<<16>>16))<<8<<16>>16))>>0)),60);BM.copy(l,new BM.ptr(new $Uint64(0,0),new $Int64(0,0),DS.nil));l.wall=(new $Uint64(0,ac));l.ext=ab;if(ad===-60){$s=1;continue;}$s=2;continue;case 1:l.setLoc(CM);$s=3;continue;case 2:af=$pkg.Local.lookup(l.unixSec());$s=4;case 4:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ag=ae[1];if(ad===ag){l.setLoc($pkg.Local);}else{l.setLoc(CP("",ad));}case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalBinary};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BM.ptr.prototype.GobEncode=function(){var k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).MarshalBinary();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.GobEncode};}$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.GobEncode=function(){return this.$val.GobEncode();};BM.ptr.prototype.GobDecode=function(k){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=l.UnmarshalBinary(k);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.GobDecode};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BM.ptr.prototype.MarshalJSON=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).Year();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m<0||m>=10000){$s=-1;return[DP.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}n=$makeSlice(DP,0,37);n=$append(n,34);o=$clone(k,BM).AppendFormat(n,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;n=$append(n,34);$s=-1;return[n,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalJSON};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BM.ptr.prototype.UnmarshalJSON=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;if(($bytesToString(k))==="null"){$s=-1;return $ifaceNil;}m=$ifaceNil;o=AL("\"2006-01-02T15:04:05Z07:00\"",($bytesToString(k)));$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;BM.copy(l,n[0]);m=n[1];$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalJSON};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BM.ptr.prototype.MarshalText=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,BM).Year();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m<0||m>=10000){$s=-1;return[DP.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}n=$makeSlice(DP,0,35);o=$clone(k,BM).AppendFormat(n,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$s=-1;return[o,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalText};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalText=function(){return this.$val.MarshalText();};BM.ptr.prototype.UnmarshalText=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=$ifaceNil;o=AL("2006-01-02T15:04:05Z07:00",($bytesToString(k)));$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;BM.copy(l,n[0]);m=n[1];$s=-1;return m;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalText};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};CE=function(k,l){var k,l,m,n,o,p,q;if((l.$high<0||(l.$high===0&&l.$low<0))||(l.$high>0||(l.$high===0&&l.$low>=1000000000))){m=$div64(l,new $Int64(0,1000000000),false);k=(n=m,new $Int64(k.$high+n.$high,k.$low+n.$low));l=(o=$mul64(m,new $Int64(0,1000000000)),new $Int64(l.$high-o.$high,l.$low-o.$low));if((l.$high<0||(l.$high===0&&l.$low<0))){l=(p=new $Int64(0,1000000000),new $Int64(l.$high+p.$high,l.$low+p.$low));k=(q=new $Int64(0,1),new $Int64(k.$high-q.$high,k.$low-q.$low));}}return CD(k,(((l.$low+((l.$high>>31)*4294967296))>>0)));};$pkg.Unix=CE;CF=function(k){var k,l,m,n;return((l=k%4,l===l?l:$throwRuntimeError("integer divide by zero"))===0)&&(!(((m=k%100,m===m?m:$throwRuntimeError("integer divide by zero"))===0))||((n=k%400,n===n?n:$throwRuntimeError("integer divide by zero"))===0));};CG=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u;n=0;o=0;if(l<0){q=(p=((-l-1>>0))/m,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))+1>>0;k=k-(q)>>0;l=l+(($imul(q,m)))>>0;}if(l>=m){s=(r=l/m,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"));k=k+(s)>>0;l=l-(($imul(s,m)))>>0;}t=k;u=l;n=t;o=u;return[n,o];};CH=function(k,l,m,n,o,p,q,r){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(r===DS.nil){$panic(new $String("time: missing Location in call to Date"));}s=((l>>0))-1>>0;t=CG(k,s,12);k=t[0];s=t[1];l=((s>>0))+1>>0;u=CG(p,q,1000000000);p=u[0];q=u[1];v=CG(o,p,60);o=v[0];p=v[1];w=CG(n,o,60);n=w[0];o=w[1];x=CG(m,n,24);m=x[0];n=x[1];aa=((y=(z=(new $Int64(0,k)),new $Int64(z.$high- -69,z.$low-4075721025)),new $Uint64(y.$high,y.$low)));ab=$div64(aa,new $Uint64(0,400),false);aa=(ac=$mul64(new $Uint64(0,400),ab),new $Uint64(aa.$high-ac.$high,aa.$low-ac.$low));ad=$mul64(new $Uint64(0,146097),ab);ab=$div64(aa,new $Uint64(0,100),false);aa=(ae=$mul64(new $Uint64(0,100),ab),new $Uint64(aa.$high-ae.$high,aa.$low-ae.$low));ad=(af=$mul64(new $Uint64(0,36524),ab),new $Uint64(ad.$high+af.$high,ad.$low+af.$low));ab=$div64(aa,new $Uint64(0,4),false);aa=(ag=$mul64(new $Uint64(0,4),ab),new $Uint64(aa.$high-ag.$high,aa.$low-ag.$low));ad=(ah=$mul64(new $Uint64(0,1461),ab),new $Uint64(ad.$high+ah.$high,ad.$low+ah.$low));ab=aa;ad=(ai=$mul64(new $Uint64(0,365),ab),new $Uint64(ad.$high+ai.$high,ad.$low+ai.$low));ad=(aj=(new $Uint64(0,(ak=l-1>>0,((ak<0||ak>=CA.length)?($throwRuntimeError("index out of range"),undefined):CA[ak])))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(CF(k)&&l>=3){ad=(al=new $Uint64(0,1),new $Uint64(ad.$high+al.$high,ad.$low+al.$low));}ad=(am=(new $Uint64(0,(m-1>>0))),new $Uint64(ad.$high+am.$high,ad.$low+am.$low));an=$mul64(ad,new $Uint64(0,86400));an=(ao=(new $Uint64(0,((($imul(n,3600))+($imul(o,60))>>0)+p>>0))),new $Uint64(an.$high+ao.$high,an.$low+ao.$low));aq=(ap=(new $Int64(an.$high,an.$low)),new $Int64(ap.$high+-2147483647,ap.$low+3844486912));as=r.lookup(aq);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;at=ar[1];au=ar[3];av=ar[4];if(!((at===0))){$s=2;continue;}$s=3;continue;case 2:ax=(aw=(new $Int64(0,at)),new $Int64(aq.$high-aw.$high,aq.$low-aw.$low));if((ax.$high<au.$high||(ax.$high===au.$high&&ax.$low<au.$low))){$s=5;continue;}if((ax.$high>av.$high||(ax.$high===av.$high&&ax.$low>=av.$low))){$s=6;continue;}$s=7;continue;case 5:az=r.lookup(new $Int64(au.$high-0,au.$low-1));$s=8;case 8:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;at=ay[1];$s=7;continue;case 6:bb=r.lookup(av);$s=9;case 9:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ba=bb;at=ba[1];case 7:case 4:aq=(bc=(new $Int64(0,at)),new $Int64(aq.$high-bc.$high,aq.$low-bc.$low));case 3:bd=$clone(CD(aq,((q>>0))),BM);bd.setLoc(r);$s=-1;return bd;}return;}if($f===undefined){$f={$blk:CH};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Date=CH;BM.ptr.prototype.Truncate=function(k){var k,l,m,n;l=this;l.stripMono();if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=CI($clone(l,BM),k);n=m[1];return $clone(l,BM).Add(new BT(-n.$high,-n.$low));};BM.prototype.Truncate=function(k){return this.$val.Truncate(k);};BM.ptr.prototype.Round=function(k){var k,l,m,n;l=this;l.stripMono();if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=CI($clone(l,BM),k);n=m[1];if(BW(n,k)){return $clone(l,BM).Add(new BT(-n.$high,-n.$low));}return $clone(l,BM).Add(new BT(k.$high-n.$high,k.$low-n.$low));};BM.prototype.Round=function(k){return this.$val.Round(k);};CI=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=new BT(0,0);o=false;p=k.nsec();q=k.sec();if((q.$high<0||(q.$high===0&&q.$low<0))){o=true;q=new $Int64(-q.$high,-q.$low);p=-p;if(p<0){p=p+(1000000000)>>0;q=(r=new $Int64(0,1),new $Int64(q.$high-r.$high,q.$low-r.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(s=$div64(new BT(0,1000000000),(new BT(l.$high+l.$high,l.$low+l.$low)),true),(s.$high===0&&s.$low===0))){m=(((u=p/(((l.$low+((l.$high>>31)*4294967296))>>0)),(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0))&1;n=(new BT(0,(v=p%(((l.$low+((l.$high>>31)*4294967296))>>0)),v===v?v:$throwRuntimeError("integer divide by zero"))));}else if((t=$div64(l,new BT(0,1000000000),true),(t.$high===0&&t.$low===0))){x=((w=$div64(l,new BT(0,1000000000),false),new $Int64(w.$high,w.$low)));m=(((y=$div64(q,x,false),y.$low+((y.$high>>31)*4294967296))>>0))&1;n=(z=$mul64(((aa=$div64(q,x,true),new BT(aa.$high,aa.$low))),new BT(0,1000000000)),ab=(new BT(0,p)),new BT(z.$high+ab.$high,z.$low+ab.$low));}else{ac=(new $Uint64(q.$high,q.$low));ad=$mul64(($shiftRightUint64(ac,32)),new $Uint64(0,1000000000));ae=$shiftRightUint64(ad,32);af=$shiftLeft64(ad,32);ad=$mul64((new $Uint64(ac.$high&0,(ac.$low&4294967295)>>>0)),new $Uint64(0,1000000000));ag=af;ah=new $Uint64(af.$high+ad.$high,af.$low+ad.$low);ai=ag;af=ah;if((af.$high<ai.$high||(af.$high===ai.$high&&af.$low<ai.$low))){ae=(aj=new $Uint64(0,1),new $Uint64(ae.$high+aj.$high,ae.$low+aj.$low));}ak=af;al=(am=(new $Uint64(0,p)),new $Uint64(af.$high+am.$high,af.$low+am.$low));ai=ak;af=al;if((af.$high<ai.$high||(af.$high===ai.$high&&af.$low<ai.$low))){ae=(an=new $Uint64(0,1),new $Uint64(ae.$high+an.$high,ae.$low+an.$low));}ao=(new $Uint64(l.$high,l.$low));while(true){if(!(!((ap=$shiftRightUint64(ao,63),(ap.$high===0&&ap.$low===1))))){break;}ao=$shiftLeft64(ao,(1));}aq=new $Uint64(0,0);while(true){m=0;if((ae.$high>ao.$high||(ae.$high===ao.$high&&ae.$low>ao.$low))||(ae.$high===ao.$high&&ae.$low===ao.$low)&&(af.$high>aq.$high||(af.$high===aq.$high&&af.$low>=aq.$low))){m=1;ar=af;as=new $Uint64(af.$high-aq.$high,af.$low-aq.$low);ai=ar;af=as;if((af.$high>ai.$high||(af.$high===ai.$high&&af.$low>ai.$low))){ae=(at=new $Uint64(0,1),new $Uint64(ae.$high-at.$high,ae.$low-at.$low));}ae=(au=ao,new $Uint64(ae.$high-au.$high,ae.$low-au.$low));}if((ao.$high===0&&ao.$low===0)&&(av=(new $Uint64(l.$high,l.$low)),(aq.$high===av.$high&&aq.$low===av.$low))){break;}aq=$shiftRightUint64(aq,(1));aq=(aw=$shiftLeft64((new $Uint64(ao.$high&0,(ao.$low&1)>>>0)),63),new $Uint64(aq.$high|aw.$high,(aq.$low|aw.$low)>>>0));ao=$shiftRightUint64(ao,(1));}n=(new BT(af.$high,af.$low));}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BT(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CJ.ptr.prototype.get=function(){var k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;if(k===DS.nil){$s=-1;return CM;}if(k===CN){$s=1;continue;}$s=2;continue;case 1:$r=CO.Do(H);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return k;}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.get};}$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.get=function(){return this.$val.get();};CJ.ptr.prototype.String=function(){var k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=k.get();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l.name;}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.String};}$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.String=function(){return this.$val.String();};CP=function(k,l){var k,l,m,n;m=new CJ.ptr(k,new DI([new CK.ptr(k,l,false)]),new DJ([new CL.ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),DK.nil);m.cacheZone=(n=m.zone,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]));return m;};$pkg.FixedZone=CP;CJ.ptr.prototype.lookup=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l="";m=0;n=false;o=new $Int64(0,0);p=new $Int64(0,0);q=this;r=q.get();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);$s=-1;return[l,m,n,o,p];}s=q.cacheZone;if(!(s===DK.nil)&&(t=q.cacheStart,(t.$high<k.$high||(t.$high===k.$high&&t.$low<=k.$low)))&&(u=q.cacheEnd,(k.$high<u.$high||(k.$high===u.$high&&k.$low<u.$low)))){l=s.name;m=s.offset;n=s.isDST;o=q.cacheStart;p=q.cacheEnd;$s=-1;return[l,m,n,o,p];}if((q.tx.$length===0)||(v=(w=q.tx,(0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0])).when,(k.$high<v.$high||(k.$high===v.$high&&k.$low<v.$low)))){z=(x=q.zone,y=q.lookupFirstZone(),((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]));l=z.name;m=z.offset;n=z.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(aa=q.tx,(0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}$s=-1;return[l,m,n,o,p];}ab=q.tx;p=new $Int64(2147483647,4294967295);ac=0;ad=ab.$length;while(true){if(!((ad-ac>>0)>1)){break;}af=ac+(ae=((ad-ac>>0))/2,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>0:$throwRuntimeError("integer divide by zero"))>>0;ag=((af<0||af>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+af]).when;if((k.$high<ag.$high||(k.$high===ag.$high&&k.$low<ag.$low))){p=ag;ad=af;}else{ac=af;}}aj=(ah=q.zone,ai=((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]).index,((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai]));l=aj.name;m=aj.offset;n=aj.isDST;o=((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]).when;$s=-1;return[l,m,n,o,p];}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.lookup};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.lookup=function(k){return this.$val.lookup(k);};CJ.ptr.prototype.lookupFirstZone=function(){var k,l,m,n,o,p,q,r,s,t,u;k=this;if(!k.firstZoneUsed()){return 0;}if(k.tx.$length>0&&(l=k.zone,m=(n=k.tx,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m])).isDST){p=(((o=k.tx,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])).index>>0))-1>>0;while(true){if(!(p>=0)){break;}if(!(q=k.zone,((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(true){if(!(s<r.$length)){break;}t=s;if(!(u=k.zone,((t<0||t>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CJ.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CJ.ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(true){if(!(m<l.$length)){break;}n=$clone(((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]),CL);if(n.index===0){return true;}m++;}return false;};CJ.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CJ.ptr.prototype.lookupName=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=false;o=false;p=this;q=p.get();$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p.zone;s=0;case 2:if(!(s<r.$length)){$s=3;continue;}t=s;v=(u=p.zone,((t<0||t>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+t]));if(v.name===k){$s=4;continue;}$s=5;continue;case 4:y=p.lookup((x=(new $Int64(0,v.offset)),new $Int64(l.$high-x.$high,l.$low-x.$low)));$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w=y;z=w[0];aa=w[1];ab=w[2];if(z===v.name){ac=aa;ad=ab;ae=true;m=ac;n=ad;o=ae;$s=-1;return[m,n,o];}case 5:s++;$s=2;continue;case 3:af=p.zone;ag=0;while(true){if(!(ag<af.$length)){break;}ah=ag;aj=(ai=p.zone,((ah<0||ah>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+ah]));if(aj.name===k){ak=aj.offset;al=aj.isDST;am=true;m=ak;n=al;o=am;$s=-1;return[m,n,o];}ag++;}$s=-1;return[m,n,o];}return;}if($f===undefined){$f={$blk:CJ.ptr.prototype.lookupName};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CJ.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};EA.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];EB.methods=[{prop:"Stop",name:"Stop",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([BT],[$Bool],false)}];BM.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"AppendFormat",name:"AppendFormat",pkg:"",typ:$funcType([DP,$String],[DP],false)},{prop:"After",name:"After",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Before",name:"Before",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"IsZero",name:"IsZero",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"abs",name:"abs",pkg:"time",typ:$funcType([],[$Uint64],false)},{prop:"locabs",name:"locabs",pkg:"time",typ:$funcType([],[$String,$Int,$Uint64],false)},{prop:"Date",name:"Date",pkg:"",typ:$funcType([],[$Int,BN,$Int],false)},{prop:"Year",name:"Year",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Month",name:"Month",pkg:"",typ:$funcType([],[BN],false)},{prop:"Day",name:"Day",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Weekday",name:"Weekday",pkg:"",typ:$funcType([],[BP],false)},{prop:"ISOWeek",name:"ISOWeek",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Clock",name:"Clock",pkg:"",typ:$funcType([],[$Int,$Int,$Int],false)},{prop:"Hour",name:"Hour",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Minute",name:"Minute",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Second",name:"Second",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Nanosecond",name:"Nanosecond",pkg:"",typ:$funcType([],[$Int],false)},{prop:"YearDay",name:"YearDay",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([BT],[BM],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([BM],[BT],false)},{prop:"AddDate",name:"AddDate",pkg:"",typ:$funcType([$Int,$Int,$Int],[BM],false)},{prop:"date",name:"date",pkg:"time",typ:$funcType([$Bool],[$Int,BN,$Int,$Int],false)},{prop:"UTC",name:"UTC",pkg:"",typ:$funcType([],[BM],false)},{prop:"Local",name:"Local",pkg:"",typ:$funcType([],[BM],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([DS],[BM],false)},{prop:"Location",name:"Location",pkg:"",typ:$funcType([],[DS],false)},{prop:"Zone",name:"Zone",pkg:"",typ:$funcType([],[$String,$Int],false)},{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"UnixNano",name:"UnixNano",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DP,$error],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([BT],[BM],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([BT],[BM],false)}];EE.methods=[{prop:"nsec",name:"nsec",pkg:"time",typ:$funcType([],[$Int32],false)},{prop:"sec",name:"sec",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"unixSec",name:"unixSec",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"addSec",name:"addSec",pkg:"time",typ:$funcType([$Int64],[],false)},{prop:"setLoc",name:"setLoc",pkg:"time",typ:$funcType([DS],[],false)},{prop:"stripMono",name:"stripMono",pkg:"time",typ:$funcType([],[],false)},{prop:"setMono",name:"setMono",pkg:"time",typ:$funcType([$Int64],[],false)},{prop:"mono",name:"mono",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([DP],[$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DP],[$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DP],[$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DP],[$error],false)}];BN.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BP.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BT.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Nanoseconds",name:"Nanoseconds",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seconds",name:"Seconds",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Minutes",name:"Minutes",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Hours",name:"Hours",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([BT],[BT],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([BT],[BT],false)}];DS.methods=[{prop:"get",name:"get",pkg:"time",typ:$funcType([],[DS],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"lookup",name:"lookup",pkg:"time",typ:$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false)},{prop:"lookupFirstZone",name:"lookupFirstZone",pkg:"time",typ:$funcType([],[$Int],false)},{prop:"firstZoneUsed",name:"firstZoneUsed",pkg:"time",typ:$funcType([],[$Bool],false)},{prop:"lookupName",name:"lookupName",pkg:"time",typ:$funcType([$String,$Int64],[$Int,$Bool,$Bool],false)}];G.init("time",[{prop:"i",name:"i",anonymous:false,exported:false,typ:$Int32,tag:""},{prop:"when",name:"when",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"period",name:"period",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"f",name:"f",anonymous:false,exported:false,typ:DY,tag:""},{prop:"arg",name:"arg",anonymous:false,exported:false,typ:$emptyInterface,tag:""},{prop:"timeout",name:"timeout",anonymous:false,exported:false,typ:DZ,tag:""},{prop:"active",name:"active",anonymous:false,exported:false,typ:$Bool,tag:""}]);AF.init("",[{prop:"Layout",name:"Layout",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Value",name:"Value",anonymous:false,exported:true,typ:$String,tag:""},{prop:"LayoutElem",name:"LayoutElem",anonymous:false,exported:true,typ:$String,tag:""},{prop:"ValueElem",name:"ValueElem",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Message",name:"Message",anonymous:false,exported:true,typ:$String,tag:""}]);AX.init("time",[{prop:"C",name:"C",anonymous:false,exported:true,typ:EC,tag:""},{prop:"r",name:"r",anonymous:false,exported:false,typ:G,tag:""}]);BM.init("time",[{prop:"wall",name:"wall",anonymous:false,exported:false,typ:$Uint64,tag:""},{prop:"ext",name:"ext",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"loc",name:"loc",anonymous:false,exported:false,typ:DS,tag:""}]);CJ.init("time",[{prop:"name",name:"name",anonymous:false,exported:false,typ:$String,tag:""},{prop:"zone",name:"zone",anonymous:false,exported:false,typ:DI,tag:""},{prop:"tx",name:"tx",anonymous:false,exported:false,typ:DJ,tag:""},{prop:"cacheStart",name:"cacheStart",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"cacheEnd",name:"cacheEnd",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"cacheZone",name:"cacheZone",anonymous:false,exported:false,typ:DK,tag:""}]);CK.init("time",[{prop:"name",name:"name",anonymous:false,exported:false,typ:$String,tag:""},{prop:"offset",name:"offset",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"isDST",name:"isDST",anonymous:false,exported:false,typ:$Bool,tag:""}]);CL.init("time",[{prop:"when",name:"when",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"index",name:"index",anonymous:false,exported:false,typ:$Uint8,tag:""},{prop:"isstd",name:"isstd",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"isutc",name:"isutc",anonymous:false,exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CN=new CJ.ptr("",DI.nil,DJ.nil,new $Int64(0,0),new $Int64(0,0),DK.nil);CO=new E.Once.ptr(false,false);R=$toNativeArray($kindInt,[260,265,524,526,528,274]);U=new DM(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);V=new DM(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);W=new DM(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);X=new DM(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);AB=C.New("time: invalid number");AE=C.New("bad value for field");AR=C.New("time: bad [0-9]*");BO=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BQ=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);AU=$makeMap($String.keyFor,[{k:"ns",v:new $Int64(0,1)},{k:"us",v:new $Int64(0,1000)},{k:"\xC2\xB5s",v:new $Int64(0,1000)},{k:"\xCE\xBCs",v:new $Int64(0,1000)},{k:"ms",v:new $Int64(0,1000000)},{k:"s",v:new $Int64(0,1000000000)},{k:"m",v:new $Int64(13,4165425152)},{k:"h",v:new $Int64(838,817405952)}]);CA=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CM=new CJ.ptr("UTC",DI.nil,DJ.nil,new $Int64(0,0),new $Int64(0,0),DK.nil);$pkg.UTC=CM;$pkg.Local=CN;CQ=C.New("time: invalid location name");CY=C.New("malformed time zone information");DE=new DM(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",A.GOROOT()+"/lib/time/zoneinfo.zip"]);F();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["strings"]=(function(){var $pkg={},$init,C,B,D,E,A,K,BR,CE,CN,CO,CP,CQ,F,G,H,I,L,AE,AI,AJ,AK,AL,AM,AP,AS,AX,AY,BA,BD,BK,BL,BM,BN,BP,BQ,BS,BT,BW,BX,CB;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["io"];E=$packages["unicode"];A=$packages["unicode/utf8"];K=$pkg.Reader=$newType(0,$kindStruct,"strings.Reader",true,"strings",true,function(s_,i_,prevRune_){this.$val=this;if(arguments.length===0){this.s="";this.i=new $Int64(0,0);this.prevRune=0;return;}this.s=s_;this.i=i_;this.prevRune=prevRune_;});BR=$pkg.asciiSet=$newType(32,$kindArray,"strings.asciiSet",true,"strings",false,null);CE=$sliceType($Uint8);CN=$sliceType($String);CO=$ptrType(BR);CP=$arrayType($Uint32,8);CQ=$ptrType(K);F=function(e,f){var e,f;return $parseInt(e.indexOf($global.String.fromCharCode(f)))>>0;};$pkg.IndexByte=F;G=function(e,f){var e,f;return $parseInt(e.indexOf(f))>>0;};$pkg.Index=G;H=function(e,f){var e,f;return $parseInt(e.lastIndexOf(f))>>0;};$pkg.LastIndex=H;I=function(e,f){var e,f,g,h;g=0;if((f.length===0)){return A.RuneCountInString(e)+1>>0;}else if(f.length>e.length){return 0;}else if((f.length===e.length)){if(f===e){return 1;}return 0;}while(true){h=G(e,f);if(h===-1){break;}g=g+(1)>>0;e=$substring(e,(h+f.length>>0));}return g;};$pkg.Count=I;K.ptr.prototype.Len=function(){var e,f,g,h,i,j;e=this;if((f=e.i,g=(new $Int64(0,e.s.length)),(f.$high>g.$high||(f.$high===g.$high&&f.$low>=g.$low)))){return 0;}return(((h=(i=(new $Int64(0,e.s.length)),j=e.i,new $Int64(i.$high-j.$high,i.$low-j.$low)),h.$low+((h.$high>>31)*4294967296))>>0));};K.prototype.Len=function(){return this.$val.Len();};K.ptr.prototype.Size=function(){var e;e=this;return(new $Int64(0,e.s.length));};K.prototype.Size=function(){return this.$val.Size();};K.ptr.prototype.Read=function(e){var e,f,g,h,i,j,k,l,m,n;f=0;g=$ifaceNil;h=this;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){k=0;l=D.EOF;f=k;g=l;return[f,g];}h.prevRune=-1;f=$copyString(e,$substring(h.s,$flatten64(h.i)));h.i=(m=h.i,n=(new $Int64(0,f)),new $Int64(m.$high+n.$high,m.$low+n.$low));return[f,g];};K.prototype.Read=function(e){return this.$val.Read(e);};K.ptr.prototype.ReadAt=function(e,f){var e,f,g,h,i,j,k,l,m,n;g=0;h=$ifaceNil;i=this;if((f.$high<0||(f.$high===0&&f.$low<0))){j=0;k=C.New("strings.Reader.ReadAt: negative offset");g=j;h=k;return[g,h];}if((l=(new $Int64(0,i.s.length)),(f.$high>l.$high||(f.$high===l.$high&&f.$low>=l.$low)))){m=0;n=D.EOF;g=m;h=n;return[g,h];}g=$copyString(e,$substring(i.s,$flatten64(f)));if(g<e.$length){h=D.EOF;}return[g,h];};K.prototype.ReadAt=function(e,f){return this.$val.ReadAt(e,f);};K.ptr.prototype.ReadByte=function(){var e,f,g,h,i,j;e=this;e.prevRune=-1;if((f=e.i,g=(new $Int64(0,e.s.length)),(f.$high>g.$high||(f.$high===g.$high&&f.$low>=g.$low)))){return[0,D.EOF];}h=e.s.charCodeAt($flatten64(e.i));e.i=(i=e.i,j=new $Int64(0,1),new $Int64(i.$high+j.$high,i.$low+j.$low));return[h,$ifaceNil];};K.prototype.ReadByte=function(){return this.$val.ReadByte();};K.ptr.prototype.UnreadByte=function(){var e,f,g,h;e=this;e.prevRune=-1;if((f=e.i,(f.$high<0||(f.$high===0&&f.$low<=0)))){return C.New("strings.Reader.UnreadByte: at beginning of string");}e.i=(g=e.i,h=new $Int64(0,1),new $Int64(g.$high-h.$high,g.$low-h.$low));return $ifaceNil;};K.prototype.UnreadByte=function(){return this.$val.UnreadByte();};K.ptr.prototype.ReadRune=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;e=0;f=0;g=$ifaceNil;h=this;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){h.prevRune=-1;k=0;l=0;m=D.EOF;e=k;f=l;g=m;return[e,f,g];}h.prevRune=(((n=h.i,n.$low+((n.$high>>31)*4294967296))>>0));o=h.s.charCodeAt($flatten64(h.i));if(o<128){h.i=(p=h.i,q=new $Int64(0,1),new $Int64(p.$high+q.$high,p.$low+q.$low));r=((o>>0));s=1;t=$ifaceNil;e=r;f=s;g=t;return[e,f,g];}u=A.DecodeRuneInString($substring(h.s,$flatten64(h.i)));e=u[0];f=u[1];h.i=(v=h.i,w=(new $Int64(0,f)),new $Int64(v.$high+w.$high,v.$low+w.$low));return[e,f,g];};K.prototype.ReadRune=function(){return this.$val.ReadRune();};K.ptr.prototype.UnreadRune=function(){var e;e=this;if(e.prevRune<0){return C.New("strings.Reader.UnreadRune: previous operation was not ReadRune");}e.i=(new $Int64(0,e.prevRune));e.prevRune=-1;return $ifaceNil;};K.prototype.UnreadRune=function(){return this.$val.UnreadRune();};K.ptr.prototype.Seek=function(e,f){var e,f,g,h,i,j,k;g=this;g.prevRune=-1;h=new $Int64(0,0);i=f;if(i===(0)){h=e;}else if(i===(1)){h=(j=g.i,new $Int64(j.$high+e.$high,j.$low+e.$low));}else if(i===(2)){h=(k=(new $Int64(0,g.s.length)),new $Int64(k.$high+e.$high,k.$low+e.$low));}else{return[new $Int64(0,0),C.New("strings.Reader.Seek: invalid whence")];}if((h.$high<0||(h.$high===0&&h.$low<0))){return[new $Int64(0,0),C.New("strings.Reader.Seek: negative position")];}g.i=h;return[h,$ifaceNil];};K.prototype.Seek=function(e,f){return this.$val.Seek(e,f);};K.ptr.prototype.WriteTo=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=new $Int64(0,0);g=$ifaceNil;h=this;h.prevRune=-1;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){k=new $Int64(0,0);l=$ifaceNil;f=k;g=l;$s=-1;return[f,g];}m=$substring(h.s,$flatten64(h.i));o=D.WriteString(e,m);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];g=n[1];if(p>m.length){$panic(new $String("strings.Reader.WriteTo: invalid WriteString count"));}h.i=(q=h.i,r=(new $Int64(0,p)),new $Int64(q.$high+r.$high,q.$low+r.$low));f=(new $Int64(0,p));if(!((p===m.length))&&$interfaceIsEqual(g,$ifaceNil)){g=D.ErrShortWrite;}$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:K.ptr.prototype.WriteTo};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.WriteTo=function(e){return this.$val.WriteTo(e);};K.ptr.prototype.Reset=function(e){var e,f;f=this;K.copy(f,new K.ptr(e,new $Int64(0,0),-1));};K.prototype.Reset=function(e){return this.$val.Reset(e);};L=function(e){var e;return new K.ptr(e,new $Int64(0,0),-1);};$pkg.NewReader=L;AE=function(e,f){var e,f,g,h,i,j,k,l,m;g=A.RuneCountInString(e);if(f<0||f>g){f=g;}h=$makeSlice(CN,f);i=0;while(true){if(!(i<(f-1>>0))){break;}j=A.DecodeRuneInString(e);k=j[0];l=j[1];((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=$substring(e,0,l));e=$substring(e,l);if(k===65533){((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]="\xEF\xBF\xBD");}i=i+(1)>>0;}if(f>0){(m=f-1>>0,((m<0||m>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+m]=e));}return h;};AI=function(e,f){var e,f;return G(e,f)>=0;};$pkg.Contains=AI;AJ=function(e,f){var e,f;return AM(e,f)>=0;};$pkg.ContainsAny=AJ;AK=function(e,f){var e,f;return AL(e,f)>=0;};$pkg.ContainsRune=AK;AL=function(e,f){var e,f,g,h,i,j,k;if(0<=f&&f<128){return F(e,((f<<24>>>24)));}else if((f===65533)){g=e;h=0;while(true){if(!(h<g.length)){break;}i=$decodeRune(g,h);j=h;k=i[0];if(k===65533){return j;}h+=i[1];}return-1;}else if(!A.ValidRune(f)){return-1;}else{return G(e,($encodeRune(f)));}};$pkg.IndexRune=AL;AM=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(f.length>0){if(e.length>8){g=BS(f);h=$clone(g[0],BR);i=g[1];if(i){j=0;while(true){if(!(j<e.length)){break;}if(new CO(h).contains(e.charCodeAt(j))){return j;}j=j+(1)>>0;}return-1;}}k=e;l=0;while(true){if(!(l<k.length)){break;}m=$decodeRune(k,l);n=l;o=m[0];p=f;q=0;while(true){if(!(q<p.length)){break;}r=$decodeRune(p,q);s=r[0];if(o===s){return n;}q+=r[1];}l+=m[1];}}return-1;};$pkg.IndexAny=AM;AP=function(e,f,g,h){var e,f,g,h,i,j,k;if(h===0){return CN.nil;}if(f===""){return AE(e,h);}if(h<0){h=I(e,f)+1>>0;}i=$makeSlice(CN,h);h=h-(1)>>0;j=0;while(true){if(!(j<h)){break;}k=G(e,f);if(k<0){break;}((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]=$substring(e,0,(k+g>>0)));e=$substring(e,(k+f.length>>0));j=j+(1)>>0;}((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]=e);return $subslice(i,0,(j+1>>0));};AS=function(e,f){var e,f;return AP(e,f,0,-1);};$pkg.Split=AS;AX=function(e,f){var e,f,g,h,i,j,k,l,m,n;g=e.$length;if(g===(0)){return"";}else if(g===(1)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);}else if(g===(2)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])+f+(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]);}else if(g===(3)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])+f+(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])+f+(2>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+2]);}h=$imul(f.length,((e.$length-1>>0)));i=0;while(true){if(!(i<e.$length)){break;}h=h+(((i<0||i>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+i]).length)>>0;i=i+(1)>>0;}j=$makeSlice(CE,h);k=$copyString(j,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]));l=$subslice(e,1);m=0;while(true){if(!(m<l.$length)){break;}n=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);k=k+($copyString($subslice(j,k),f))>>0;k=k+($copyString($subslice(j,k),n))>>0;m++;}return($bytesToString(j));};$pkg.Join=AX;AY=function(e,f){var e,f;return e.length>=f.length&&$substring(e,0,f.length)===f;};$pkg.HasPrefix=AY;BA=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=CE.nil;h=0;i=f;j=0;case 1:if(!(j<i.length)){$s=2;continue;}k=$decodeRune(i,j);l=j;m=k[0];n=e(m);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(o===m){j+=k[1];$s=1;continue;}g=$makeSlice(CE,(f.length+4>>0));h=$copyString(g,$substring(f,0,l));if(o>=0){if(o<=128){((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]=((o<<24>>>24)));h=h+(1)>>0;}else{h=h+(A.EncodeRune($subslice(g,h),o))>>0;}}if(m===65533){p=A.DecodeRuneInString($substring(f,l));q=p[1];l=l+(q)>>0;}else{l=l+(A.RuneLen(m))>>0;}f=$substring(f,l);$s=2;continue;$s=1;continue;case 2:if(g===CE.nil){$s=-1;return f;}r=f;s=0;case 4:if(!(s<r.length)){$s=5;continue;}t=$decodeRune(r,s);u=t[0];v=e(u);$s=6;case 6:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;if((0<=w&&w<=128)&&h<g.$length){((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]=((w<<24>>>24)));h=h+(1)>>0;s+=t[1];$s=4;continue;}if(w>=0){if((h+4>>0)>=g.$length){x=$makeSlice(CE,($imul(2,g.$length)));$copySlice(x,$subslice(g,0,h));g=x;}h=h+(A.EncodeRune($subslice(g,h),w))>>0;}s+=t[1];$s=4;continue;case 5:$s=-1;return($bytesToString($subslice(g,0,h)));}return;}if($f===undefined){$f={$blk:BA};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Map=BA;BD=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BA(E.ToLower,e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:BD};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ToLower=BD;BK=function(e,f){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BP(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===-1){$s=-1;return"";}$s=-1;return $substring(e,h);}return;}if($f===undefined){$f={$blk:BK};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimLeftFunc=BK;BL=function(e,f){var e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BQ(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h>=0&&e.charCodeAt(h)>=128){i=A.DecodeRuneInString($substring(e,h));j=i[1];h=h+(j)>>0;}else{h=h+(1)>>0;}$s=-1;return $substring(e,0,h);}return;}if($f===undefined){$f={$blk:BL};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRightFunc=BL;BM=function(e,f){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BK(e,f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=BL(g,f);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;}return;}if($f===undefined){$f={$blk:BM};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimFunc=BM;BN=function(e,f){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BP(e,f,true);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:BN};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.IndexFunc=BN;BP=function(e,f,g){var e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=e;i=0;case 1:if(!(i<h.length)){$s=2;continue;}j=$decodeRune(h,i);k=i;l=j[0];m=f(l);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return k;case 4:i+=j[1];$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:BP};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BQ=function(e,f,g){var e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=e.length;case 1:if(!(h>0)){$s=2;continue;}i=A.DecodeLastRuneInString($substring(e,0,h));j=i[0];k=i[1];h=h-(k)>>0;l=f(j);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return h;case 4:$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:BQ};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BS=function(e){var e,f,g,h,i,j,k,l,m,n,o;f=CP.zero();g=false;h=0;while(true){if(!(h<e.length)){break;}i=e.charCodeAt(h);if(i>=128){j=$clone(f,BR);k=false;BR.copy(f,j);g=k;return[f,g];}l=i>>>5<<24>>>24;((l<0||l>=f.length)?($throwRuntimeError("index out of range"),undefined):f[l]=((((l<0||l>=f.length)?($throwRuntimeError("index out of range"),undefined):f[l])|(((m=((((i&31)>>>0)>>>0)),m<32?(1<<m):0)>>>0)))>>>0));h=h+(1)>>0;}n=$clone(f,BR);o=true;BR.copy(f,n);g=o;return[f,g];};BR.prototype.contains=function(e){var e,f,g,h;f=this.$val;return!((((((g=e>>>5<<24>>>24,(f.nilCheck,((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g])))&(((h=((((e&31)>>>0)>>>0)),h<32?(1<<h):0)>>>0)))>>>0))===0));};$ptrType(BR).prototype.contains=function(e){return(new BR(this.$get())).contains(e);};BT=function(e){var e,f,g,h;if((e.length===1)&&e.charCodeAt(0)<128){return(function(f){var f;return f===((e.charCodeAt(0)>>0));});}f=BS(e);g=$clone(f[0],BR);h=f[1];if(h){return(function(i){var i;return i<128&&new CO(g).contains(((i<<24>>>24)));});}return(function(i){var i;return AL(e,i)>=0;});};BW=function(e,f){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(e===""||f===""){$s=-1;return e;}g=BL(e,BT(f));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:BW};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRight=BW;BX=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BM(e,E.IsSpace);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:BX};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimSpace=BX;CB=function(e,f){var aa,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;while(true){if(!(!(e==="")&&!(f===""))){break;}g=0;h=0;i=g;j=h;if(e.charCodeAt(0)<128){k=((e.charCodeAt(0)>>0));l=$substring(e,1);i=k;e=l;}else{m=A.DecodeRuneInString(e);n=m[0];o=m[1];p=n;q=$substring(e,o);i=p;e=q;}if(f.charCodeAt(0)<128){r=((f.charCodeAt(0)>>0));s=$substring(f,1);j=r;f=s;}else{t=A.DecodeRuneInString(f);u=t[0];v=t[1];w=u;x=$substring(f,v);j=w;f=x;}if(j===i){continue;}if(j<i){y=i;z=j;j=y;i=z;}if(j<128&&65<=i&&i<=90){if(j===((i+97>>0)-65>>0)){continue;}return false;}aa=E.SimpleFold(i);while(true){if(!(!((aa===i))&&aa<j)){break;}aa=E.SimpleFold(aa);}if(aa===j){continue;}return false;}return e===f;};$pkg.EqualFold=CB;CQ.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([CE],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([CE,$Int64],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([D.Writer],[$Int64,$error],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([$String],[],false)}];CO.methods=[{prop:"contains",name:"contains",pkg:"strings",typ:$funcType([$Uint8],[$Bool],false)}];K.init("strings",[{prop:"s",name:"s",anonymous:false,exported:false,typ:$String,tag:""},{prop:"i",name:"i",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"prevRune",name:"prevRune",anonymous:false,exported:false,typ:$Int,tag:""}]);BR.init($Uint32,8);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["strings"]=(function(){var $pkg={},$init,C,B,D,E,A,K,M,N,P,Q,S,T,U,W,Y,Z,AA,BR,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,F,G,H,I,L,O,R,V,X,AB,AC,AD,AE,AI,AJ,AK,AL,AM,AP,AS,AW,AX,AY,BA,BD,BK,BL,BM,BN,BP,BQ,BS,BT,BW,BX,CA,CB;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["io"];E=$packages["unicode"];A=$packages["unicode/utf8"];K=$pkg.Reader=$newType(0,$kindStruct,"strings.Reader",true,"strings",true,function(s_,i_,prevRune_){this.$val=this;if(arguments.length===0){this.s="";this.i=new $Int64(0,0);this.prevRune=0;return;}this.s=s_;this.i=i_;this.prevRune=prevRune_;});M=$pkg.Replacer=$newType(0,$kindStruct,"strings.Replacer",true,"strings",true,function(r_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;return;}this.r=r_;});N=$pkg.replacer=$newType(8,$kindInterface,"strings.replacer",true,"strings",false,null);P=$pkg.trieNode=$newType(0,$kindStruct,"strings.trieNode",true,"strings",false,function(value_,priority_,prefix_,next_,table_){this.$val=this;if(arguments.length===0){this.value="";this.priority=0;this.prefix="";this.next=CH.nil;this.table=CI.nil;return;}this.value=value_;this.priority=priority_;this.prefix=prefix_;this.next=next_;this.table=table_;});Q=$pkg.genericReplacer=$newType(0,$kindStruct,"strings.genericReplacer",true,"strings",false,function(root_,tableSize_,mapping_){this.$val=this;if(arguments.length===0){this.root=new P.ptr("",0,"",CH.nil,CI.nil);this.tableSize=0;this.mapping=CC.zero();return;}this.root=root_;this.tableSize=tableSize_;this.mapping=mapping_;});S=$pkg.appendSliceWriter=$newType(12,$kindSlice,"strings.appendSliceWriter",true,"strings",false,null);T=$pkg.stringWriterIface=$newType(8,$kindInterface,"strings.stringWriterIface",true,"strings",false,null);U=$pkg.stringWriter=$newType(0,$kindStruct,"strings.stringWriter",true,"strings",false,function(w_){this.$val=this;if(arguments.length===0){this.w=$ifaceNil;return;}this.w=w_;});W=$pkg.singleStringReplacer=$newType(0,$kindStruct,"strings.singleStringReplacer",true,"strings",false,function(finder_,value_){this.$val=this;if(arguments.length===0){this.finder=CK.nil;this.value="";return;}this.finder=finder_;this.value=value_;});Y=$pkg.byteReplacer=$newType(256,$kindArray,"strings.byteReplacer",true,"strings",false,null);Z=$pkg.byteStringReplacer=$newType(3072,$kindArray,"strings.byteStringReplacer",true,"strings",false,null);AA=$pkg.stringFinder=$newType(0,$kindStruct,"strings.stringFinder",true,"strings",false,function(pattern_,badCharSkip_,goodSuffixSkip_){this.$val=this;if(arguments.length===0){this.pattern="";this.badCharSkip=CL.zero();this.goodSuffixSkip=CM.nil;return;}this.pattern=pattern_;this.badCharSkip=badCharSkip_;this.goodSuffixSkip=goodSuffixSkip_;});BR=$pkg.asciiSet=$newType(32,$kindArray,"strings.asciiSet",true,"strings",false,null);CC=$arrayType($Uint8,256);CD=$ptrType(Y);CE=$sliceType($Uint8);CF=$arrayType(CE,256);CG=$ptrType(Z);CH=$ptrType(P);CI=$sliceType(CH);CJ=$ptrType(S);CK=$ptrType(AA);CL=$arrayType($Int,256);CM=$sliceType($Int);CN=$sliceType($String);CO=$ptrType(BR);CP=$arrayType($Uint32,8);CQ=$ptrType(K);CR=$ptrType(M);CS=$ptrType(Q);CT=$ptrType(W);F=function(e,f){var e,f;return $parseInt(e.indexOf($global.String.fromCharCode(f)))>>0;};$pkg.IndexByte=F;G=function(e,f){var e,f;return $parseInt(e.indexOf(f))>>0;};$pkg.Index=G;H=function(e,f){var e,f;return $parseInt(e.lastIndexOf(f))>>0;};$pkg.LastIndex=H;I=function(e,f){var e,f,g,h;g=0;if((f.length===0)){return A.RuneCountInString(e)+1>>0;}else if(f.length>e.length){return 0;}else if((f.length===e.length)){if(f===e){return 1;}return 0;}while(true){h=G(e,f);if(h===-1){break;}g=g+(1)>>0;e=$substring(e,(h+f.length>>0));}return g;};$pkg.Count=I;K.ptr.prototype.Len=function(){var e,f,g,h,i,j;e=this;if((f=e.i,g=(new $Int64(0,e.s.length)),(f.$high>g.$high||(f.$high===g.$high&&f.$low>=g.$low)))){return 0;}return(((h=(i=(new $Int64(0,e.s.length)),j=e.i,new $Int64(i.$high-j.$high,i.$low-j.$low)),h.$low+((h.$high>>31)*4294967296))>>0));};K.prototype.Len=function(){return this.$val.Len();};K.ptr.prototype.Size=function(){var e;e=this;return(new $Int64(0,e.s.length));};K.prototype.Size=function(){return this.$val.Size();};K.ptr.prototype.Read=function(e){var e,f,g,h,i,j,k,l,m,n;f=0;g=$ifaceNil;h=this;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){k=0;l=D.EOF;f=k;g=l;return[f,g];}h.prevRune=-1;f=$copyString(e,$substring(h.s,$flatten64(h.i)));h.i=(m=h.i,n=(new $Int64(0,f)),new $Int64(m.$high+n.$high,m.$low+n.$low));return[f,g];};K.prototype.Read=function(e){return this.$val.Read(e);};K.ptr.prototype.ReadAt=function(e,f){var e,f,g,h,i,j,k,l,m,n;g=0;h=$ifaceNil;i=this;if((f.$high<0||(f.$high===0&&f.$low<0))){j=0;k=C.New("strings.Reader.ReadAt: negative offset");g=j;h=k;return[g,h];}if((l=(new $Int64(0,i.s.length)),(f.$high>l.$high||(f.$high===l.$high&&f.$low>=l.$low)))){m=0;n=D.EOF;g=m;h=n;return[g,h];}g=$copyString(e,$substring(i.s,$flatten64(f)));if(g<e.$length){h=D.EOF;}return[g,h];};K.prototype.ReadAt=function(e,f){return this.$val.ReadAt(e,f);};K.ptr.prototype.ReadByte=function(){var e,f,g,h,i,j;e=this;e.prevRune=-1;if((f=e.i,g=(new $Int64(0,e.s.length)),(f.$high>g.$high||(f.$high===g.$high&&f.$low>=g.$low)))){return[0,D.EOF];}h=e.s.charCodeAt($flatten64(e.i));e.i=(i=e.i,j=new $Int64(0,1),new $Int64(i.$high+j.$high,i.$low+j.$low));return[h,$ifaceNil];};K.prototype.ReadByte=function(){return this.$val.ReadByte();};K.ptr.prototype.UnreadByte=function(){var e,f,g,h;e=this;e.prevRune=-1;if((f=e.i,(f.$high<0||(f.$high===0&&f.$low<=0)))){return C.New("strings.Reader.UnreadByte: at beginning of string");}e.i=(g=e.i,h=new $Int64(0,1),new $Int64(g.$high-h.$high,g.$low-h.$low));return $ifaceNil;};K.prototype.UnreadByte=function(){return this.$val.UnreadByte();};K.ptr.prototype.ReadRune=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;e=0;f=0;g=$ifaceNil;h=this;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){h.prevRune=-1;k=0;l=0;m=D.EOF;e=k;f=l;g=m;return[e,f,g];}h.prevRune=(((n=h.i,n.$low+((n.$high>>31)*4294967296))>>0));o=h.s.charCodeAt($flatten64(h.i));if(o<128){h.i=(p=h.i,q=new $Int64(0,1),new $Int64(p.$high+q.$high,p.$low+q.$low));r=((o>>0));s=1;t=$ifaceNil;e=r;f=s;g=t;return[e,f,g];}u=A.DecodeRuneInString($substring(h.s,$flatten64(h.i)));e=u[0];f=u[1];h.i=(v=h.i,w=(new $Int64(0,f)),new $Int64(v.$high+w.$high,v.$low+w.$low));return[e,f,g];};K.prototype.ReadRune=function(){return this.$val.ReadRune();};K.ptr.prototype.UnreadRune=function(){var e;e=this;if(e.prevRune<0){return C.New("strings.Reader.UnreadRune: previous operation was not ReadRune");}e.i=(new $Int64(0,e.prevRune));e.prevRune=-1;return $ifaceNil;};K.prototype.UnreadRune=function(){return this.$val.UnreadRune();};K.ptr.prototype.Seek=function(e,f){var e,f,g,h,i,j,k;g=this;g.prevRune=-1;h=new $Int64(0,0);i=f;if(i===(0)){h=e;}else if(i===(1)){h=(j=g.i,new $Int64(j.$high+e.$high,j.$low+e.$low));}else if(i===(2)){h=(k=(new $Int64(0,g.s.length)),new $Int64(k.$high+e.$high,k.$low+e.$low));}else{return[new $Int64(0,0),C.New("strings.Reader.Seek: invalid whence")];}if((h.$high<0||(h.$high===0&&h.$low<0))){return[new $Int64(0,0),C.New("strings.Reader.Seek: negative position")];}g.i=h;return[h,$ifaceNil];};K.prototype.Seek=function(e,f){return this.$val.Seek(e,f);};K.ptr.prototype.WriteTo=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=new $Int64(0,0);g=$ifaceNil;h=this;h.prevRune=-1;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){k=new $Int64(0,0);l=$ifaceNil;f=k;g=l;$s=-1;return[f,g];}m=$substring(h.s,$flatten64(h.i));o=D.WriteString(e,m);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];g=n[1];if(p>m.length){$panic(new $String("strings.Reader.WriteTo: invalid WriteString count"));}h.i=(q=h.i,r=(new $Int64(0,p)),new $Int64(q.$high+r.$high,q.$low+r.$low));f=(new $Int64(0,p));if(!((p===m.length))&&$interfaceIsEqual(g,$ifaceNil)){g=D.ErrShortWrite;}$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:K.ptr.prototype.WriteTo};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.WriteTo=function(e){return this.$val.WriteTo(e);};K.ptr.prototype.Reset=function(e){var e,f;f=this;K.copy(f,new K.ptr(e,new $Int64(0,0),-1));};K.prototype.Reset=function(e){return this.$val.Reset(e);};L=function(e){var e;return new K.ptr(e,new $Int64(0,0),-1);};$pkg.NewReader=L;O=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;if((f=e.$length%2,f===f?f:$throwRuntimeError("integer divide by zero"))===1){$panic(new $String("strings.NewReplacer: odd argument count"));}if((e.$length===2)&&(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]).length>1){return new M.ptr(X((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));}g=true;h=0;while(true){if(!(h<e.$length)){break;}if(!((((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h]).length===1))){return new M.ptr(R(e));}if(!(((i=h+1>>0,((i<0||i>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+i])).length===1))){g=false;}h=h+(2)>>0;}if(g){j=CC.zero();k=j;l=0;while(true){if(!(l<256)){break;}m=l;((m<0||m>=j.length)?($throwRuntimeError("index out of range"),undefined):j[m]=((m<<24>>>24)));l++;}n=e.$length-2>>0;while(true){if(!(n>=0)){break;}o=((n<0||n>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+n]).charCodeAt(0);q=(p=n+1>>0,((p<0||p>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+p])).charCodeAt(0);((o<0||o>=j.length)?($throwRuntimeError("index out of range"),undefined):j[o]=q);n=n-(2)>>0;}return new M.ptr(new CD(j));}r=CF.zero();s=e.$length-2>>0;while(true){if(!(s>=0)){break;}t=((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s]).charCodeAt(0);v=(u=s+1>>0,((u<0||u>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+u]));((t<0||t>=r.length)?($throwRuntimeError("index out of range"),undefined):r[t]=(new CE($stringToBytes(v))));s=s-(2)>>0;}return new M.ptr(new CG(r));};$pkg.NewReplacer=O;M.ptr.prototype.Replace=function(e){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.r.Replace(e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Replace};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Replace=function(e){return this.$val.Replace(e);};M.ptr.prototype.WriteString=function(e,f){var e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=$ifaceNil;i=this;k=i.r.WriteString(e,f);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;g=j[0];h=j[1];$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:M.ptr.prototype.WriteString};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.WriteString=function(e,f){return this.$val.WriteString(e,f);};P.ptr.prototype.add=function(e,f,g,h){var aa,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;i=this;if(e===""){if(i.priority===0){i.value=f;i.priority=g;}return;}if(!(i.prefix==="")){j=0;while(true){if(!(j<i.prefix.length&&j<e.length)){break;}if(!((i.prefix.charCodeAt(j)===e.charCodeAt(j)))){break;}j=j+(1)>>0;}if(j===i.prefix.length){i.next.add($substring(e,j),f,g,h);}else if(j===0){k=CH.nil;if(i.prefix.length===1){k=i.next;}else{k=new P.ptr("",0,$substring(i.prefix,1),i.next,CI.nil);}l=new P.ptr("",0,"",CH.nil,CI.nil);i.table=$makeSlice(CI,h.tableSize);(m=i.table,n=(o=h.mapping,p=i.prefix.charCodeAt(0),((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p])),((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]=k));(q=i.table,r=(s=h.mapping,t=e.charCodeAt(0),((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t])),((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]=l));i.prefix="";i.next=CH.nil;l.add($substring(e,1),f,g,h);}else{u=new P.ptr("",0,$substring(i.prefix,j),i.next,CI.nil);i.prefix=$substring(i.prefix,0,j);i.next=u;u.add($substring(e,j),f,g,h);}}else if(!(i.table===CI.nil)){x=(v=h.mapping,w=e.charCodeAt(0),((w<0||w>=v.length)?($throwRuntimeError("index out of range"),undefined):v[w]));if((y=i.table,((x<0||x>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+x]))===CH.nil){(z=i.table,((x<0||x>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+x]=new P.ptr("",0,"",CH.nil,CI.nil)));}(aa=i.table,((x<0||x>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+x])).add($substring(e,1),f,g,h);}else{i.prefix=e;i.next=new P.ptr("",0,"",CH.nil,CI.nil);i.next.add("",f,g,h);}};P.prototype.add=function(e,f,g,h){return this.$val.add(e,f,g,h);};Q.ptr.prototype.lookup=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q;g="";h=0;i=false;j=this;k=0;l=j.root;m=0;while(true){if(!(!(l===CH.nil))){break;}if(l.priority>k&&!(f&&l===j.root)){k=l.priority;g=l.value;h=m;i=true;}if(e===""){break;}if(!(l.table===CI.nil)){p=(n=j.mapping,o=e.charCodeAt(0),((o<0||o>=n.length)?($throwRuntimeError("index out of range"),undefined):n[o]));if(((p>>0))===j.tableSize){break;}l=(q=l.table,((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]));e=$substring(e,1);m=m+(1)>>0;}else if(!(l.prefix==="")&&AY(e,l.prefix)){m=m+(l.prefix.length)>>0;e=$substring(e,l.prefix.length);l=l.next;}else{break;}}return[g,h,i];};Q.prototype.lookup=function(e,f){return this.$val.lookup(e,f);};R=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;f=new Q.ptr(new P.ptr("",0,"",CH.nil,CI.nil),0,CC.zero());g=0;while(true){if(!(g<e.$length)){break;}h=((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]);i=0;while(true){if(!(i<h.length)){break;}(j=f.mapping,k=h.charCodeAt(i),((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=1));i=i+(1)>>0;}g=g+(2)>>0;}l=f.mapping;m=0;while(true){if(!(m<256)){break;}n=((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]);f.tableSize=f.tableSize+(((n>>0)))>>0;m++;}o=0;p=f.mapping;q=0;while(true){if(!(q<256)){break;}r=q;s=((q<0||q>=p.length)?($throwRuntimeError("index out of range"),undefined):p[q]);if(s===0){(t=f.mapping,((r<0||r>=t.length)?($throwRuntimeError("index out of range"),undefined):t[r]=((f.tableSize<<24>>>24))));}else{(u=f.mapping,((r<0||r>=u.length)?($throwRuntimeError("index out of range"),undefined):u[r]=o));o=o+(1)<<24>>>24;}q++;}f.root.table=$makeSlice(CI,f.tableSize);v=0;while(true){if(!(v<e.$length)){break;}f.root.add(((v<0||v>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+v]),(w=v+1>>0,((w<0||w>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+w])),e.$length-v>>0,f);v=v+(2)>>0;}return f;};$ptrType(S).prototype.Write=function(e){var e,f;f=this;f.$set($appendSlice(f.$get(),e));return[e.$length,$ifaceNil];};$ptrType(S).prototype.WriteString=function(e){var e,f;f=this;f.$set($appendSlice(f.$get(),e));return[e.length,$ifaceNil];};U.ptr.prototype.WriteString=function(e){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.w.Write((new CE($stringToBytes(e))));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.WriteString};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.WriteString=function(e){return this.$val.WriteString(e);};V=function(e){var e,f,g,h,i;f=$assertType(e,T,true);g=f[0];h=f[1];if(!h){g=(i=new U.ptr(e),new i.constructor.elem(i));}return g;};Q.ptr.prototype.Replace=function(e){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];g=this;f[0]=$makeSlice(S,0,e.length);h=g.WriteString((f.$ptr||(f.$ptr=new CJ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))),e);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=-1;return($bytesToString(f[0]));}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.Replace};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.Replace=function(e){return this.$val.Replace(e);};Q.ptr.prototype.WriteString=function(e,f){var aa,ab,ac,ad,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=$ifaceNil;i=this;j=V(e);k=0;l=0;m=k;n=l;o=false;p=0;case 1:if(!(p<=f.length)){$s=2;continue;}if(!((p===f.length))&&(i.root.priority===0)){$s=3;continue;}$s=4;continue;case 3:s=(((q=i.mapping,r=f.charCodeAt(p),((r<0||r>=q.length)?($throwRuntimeError("index out of range"),undefined):q[r]))>>0));if((s===i.tableSize)||(t=i.root.table,((s<0||s>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+s]))===CH.nil){p=p+(1)>>0;$s=1;continue;}case 4:u=i.lookup($substring(f,p),o);v=u[0];w=u[1];x=u[2];o=x&&(w===0);if(x){$s=5;continue;}$s=6;continue;case 5:z=j.WriteString($substring(f,m,p));$s=7;case 7:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;n=y[0];h=y[1];g=g+(n)>>0;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[g,h];}ab=j.WriteString(v);$s=8;case 8:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;n=aa[0];h=aa[1];g=g+(n)>>0;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[g,h];}p=p+(w)>>0;m=p;$s=1;continue;case 6:p=p+(1)>>0;$s=1;continue;case 2:if(!((m===f.length))){$s=9;continue;}$s=10;continue;case 9:ad=j.WriteString($substring(f,m));$s=11;case 11:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;n=ac[0];h=ac[1];g=g+(n)>>0;case 10:$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.WriteString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.WriteString=function(e,f){return this.$val.WriteString(e,f);};X=function(e,f){var e,f;return new W.ptr(AB(e),f);};W.ptr.prototype.Replace=function(e){var e,f,g,h,i,j,k,l;f=this;g=CE.nil;h=0;i=false;j=h;k=i;while(true){l=f.finder.next($substring(e,j));if(l===-1){break;}k=true;g=$appendSlice(g,$substring(e,j,(j+l>>0)));g=$appendSlice(g,f.value);j=j+((l+f.finder.pattern.length>>0))>>0;}if(!k){return e;}g=$appendSlice(g,$substring(e,j));return($bytesToString(g));};W.prototype.Replace=function(e){return this.$val.Replace(e);};W.ptr.prototype.WriteString=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=$ifaceNil;i=this;j=V(e);k=0;l=0;m=k;n=l;case 1:o=i.finder.next($substring(f,m));if(o===-1){$s=2;continue;}q=j.WriteString($substring(f,m,(m+o>>0)));$s=3;case 3:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;n=p[0];h=p[1];g=g+(n)>>0;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[g,h];}s=j.WriteString(i.value);$s=4;case 4:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;n=r[0];h=r[1];g=g+(n)>>0;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[g,h];}m=m+((o+i.finder.pattern.length>>0))>>0;$s=1;continue;case 2:u=j.WriteString($substring(f,m));$s=5;case 5:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;n=t[0];h=t[1];g=g+(n)>>0;$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:W.ptr.prototype.WriteString};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.WriteString=function(e,f){return this.$val.WriteString(e,f);};Y.prototype.Replace=function(e){var e,f,g,h,i;f=this.$val;g=CE.nil;h=0;while(true){if(!(h<e.length)){break;}i=e.charCodeAt(h);if(!(((f.nilCheck,((i<0||i>=f.length)?($throwRuntimeError("index out of range"),undefined):f[i]))===i))){if(g===CE.nil){g=(new CE($stringToBytes(e)));}((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]=(f.nilCheck,((i<0||i>=f.length)?($throwRuntimeError("index out of range"),undefined):f[i])));}h=h+(1)>>0;}if(g===CE.nil){return e;}return($bytesToString(g));};$ptrType(Y).prototype.Replace=function(e){return(new Y(this.$get())).Replace(e);};Y.prototype.WriteString=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=$ifaceNil;i=this.$val;j=32768;if(f.length<j){j=f.length;}k=$makeSlice(CE,j);case 1:if(!(f.length>0)){$s=2;continue;}l=$copyString(k,f);f=$substring(f,l);m=$subslice(k,0,l);n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);((o<0||o>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+o]=(i.nilCheck,((p<0||p>=i.length)?($throwRuntimeError("index out of range"),undefined):i[p])));n++;}r=e.Write($subslice(k,0,l));$s=3;case 3:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];g=g+(s)>>0;if(!($interfaceIsEqual(t,$ifaceNil))){u=g;v=t;g=u;h=v;$s=-1;return[g,h];}$s=1;continue;case 2:w=g;x=$ifaceNil;g=w;h=x;$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:Y.prototype.WriteString};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Y).prototype.WriteString=function(e,f){return(new Y(this.$get())).WriteString(e,f);};Z.prototype.Replace=function(e){var e,f,g,h,i,j,k,l,m,n,o;f=this.$val;g=e.length;h=false;i=0;while(true){if(!(i<e.length)){break;}j=e.charCodeAt(i);if(!((f.nilCheck,((j<0||j>=f.length)?($throwRuntimeError("index out of range"),undefined):f[j]))===CE.nil)){h=true;g=g+(((f.nilCheck,((j<0||j>=f.length)?($throwRuntimeError("index out of range"),undefined):f[j])).$length-1>>0))>>0;}i=i+(1)>>0;}if(!h){return e;}k=$makeSlice(CE,g);l=k;m=0;while(true){if(!(m<e.length)){break;}n=e.charCodeAt(m);if(!((f.nilCheck,((n<0||n>=f.length)?($throwRuntimeError("index out of range"),undefined):f[n]))===CE.nil)){o=$copySlice(l,(f.nilCheck,((n<0||n>=f.length)?($throwRuntimeError("index out of range"),undefined):f[n])));l=$subslice(l,o);}else{(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]=n);l=$subslice(l,1);}m=m+(1)>>0;}return($bytesToString(k));};$ptrType(Z).prototype.Replace=function(e){return(new Z(this.$get())).Replace(e);};Z.prototype.WriteString=function(e,f){var aa,ab,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=$ifaceNil;i=this.$val;j=V(e);k=0;l=0;case 1:if(!(l<f.length)){$s=2;continue;}m=f.charCodeAt(l);if((i.nilCheck,((m<0||m>=i.length)?($throwRuntimeError("index out of range"),undefined):i[m]))===CE.nil){$s=3;continue;}$s=4;continue;case 3:l=l+(1)>>0;$s=1;continue;case 4:if(!((k===l))){$s=5;continue;}$s=6;continue;case 5:o=j.WriteString($substring(f,k,l));$s=7;case 7:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];g=g+(p)>>0;if(!($interfaceIsEqual(q,$ifaceNil))){r=g;s=q;g=r;h=s;$s=-1;return[g,h];}case 6:k=l+1>>0;u=e.Write((i.nilCheck,((m<0||m>=i.length)?($throwRuntimeError("index out of range"),undefined):i[m])));$s=8;case 8:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];g=g+(v)>>0;if(!($interfaceIsEqual(w,$ifaceNil))){x=g;y=w;g=x;h=y;$s=-1;return[g,h];}l=l+(1)>>0;$s=1;continue;case 2:if(!((k===f.length))){$s=9;continue;}$s=10;continue;case 9:z=0;ab=j.WriteString($substring(f,k));$s=11;case 11:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;z=aa[0];h=aa[1];g=g+(z)>>0;case 10:$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:Z.prototype.WriteString};}$f.aa=aa;$f.ab=ab;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Z).prototype.WriteString=function(e,f){return(new Z(this.$get())).WriteString(e,f);};AB=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;f=new AA.ptr(e,CL.zero(),$makeSlice(CM,e.length));g=e.length-1>>0;h=f.badCharSkip;i=0;while(true){if(!(i<256)){break;}j=i;(k=f.badCharSkip,((j<0||j>=k.length)?($throwRuntimeError("index out of range"),undefined):k[j]=e.length));i++;}l=0;while(true){if(!(l<g)){break;}(m=f.badCharSkip,n=e.charCodeAt(l),((n<0||n>=m.length)?($throwRuntimeError("index out of range"),undefined):m[n]=(g-l>>0)));l=l+(1)>>0;}o=g;p=g;while(true){if(!(p>=0)){break;}if(AY(e,$substring(e,(p+1>>0)))){o=p+1>>0;}(q=f.goodSuffixSkip,((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]=((o+g>>0)-p>>0)));p=p-(1)>>0;}r=0;while(true){if(!(r<g)){break;}s=AC(e,$substring(e,1,(r+1>>0)));if(!((e.charCodeAt((r-s>>0))===e.charCodeAt((g-s>>0))))){(t=f.goodSuffixSkip,u=g-s>>0,((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]=((s+g>>0)-r>>0)));}r=r+(1)>>0;}return f;};AC=function(e,f){var e,f,g;g=0;while(true){if(!(g<e.length&&g<f.length)){break;}if(!((e.charCodeAt(((e.length-1>>0)-g>>0))===f.charCodeAt(((f.length-1>>0)-g>>0))))){break;}g=g+(1)>>0;}return g;};AA.ptr.prototype.next=function(e){var e,f,g,h,i,j,k;f=this;g=f.pattern.length-1>>0;while(true){if(!(g<e.length)){break;}h=f.pattern.length-1>>0;while(true){if(!(h>=0&&(e.charCodeAt(g)===f.pattern.charCodeAt(h)))){break;}g=g-(1)>>0;h=h-(1)>>0;}if(h<0){return g+1>>0;}g=g+(AD((i=f.badCharSkip,j=e.charCodeAt(g),((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j])),(k=f.goodSuffixSkip,((h<0||h>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+h]))))>>0;}return-1;};AA.prototype.next=function(e){return this.$val.next(e);};AD=function(e,f){var e,f;if(e>f){return e;}return f;};AE=function(e,f){var e,f,g,h,i,j,k,l,m;g=A.RuneCountInString(e);if(f<0||f>g){f=g;}h=$makeSlice(CN,f);i=0;while(true){if(!(i<(f-1>>0))){break;}j=A.DecodeRuneInString(e);k=j[0];l=j[1];((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=$substring(e,0,l));e=$substring(e,l);if(k===65533){((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]="\xEF\xBF\xBD");}i=i+(1)>>0;}if(f>0){(m=f-1>>0,((m<0||m>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+m]=e));}return h;};AI=function(e,f){var e,f;return G(e,f)>=0;};$pkg.Contains=AI;AJ=function(e,f){var e,f;return AM(e,f)>=0;};$pkg.ContainsAny=AJ;AK=function(e,f){var e,f;return AL(e,f)>=0;};$pkg.ContainsRune=AK;AL=function(e,f){var e,f,g,h,i,j,k;if(0<=f&&f<128){return F(e,((f<<24>>>24)));}else if((f===65533)){g=e;h=0;while(true){if(!(h<g.length)){break;}i=$decodeRune(g,h);j=h;k=i[0];if(k===65533){return j;}h+=i[1];}return-1;}else if(!A.ValidRune(f)){return-1;}else{return G(e,($encodeRune(f)));}};$pkg.IndexRune=AL;AM=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(f.length>0){if(e.length>8){g=BS(f);h=$clone(g[0],BR);i=g[1];if(i){j=0;while(true){if(!(j<e.length)){break;}if(new CO(h).contains(e.charCodeAt(j))){return j;}j=j+(1)>>0;}return-1;}}k=e;l=0;while(true){if(!(l<k.length)){break;}m=$decodeRune(k,l);n=l;o=m[0];p=f;q=0;while(true){if(!(q<p.length)){break;}r=$decodeRune(p,q);s=r[0];if(o===s){return n;}q+=r[1];}l+=m[1];}}return-1;};$pkg.IndexAny=AM;AP=function(e,f,g,h){var e,f,g,h,i,j,k;if(h===0){return CN.nil;}if(f===""){return AE(e,h);}if(h<0){h=I(e,f)+1>>0;}i=$makeSlice(CN,h);h=h-(1)>>0;j=0;while(true){if(!(j<h)){break;}k=G(e,f);if(k<0){break;}((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]=$substring(e,0,(k+g>>0)));e=$substring(e,(k+f.length>>0));j=j+(1)>>0;}((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]=e);return $subslice(i,0,(j+1>>0));};AS=function(e,f){var e,f;return AP(e,f,0,-1);};$pkg.Split=AS;AW=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=false;i=e;j=0;case 1:if(!(j<i.length)){$s=2;continue;}k=$decodeRune(i,j);l=k[0];m=h;n=f(l);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}h=!n;if(h&&!m){g=g+(1)>>0;}j+=k[1];$s=1;continue;case 2:o=$makeSlice(CN,g);p=0;q=-1;r=e;s=0;case 4:if(!(s<r.length)){$s=5;continue;}t=$decodeRune(r,s);u=s;v=t[0];w=f(v);$s=9;case 9:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(w){$s=6;continue;}if(q===-1){$s=7;continue;}$s=8;continue;case 6:if(q>=0){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=$substring(e,q,u));p=p+(1)>>0;q=-1;}$s=8;continue;case 7:q=u;case 8:s+=t[1];$s=4;continue;case 5:if(q>=0){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=$substring(e,q));}$s=-1;return o;}return;}if($f===undefined){$f={$blk:AW};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$pkg.FieldsFunc=AW;AX=function(e,f){var e,f,g,h,i,j,k,l,m,n;g=e.$length;if(g===(0)){return"";}else if(g===(1)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);}else if(g===(2)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])+f+(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]);}else if(g===(3)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])+f+(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])+f+(2>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+2]);}h=$imul(f.length,((e.$length-1>>0)));i=0;while(true){if(!(i<e.$length)){break;}h=h+(((i<0||i>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+i]).length)>>0;i=i+(1)>>0;}j=$makeSlice(CE,h);k=$copyString(j,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]));l=$subslice(e,1);m=0;while(true){if(!(m<l.$length)){break;}n=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);k=k+($copyString($subslice(j,k),f))>>0;k=k+($copyString($subslice(j,k),n))>>0;m++;}return($bytesToString(j));};$pkg.Join=AX;AY=function(e,f){var e,f;return e.length>=f.length&&$substring(e,0,f.length)===f;};$pkg.HasPrefix=AY;BA=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=CE.nil;h=0;i=f;j=0;case 1:if(!(j<i.length)){$s=2;continue;}k=$decodeRune(i,j);l=j;m=k[0];n=e(m);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(o===m){j+=k[1];$s=1;continue;}g=$makeSlice(CE,(f.length+4>>0));h=$copyString(g,$substring(f,0,l));if(o>=0){if(o<=128){((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]=((o<<24>>>24)));h=h+(1)>>0;}else{h=h+(A.EncodeRune($subslice(g,h),o))>>0;}}if(m===65533){p=A.DecodeRuneInString($substring(f,l));q=p[1];l=l+(q)>>0;}else{l=l+(A.RuneLen(m))>>0;}f=$substring(f,l);$s=2;continue;$s=1;continue;case 2:if(g===CE.nil){$s=-1;return f;}r=f;s=0;case 4:if(!(s<r.length)){$s=5;continue;}t=$decodeRune(r,s);u=t[0];v=e(u);$s=6;case 6:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;if((0<=w&&w<=128)&&h<g.$length){((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]=((w<<24>>>24)));h=h+(1)>>0;s+=t[1];$s=4;continue;}if(w>=0){if((h+4>>0)>=g.$length){x=$makeSlice(CE,($imul(2,g.$length)));$copySlice(x,$subslice(g,0,h));g=x;}h=h+(A.EncodeRune($subslice(g,h),w))>>0;}s+=t[1];$s=4;continue;case 5:$s=-1;return($bytesToString($subslice(g,0,h)));}return;}if($f===undefined){$f={$blk:BA};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Map=BA;BD=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BA(E.ToLower,e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:BD};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ToLower=BD;BK=function(e,f){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BP(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===-1){$s=-1;return"";}$s=-1;return $substring(e,h);}return;}if($f===undefined){$f={$blk:BK};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimLeftFunc=BK;BL=function(e,f){var e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BQ(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h>=0&&e.charCodeAt(h)>=128){i=A.DecodeRuneInString($substring(e,h));j=i[1];h=h+(j)>>0;}else{h=h+(1)>>0;}$s=-1;return $substring(e,0,h);}return;}if($f===undefined){$f={$blk:BL};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRightFunc=BL;BM=function(e,f){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BK(e,f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=BL(g,f);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;}return;}if($f===undefined){$f={$blk:BM};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimFunc=BM;BN=function(e,f){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BP(e,f,true);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:BN};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.IndexFunc=BN;BP=function(e,f,g){var e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=e;i=0;case 1:if(!(i<h.length)){$s=2;continue;}j=$decodeRune(h,i);k=i;l=j[0];m=f(l);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return k;case 4:i+=j[1];$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:BP};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BQ=function(e,f,g){var e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=e.length;case 1:if(!(h>0)){$s=2;continue;}i=A.DecodeLastRuneInString($substring(e,0,h));j=i[0];k=i[1];h=h-(k)>>0;l=f(j);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return h;case 4:$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:BQ};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BS=function(e){var e,f,g,h,i,j,k,l,m,n,o;f=CP.zero();g=false;h=0;while(true){if(!(h<e.length)){break;}i=e.charCodeAt(h);if(i>=128){j=$clone(f,BR);k=false;BR.copy(f,j);g=k;return[f,g];}l=i>>>5<<24>>>24;((l<0||l>=f.length)?($throwRuntimeError("index out of range"),undefined):f[l]=((((l<0||l>=f.length)?($throwRuntimeError("index out of range"),undefined):f[l])|(((m=((((i&31)>>>0)>>>0)),m<32?(1<<m):0)>>>0)))>>>0));h=h+(1)>>0;}n=$clone(f,BR);o=true;BR.copy(f,n);g=o;return[f,g];};BR.prototype.contains=function(e){var e,f,g,h;f=this.$val;return!((((((g=e>>>5<<24>>>24,(f.nilCheck,((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g])))&(((h=((((e&31)>>>0)>>>0)),h<32?(1<<h):0)>>>0)))>>>0))===0));};$ptrType(BR).prototype.contains=function(e){return(new BR(this.$get())).contains(e);};BT=function(e){var e,f,g,h;if((e.length===1)&&e.charCodeAt(0)<128){return(function(f){var f;return f===((e.charCodeAt(0)>>0));});}f=BS(e);g=$clone(f[0],BR);h=f[1];if(h){return(function(i){var i;return i<128&&new CO(g).contains(((i<<24>>>24)));});}return(function(i){var i;return AL(e,i)>=0;});};BW=function(e,f){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(e===""||f===""){$s=-1;return e;}g=BL(e,BT(f));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:BW};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRight=BW;BX=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BM(e,E.IsSpace);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:BX};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimSpace=BX;CA=function(e,f,g,h){var e,f,g,h,i,j,k,l,m,n,o,p;if(f===g||(h===0)){return e;}i=I(e,f);if(i===0){return e;}else if(h<0||i<h){h=i;}j=$makeSlice(CE,(e.length+($imul(h,((g.length-f.length>>0))))>>0));k=0;l=0;m=0;while(true){if(!(m<h)){break;}n=l;if(f.length===0){if(m>0){o=A.DecodeRuneInString($substring(e,l));p=o[1];n=n+(p)>>0;}}else{n=n+(G($substring(e,l),f))>>0;}k=k+($copyString($subslice(j,k),$substring(e,l,n)))>>0;k=k+($copyString($subslice(j,k),g))>>0;l=n+f.length>>0;m=m+(1)>>0;}k=k+($copyString($subslice(j,k),$substring(e,l)))>>0;return($bytesToString($subslice(j,0,k)));};$pkg.Replace=CA;CB=function(e,f){var aa,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;while(true){if(!(!(e==="")&&!(f===""))){break;}g=0;h=0;i=g;j=h;if(e.charCodeAt(0)<128){k=((e.charCodeAt(0)>>0));l=$substring(e,1);i=k;e=l;}else{m=A.DecodeRuneInString(e);n=m[0];o=m[1];p=n;q=$substring(e,o);i=p;e=q;}if(f.charCodeAt(0)<128){r=((f.charCodeAt(0)>>0));s=$substring(f,1);j=r;f=s;}else{t=A.DecodeRuneInString(f);u=t[0];v=t[1];w=u;x=$substring(f,v);j=w;f=x;}if(j===i){continue;}if(j<i){y=i;z=j;j=y;i=z;}if(j<128&&65<=i&&i<=90){if(j===((i+97>>0)-65>>0)){continue;}return false;}aa=E.SimpleFold(i);while(true){if(!(!((aa===i))&&aa<j)){break;}aa=E.SimpleFold(aa);}if(aa===j){continue;}return false;}return e===f;};$pkg.EqualFold=CB;CQ.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([CE],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([CE,$Int64],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([D.Writer],[$Int64,$error],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([$String],[],false)}];CR.methods=[{prop:"Replace",name:"Replace",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([D.Writer,$String],[$Int,$error],false)}];CH.methods=[{prop:"add",name:"add",pkg:"strings",typ:$funcType([$String,$String,$Int,CS],[],false)}];CS.methods=[{prop:"lookup",name:"lookup",pkg:"strings",typ:$funcType([$String,$Bool],[$String,$Int,$Bool],false)},{prop:"Replace",name:"Replace",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([D.Writer,$String],[$Int,$error],false)}];CJ.methods=[{prop:"Write",name:"Write",pkg:"",typ:$funcType([CE],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)}];U.methods=[{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)}];CT.methods=[{prop:"Replace",name:"Replace",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([D.Writer,$String],[$Int,$error],false)}];CD.methods=[{prop:"Replace",name:"Replace",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([D.Writer,$String],[$Int,$error],false)}];CG.methods=[{prop:"Replace",name:"Replace",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([D.Writer,$String],[$Int,$error],false)}];CK.methods=[{prop:"next",name:"next",pkg:"strings",typ:$funcType([$String],[$Int],false)}];CO.methods=[{prop:"contains",name:"contains",pkg:"strings",typ:$funcType([$Uint8],[$Bool],false)}];K.init("strings",[{prop:"s",name:"s",anonymous:false,exported:false,typ:$String,tag:""},{prop:"i",name:"i",anonymous:false,exported:false,typ:$Int64,tag:""},{prop:"prevRune",name:"prevRune",anonymous:false,exported:false,typ:$Int,tag:""}]);M.init("strings",[{prop:"r",name:"r",anonymous:false,exported:false,typ:N,tag:""}]);N.init([{prop:"Replace",name:"Replace",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([D.Writer,$String],[$Int,$error],false)}]);P.init("strings",[{prop:"value",name:"value",anonymous:false,exported:false,typ:$String,tag:""},{prop:"priority",name:"priority",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"prefix",name:"prefix",anonymous:false,exported:false,typ:$String,tag:""},{prop:"next",name:"next",anonymous:false,exported:false,typ:CH,tag:""},{prop:"table",name:"table",anonymous:false,exported:false,typ:CI,tag:""}]);Q.init("strings",[{prop:"root",name:"root",anonymous:false,exported:false,typ:P,tag:""},{prop:"tableSize",name:"tableSize",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"mapping",name:"mapping",anonymous:false,exported:false,typ:CC,tag:""}]);S.init($Uint8);T.init([{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)}]);U.init("strings",[{prop:"w",name:"w",anonymous:false,exported:false,typ:D.Writer,tag:""}]);W.init("strings",[{prop:"finder",name:"finder",anonymous:false,exported:false,typ:CK,tag:""},{prop:"value",name:"value",anonymous:false,exported:false,typ:$String,tag:""}]);Y.init($Uint8,256);Z.init(CE,256);AA.init("strings",[{prop:"pattern",name:"pattern",anonymous:false,exported:false,typ:$String,tag:""},{prop:"badCharSkip",name:"badCharSkip",anonymous:false,exported:false,typ:CL,tag:""},{prop:"goodSuffixSkip",name:"goodSuffixSkip",anonymous:false,exported:false,typ:CM,tag:""}]);BR.init($Uint32,8);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["github.com/BurntSushi/toml"]=(function(){var $pkg={},$init,H,L,I,A,B,C,D,E,J,K,F,O,G,M,N,Q,S,AB,AC,AR,BA,BB,BC,BD,BE,BF,CW,CX,DE,DH,DQ,DR,DS,DX,DY,DZ,EA,EB,EC,ED,EE,EF,EG,EH,EJ,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EY,EZ,AE,AF,AG,AH,AI,AJ,AK,AL,DI,DJ,DK,DL,DM,DN,DO,DP,DV,P,U,X,Y,Z,AA,AS,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CY,CZ,DA,DB,DC,DF,DT,DU,DW;H=$packages["bufio"];L=$packages["encoding"];I=$packages["errors"];A=$packages["fmt"];B=$packages["io"];C=$packages["io/ioutil"];D=$packages["math"];E=$packages["reflect"];J=$packages["sort"];K=$packages["strconv"];F=$packages["strings"];O=$packages["sync"];G=$packages["time"];M=$packages["unicode"];N=$packages["unicode/utf8"];Q=$pkg.Unmarshaler=$newType(8,$kindInterface,"toml.Unmarshaler",true,"github.com/BurntSushi/toml",true,null);S=$pkg.Primitive=$newType(0,$kindStruct,"toml.Primitive",true,"github.com/BurntSushi/toml",true,function(undecoded_,context_){this.$val=this;if(arguments.length===0){this.undecoded=$ifaceNil;this.context=AC.nil;return;}this.undecoded=undecoded_;this.context=context_;});AB=$pkg.MetaData=$newType(0,$kindStruct,"toml.MetaData",true,"github.com/BurntSushi/toml",true,function(mapping_,types_,keys_,decoded_,context_){this.$val=this;if(arguments.length===0){this.mapping=false;this.types=false;this.keys=EB.nil;this.decoded=false;this.context=AC.nil;return;}this.mapping=mapping_;this.types=types_;this.keys=keys_;this.decoded=decoded_;this.context=context_;});AC=$pkg.Key=$newType(12,$kindSlice,"toml.Key",true,"github.com/BurntSushi/toml",true,null);AR=$pkg.tagOptions=$newType(0,$kindStruct,"toml.tagOptions",true,"github.com/BurntSushi/toml",false,function(skip_,name_,omitempty_,omitzero_){this.$val=this;if(arguments.length===0){this.skip=false;this.name="";this.omitempty=false;this.omitzero=false;return;}this.skip=skip_;this.name=name_;this.omitempty=omitempty_;this.omitzero=omitzero_;});BA=$pkg.TextMarshaler=$newType(8,$kindInterface,"toml.TextMarshaler",true,"github.com/BurntSushi/toml",true,null);BB=$pkg.TextUnmarshaler=$newType(8,$kindInterface,"toml.TextUnmarshaler",true,"github.com/BurntSushi/toml",true,null);BC=$pkg.itemType=$newType(4,$kindInt,"toml.itemType",true,"github.com/BurntSushi/toml",false,null);BD=$pkg.stateFn=$newType(4,$kindFunc,"toml.stateFn",true,"github.com/BurntSushi/toml",false,null);BE=$pkg.lexer=$newType(0,$kindStruct,"toml.lexer",true,"github.com/BurntSushi/toml",false,function(input_,start_,pos_,line_,state_,items_,prevWidths_,nprev_,atEOF_,stack_){this.$val=this;if(arguments.length===0){this.input="";this.start=0;this.pos=0;this.line=0;this.state=$throwNilPointerError;this.items=$chanNil;this.prevWidths=EM.zero();this.nprev=0;this.atEOF=false;this.stack=EN.nil;return;}this.input=input_;this.start=start_;this.pos=pos_;this.line=line_;this.state=state_;this.items=items_;this.prevWidths=prevWidths_;this.nprev=nprev_;this.atEOF=atEOF_;this.stack=stack_;});BF=$pkg.item=$newType(0,$kindStruct,"toml.item",true,"github.com/BurntSushi/toml",false,function(typ_,val_,line_){this.$val=this;if(arguments.length===0){this.typ=0;this.val="";this.line=0;return;}this.typ=typ_;this.val=val_;this.line=line_;});CW=$pkg.parser=$newType(0,$kindStruct,"toml.parser",true,"github.com/BurntSushi/toml",false,function(mapping_,types_,lx_,ordered_,context_,currentKey_,approxLine_,implicits_){this.$val=this;if(arguments.length===0){this.mapping=false;this.types=false;this.lx=EQ.nil;this.ordered=EB.nil;this.context=AC.nil;this.currentKey="";this.approxLine=0;this.implicits=false;return;}this.mapping=mapping_;this.types=types_;this.lx=lx_;this.ordered=ordered_;this.context=context_;this.currentKey=currentKey_;this.approxLine=approxLine_;this.implicits=implicits_;});CX=$pkg.parseError=$newType(8,$kindString,"toml.parseError",true,"github.com/BurntSushi/toml",false,null);DE=$pkg.tomlType=$newType(8,$kindInterface,"toml.tomlType",true,"github.com/BurntSushi/toml",false,null);DH=$pkg.tomlBaseType=$newType(8,$kindString,"toml.tomlBaseType",true,"github.com/BurntSushi/toml",false,null);DQ=$pkg.field=$newType(0,$kindStruct,"toml.field",true,"github.com/BurntSushi/toml",false,function(name_,tag_,index_,typ_){this.$val=this;if(arguments.length===0){this.name="";this.tag=false;this.index=EJ.nil;this.typ=$ifaceNil;return;}this.name=name_;this.tag=tag_;this.index=index_;this.typ=typ_;});DR=$pkg.byName=$newType(12,$kindSlice,"toml.byName",true,"github.com/BurntSushi/toml",false,null);DS=$pkg.byIndex=$newType(12,$kindSlice,"toml.byIndex",true,"github.com/BurntSushi/toml",false,null);DX=$sliceType(DQ);DY=$mapType(E.Type,DX);DZ=$structType("github.com/BurntSushi/toml",[{prop:"RWMutex",name:"RWMutex",anonymous:true,exported:true,typ:O.RWMutex,tag:""},{prop:"m",name:"m",anonymous:false,exported:false,typ:DY,tag:""}]);EA=$sliceType($String);EB=$sliceType(AC);EC=$sliceType($emptyInterface);ED=$mapType($String,$emptyInterface);EE=$ptrType(S);EF=$ptrType(G.Location);EG=$ptrType(DQ);EH=$sliceType($Uint8);EJ=$sliceType($Int);EM=$arrayType($Int,3);EN=$sliceType(BD);EO=$sliceType($Int32);EP=$ptrType(CW);EQ=$ptrType(BE);ER=$ptrType(K.NumError);ES=$sliceType(DE);ET=$sliceType(ED);EU=$ptrType(AB);EV=$mapType($String,DE);EW=$mapType($String,$Bool);EY=$funcType([$Int32],[$Bool],false);EZ=$chanType(BF,false,false);P=function(a,b){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=A.Errorf("toml: "+a,b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:P};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AB.ptr.prototype.PrimitiveDecode=function(a,b){var a,b,c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=[c];c[0]=this;c[0].context=a.context;$deferred.push([(function(c){return function(){c[0].context=AC.nil;};})(c),[]]);d=a.undecoded;e=X(b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,E.Value);g=c[0].unify(d,f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AB.ptr.prototype.PrimitiveDecode};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AB.prototype.PrimitiveDecode=function(a,b){return this.$val.PrimitiveDecode(a,b);};U=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=E.ValueOf(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!(($clone(d,E.Value).Kind()===22))){$s=2;continue;}$s=3;continue;case 2:e=P("Decode of non-pointer %s",new EC([E.TypeOf(b)]));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return[new AB.ptr(false,false,EB.nil,false,AC.nil),e];case 3:if($clone(d,E.Value).IsNil()){$s=5;continue;}$s=6;continue;case 5:f=P("Decode of nil %s",new EC([E.TypeOf(b)]));$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return[new AB.ptr(false,false,EB.nil,false,AC.nil),f];case 6:h=CY(a);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return[new AB.ptr(false,false,EB.nil,false,AC.nil),j];}l=new AB.ptr(i.mapping,i.types,i.ordered,(k=i.ordered.$length,((k<0||k>2147483647)?$throwRuntimeError("makemap: size out of range"):{})),AC.nil);m=new ED(i.mapping);n=Y($clone(d,E.Value));$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=$clone(n,E.Value);p=l.unify(m,o);$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return[l,p];}return;}if($f===undefined){$f={$blk:U};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Decode=U;AB.ptr.prototype.unify=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=E.TypeOf((EE.nil)).Elem();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if($interfaceIsEqual($clone(b,E.Value).Type(),d)){$s=1;continue;}$s=2;continue;case 1:e=$makeSlice(AC,c.context.$length);$copySlice(e,c.context);g=E.ValueOf((f=new S.ptr(a,e),new f.constructor.elem(f)));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=$clone(b,E.Value).Set($clone(g,E.Value));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 2:if($clone(b,E.Value).CanAddr()){$s=6;continue;}$s=7;continue;case 6:i=$clone($clone(b,E.Value).Addr(),E.Value).Interface();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=$assertType(i,Q,true);j=h[0];k=h[1];if(k){$s=9;continue;}$s=10;continue;case 9:l=j.UnmarshalTOML(a);$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;case 10:case 7:n=X((m=new G.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EF.nil),new m.constructor.elem(m)));$s=14;case 14:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=$clone(n,E.Value).Type();$s=15;case 15:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(b,E.Value).Type().AssignableTo(o);$s=16;case 16:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(p){$s=12;continue;}$s=13;continue;case 12:q=c.unifyDatetime(a,$clone(b,E.Value));$s=17;case 17:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=-1;return q;case 13:s=$clone(b,E.Value).Interface();$s=18;case 18:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=$assertType(s,BB,true);t=r[0];u=r[1];if(u){$s=19;continue;}$s=20;continue;case 19:v=c.unifyText(a,t);$s=21;case 21:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$s=-1;return v;case 20:w=$clone(b,E.Value).Kind();if(w>=2&&w<=11){$s=22;continue;}$s=23;continue;case 22:x=c.unifyInt(a,$clone(b,E.Value));$s=24;case 24:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$s=-1;return x;case 23:y=w;if(y===(22)){$s=26;continue;}if(y===(25)){$s=27;continue;}if(y===(21)){$s=28;continue;}if(y===(17)){$s=29;continue;}if(y===(23)){$s=30;continue;}if(y===(24)){$s=31;continue;}if(y===(1)){$s=32;continue;}if(y===(20)){$s=33;continue;}if(y===(13)){$s=34;continue;}if(y===(14)){$s=35;continue;}$s=36;continue;case 26:z=$clone(b,E.Value).Type().Elem();$s=37;case 37:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=E.New(z);$s=38;case 38:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac=a;ad=E.Indirect($clone(ab,E.Value));$s=39;case 39:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=c.unify(ac,ae);$s=40;case 40:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;if(!($interfaceIsEqual(ag,$ifaceNil))){$s=-1;return ag;}$r=$clone(b,E.Value).Set($clone(ab,E.Value));$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 27:ah=c.unifyStruct(a,$clone(b,E.Value));$s=42;case 42:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}$s=-1;return ah;case 28:ai=c.unifyMap(a,$clone(b,E.Value));$s=43;case 43:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=-1;return ai;case 29:aj=c.unifyArray(a,$clone(b,E.Value));$s=44;case 44:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=-1;return aj;case 30:ak=c.unifySlice(a,$clone(b,E.Value));$s=45;case 45:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}$s=-1;return ak;case 31:al=c.unifyString(a,$clone(b,E.Value));$s=46;case 46:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}$s=-1;return al;case 32:am=c.unifyBool(a,$clone(b,E.Value));$s=47;case 47:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=-1;return am;case 33:an=$clone(b,E.Value).NumMethod();$s=50;case 50:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(an>0){$s=48;continue;}$s=49;continue;case 48:ao=P("unsupported type %s",new EC([$clone(b,E.Value).Type()]));$s=51;case 51:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;case 49:ap=c.unifyAnything(a,$clone(b,E.Value));$s=52;case 52:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;case 34:aq=c.unifyFloat64(a,$clone(b,E.Value));$s=53;case 53:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$s=-1;return aq;case 35:ar=c.unifyFloat64(a,$clone(b,E.Value));$s=54;case 54:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=-1;return ar;case 36:case 25:as=P("unsupported type %s",new EC([new E.Kind($clone(b,E.Value).Kind())]));$s=55;case 55:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unify};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unify=function(a,b){return this.$val.unify(a,b);};AB.ptr.prototype.unifyStruct=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,ED,true);e=d[0];f=d[1];if(!f){$s=1;continue;}$s=2;continue;case 1:if($interfaceIsEqual(a,$ifaceNil)){$s=-1;return $ifaceNil;}g=$clone(b,E.Value).Type().String();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=new $String(g);i=a;j=P("type mismatch for %s: expected table but found %T",new EC([h,i]));$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;case 2:k=e;l=0;m=$keys(k);case 5:if(!(l<m.length)){$s=6;continue;}n=k[m[l]];if(n===undefined){l++;$s=5;continue;}o=n.k;p=n.v;q=EG.nil;r=DW($clone(b,E.Value).Type());$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;t=s;u=0;while(true){if(!(u<t.$length)){break;}v=u;w=((v<0||v>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+v]);if(w.name===o){q=w;break;}if(q===EG.nil&&F.EqualFold(w.name,o)){q=w;}u++;}if(!(q===EG.nil)){$s=8;continue;}$s=9;continue;case 8:x=b;y=q.index;z=0;case 10:if(!(z<y.$length)){$s=11;continue;}aa=((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z]);ab=$clone(x,E.Value).Field(aa);$s=12;case 12:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=Y($clone(ab,E.Value));$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}x=ac;z++;$s=10;continue;case 11:ad=Z($clone(x,E.Value));$s=17;case 17:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad){$s=14;continue;}if(!(q.name==="")){$s=15;continue;}$s=16;continue;case 14:ae=c.context.add(o).String();(c.decoded||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ae)]={k:ae,v:true};c.context=$append(c.context,o);af=c.unify(p,$clone(x,E.Value));$s=18;case 18:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;if(!($interfaceIsEqual(ag,$ifaceNil))){$s=-1;return ag;}c.context=$subslice(c.context,0,(c.context.$length-1>>0));$s=16;continue;case 15:ah=$clone(b,E.Value).Type().String();$s=19;case 19:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=new $String(ah);aj=new $String(q.name);ak=P("cannot write unexported field %s.%s",new EC([ai,aj]));$s=20;case 20:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}$s=-1;return ak;case 16:case 9:l++;$s=5;continue;case 6:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyStruct};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyStruct=function(a,b){return this.$val.unifyStruct(a,b);};AB.ptr.prototype.unifyMap=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,ED,true);e=d[0];f=d[1];if(!f){$s=1;continue;}$s=2;continue;case 1:if(e===false){$s=-1;return $ifaceNil;}g=AA("map",a);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;case 2:if($clone(b,E.Value).IsNil()){$s=4;continue;}$s=5;continue;case 4:h=E.MakeMap($clone(b,E.Value).Type());$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$r=$clone(b,E.Value).Set($clone(h,E.Value));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:i=e;j=0;k=$keys(i);case 8:if(!(j<k.length)){$s=9;continue;}l=i[k[j]];if(l===undefined){j++;$s=8;continue;}m=l.k;n=l.v;o=c.context.add(m).String();(c.decoded||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(o)]={k:o,v:true};c.context=$append(c.context,m);p=$clone(b,E.Value).Type().Key();$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=E.New(p);$s=11;case 11:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=Y($clone(q,E.Value));$s=12;case 12:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;t=$clone(b,E.Value).Type().Elem();$s=13;case 13:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=E.New(t);$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=E.Indirect($clone(u,E.Value));$s=15;case 15:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;x=c.unify(n,$clone(w,E.Value));$s=16;case 16:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;if(!($interfaceIsEqual(y,$ifaceNil))){$s=-1;return y;}c.context=$subslice(c.context,0,(c.context.$length-1>>0));$clone(s,E.Value).SetString(m);$r=$clone(b,E.Value).SetMapIndex($clone(s,E.Value),$clone(w,E.Value));$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j++;$s=8;continue;case 9:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyMap};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyMap=function(a,b){return this.$val.unifyMap(a,b);};AB.ptr.prototype.unifyArray=function(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=E.ValueOf(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!(($clone(e,E.Value).Kind()===23))){$s=2;continue;}$s=3;continue;case 2:if(!$clone(e,E.Value).IsValid()){$s=-1;return $ifaceNil;}f=AA("slice",a);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 3:g=$clone(e,E.Value).Len();if(!((g===$clone(b,E.Value).Len()))){$s=5;continue;}$s=6;continue;case 5:h=P("expected array length %d; got TOML array of length %d",new EC([new $Int($clone(b,E.Value).Len()),new $Int(g)]));$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 6:i=c.unifySliceArray($clone(e,E.Value),$clone(b,E.Value));$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyArray};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyArray=function(a,b){return this.$val.unifyArray(a,b);};AB.ptr.prototype.unifySlice=function(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=E.ValueOf(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!(($clone(e,E.Value).Kind()===23))){$s=2;continue;}$s=3;continue;case 2:if(!$clone(e,E.Value).IsValid()){$s=-1;return $ifaceNil;}f=AA("slice",a);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 3:g=$clone(e,E.Value).Len();if($clone(b,E.Value).IsNil()||$clone(b,E.Value).Cap()<g){$s=5;continue;}$s=6;continue;case 5:h=E.MakeSlice($clone(b,E.Value).Type(),g,g);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$r=$clone(b,E.Value).Set($clone(h,E.Value));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:$clone(b,E.Value).SetLen(g);i=c.unifySliceArray($clone(e,E.Value),$clone(b,E.Value));$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifySlice};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifySlice=function(a,b){return this.$val.unifySlice(a,b);};AB.ptr.prototype.unifySliceArray=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$clone(a,E.Value).Len();e=0;case 1:if(!(e<d)){$s=2;continue;}f=$clone(a,E.Value).Index(e);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,E.Value).Interface();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$clone(b,E.Value).Index(e);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=Y($clone(i,E.Value));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=c.unify(h,$clone(k,E.Value));$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return m;}e=e+(1)>>0;$s=1;continue;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifySliceArray};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifySliceArray=function(a,b){return this.$val.unifySliceArray(a,b);};AB.ptr.prototype.unifyDatetime=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,G.Time,true);e=d[1];if(e){$s=1;continue;}$s=2;continue;case 1:f=E.ValueOf(a);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$r=$clone(b,E.Value).Set($clone(f,E.Value));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 2:g=AA("time.Time",a);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyDatetime};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyDatetime=function(a,b){return this.$val.unifyDatetime(a,b);};AB.ptr.prototype.unifyString=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,$String,true);e=d[0];f=d[1];if(f){$clone(b,E.Value).SetString(e);$s=-1;return $ifaceNil;}g=AA("string",a);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyString=function(a,b){return this.$val.unifyString(a,b);};AB.ptr.prototype.unifyFloat64=function(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,$Float64,true);e=d[0];f=d[1];if(f){g=$clone(b,E.Value).Kind();if(g===(13)){$clone(b,E.Value).SetFloat(e);}else if(g===(14)){$clone(b,E.Value).SetFloat(e);}else{$panic(new $String("bug"));}$s=-1;return $ifaceNil;}h=AA("float",a);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyFloat64};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyFloat64=function(a,b){return this.$val.unifyFloat64(a,b);};AB.ptr.prototype.unifyInt=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,$Int64,true);e=d[0];f=d[1];if(f){$s=1;continue;}$s=2;continue;case 1:if($clone(b,E.Value).Kind()>=2&&$clone(b,E.Value).Kind()<=6){$s=3;continue;}if($clone(b,E.Value).Kind()>=7&&$clone(b,E.Value).Kind()<=11){$s=4;continue;}$s=5;continue;case 3:g=$clone(b,E.Value).Kind();if((g===(2))||(g===(6))){$s=8;continue;}if(g===(3)){$s=9;continue;}if(g===(4)){$s=10;continue;}if(g===(5)){$s=11;continue;}$s=12;continue;case 8:$s=12;continue;case 9:if((e.$high<-1||(e.$high===-1&&e.$low<4294967168))||(e.$high>0||(e.$high===0&&e.$low>127))){$s=13;continue;}$s=14;continue;case 13:h=P("value %d is out of range for int8",new EC([e]));$s=15;case 15:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 14:$s=12;continue;case 10:if((e.$high<-1||(e.$high===-1&&e.$low<4294934528))||(e.$high>0||(e.$high===0&&e.$low>32767))){$s=16;continue;}$s=17;continue;case 16:i=P("value %d is out of range for int16",new EC([e]));$s=18;case 18:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;case 17:$s=12;continue;case 11:if((e.$high<-1||(e.$high===-1&&e.$low<2147483648))||(e.$high>0||(e.$high===0&&e.$low>2147483647))){$s=19;continue;}$s=20;continue;case 19:j=P("value %d is out of range for int32",new EC([e]));$s=21;case 21:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;case 20:case 12:case 7:$clone(b,E.Value).SetInt(e);$s=6;continue;case 4:k=(new $Uint64(e.$high,e.$low));l=$clone(b,E.Value).Kind();if((l===(7))||(l===(11))){$s=23;continue;}if(l===(8)){$s=24;continue;}if(l===(9)){$s=25;continue;}if(l===(10)){$s=26;continue;}$s=27;continue;case 23:$s=27;continue;case 24:if((e.$high<0||(e.$high===0&&e.$low<0))||(k.$high>0||(k.$high===0&&k.$low>255))){$s=28;continue;}$s=29;continue;case 28:m=P("value %d is out of range for uint8",new EC([e]));$s=30;case 30:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;case 29:$s=27;continue;case 25:if((e.$high<0||(e.$high===0&&e.$low<0))||(k.$high>0||(k.$high===0&&k.$low>65535))){$s=31;continue;}$s=32;continue;case 31:n=P("value %d is out of range for uint16",new EC([e]));$s=33;case 33:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return n;case 32:$s=27;continue;case 26:if((e.$high<0||(e.$high===0&&e.$low<0))||(k.$high>0||(k.$high===0&&k.$low>4294967295))){$s=34;continue;}$s=35;continue;case 34:o=P("value %d is out of range for uint32",new EC([e]));$s=36;case 36:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$s=-1;return o;case 35:case 27:case 22:$clone(b,E.Value).SetUint(k);$s=6;continue;case 5:$panic(new $String("unreachable"));case 6:$s=-1;return $ifaceNil;case 2:p=AA("integer",a);$s=37;case 37:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return p;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyInt};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyInt=function(a,b){return this.$val.unifyInt(a,b);};AB.ptr.prototype.unifyBool=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,$Bool,true);e=d[0];f=d[1];if(f){$clone(b,E.Value).SetBool(e);$s=-1;return $ifaceNil;}g=AA("boolean",a);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyBool};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyBool=function(a,b){return this.$val.unifyBool(a,b);};AB.ptr.prototype.unifyAnything=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=E.ValueOf(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$r=$clone(b,E.Value).Set($clone(d,E.Value));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyAnything};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyAnything=function(a,b){return this.$val.unifyAnything(a,b);};AB.ptr.prototype.unifyText=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d="";e=a;if($assertType(e,BA,true)[1]){$s=1;continue;}if($assertType(e,A.Stringer,true)[1]){$s=2;continue;}if($assertType(e,$String,true)[1]){$s=3;continue;}if($assertType(e,$Bool,true)[1]){$s=4;continue;}if($assertType(e,$Int64,true)[1]){$s=5;continue;}if($assertType(e,$Float64,true)[1]){$s=6;continue;}$s=7;continue;case 1:f=e;n=f.MarshalText();$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}d=($bytesToString(o));$s=8;continue;case 2:g=e;q=g.String();$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}d=q;$s=8;continue;case 3:h=e.$val;d=h;$s=8;continue;case 4:i=e.$val;r=A.Sprintf("%v",new EC([new $Bool(i)]));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}d=r;$s=8;continue;case 5:j=e.$val;s=A.Sprintf("%d",new EC([j]));$s=12;case 12:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}d=s;$s=8;continue;case 6:k=e.$val;t=A.Sprintf("%f",new EC([new $Float64(k)]));$s=13;case 13:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}d=t;$s=8;continue;case 7:l=e;u=AA("primitive (string-like)",a);$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return u;case 8:v=b.UnmarshalText((new EH($stringToBytes(d))));$s=15;case 15:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return w;}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.unifyText};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.unifyText=function(a,b){return this.$val.unifyText(a,b);};X=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=E.ValueOf(a);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=Y($clone(b,E.Value));$s=2;case 2:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:X};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};Y=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(($clone(a,E.Value).Kind()===22))){$s=1;continue;}$s=2;continue;case 1:if($clone(a,E.Value).CanSet()){$s=3;continue;}$s=4;continue;case 3:b=$clone(a,E.Value).Addr();d=$clone(b,E.Value).Interface();$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=$assertType(d,BB,true);e=c[1];if(e){$s=-1;return b;}case 4:$s=-1;return a;case 2:if($clone(a,E.Value).IsNil()){$s=6;continue;}$s=7;continue;case 6:f=$clone(a,E.Value).Type().Elem();$s=8;case 8:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=E.New(f);$s=9;case 9:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=$clone(a,E.Value).Set($clone(g,E.Value));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:h=E.Indirect($clone(a,E.Value));$s=11;case 11:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=Y($clone(h,E.Value));$s=12;case 12:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;}return;}if($f===undefined){$f={$blk:Y};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};Z=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(a,E.Value).CanSet()){$s=-1;return true;}c=$clone(a,E.Value).Interface();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=$assertType(c,BB,true);d=b[1];if(d){$s=-1;return true;}$s=-1;return false;}return;}if($f===undefined){$f={$blk:Z};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AA=function(a,b){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=P("cannot load TOML value of type %T into a Go %s",new EC([b,new $String(a)]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AA};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AB.ptr.prototype.IsDefined=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=this;if(a.$length===0){return false;}c=false;d=false;e=new ED(b.mapping);f=a;g=0;while(true){if(!(g<f.$length)){break;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);i=$assertType(e,ED,true);c=i[0];d=i[1];if(!d){return false;}j=(k=c[$String.keyFor(h)],k!==undefined?[k.v,true]:[$ifaceNil,false]);e=j[0];d=j[1];if(!d){return false;}g++;}return true;};AB.prototype.IsDefined=function(a){return this.$val.IsDefined(a);};AB.ptr.prototype.Type=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=F.Join(a,".");d=(e=b.types[$String.keyFor(c)],e!==undefined?[e.v,true]:[$ifaceNil,false]);f=d[0];g=d[1];if(g){$s=1;continue;}$s=2;continue;case 1:h=f.typeString();$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 2:$s=-1;return"";}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.Type};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.Type=function(a){return this.$val.Type(a);};AC.prototype.String=function(){var a;a=this;return F.Join($subslice(new EA(a.$array),a.$offset,a.$offset+a.$length),".");};$ptrType(AC).prototype.String=function(){return this.$get().String();};AC.prototype.add=function(a){var a,b,c,d;b=this;c=$makeSlice(AC,(b.$length+1>>0));$copySlice(c,b);(d=b.$length,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=a));return c;};$ptrType(AC).prototype.add=function(a){return this.$get().add(a);};AB.ptr.prototype.Keys=function(){var a;a=this;return a.keys;};AB.prototype.Keys=function(){return this.$val.Keys();};AB.ptr.prototype.Undecoded=function(){var a,b,c,d,e,f;a=this;b=$makeSlice(EB,0,a.keys.$length);c=a.keys;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(!(f=a.decoded[$String.keyFor(e.String())],f!==undefined?f.v:false)){b=$append(b,e);}d++;}return b;};AB.prototype.Undecoded=function(){return this.$val.Undecoded();};AS=function(a){var a,b,c,d,e,f,g,h;b=new E.StructTag(a).Get("toml");if(b==="-"){return new AR.ptr(true,"",false,false);}c=new AR.ptr(false,"",false,false);d=F.Split(b,",");c.name=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]);e=$subslice(d,1);f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);h=g;if(h===("omitempty")){c.omitempty=true;}else if(h===("omitzero")){c.omitzero=true;}f++;}return c;};BE.ptr.prototype.nextItem=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=$select([[a.items],[]]);if(b[0]===0){$s=3;continue;}if(b[0]===1){$s=4;continue;}$s=5;continue;case 3:c=$clone(b[1][0],BF);$s=-1;return c;case 4:d=a.state(a);$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}a.state=d;case 5:$s=1;continue;case 2:$s=-1;return new BF.ptr(0,"",0);}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.nextItem};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.nextItem=function(){return this.$val.nextItem();};BG=function(a){var a,b;b=new BE.ptr(a,0,0,1,BH,new $Chan(BF,10),EM.zero(),0,false,$makeSlice(EN,0,10));return b;};BE.ptr.prototype.push=function(a){var a,b;b=this;b.stack=$append(b.stack,a);};BE.prototype.push=function(a){return this.$val.push(a);};BE.ptr.prototype.pop=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.stack.$length===0){$s=1;continue;}$s=2;continue;case 1:b=a.errorf("BUG in lexer: no states to pop",new EC([]));$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;case 2:e=(c=a.stack,d=a.stack.$length-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));a.stack=$subslice(a.stack,0,(a.stack.$length-1>>0));$s=-1;return e;}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.pop};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.pop=function(){return this.$val.pop();};BE.ptr.prototype.current=function(){var a;a=this;return $substring(a.input,a.start,a.pos);};BE.prototype.current=function(){return this.$val.current();};BE.ptr.prototype.emit=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=$send(b.items,$clone(new BF.ptr(a,b.current(),b.line),BF));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.start=b.pos;$s=-1;return;}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.emit};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.emit=function(a){return this.$val.emit(a);};BE.ptr.prototype.next=function(){var a,b,c,d;a=0;b=this;if(b.atEOF){$panic(new $String("next called after EOF"));}if(b.pos>=b.input.length){b.atEOF=true;a=0;return a;}if(b.input.charCodeAt(b.pos)===10){b.line=b.line+(1)>>0;}b.prevWidths[2]=b.prevWidths[1];b.prevWidths[1]=b.prevWidths[0];if(b.nprev<3){b.nprev=b.nprev+(1)>>0;}c=N.DecodeRuneInString($substring(b.input,b.pos));a=c[0];d=c[1];b.prevWidths[0]=d;b.pos=b.pos+(d)>>0;a=a;return a;};BE.prototype.next=function(){return this.$val.next();};BE.ptr.prototype.ignore=function(){var a;a=this;a.start=a.pos;};BE.prototype.ignore=function(){return this.$val.ignore();};BE.ptr.prototype.backup=function(){var a,b;a=this;if(a.atEOF){a.atEOF=false;return;}if(a.nprev<1){$panic(new $String("backed up too far"));}b=a.prevWidths[0];a.prevWidths[0]=a.prevWidths[1];a.prevWidths[1]=a.prevWidths[2];a.nprev=a.nprev-(1)>>0;a.pos=a.pos-(b)>>0;if(a.pos<a.input.length&&(a.input.charCodeAt(a.pos)===10)){a.line=a.line-(1)>>0;}};BE.prototype.backup=function(){return this.$val.backup();};BE.ptr.prototype.accept=function(a){var a,b;b=this;if(b.next()===a){return true;}b.backup();return false;};BE.prototype.accept=function(a){return this.$val.accept(a);};BE.ptr.prototype.peek=function(){var a,b;a=this;b=a.next();a.backup();return b;};BE.prototype.peek=function(){return this.$val.peek();};BE.ptr.prototype.skip=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;case 1:c=b.next();d=a(c);$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(d){$s=3;continue;}$s=4;continue;case 3:$s=1;continue;case 4:b.backup();b.ignore();$s=-1;return;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.skip};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.skip=function(a){return this.$val.skip(a);};BE.ptr.prototype.errorf=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$r=$send(c.items,$clone(new BF.ptr(0,d,c.line),BF));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.errorf};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.errorf=function(a,b){return this.$val.errorf(a,b);};BH=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CR(b)||CS(b)){$s=-1;return CQ(a,BH);}c=b;if(c===(35)){$s=2;continue;}if(c===(91)){$s=3;continue;}if(c===(0)){$s=4;continue;}$s=5;continue;case 2:a.push(BH);$s=-1;return CO;case 3:$s=-1;return BJ;case 4:if(a.pos>a.start){$s=6;continue;}$s=7;continue;case 6:d=a.errorf("unexpected EOF",new EC([]));$s=8;case 8:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 7:$r=a.emit(2);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $throwNilPointerError;case 5:case 1:a.backup();a.push(BI);$s=-1;return BP;}return;}if($f===undefined){$f={$blk:BH};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BI=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if((b===35)){$s=2;continue;}if(CR(b)){$s=3;continue;}if(CS(b)){$s=4;continue;}if((b===0)){$s=5;continue;}$s=6;continue;case 2:a.push(BH);$s=-1;return CO;case 3:$s=-1;return BI;case 4:a.ignore();$s=-1;return BH;case 5:$r=a.emit(2);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $throwNilPointerError;case 6:case 1:c=a.errorf("expected a top-level item to end with a newline, comment, or EOF, but got %q instead",new EC([new $Int32(b)]));$s=8;case 8:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BI};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BJ=function(a){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(a.peek()===91){$s=1;continue;}$s=2;continue;case 1:a.next();$r=a.emit(16);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.push(BL);$s=3;continue;case 2:$r=a.emit(14);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.push(BK);case 3:$s=-1;return BM;}return;}if($f===undefined){$f={$blk:BJ};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};BK=function(a){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=a.emit(15);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BI;}return;}if($f===undefined){$f={$blk:BK};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};BL=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(!((b===93))){$s=1;continue;}$s=2;continue;case 1:c=a.errorf("expected end of table array name delimiter %q, but got %q instead",new EC([new $Int32(93),new $Int32(b)]));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 2:$r=a.emit(17);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BI;}return;}if($f===undefined){$f={$blk:BL};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BM=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=a.skip(CR);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=a.peek();if((b===93)||(b===0)){$s=3;continue;}if((b===46)){$s=4;continue;}if((b===34)||(b===39)){$s=5;continue;}$s=6;continue;case 3:c=a.errorf("unexpected end of table name (table names cannot be empty)",new EC([]));$s=8;case 8:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 4:d=a.errorf("unexpected table separator (table names cannot be empty)",new EC([]));$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 5:a.ignore();a.push(BO);$s=-1;return BS;case 6:$s=-1;return BN;case 7:case 2:$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:BM};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BN=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CV(b)){$s=-1;return BN;}a.backup();$r=a.emit(3);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BO;}return;}if($f===undefined){$f={$blk:BN};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BO=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=a.skip(CR);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=a.next();if(CR(b)){$s=3;continue;}if((b===46)){$s=4;continue;}if((b===93)){$s=5;continue;}$s=6;continue;case 3:$s=-1;return BO;case 4:a.ignore();$s=-1;return BM;case 5:c=a.pop();$s=8;case 8:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 6:d=a.errorf("expected '.' or ']' to end table name, but got %q instead",new EC([new $Int32(b)]));$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 7:case 2:$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:BO};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BP=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.peek();if((b===61)){$s=2;continue;}if(CR(b)||CS(b)){$s=3;continue;}if((b===34)||(b===39)){$s=4;continue;}$s=5;continue;case 2:c=a.errorf("unexpected key separator %q",new EC([new $Int32(61)]));$s=7;case 7:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 3:a.next();$s=-1;return CQ(a,BP);case 4:a.ignore();$r=a.emit(18);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.push(BR);$s=-1;return BS;case 5:a.ignore();$r=a.emit(18);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BQ;case 6:case 1:$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:BP};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BQ=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CV(b)){$s=2;continue;}if(CR(b)){$s=3;continue;}if((b===61)){$s=4;continue;}$s=5;continue;case 2:$s=-1;return BQ;case 3:a.backup();$r=a.emit(3);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BR;case 4:a.backup();$r=a.emit(3);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BR;case 5:c=a.errorf("bare keys cannot contain %q",new EC([new $Int32(b)]));$s=9;case 9:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 6:case 1:$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:BQ};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BR=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if((b===61)){$s=2;continue;}if(CR(b)){$s=3;continue;}$s=4;continue;case 2:$s=-1;return CQ(a,BS);case 3:$s=-1;return CQ(a,BR);case 4:c=a.errorf("expected key separator %q, but got %q instead",new EC([new $Int32(61),new $Int32(b)]));$s=6;case 6:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 5:case 1:$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:BR};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BS=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CR(b)){$s=-1;return CQ(a,BS);}else if(CT(b)){a.backup();$s=-1;return CH;}c=b;if(c===(91)){$s=2;continue;}if(c===(123)){$s=3;continue;}if(c===(34)){$s=4;continue;}if(c===(39)){$s=5;continue;}if((c===(43))||(c===(45))){$s=6;continue;}if(c===(46)){$s=7;continue;}$s=8;continue;case 2:a.ignore();$r=a.emit(12);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BT;case 3:a.ignore();$r=a.emit(20);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return BW;case 4:if(a.accept(34)){if(a.accept(34)){a.ignore();$s=-1;return CA;}a.backup();}a.ignore();$s=-1;return BZ;case 5:if(a.accept(39)){if(a.accept(39)){a.ignore();$s=-1;return CC;}a.backup();}a.ignore();$s=-1;return CB;case 6:$s=-1;return CK;case 7:d=a.errorf("floats must start with a digit, not '.'",new EC([]));$s=11;case 11:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 8:case 1:if(M.IsLetter(b)){a.backup();$s=-1;return CN;}e=a.errorf("expected value but found %q instead",new EC([new $Int32(b)]));$s=12;case 12:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BT=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CR(b)||CS(b)){$s=2;continue;}if((b===35)){$s=3;continue;}if((b===44)){$s=4;continue;}if((b===93)){$s=5;continue;}$s=6;continue;case 2:$s=-1;return CQ(a,BT);case 3:a.push(BT);$s=-1;return CO;case 4:c=a.errorf("unexpected comma",new EC([]));$s=7;case 7:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 5:$s=-1;return BV;case 6:case 1:a.backup();a.push(BU);$s=-1;return BS;}return;}if($f===undefined){$f={$blk:BT};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BU=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CR(b)||CS(b)){$s=-1;return CQ(a,BU);}else if((b===35)){a.push(BU);$s=-1;return CO;}else if((b===44)){a.ignore();$s=-1;return BT;}else if((b===93)){$s=-1;return BV;}c=a.errorf("expected a comma or array terminator %q, but got %q instead",new EC([new $Int32(93),new $Int32(b)]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BU};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BV=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a.ignore();$r=a.emit(13);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=a.pop();$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BV};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BW=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CR(b)){$s=2;continue;}if(CS(b)){$s=3;continue;}if((b===35)){$s=4;continue;}if((b===44)){$s=5;continue;}if((b===125)){$s=6;continue;}$s=7;continue;case 2:$s=-1;return CQ(a,BW);case 3:c=a.errorf("newlines not allowed within inline tables",new EC([]));$s=8;case 8:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 4:a.push(BW);$s=-1;return CO;case 5:d=a.errorf("unexpected comma",new EC([]));$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 6:$s=-1;return BY;case 7:case 1:a.backup();a.push(BX);$s=-1;return BP;}return;}if($f===undefined){$f={$blk:BW};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BX=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CR(b)){$s=2;continue;}if(CS(b)){$s=3;continue;}if((b===35)){$s=4;continue;}if((b===44)){$s=5;continue;}if((b===125)){$s=6;continue;}$s=7;continue;case 2:$s=-1;return CQ(a,BX);case 3:c=a.errorf("newlines not allowed within inline tables",new EC([]));$s=8;case 8:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 4:a.push(BX);$s=-1;return CO;case 5:a.ignore();$s=-1;return BW;case 6:$s=-1;return BY;case 7:case 1:d=a.errorf("expected a comma or an inline table terminator %q, but got %q instead",new EC([new $Int32(125),new $Int32(b)]));$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BX};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a.ignore();$r=a.emit(21);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=a.pop();$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BY};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BZ=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if((b===0)){$s=2;continue;}if(CS(b)){$s=3;continue;}if((b===92)){$s=4;continue;}if((b===34)){$s=5;continue;}$s=6;continue;case 2:c=a.errorf("unexpected EOF",new EC([]));$s=7;case 7:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 3:d=a.errorf("strings cannot contain newlines",new EC([]));$s=8;case 8:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 4:a.push(BZ);$s=-1;return CE;case 5:a.backup();$r=a.emit(4);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.next();a.ignore();e=a.pop();$s=10;case 10:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 6:case 1:$s=-1;return BZ;}return;}if($f===undefined){$f={$blk:BZ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CA=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(b===(0)){$s=2;continue;}if(b===(92)){$s=3;continue;}if(b===(34)){$s=4;continue;}$s=5;continue;case 2:c=a.errorf("unexpected EOF",new EC([]));$s=6;case 6:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 3:$s=-1;return CD;case 4:if(a.accept(34)){$s=7;continue;}$s=8;continue;case 7:if(a.accept(34)){$s=9;continue;}$s=10;continue;case 9:a.backup();a.backup();a.backup();$r=a.emit(6);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.next();a.next();a.next();a.ignore();d=a.pop();$s=12;case 12:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 10:a.backup();case 8:case 5:case 1:$s=-1;return CA;}return;}if($f===undefined){$f={$blk:CA};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CB=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if((b===0)){$s=2;continue;}if(CS(b)){$s=3;continue;}if((b===39)){$s=4;continue;}$s=5;continue;case 2:c=a.errorf("unexpected EOF",new EC([]));$s=6;case 6:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 3:d=a.errorf("strings cannot contain newlines",new EC([]));$s=7;case 7:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 4:a.backup();$r=a.emit(5);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.next();a.ignore();e=a.pop();$s=9;case 9:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 5:case 1:$s=-1;return CB;}return;}if($f===undefined){$f={$blk:CB};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CC=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(b===(0)){$s=2;continue;}if(b===(39)){$s=3;continue;}$s=4;continue;case 2:c=a.errorf("unexpected EOF",new EC([]));$s=5;case 5:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 3:if(a.accept(39)){$s=6;continue;}$s=7;continue;case 6:if(a.accept(39)){$s=8;continue;}$s=9;continue;case 8:a.backup();a.backup();a.backup();$r=a.emit(7);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.next();a.next();a.next();a.ignore();d=a.pop();$s=11;case 11:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 9:a.backup();case 7:case 4:case 1:$s=-1;return CC;}return;}if($f===undefined){$f={$blk:CC};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CD=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(CS(a.next())){$s=-1;return CA;}a.backup();a.push(CA);b=CE(a);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:CD};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};CE=function(a){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();c=b;if(c===(98)){$s=2;continue;}if(c===(116)){$s=3;continue;}if(c===(110)){$s=4;continue;}if(c===(102)){$s=5;continue;}if(c===(114)){$s=6;continue;}if(c===(34)){$s=7;continue;}if(c===(92)){$s=8;continue;}if(c===(117)){$s=9;continue;}if(c===(85)){$s=10;continue;}$s=11;continue;case 2:d=a.pop();$s=12;case 12:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 3:e=a.pop();$s=13;case 13:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 4:f=a.pop();$s=14;case 14:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 5:g=a.pop();$s=15;case 15:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;case 6:h=a.pop();$s=16;case 16:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 7:i=a.pop();$s=17;case 17:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;case 8:j=a.pop();$s=18;case 18:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;case 9:$s=-1;return CF;case 10:$s=-1;return CG;case 11:case 1:k=a.errorf("invalid escape character %q; only the following escape characters are allowed: \\b, \\t, \\n, \\f, \\r, \\\", \\\\, \\uXXXX, and \\UXXXXXXXX",new EC([new $Int32(b)]));$s=19;case 19:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:CE};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};CF=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=0;case 1:if(!(c<4)){$s=2;continue;}b=a.next();if(!CU(b)){$s=3;continue;}$s=4;continue;case 3:d=a.errorf("expected four hexadecimal digits after '\\u', but got %q instead",new EC([new $String(a.current())]));$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 4:c=c+(1)>>0;$s=1;continue;case 2:e=a.pop();$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:CF};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CG=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=0;case 1:if(!(c<8)){$s=2;continue;}b=a.next();if(!CU(b)){$s=3;continue;}$s=4;continue;case 3:d=a.errorf("expected eight hexadecimal digits after '\\U', but got %q instead",new EC([new $String(a.current())]));$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 4:c=c+(1)>>0;$s=1;continue;case 2:e=a.pop();$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:CG};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CH=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CT(b)){$s=-1;return CI;}c=b;if(c===(95)){$s=2;continue;}if((c===(101))||(c===(69))){$s=3;continue;}if(c===(46)){$s=4;continue;}$s=5;continue;case 2:$s=-1;return CL;case 3:$s=-1;return CM;case 4:d=a.errorf("floats must start with a digit, not '.'",new EC([]));$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 5:case 1:e=a.errorf("expected a digit but got %q",new EC([new $Int32(b)]));$s=7;case 7:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:CH};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CI=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CT(b)){$s=-1;return CI;}c=b;if(c===(45)){$s=-1;return CJ;}else if(c===(95)){$s=-1;return CL;}else if((c===(46))||(c===(101))||(c===(69))){$s=-1;return CM;}a.backup();$r=a.emit(9);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=a.pop();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:CI};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CJ=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CT(b)){$s=-1;return CJ;}c=b;if((c===(45))||(c===(84))||(c===(58))||(c===(46))||(c===(90))||(c===(43))){$s=-1;return CJ;}a.backup();$r=a.emit(11);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=a.pop();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:CJ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CK=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(!CT(b)){$s=1;continue;}$s=2;continue;case 1:if(b===46){$s=3;continue;}$s=4;continue;case 3:c=a.errorf("floats must start with a digit, not '.'",new EC([]));$s=5;case 5:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 4:d=a.errorf("expected a digit but got %q",new EC([new $Int32(b)]));$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 2:$s=-1;return CL;}return;}if($f===undefined){$f={$blk:CK};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CL=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CT(b)){$s=-1;return CL;}c=b;if(c===(95)){$s=-1;return CL;}else if((c===(46))||(c===(101))||(c===(69))){$s=-1;return CM;}a.backup();$r=a.emit(9);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=a.pop();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:CL};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CM=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.next();if(CT(b)){$s=-1;return CM;}c=b;if((c===(95))||(c===(46))||(c===(45))||(c===(43))||(c===(101))||(c===(69))){$s=-1;return CM;}a.backup();$r=a.emit(10);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=a.pop();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:CM};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CN=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=EO.nil;while(true){c=a.next();if(!M.IsLetter(c)){a.backup();break;}b=$append(b,c);}d=($runesToString(b));e=d;if(e===("true")||e===("false")){$s=2;continue;}$s=3;continue;case 2:$r=a.emit(8);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=a.pop();$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 3:case 1:g=a.errorf("expected value but found %q instead",new EC([new $String(d)]));$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:CN};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};CO=function(a){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a.ignore();$r=a.emit(19);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return CP;}return;}if($f===undefined){$f={$blk:CO};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};CP=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.peek();if(CS(b)||(b===0)){$s=1;continue;}$s=2;continue;case 1:$r=a.emit(3);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=a.pop();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 2:a.next();$s=-1;return CP;}return;}if($f===undefined){$f={$blk:CP};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};CQ=function(a,b){var a,b;return(function(c){var c;c.ignore();return b;});};CR=function(a){var a;return(a===9)||(a===32);};CS=function(a){var a;return(a===10)||(a===13);};CT=function(a){var a;return a>=48&&a<=57;};CU=function(a){var a;return(a>=48&&a<=57)||(a>=97&&a<=102)||(a>=65&&a<=70);};CV=function(a){var a;return(a>=65&&a<=90)||(a>=97&&a<=122)||(a>=48&&a<=57)||(a===95)||(a===45);};BC.prototype.String=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this.$val;b=a;if(b===(0)){$s=-1;return"Error";}else if(b===(1)){$s=-1;return"NIL";}else if(b===(2)){$s=-1;return"EOF";}else if(b===(3)){$s=-1;return"Text";}else if((b===(4))||(b===(5))||(b===(6))||(b===(7))){$s=-1;return"String";}else if(b===(8)){$s=-1;return"Bool";}else if(b===(9)){$s=-1;return"Integer";}else if(b===(10)){$s=-1;return"Float";}else if(b===(11)){$s=-1;return"DateTime";}else if(b===(14)){$s=-1;return"TableStart";}else if(b===(15)){$s=-1;return"TableEnd";}else if(b===(18)){$s=-1;return"KeyStart";}else if(b===(12)){$s=-1;return"Array";}else if(b===(13)){$s=-1;return"ArrayEnd";}else if(b===(19)){$s=-1;return"CommentStart";}c=A.Sprintf("BUG: Unknown type '%d'.",new EC([new $Int(((a>>0)))]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$panic(new $String(c));$s=-1;return"";}return;}if($f===undefined){$f={$blk:BC.prototype.String};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BC).prototype.String=function(){return new BC(this.$get()).String();};BF.ptr.prototype.String=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=new BC(a.typ).String();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=new $String(b);d=new $String(a.val);e=A.Sprintf("(%s, %s)",new EC([c,d]));$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BF.ptr.prototype.String};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BF.prototype.String=function(){return this.$val.String();};CX.prototype.Error=function(){var a;a=this.$val;return(a);};$ptrType(CX).prototype.Error=function(){return new CX(this.$get()).Error();};CY=function(a){var a,b,c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=[b];c=EP.nil;b[0]=$ifaceNil;$deferred.push([(function(b){return function(){var d,e,f;d=$recover();if(!($interfaceIsEqual(d,$ifaceNil))){e=false;f=$assertType(d,CX,true);b[0]=new CX(f[0]);e=f[1];if(e){return;}$panic(d);}};})(b),[]]);c=new CW.ptr({},{},BG(a),$makeSlice(EB,0),AC.nil,"",0,{});case 1:d=c.next();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,BF);if(e.typ===2){$s=2;continue;}$r=c.topLevel($clone(e,BF));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:f=c;g=$ifaceNil;c=f;b[0]=g;$s=-1;return[c,b[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[c,b[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:CY};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CW.ptr.prototype.panicf=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=new $Int(c.approxLine);e=c.current();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=new $String(e);g=A.Sprintf(a,b);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=new $String(g);i=A.Sprintf("Near line %d (last key parsed '%s'): %s",new EC([d,f,h]));$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$panic(new CX((j)));$s=-1;return;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.panicf};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.panicf=function(a,b){return this.$val.panicf(a,b);};CW.ptr.prototype.next=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.lx.nextItem();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=$clone(b,BF);if(c.typ===0){$s=2;continue;}$s=3;continue;case 2:$r=a.panicf("%s",new EC([new $String(c.val)]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return c;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.next};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.next=function(){return this.$val.next();};CW.ptr.prototype.bug=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf("BUG: "+a+"\n\n",b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$panic(new $String(d));$s=-1;return;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.bug};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.bug=function(a,b){return this.$val.bug(a,b);};CW.ptr.prototype.expect=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.next();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,BF);$r=b.assertEqual(a,d.typ);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.expect};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.expect=function(a){return this.$val.expect(a);};CW.ptr.prototype.assertEqual=function(a,b){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(!((a===b))){$s=1;continue;}$s=2;continue;case 1:$r=c.bug("Expected '%s' but got '%s'.",new EC([new BC(a),new BC(b)]));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.assertEqual};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.assertEqual=function(a,b){return this.$val.assertEqual(a,b);};CW.ptr.prototype.topLevel=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a.typ;if(c===(19)){$s=2;continue;}if(c===(14)){$s=3;continue;}if(c===(16)){$s=4;continue;}if(c===(18)){$s=5;continue;}$s=6;continue;case 2:b.approxLine=a.line;d=b.expect(3);$s=8;case 8:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;$s=7;continue;case 3:e=b.next();$s=9;case 9:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,BF);b.approxLine=f.line;g=AC.nil;case 10:if(!(!((f.typ===15))&&!((f.typ===2)))){$s=11;continue;}h=b.keyString($clone(f,BF));$s=12;case 12:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=$append(g,h);i=b.next();$s=13;case 13:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}BF.copy(f,i);$s=10;continue;case 11:$r=b.assertEqual(15,f.typ);$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.establishContext(g,false);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.setType("",new DH(DO));b.ordered=$append(b.ordered,g);$s=7;continue;case 4:j=b.next();$s=16;case 16:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone(j,BF);b.approxLine=k.line;l=AC.nil;case 17:if(!(!((k.typ===17))&&!((k.typ===2)))){$s=18;continue;}m=b.keyString($clone(k,BF));$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=$append(l,m);n=b.next();$s=20;case 20:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}BF.copy(k,n);$s=17;continue;case 18:$r=b.assertEqual(17,k.typ);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.establishContext(l,true);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.setType("",new DH(DP));b.ordered=$append(b.ordered,l);$s=7;continue;case 5:o=b.next();$s=23;case 23:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(o,BF);b.approxLine=p.line;q=b.keyString($clone(p,BF));$s=24;case 24:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}b.currentKey=q;s=b.next();$s=25;case 25:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=b.value($clone(s,BF));$s=26;case 26:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=t;u=r[0];v=r[1];$r=b.setValue(b.currentKey,u);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.setType(b.currentKey,v);b.ordered=$append(b.ordered,b.context.add(b.currentKey));b.currentKey="";$s=7;continue;case 6:$r=b.bug("Unexpected type at top level: %s",new EC([new BC(a.typ)]));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.topLevel};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.topLevel=function(a){return this.$val.topLevel(a);};CW.ptr.prototype.keyString=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a.typ;if(c===(3)){$s=2;continue;}if((c===(4))||(c===(6))||(c===(5))||(c===(7))){$s=3;continue;}$s=4;continue;case 2:$s=-1;return a.val;case 3:e=b.value($clone(a,BF));$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];$s=-1;return $assertType(f,$String);case 4:$r=b.bug("Unexpected key type: %s",new EC([new BC(a.typ)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$panic(new $String("unreachable"));case 5:case 1:$s=-1;return"";}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.keyString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.keyString=function(a){return this.$val.keyString(a);};CW.ptr.prototype.value=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a.typ;if(c===(4)){$s=2;continue;}if(c===(6)){$s=3;continue;}if(c===(5)){$s=4;continue;}if(c===(7)){$s=5;continue;}if(c===(8)){$s=6;continue;}if(c===(9)){$s=7;continue;}if(c===(10)){$s=8;continue;}if(c===(11)){$s=9;continue;}if(c===(12)){$s=10;continue;}if(c===(20)){$s=11;continue;}$s=12;continue;case 2:d=b.replaceEscapes(a.val);$s=13;case 13:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=b.typeOfPrimitive($clone(a,BF));$s=14;case 14:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return[new $String(d),e];case 3:f=DC(a.val);$s=15;case 15:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=DB(f);$s=16;case 16:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=b.replaceEscapes(h);$s=17;case 17:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=b.typeOfPrimitive($clone(a,BF));$s=18;case 18:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return[new $String(i),j];case 4:k=b.typeOfPrimitive($clone(a,BF));$s=19;case 19:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return[new $String(a.val),k];case 5:l=b.typeOfPrimitive($clone(a,BF));$s=20;case 20:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return[new $String(DB(a.val)),l];case 6:m=a.val;if(m===("true")){$s=22;continue;}if(m===("false")){$s=23;continue;}$s=24;continue;case 22:n=b.typeOfPrimitive($clone(a,BF));$s=25;case 25:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return[new $Bool(true),n];case 23:o=b.typeOfPrimitive($clone(a,BF));$s=26;case 26:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$s=-1;return[new $Bool(false),o];case 24:case 21:$r=b.bug("Expected boolean value, but got '%s'.",new EC([new $String(a.val)]));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=12;continue;case 7:if(!CZ(a.val)){$s=28;continue;}$s=29;continue;case 28:$r=b.panicf("Invalid integer %q: underscores must be surrounded by digits",new EC([new $String(a.val)]));$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 29:p=F.Replace(a.val,"_","",-1);q=K.ParseInt(p,10,64);r=q[0];s=q[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=31;continue;}$s=32;continue;case 31:t=$assertType(s,ER,true);u=t[0];v=t[1];if(v&&$interfaceIsEqual(u.Err,K.ErrRange)){$s=33;continue;}$s=34;continue;case 33:$r=b.panicf("Integer '%s' is out of the range of 64-bit signed integers.",new EC([new $String(a.val)]));$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=35;continue;case 34:$r=b.bug("Expected integer value, but got '%s'.",new EC([new $String(a.val)]));$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 35:case 32:w=b.typeOfPrimitive($clone(a,BF));$s=38;case 38:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$s=-1;return[r,w];case 8:x=F.FieldsFunc(a.val,(function(x){var x,y;y=x;if((y===(46))||(y===(101))||(y===(69))){return true;}return false;}));$s=39;case 39:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;z=y;aa=0;case 40:if(!(aa<z.$length)){$s=41;continue;}ab=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]);if(!CZ(ab)){$s=42;continue;}$s=43;continue;case 42:$r=b.panicf("Invalid float %q: underscores must be surrounded by digits",new EC([new $String(a.val)]));$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 43:aa++;$s=40;continue;case 41:if(!DA(a.val)){$s=45;continue;}$s=46;continue;case 45:$r=b.panicf("Invalid float %q: '.' must be followed by one or more digits",new EC([new $String(a.val)]));$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 46:ac=F.Replace(a.val,"_","",-1);ad=K.ParseFloat(ac,64);ae=ad[0];af=ad[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=48;continue;}$s=49;continue;case 48:ag=$assertType(af,ER,true);ah=ag[0];ai=ag[1];if(ai&&$interfaceIsEqual(ah.Err,K.ErrRange)){$s=50;continue;}$s=51;continue;case 50:$r=b.panicf("Float '%s' is out of the range of 64-bit IEEE-754 floating-point numbers.",new EC([new $String(a.val)]));$s=53;case 53:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=52;continue;case 51:$r=b.panicf("Invalid float value: %q",new EC([new $String(a.val)]));$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 52:case 49:aj=b.typeOfPrimitive($clone(a,BF));$s=55;case 55:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=-1;return[new $Float64(ae),aj];case 9:ak=new G.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EF.nil);al=false;am=$ifaceNil;an=new EA(["2006-01-02T15:04:05Z07:00","2006-01-02T15:04:05","2006-01-02"]);ao=0;case 56:if(!(ao<an.$length)){$s=57;continue;}ap=((ao<0||ao>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+ao]);ar=G.ParseInLocation(ap,a.val,G.Local);$s=58;case 58:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}aq=ar;G.Time.copy(ak,aq[0]);am=aq[1];if($interfaceIsEqual(am,$ifaceNil)){al=true;$s=57;continue;}ao++;$s=56;continue;case 57:if(!al){$s=59;continue;}$s=60;continue;case 59:$r=b.panicf("Invalid TOML Datetime: %q.",new EC([new $String(a.val)]));$s=61;case 61:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 60:as=b.typeOfPrimitive($clone(a,BF));$s=62;case 62:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return[new ak.constructor.elem(ak),as];case 10:at=$makeSlice(EC,0);au=$makeSlice(ES,0);av=b.next();$s=63;case 63:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}BF.copy(a,av);case 64:if(!(!((a.typ===13)))){$s=65;continue;}if(a.typ===19){$s=66;continue;}$s=67;continue;case 66:aw=b.expect(3);$s=68;case 68:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}aw;ax=b.next();$s=69;case 69:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}BF.copy(a,ax);$s=64;continue;case 67:az=b.value($clone(a,BF));$s=70;case 70:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;ba=ay[0];bb=ay[1];at=$append(at,ba);au=$append(au,bb);bc=b.next();$s=71;case 71:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}BF.copy(a,bc);$s=64;continue;case 65:bd=b.typeOfArray(au);$s=72;case 72:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}$s=-1;return[at,bd];case 11:be={};bf=b.context;bg=b.currentKey;b.context=$append(b.context,b.currentKey);b.currentKey="";bh=b.next();$s=73;case 73:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bi=$clone(bh,BF);case 74:if(!(!((bi.typ===21)))){$s=75;continue;}if(!((bi.typ===18))){$s=76;continue;}$s=77;continue;case 76:$r=b.bug("Expected key start but instead found %q, around line %d",new EC([new $String(bi.val),new $Int(b.approxLine)]));$s=78;case 78:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 77:if(bi.typ===19){$s=79;continue;}$s=80;continue;case 79:bj=b.expect(3);$s=81;case 81:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bj;bk=b.next();$s=82;case 82:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}BF.copy(bi,bk);$s=74;continue;case 80:bl=b.next();$s=83;case 83:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=$clone(bl,BF);b.approxLine=bm.line;bn=b.keyString($clone(bm,BF));$s=84;case 84:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bo=bn;b.currentKey=bo;bq=b.next();$s=85;case 85:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=b.value($clone(bq,BF));$s=86;case 86:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bp=br;bs=bp[0];bt=bp[1];b.setType(bo,bt);b.ordered=$append(b.ordered,b.context.add(b.currentKey));bu=bo;(be||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(bu)]={k:bu,v:bs};bv=b.next();$s=87;case 87:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}BF.copy(bi,bv);$s=74;continue;case 75:b.context=bf;b.currentKey=bg;$s=-1;return[new ED(be),new DH(DO)];case 12:case 1:$r=b.bug("Unexpected value type: %s",new EC([new BC(a.typ)]));$s=88;case 88:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$panic(new $String("unreachable"));$s=-1;return[$ifaceNil,$ifaceNil];}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.value};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.value=function(a){return this.$val.value(a);};CZ=function(a){var a,b,c,d,e,f;b=false;c=a;d=0;while(true){if(!(d<c.length)){break;}e=$decodeRune(c,d);f=e[0];if(f===95){if(!b){return false;}b=false;d+=e[1];continue;}b=true;d+=e[1];}return b;};DA=function(a){var a,b,c,d,e,f;b=false;c=a;d=0;while(true){if(!(d<c.length)){break;}e=$decodeRune(c,d);f=e[0];if(b&&!CT(f)){return false;}b=f===46;d+=e[1];}return!b;};CW.ptr.prototype.establishContext=function(a,b){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=false;e=c.mapping;f=$makeSlice(AC,0);g=$subslice(a,0,(a.$length-1>>0));h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);j=(k=e[$String.keyFor(i)],k!==undefined?[k.v,true]:[$ifaceNil,false]);d=j[1];f=$append(f,i);if(!d){c.addImplicit(f);l=i;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(l)]={k:l,v:new ED({})};}m=(n=e[$String.keyFor(i)],n!==undefined?n.v:$ifaceNil);if($assertType(m,ET,true)[1]){$s=3;continue;}if($assertType(m,ED,true)[1]){$s=4;continue;}$s=5;continue;case 3:o=m.$val;e=(r=o.$length-1>>0,((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]));$s=6;continue;case 4:p=m.$val;e=p;$s=6;continue;case 5:q=m;$r=c.panicf("Key '%s' was already created as a hash.",new EC([f]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:h++;$s=1;continue;case 2:c.context=f;if(b){$s=8;continue;}$s=9;continue;case 8:t=(s=a.$length-1>>0,((s<0||s>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+s]));u=(v=e[$String.keyFor(t)],v!==undefined?[v.v,true]:[$ifaceNil,false]);w=u[1];if(!w){x=t;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(x)]={k:x,v:$makeSlice(ET,0,5)};}y=$assertType((z=e[$String.keyFor(t)],z!==undefined?z.v:$ifaceNil),ET,true);aa=y[0];ab=y[1];if(ab){$s=11;continue;}$s=12;continue;case 11:ac=t;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ac)]={k:ac,v:$append(aa,{})};$s=13;continue;case 12:$r=c.panicf("Key '%s' was already created and cannot be used as an array.",new EC([f]));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:$s=10;continue;case 9:$r=c.setValue((ad=a.$length-1>>0,((ad<0||ad>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ad])),new ED({}));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:c.context=$append(c.context,(ae=a.$length-1>>0,((ae<0||ae>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ae])));$s=-1;return;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.establishContext};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.establishContext=function(a,b){return this.$val.establishContext(a,b);};CW.ptr.prototype.setValue=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$ifaceNil;e=false;f=c.mapping;g=$makeSlice(AC,0);h=c.context;i=0;case 1:if(!(i<h.$length)){$s=2;continue;}j=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);g=$append(g,j);k=(l=f[$String.keyFor(j)],l!==undefined?[l.v,true]:[$ifaceNil,false]);d=k[0];e=k[1];if(!e){$s=3;continue;}$s=4;continue;case 3:$r=c.bug("Context for key '%s' has not been established.",new EC([g]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:m=d;if($assertType(m,ET,true)[1]){$s=6;continue;}if($assertType(m,ED,true)[1]){$s=7;continue;}$s=8;continue;case 6:n=m.$val;f=(q=n.$length-1>>0,((q<0||q>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+q]));$s=9;continue;case 7:o=m.$val;f=o;$s=9;continue;case 8:p=m;$r=c.bug("Expected hash to have type 'map[string]interface{}', but it has '%T' instead.",new EC([d]));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:i++;$s=1;continue;case 2:g=$append(g,a);r=(s=f[$String.keyFor(a)],s!==undefined?[s.v,true]:[$ifaceNil,false]);t=r[1];if(t){$s=11;continue;}$s=12;continue;case 11:if(c.isImplicit(g)){c.removeImplicit(g);$s=-1;return;}$r=c.panicf("Key '%s' has already been defined.",new EC([g]));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:u=a;(f||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(u)]={k:u,v:b};$s=-1;return;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.setValue};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.setValue=function(a,b){return this.$val.setValue(a,b);};CW.ptr.prototype.setType=function(a,b){var a,b,c,d,e,f,g,h;c=this;d=$makeSlice(AC,0,(c.context.$length+1>>0));e=c.context;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);d=$append(d,g);f++;}if(a.length>0){d=$append(d,a);}h=d.String();(c.types||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(h)]={k:h,v:b};};CW.prototype.setType=function(a,b){return this.$val.setType(a,b);};CW.ptr.prototype.addImplicit=function(a){var a,b,c;b=this;c=a.String();(b.implicits||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(c)]={k:c,v:true};};CW.prototype.addImplicit=function(a){return this.$val.addImplicit(a);};CW.ptr.prototype.removeImplicit=function(a){var a,b,c;b=this;c=a.String();(b.implicits||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(c)]={k:c,v:false};};CW.prototype.removeImplicit=function(a){return this.$val.removeImplicit(a);};CW.ptr.prototype.isImplicit=function(a){var a,b,c;b=this;return(c=b.implicits[$String.keyFor(a.String())],c!==undefined?c.v:false);};CW.prototype.isImplicit=function(a){return this.$val.isImplicit(a);};CW.ptr.prototype.current=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.currentKey.length===0){$s=-1;return a.context.String();}if(a.context.$length===0){$s=-1;return a.currentKey;}b=A.Sprintf("%s.%s",new EC([a.context,new $String(a.currentKey)]));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.current};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.current=function(){return this.$val.current();};DB=function(a){var a;if((a.length===0)||!((a.charCodeAt(0)===10))){return a;}return $substring(a,1);};DC=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=F.Split(a,"\\\n");if(b.$length>1){$s=1;continue;}$s=2;continue;case 1:c=1;case 3:if(!(c<b.$length)){$s=4;continue;}d=F.TrimLeftFunc(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),M.IsSpace);$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]=d);c=c+(1)>>0;$s=3;continue;case 4:case 2:$s=-1;return F.Join(b,"");}return;}if($f===undefined){$f={$blk:DC};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CW.ptr.prototype.replaceEscapes=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=EO.nil;d=(new EH($stringToBytes(a)));e=0;case 1:if(!(e<d.$length)){$s=2;continue;}if(!((((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])===92))){$s=3;continue;}$s=4;continue;case 3:f=N.DecodeRune($subslice(d,e));g=f[0];h=f[1];e=e+(h)>>0;c=$append(c,g);$s=1;continue;case 4:e=e+(1)>>0;if(e>=d.$length){$s=5;continue;}$s=6;continue;case 5:$r=b.bug("Escape sequence at end of string.",new EC([]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return"";case 6:i=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(i===(98)){$s=9;continue;}if(i===(116)){$s=10;continue;}if(i===(110)){$s=11;continue;}if(i===(102)){$s=12;continue;}if(i===(114)){$s=13;continue;}if(i===(34)){$s=14;continue;}if(i===(92)){$s=15;continue;}if(i===(117)){$s=16;continue;}if(i===(85)){$s=17;continue;}$s=18;continue;case 9:c=$append(c,8);e=e+(1)>>0;$s=19;continue;case 10:c=$append(c,9);e=e+(1)>>0;$s=19;continue;case 11:c=$append(c,10);e=e+(1)>>0;$s=19;continue;case 12:c=$append(c,12);e=e+(1)>>0;$s=19;continue;case 13:c=$append(c,13);e=e+(1)>>0;$s=19;continue;case 14:c=$append(c,34);e=e+(1)>>0;$s=19;continue;case 15:c=$append(c,92);e=e+(1)>>0;$s=19;continue;case 16:j=b.asciiEscapeToUnicode($subslice(d,(e+1>>0),(e+5>>0)));$s=20;case 20:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;c=$append(c,k);e=e+(5)>>0;$s=19;continue;case 17:l=b.asciiEscapeToUnicode($subslice(d,(e+1>>0),(e+9>>0)));$s=21;case 21:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;c=$append(c,m);e=e+(9)>>0;$s=19;continue;case 18:$r=b.bug("Expected valid escape code after \\, but got %q.",new EC([new $Uint8(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))]));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return"";case 19:case 8:$s=1;continue;case 2:$s=-1;return($runesToString(c));}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.replaceEscapes};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.replaceEscapes=function(a){return this.$val.replaceEscapes(a);};CW.ptr.prototype.asciiEscapeToUnicode=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=($bytesToString(a));e=F.ToLower(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=K.ParseUint(e,16,32);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d=f;g=d[0];h=d[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:$r=b.bug("Could not parse '%s' as a hexadecimal number, but the lexer claims it's OK: %s",new EC([new $String(c),h]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:if(!N.ValidRune(((g.$low>>0)))){$s=6;continue;}$s=7;continue;case 6:$r=b.panicf("Escaped character '\\u%s' is not valid UTF-8.",new EC([new $String(c)]));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:$s=-1;return((g.$low>>0));}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.asciiEscapeToUnicode};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.asciiEscapeToUnicode=function(a){return this.$val.asciiEscapeToUnicode(a);};DF=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(a,$ifaceNil)||$interfaceIsEqual(b,$ifaceNil)){$s=-1;return false;}c=a.typeString();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.typeString();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return c===d;}return;}if($f===undefined){$f={$blk:DF};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DH.prototype.typeString=function(){var a;a=this.$val;return(a);};$ptrType(DH).prototype.typeString=function(){return new DH(this.$get()).typeString();};DH.prototype.String=function(){var a;a=this.$val;return new DH(a).typeString();};$ptrType(DH).prototype.String=function(){return new DH(this.$get()).String();};CW.ptr.prototype.typeOfPrimitive=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a.typ;if(c===(9)){$s=-1;return new DH(DI);}else if(c===(10)){$s=-1;return new DH(DJ);}else if(c===(11)){$s=-1;return new DH(DK);}else if(c===(4)){$s=-1;return new DH(DL);}else if(c===(6)){$s=-1;return new DH(DL);}else if(c===(5)){$s=-1;return new DH(DL);}else if(c===(7)){$s=-1;return new DH(DL);}else if(c===(8)){$s=-1;return new DH(DM);}$r=b.bug("Cannot infer primitive type of lex item '%s'.",new EC([new a.constructor.elem(a)]));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$panic(new $String("unreachable"));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.typeOfPrimitive};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.typeOfPrimitive=function(a){return this.$val.typeOfPrimitive(a);};CW.ptr.prototype.typeOfArray=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a.$length===0){$s=-1;return new DH(DN);}c=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);d=$subslice(a,1);e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);g=DF(c,f);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(!g){$s=3;continue;}$s=4;continue;case 3:$r=b.panicf("Array contains values of type '%s' and '%s', but arrays must be homogeneous.",new EC([c,f]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:e++;$s=1;continue;case 2:$s=-1;return new DH(DN);}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.typeOfArray};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.typeOfArray=function(a){return this.$val.typeOfArray(a);};DR.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(DR).prototype.Len=function(){return this.$get().Len();};DR.prototype.Swap=function(a,b){var a,b,c,d,e;c=this;d=$clone(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]),DQ);e=$clone(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]),DQ);DQ.copy(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]),d);DQ.copy(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]),e);};$ptrType(DR).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};DR.prototype.Less=function(a,b){var a,b,c;c=this;if(!(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).name===((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).name)){return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).name<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).name;}if(!((((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).index.$length===((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).index.$length))){return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).index.$length<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).index.$length;}if(!(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).tag===((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).tag)){return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).tag;}return($subslice(new DS(c.$array),c.$offset,c.$offset+c.$length)).Less(a,b);};$ptrType(DR).prototype.Less=function(a,b){return this.$get().Less(a,b);};DS.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(DS).prototype.Len=function(){return this.$get().Len();};DS.prototype.Swap=function(a,b){var a,b,c,d,e;c=this;d=$clone(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]),DQ);e=$clone(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]),DQ);DQ.copy(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]),d);DQ.copy(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]),e);};$ptrType(DS).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};DS.prototype.Less=function(a,b){var a,b,c,d,e,f,g,h,i;c=this;d=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).index;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(f>=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).index.$length){return false;}if(!((g===(h=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).index,((f<0||f>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+f]))))){return g<(i=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).index,((f<0||f>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+f]));}e++;}return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).index.$length<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).index.$length;};$ptrType(DS).prototype.Less=function(a,b){return this.$get().Less(a,b);};DT=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new DX([]);c=new DX([new DQ.ptr("",false,EJ.nil,a)]);d=$makeMap(E.Type.keyFor,[]);e=$makeMap(E.Type.keyFor,[]);f=$makeMap(E.Type.keyFor,[]);g=DX.nil;case 1:if(!(c.$length>0)){$s=2;continue;}h=c;i=$subslice(b,0,0);b=h;c=i;j=e;k=$makeMap(E.Type.keyFor,[]);d=j;e=k;l=b;m=0;case 3:if(!(m<l.$length)){$s=4;continue;}n=$clone(((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]),DQ);if((o=f[E.Type.keyFor(n.typ)],o!==undefined?o.v:false)){$s=5;continue;}$s=6;continue;case 5:m++;$s=3;continue;case 6:p=n.typ;(f||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(p)]={k:p,v:true};q=0;case 7:r=n.typ.NumField();$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(q<r)){$s=8;continue;}s=n.typ.Field(q);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=$clone(s,E.StructField);if(!(t.PkgPath==="")&&!t.Anonymous){$s=11;continue;}$s=12;continue;case 11:q=q+(1)>>0;$s=7;continue;case 12:u=$clone(AS(t.Tag),AR);if(u.skip){$s=13;continue;}$s=14;continue;case 13:q=q+(1)>>0;$s=7;continue;case 14:v=$makeSlice(EJ,(n.index.$length+1>>0));$copySlice(v,n.index);(w=n.index.$length,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]=q));x=t.Type;z=x.Name();$s=18;case 18:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!(z==="")){y=false;$s=17;continue s;}aa=x.Kind();$s=19;case 19:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}y=aa===22;case 17:if(y){$s=15;continue;}$s=16;continue;case 15:ab=x.Elem();$s=20;case 20:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}x=ab;case 16:if(!(u.name==="")||!t.Anonymous){ac=true;$s=23;continue s;}ad=x.Kind();$s=24;case 24:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=!((ad===25));case 23:if(ac){$s=21;continue;}$s=22;continue;case 21:ae=!(u.name==="");af=u.name;if(af===""){af=t.Name;}g=$append(g,new DQ.ptr(af,ae,v,x));if((ag=d[E.Type.keyFor(n.typ)],ag!==undefined?ag.v:0)>1){g=$append(g,(ah=g.$length-1>>0,((ah<0||ah>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ah])));}q=q+(1)>>0;$s=7;continue;case 22:ai=x;(e||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ai)]={k:ai,v:(aj=e[E.Type.keyFor(x)],aj!==undefined?aj.v:0)+(1)>>0};if((ak=e[E.Type.keyFor(x)],ak!==undefined?ak.v:0)===1){$s=25;continue;}$s=26;continue;case 25:al=x.Name();$s=27;case 27:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=new DQ.ptr(al,false,v,x);c=$append(c,am);case 26:q=q+(1)>>0;$s=7;continue;case 8:m++;$s=3;continue;case 4:$s=1;continue;case 2:$r=J.Sort(($subslice(new DR(g.$array),g.$offset,g.$offset+g.$length)));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}an=$subslice(g,0,0);ao=0;ap=0;aq=ao;ar=ap;case 29:if(!(ar<g.$length)){$s=30;continue;}as=$clone(((ar<0||ar>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ar]),DQ);at=as.name;aq=1;while(true){if(!((ar+aq>>0)<g.$length)){break;}av=$clone((au=ar+aq>>0,((au<0||au>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+au])),DQ);if(!(av.name===at)){break;}aq=aq+(1)>>0;}if(aq===1){an=$append(an,as);ar=ar+(aq)>>0;$s=29;continue;}aw=DU($subslice(g,ar,(ar+aq>>0)));ax=$clone(aw[0],DQ);ay=aw[1];if(ay){an=$append(an,ax);}ar=ar+(aq)>>0;$s=29;continue;case 30:g=an;$r=J.Sort(($subslice(new DS(g.$array),g.$offset,g.$offset+g.$length)));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:DT};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DU=function(a){var a,b,c,d,e,f,g;b=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]).index.$length;c=-1;d=a;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=$clone(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),DQ);if(g.index.$length>b){a=$subslice(a,0,f);break;}if(g.tag){if(c>=0){return[new DQ.ptr("",false,EJ.nil,$ifaceNil),false];}c=f;}e++;}if(c>=0){return[((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]),true];}if(a.$length>1){return[new DQ.ptr("",false,EJ.nil,$ifaceNil),false];}return[(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),true];};DW=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=DV.RWMutex.RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=(b=DV.m[E.Type.keyFor(a)],b!==undefined?b.v:DX.nil);$r=DV.RWMutex.RUnlock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(c===DX.nil)){$s=-1;return c;}d=DT(a);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;if(c===DX.nil){c=new DX([]);}$r=DV.RWMutex.Lock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(DV.m===false){DV.m=$makeMap(E.Type.keyFor,[]);}e=a;(DV.m||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(e)]={k:e,v:c};$r=DV.RWMutex.Unlock();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:DW};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};EU.methods=[{prop:"PrimitiveDecode",name:"PrimitiveDecode",pkg:"",typ:$funcType([S,$emptyInterface],[$error],false)},{prop:"unify",name:"unify",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyStruct",name:"unifyStruct",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyMap",name:"unifyMap",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyArray",name:"unifyArray",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifySlice",name:"unifySlice",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifySliceArray",name:"unifySliceArray",pkg:"github.com/BurntSushi/toml",typ:$funcType([E.Value,E.Value],[$error],false)},{prop:"unifyDatetime",name:"unifyDatetime",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyString",name:"unifyString",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyFloat64",name:"unifyFloat64",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyInt",name:"unifyInt",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyBool",name:"unifyBool",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyAnything",name:"unifyAnything",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,E.Value],[$error],false)},{prop:"unifyText",name:"unifyText",pkg:"github.com/BurntSushi/toml",typ:$funcType([$emptyInterface,BB],[$error],false)},{prop:"IsDefined",name:"IsDefined",pkg:"",typ:$funcType([EA],[$Bool],true)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([EA],[$String],true)},{prop:"Keys",name:"Keys",pkg:"",typ:$funcType([],[EB],false)},{prop:"Undecoded",name:"Undecoded",pkg:"",typ:$funcType([],[EB],false)}];AC.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"maybeQuotedAll",name:"maybeQuotedAll",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[$String],false)},{prop:"maybeQuoted",name:"maybeQuoted",pkg:"github.com/BurntSushi/toml",typ:$funcType([$Int],[$String],false)},{prop:"add",name:"add",pkg:"github.com/BurntSushi/toml",typ:$funcType([$String],[AC],false)}];BC.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];EQ.methods=[{prop:"nextItem",name:"nextItem",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[BF],false)},{prop:"push",name:"push",pkg:"github.com/BurntSushi/toml",typ:$funcType([BD],[],false)},{prop:"pop",name:"pop",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[BD],false)},{prop:"current",name:"current",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[$String],false)},{prop:"emit",name:"emit",pkg:"github.com/BurntSushi/toml",typ:$funcType([BC],[],false)},{prop:"emitTrim",name:"emitTrim",pkg:"github.com/BurntSushi/toml",typ:$funcType([BC],[],false)},{prop:"next",name:"next",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[$Int32],false)},{prop:"ignore",name:"ignore",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[],false)},{prop:"backup",name:"backup",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[],false)},{prop:"accept",name:"accept",pkg:"github.com/BurntSushi/toml",typ:$funcType([$Int32],[$Bool],false)},{prop:"peek",name:"peek",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[$Int32],false)},{prop:"skip",name:"skip",pkg:"github.com/BurntSushi/toml",typ:$funcType([EY],[],false)},{prop:"errorf",name:"errorf",pkg:"github.com/BurntSushi/toml",typ:$funcType([$String,EC],[BD],true)}];BF.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];EP.methods=[{prop:"panicf",name:"panicf",pkg:"github.com/BurntSushi/toml",typ:$funcType([$String,EC],[],true)},{prop:"next",name:"next",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[BF],false)},{prop:"bug",name:"bug",pkg:"github.com/BurntSushi/toml",typ:$funcType([$String,EC],[],true)},{prop:"expect",name:"expect",pkg:"github.com/BurntSushi/toml",typ:$funcType([BC],[BF],false)},{prop:"assertEqual",name:"assertEqual",pkg:"github.com/BurntSushi/toml",typ:$funcType([BC,BC],[],false)},{prop:"topLevel",name:"topLevel",pkg:"github.com/BurntSushi/toml",typ:$funcType([BF],[],false)},{prop:"keyString",name:"keyString",pkg:"github.com/BurntSushi/toml",typ:$funcType([BF],[$String],false)},{prop:"value",name:"value",pkg:"github.com/BurntSushi/toml",typ:$funcType([BF],[$emptyInterface,DE],false)},{prop:"establishContext",name:"establishContext",pkg:"github.com/BurntSushi/toml",typ:$funcType([AC,$Bool],[],false)},{prop:"setValue",name:"setValue",pkg:"github.com/BurntSushi/toml",typ:$funcType([$String,$emptyInterface],[],false)},{prop:"setType",name:"setType",pkg:"github.com/BurntSushi/toml",typ:$funcType([$String,DE],[],false)},{prop:"addImplicit",name:"addImplicit",pkg:"github.com/BurntSushi/toml",typ:$funcType([AC],[],false)},{prop:"removeImplicit",name:"removeImplicit",pkg:"github.com/BurntSushi/toml",typ:$funcType([AC],[],false)},{prop:"isImplicit",name:"isImplicit",pkg:"github.com/BurntSushi/toml",typ:$funcType([AC],[$Bool],false)},{prop:"current",name:"current",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[$String],false)},{prop:"replaceEscapes",name:"replaceEscapes",pkg:"github.com/BurntSushi/toml",typ:$funcType([$String],[$String],false)},{prop:"asciiEscapeToUnicode",name:"asciiEscapeToUnicode",pkg:"github.com/BurntSushi/toml",typ:$funcType([EH],[$Int32],false)},{prop:"typeOfPrimitive",name:"typeOfPrimitive",pkg:"github.com/BurntSushi/toml",typ:$funcType([BF],[DE],false)},{prop:"typeOfArray",name:"typeOfArray",pkg:"github.com/BurntSushi/toml",typ:$funcType([ES],[DE],false)}];CX.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DH.methods=[{prop:"typeString",name:"typeString",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];DR.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];DS.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];Q.init([{prop:"UnmarshalTOML",name:"UnmarshalTOML",pkg:"",typ:$funcType([$emptyInterface],[$error],false)}]);S.init("github.com/BurntSushi/toml",[{prop:"undecoded",name:"undecoded",anonymous:false,exported:false,typ:$emptyInterface,tag:""},{prop:"context",name:"context",anonymous:false,exported:false,typ:AC,tag:""}]);AB.init("github.com/BurntSushi/toml",[{prop:"mapping",name:"mapping",anonymous:false,exported:false,typ:ED,tag:""},{prop:"types",name:"types",anonymous:false,exported:false,typ:EV,tag:""},{prop:"keys",name:"keys",anonymous:false,exported:false,typ:EB,tag:""},{prop:"decoded",name:"decoded",anonymous:false,exported:false,typ:EW,tag:""},{prop:"context",name:"context",anonymous:false,exported:false,typ:AC,tag:""}]);AC.init($String);AR.init("github.com/BurntSushi/toml",[{prop:"skip",name:"skip",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"name",name:"name",anonymous:false,exported:false,typ:$String,tag:""},{prop:"omitempty",name:"omitempty",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"omitzero",name:"omitzero",anonymous:false,exported:false,typ:$Bool,tag:""}]);BA.init([{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[EH,$error],false)}]);BB.init([{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([EH],[$error],false)}]);BD.init([EQ],[BD],false);BE.init("github.com/BurntSushi/toml",[{prop:"input",name:"input",anonymous:false,exported:false,typ:$String,tag:""},{prop:"start",name:"start",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"pos",name:"pos",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"line",name:"line",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"state",name:"state",anonymous:false,exported:false,typ:BD,tag:""},{prop:"items",name:"items",anonymous:false,exported:false,typ:EZ,tag:""},{prop:"prevWidths",name:"prevWidths",anonymous:false,exported:false,typ:EM,tag:""},{prop:"nprev",name:"nprev",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"atEOF",name:"atEOF",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"stack",name:"stack",anonymous:false,exported:false,typ:EN,tag:""}]);BF.init("github.com/BurntSushi/toml",[{prop:"typ",name:"typ",anonymous:false,exported:false,typ:BC,tag:""},{prop:"val",name:"val",anonymous:false,exported:false,typ:$String,tag:""},{prop:"line",name:"line",anonymous:false,exported:false,typ:$Int,tag:""}]);CW.init("github.com/BurntSushi/toml",[{prop:"mapping",name:"mapping",anonymous:false,exported:false,typ:ED,tag:""},{prop:"types",name:"types",anonymous:false,exported:false,typ:EV,tag:""},{prop:"lx",name:"lx",anonymous:false,exported:false,typ:EQ,tag:""},{prop:"ordered",name:"ordered",anonymous:false,exported:false,typ:EB,tag:""},{prop:"context",name:"context",anonymous:false,exported:false,typ:AC,tag:""},{prop:"currentKey",name:"currentKey",anonymous:false,exported:false,typ:$String,tag:""},{prop:"approxLine",name:"approxLine",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"implicits",name:"implicits",anonymous:false,exported:false,typ:EW,tag:""}]);DE.init([{prop:"typeString",name:"typeString",pkg:"github.com/BurntSushi/toml",typ:$funcType([],[$String],false)}]);DQ.init("github.com/BurntSushi/toml",[{prop:"name",name:"name",anonymous:false,exported:false,typ:$String,tag:""},{prop:"tag",name:"tag",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"index",name:"index",anonymous:false,exported:false,typ:EJ,tag:""},{prop:"typ",name:"typ",anonymous:false,exported:false,typ:E.Type,tag:""}]);DR.init(DQ);DS.init(DQ);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=H.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}DV=new DZ.ptr(new O.RWMutex.ptr(new O.Mutex.ptr(0,0),0,0,0,0),false);AE=I.New("toml: cannot encode array with mixed element types");AF=I.New("toml: cannot encode array with nil element");AG=I.New("toml: cannot encode a map with non-string key type");AH=I.New("toml: cannot encode an anonymous field that is not a struct");AI=I.New("toml: TOML array element cannot contain a table");AJ=I.New("toml: top-level values must be Go maps or structs");AK=I.New("");AL=F.NewReplacer(new EA(["\t","\\t","\n","\\n","\r","\\r","\"","\\\"","\\","\\\\"]));DI="Integer";DJ="Float";DK="Datetime";DL="String";DM="Bool";DN="Array";DO="Hash";DP="ArrayHash";}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["crypto/subtle"]=(function(){var $pkg={},$init,A,C;A=function(a,b){var a,b,c,d;if(!((a.$length===b.$length))){return 0;}c=0;d=0;while(true){if(!(d<a.$length)){break;}c=(c|(((((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d])^((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d]))<<24>>>24)))>>>0;d=d+(1)>>0;}return C(c,0);};$pkg.ConstantTimeCompare=A;C=function(a,b){var a,b,c;c=~(((a^b)<<24>>>24))<<24>>>24;c=(c&((c>>>4<<24>>>24)))>>>0;c=(c&((c>>>2<<24>>>24)))>>>0;c=(c&((c>>>1<<24>>>24)))>>>0;return((c>>0));};$pkg.ConstantTimeByteEq=C;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["crypto"]=(function(){var $pkg={},$init,A,B,C,D,N,O,P,E,F,G;A=$packages["hash"];B=$packages["io"];C=$packages["strconv"];D=$pkg.Hash=$newType(4,$kindUint,"crypto.Hash",true,"crypto",true,null);N=$sliceType($Uint8);O=$funcType([],[A.Hash],false);P=$sliceType(O);D.prototype.HashFunc=function(){var a;a=this.$val;return a;};$ptrType(D).prototype.HashFunc=function(){return new D(this.$get()).HashFunc();};D.prototype.Size=function(){var a;a=this.$val;if(a>0&&a<20){return((((a<0||a>=E.$length)?($throwRuntimeError("index out of range"),undefined):E.$array[E.$offset+a])>>0));}$panic(new $String("crypto: Size of unknown hash function"));};$ptrType(D).prototype.Size=function(){return new D(this.$get()).Size();};D.prototype.New=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this.$val;if(a>0&&a<20){$s=1;continue;}$s=2;continue;case 1:b=((a<0||a>=F.$length)?($throwRuntimeError("index out of range"),undefined):F.$array[F.$offset+a]);if(!(b===$throwNilPointerError)){$s=3;continue;}$s=4;continue;case 3:c=b();$s=5;case 5:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 4:case 2:$panic(new $String("crypto: requested hash function #"+C.Itoa(((a>>0)))+" is unavailable"));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:D.prototype.New};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(D).prototype.New=function(){return new D(this.$get()).New();};D.prototype.Available=function(){var a;a=this.$val;return a<20&&!(((a<0||a>=F.$length)?($throwRuntimeError("index out of range"),undefined):F.$array[F.$offset+a])===$throwNilPointerError);};$ptrType(D).prototype.Available=function(){return new D(this.$get()).Available();};G=function(a,b){var a,b;if(a>=20){$panic(new $String("crypto: RegisterHash of unknown hash function"));}((a<0||a>=F.$length)?($throwRuntimeError("index out of range"),undefined):F.$array[F.$offset+a]=b);};$pkg.RegisterHash=G;D.methods=[{prop:"HashFunc",name:"HashFunc",pkg:"",typ:$funcType([],[D],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"New",name:"New",pkg:"",typ:$funcType([],[A.Hash],false)},{prop:"Available",name:"Available",pkg:"",typ:$funcType([],[$Bool],false)}];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}E=new N([0,16,16,20,28,32,48,64,36,20,28,32,48,64,28,32,32,32,48,64]);F=$makeSlice(P,20);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["crypto/sha256"]=(function(){var $pkg={},$init,A,B,D,L,M,N,O,P,R,S,I,K,C,E,F,J;A=$packages["crypto"];B=$packages["hash"];D=$pkg.digest=$newType(0,$kindStruct,"sha256.digest",true,"crypto/sha256",false,function(h_,x_,nx_,len_,is224_){this.$val=this;if(arguments.length===0){this.h=M.zero();this.x=N.zero();this.nx=0;this.len=new $Uint64(0,0);this.is224=false;return;}this.h=h_;this.x=x_;this.nx=nx_;this.len=len_;this.is224=is224_;});L=$sliceType($Uint32);M=$arrayType($Uint32,8);N=$arrayType($Uint8,64);O=$sliceType($Uint8);P=$arrayType($Uint8,32);R=$arrayType($Uint32,64);S=$ptrType(D);C=function(){A.RegisterHash(4,F);A.RegisterHash(5,E);};D.ptr.prototype.Reset=function(){var a;a=this;if(!a.is224){a.h[0]=1779033703;a.h[1]=3144134277;a.h[2]=1013904242;a.h[3]=2773480762;a.h[4]=1359893119;a.h[5]=2600822924;a.h[6]=528734635;a.h[7]=1541459225;}else{a.h[0]=3238371032;a.h[1]=914150663;a.h[2]=812702999;a.h[3]=4144912697;a.h[4]=4290775857;a.h[5]=1750603025;a.h[6]=1694076839;a.h[7]=3204075428;}a.nx=0;a.len=new $Uint64(0,0);};D.prototype.Reset=function(){return this.$val.Reset();};E=function(){var a;a=new D.ptr(M.zero(),N.zero(),0,new $Uint64(0,0),false);a.Reset();return a;};$pkg.New=E;F=function(){var a;a=new D.ptr(M.zero(),N.zero(),0,new $Uint64(0,0),false);a.is224=true;a.Reset();return a;};$pkg.New224=F;D.ptr.prototype.Size=function(){var a;a=this;if(!a.is224){return 32;}return 28;};D.prototype.Size=function(){return this.$val.Size();};D.ptr.prototype.BlockSize=function(){var a;a=this;return 64;};D.prototype.BlockSize=function(){return this.$val.BlockSize();};D.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;d.len=(e=d.len,f=(new $Uint64(0,b)),new $Uint64(e.$high+f.$high,e.$low+f.$low));if(d.nx>0){$s=1;continue;}$s=2;continue;case 1:g=$copySlice($subslice(new O(d.x),d.nx),a);d.nx=d.nx+(g)>>0;if(d.nx===64){$s=3;continue;}$s=4;continue;case 3:$r=K(d,new O(d.x));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.nx=0;case 4:a=$subslice(a,g);case 2:if(a.$length>=64){$s=6;continue;}$s=7;continue;case 6:h=(a.$length&~63)>>0;$r=K(d,$subslice(a,0,h));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=$subslice(a,h);case 7:if(a.$length>0){d.nx=$copySlice(new O(d.x),a);}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Write=function(a){return this.$val.Write(a);};D.ptr.prototype.Sum=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b,D);d=c.checkSum();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,P);if(c.is224){$s=-1;return $appendSlice(a,$subslice(new O(e),0,28));}$s=-1;return $appendSlice(a,new O(e));}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Sum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Sum=function(a){return this.$val.Sum(a);};D.ptr.prototype.checkSum=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.len;c=N.zero();c[0]=128;if((d=$div64(b,new $Uint64(0,64),true),(d.$high<0||(d.$high===0&&d.$low<56)))){$s=1;continue;}$s=2;continue;case 1:f=a.Write($subslice(new O(c),0,$flatten64((e=$div64(b,new $Uint64(0,64),true),new $Uint64(0-e.$high,56-e.$low)))));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=3;continue;case 2:h=a.Write($subslice(new O(c),0,$flatten64((g=$div64(b,new $Uint64(0,64),true),new $Uint64(0-g.$high,120-g.$low)))));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 3:b=$shiftLeft64(b,(3));i=0;while(true){if(!(i<8)){break;}((i<0||i>=c.length)?($throwRuntimeError("index out of range"),undefined):c[i]=(($shiftRightUint64(b,((56-(8*i>>>0)>>>0))).$low<<24>>>24)));i=i+(1)>>>0;}j=a.Write($subslice(new O(c),0,8));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;if(!((a.nx===0))){$panic(new $String("d.nx != 0"));}k=new L(a.h);if(a.is224){k=$subslice(new L(a.h),0,7);}l=P.zero();m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);(q=$imul(o,4),((q<0||q>=l.length)?($throwRuntimeError("index out of range"),undefined):l[q]=(((p>>>24>>>0)<<24>>>24))));(r=($imul(o,4))+1>>0,((r<0||r>=l.length)?($throwRuntimeError("index out of range"),undefined):l[r]=(((p>>>16>>>0)<<24>>>24))));(s=($imul(o,4))+2>>0,((s<0||s>=l.length)?($throwRuntimeError("index out of range"),undefined):l[s]=(((p>>>8>>>0)<<24>>>24))));(t=($imul(o,4))+3>>0,((t<0||t>=l.length)?($throwRuntimeError("index out of range"),undefined):l[t]=((p<<24>>>24))));n++;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.checkSum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.checkSum=function(){return this.$val.checkSum();};J=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=R.zero();d=a.h[0];e=a.h[1];f=a.h[2];g=a.h[3];h=a.h[4];i=a.h[5];j=a.h[6];k=a.h[7];l=d;m=e;n=f;o=g;p=h;q=i;r=j;s=k;while(true){if(!(b.$length>=64)){break;}t=0;while(true){if(!(t<16)){break;}u=$imul(t,4);((t<0||t>=c.length)?($throwRuntimeError("index out of range"),undefined):c[t]=(((((((((((u<0||u>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+u])>>>0))<<24>>>0)|((((v=u+1>>0,((v<0||v>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+v]))>>>0))<<16>>>0))>>>0)|((((w=u+2>>0,((w<0||w>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+w]))>>>0))<<8>>>0))>>>0)|(((x=u+3>>0,((x<0||x>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+x]))>>>0)))>>>0));t=t+(1)>>0;}y=16;while(true){if(!(y<64)){break;}aa=(z=y-2>>0,((z<0||z>=c.length)?($throwRuntimeError("index out of range"),undefined):c[z]));ab=(((((((aa>>>17>>>0)|(aa<<15>>>0))>>>0))^((((aa>>>19>>>0)|(aa<<13>>>0))>>>0)))>>>0)^((aa>>>10>>>0)))>>>0;ad=(ac=y-15>>0,((ac<0||ac>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ac]));ae=(((((((ad>>>7>>>0)|(ad<<25>>>0))>>>0))^((((ad>>>18>>>0)|(ad<<14>>>0))>>>0)))>>>0)^((ad>>>3>>>0)))>>>0;((y<0||y>=c.length)?($throwRuntimeError("index out of range"),undefined):c[y]=(((ab+(af=y-7>>0,((af<0||af>=c.length)?($throwRuntimeError("index out of range"),undefined):c[af]))>>>0)+ae>>>0)+(ag=y-16>>0,((ag<0||ag>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ag]))>>>0));y=y+(1)>>0;}ah=l;ai=m;aj=n;ak=o;al=p;am=q;an=r;ao=s;ap=ah;aq=ai;ar=aj;as=ak;at=al;au=am;av=an;aw=ao;ax=0;while(true){if(!(ax<64)){break;}ay=(((aw+(((((((((at>>>6>>>0)|(at<<26>>>0))>>>0))^((((at>>>11>>>0)|(at<<21>>>0))>>>0)))>>>0)^((((at>>>25>>>0)|(at<<7>>>0))>>>0)))>>>0))>>>0)+((((((at&au)>>>0))^((((~at>>>0)&av)>>>0)))>>>0))>>>0)+((ax<0||ax>=I.$length)?($throwRuntimeError("index out of range"),undefined):I.$array[I.$offset+ax])>>>0)+((ax<0||ax>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ax])>>>0;az=(((((((((ap>>>2>>>0)|(ap<<30>>>0))>>>0))^((((ap>>>13>>>0)|(ap<<19>>>0))>>>0)))>>>0)^((((ap>>>22>>>0)|(ap<<10>>>0))>>>0)))>>>0))+((((((((ap&aq)>>>0))^(((ap&ar)>>>0)))>>>0)^(((aq&ar)>>>0)))>>>0))>>>0;aw=av;av=au;au=at;at=as+ay>>>0;as=ar;ar=aq;aq=ap;ap=ay+az>>>0;ax=ax+(1)>>0;}l=l+(ap)>>>0;m=m+(aq)>>>0;n=n+(ar)>>>0;o=o+(as)>>>0;p=p+(at)>>>0;q=q+(au)>>>0;r=r+(av)>>>0;s=s+(aw)>>>0;b=$subslice(b,64);}ba=l;bb=m;bc=n;bd=o;be=p;bf=q;bg=r;bh=s;a.h[0]=ba;a.h[1]=bb;a.h[2]=bc;a.h[3]=bd;a.h[4]=be;a.h[5]=bf;a.h[6]=bg;a.h[7]=bh;};S.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([O],[$Int,$error],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([O],[O],false)},{prop:"checkSum",name:"checkSum",pkg:"crypto/sha256",typ:$funcType([],[P],false)}];D.init("crypto/sha256",[{prop:"h",name:"h",anonymous:false,exported:false,typ:M,tag:""},{prop:"x",name:"x",anonymous:false,exported:false,typ:N,tag:""},{prop:"nx",name:"nx",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"len",name:"len",anonymous:false,exported:false,typ:$Uint64,tag:""},{prop:"is224",name:"is224",anonymous:false,exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}I=new L([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);K=J;C();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["crypto/sha512"]=(function(){var $pkg={},$init,A,B,D,P,Q,R,S,T,X,Y,M,O,C,E,F,G,H,I,N;A=$packages["crypto"];B=$packages["hash"];D=$pkg.digest=$newType(0,$kindStruct,"sha512.digest",true,"crypto/sha512",false,function(h_,x_,nx_,len_,function$4_){this.$val=this;if(arguments.length===0){this.h=Q.zero();this.x=R.zero();this.nx=0;this.len=new $Uint64(0,0);this.function$4=0;return;}this.h=h_;this.x=x_;this.nx=nx_;this.len=len_;this.function$4=function$4_;});P=$sliceType($Uint64);Q=$arrayType($Uint64,8);R=$arrayType($Uint8,128);S=$sliceType($Uint8);T=$arrayType($Uint8,64);X=$arrayType($Uint64,80);Y=$ptrType(D);C=function(){A.RegisterHash(6,H);A.RegisterHash(7,E);A.RegisterHash(14,F);A.RegisterHash(15,G);};D.ptr.prototype.Reset=function(){var a,b;a=this;b=a.function$4;if(b===(6)){a.h[0]=new $Uint64(3418070365,3238371032);a.h[1]=new $Uint64(1654270250,914150663);a.h[2]=new $Uint64(2438529370,812702999);a.h[3]=new $Uint64(355462360,4144912697);a.h[4]=new $Uint64(1731405415,4290775857);a.h[5]=new $Uint64(2394180231,1750603025);a.h[6]=new $Uint64(3675008525,1694076839);a.h[7]=new $Uint64(1203062813,3204075428);}else if(b===(14)){a.h[0]=new $Uint64(2352822216,424955298);a.h[1]=new $Uint64(1944164710,2312950998);a.h[2]=new $Uint64(502970286,855612546);a.h[3]=new $Uint64(1738396948,1479516111);a.h[4]=new $Uint64(258812777,2077511080);a.h[5]=new $Uint64(2011393907,79989058);a.h[6]=new $Uint64(1067287976,1780299464);a.h[7]=new $Uint64(286451373,2446758561);}else if(b===(15)){a.h[0]=new $Uint64(573645204,4230739756);a.h[1]=new $Uint64(2673172387,3360449730);a.h[2]=new $Uint64(596883563,1867755857);a.h[3]=new $Uint64(2520282905,1497426621);a.h[4]=new $Uint64(2519219938,2827943907);a.h[5]=new $Uint64(3193839141,1401305490);a.h[6]=new $Uint64(721525244,746961066);a.h[7]=new $Uint64(246885852,2177182882);}else{a.h[0]=new $Uint64(1779033703,4089235720);a.h[1]=new $Uint64(3144134277,2227873595);a.h[2]=new $Uint64(1013904242,4271175723);a.h[3]=new $Uint64(2773480762,1595750129);a.h[4]=new $Uint64(1359893119,2917565137);a.h[5]=new $Uint64(2600822924,725511199);a.h[6]=new $Uint64(528734635,4215389547);a.h[7]=new $Uint64(1541459225,327033209);}a.nx=0;a.len=new $Uint64(0,0);};D.prototype.Reset=function(){return this.$val.Reset();};E=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),7);a.Reset();return a;};$pkg.New=E;F=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),14);a.Reset();return a;};$pkg.New512_224=F;G=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),15);a.Reset();return a;};$pkg.New512_256=G;H=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),6);a.Reset();return a;};$pkg.New384=H;D.ptr.prototype.Size=function(){var a,b;a=this;b=a.function$4;if(b===(14)){return 28;}else if(b===(15)){return 32;}else if(b===(6)){return 48;}else{return 64;}};D.prototype.Size=function(){return this.$val.Size();};D.ptr.prototype.BlockSize=function(){var a;a=this;return 128;};D.prototype.BlockSize=function(){return this.$val.BlockSize();};D.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;d.len=(e=d.len,f=(new $Uint64(0,b)),new $Uint64(e.$high+f.$high,e.$low+f.$low));if(d.nx>0){$s=1;continue;}$s=2;continue;case 1:g=$copySlice($subslice(new S(d.x),d.nx),a);d.nx=d.nx+(g)>>0;if(d.nx===128){$s=3;continue;}$s=4;continue;case 3:$r=O(d,new S(d.x));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.nx=0;case 4:a=$subslice(a,g);case 2:if(a.$length>=128){$s=6;continue;}$s=7;continue;case 6:h=(a.$length&~127)>>0;$r=O(d,$subslice(a,0,h));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=$subslice(a,h);case 7:if(a.$length>0){d.nx=$copySlice(new S(d.x),a);}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Write=function(a){return this.$val.Write(a);};D.ptr.prototype.Sum=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),0);D.copy(c,b);d=c.checkSum();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,T);f=c.function$4;if(f===(6)){$s=-1;return $appendSlice(a,$subslice(new S(e),0,48));}else if(f===(14)){$s=-1;return $appendSlice(a,$subslice(new S(e),0,28));}else if(f===(15)){$s=-1;return $appendSlice(a,$subslice(new S(e),0,32));}else{$s=-1;return $appendSlice(a,new S(e));}$s=-1;return S.nil;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Sum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Sum=function(a){return this.$val.Sum(a);};D.ptr.prototype.checkSum=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.len;c=R.zero();c[0]=128;if((d=$div64(b,new $Uint64(0,128),true),(d.$high<0||(d.$high===0&&d.$low<112)))){$s=1;continue;}$s=2;continue;case 1:f=a.Write($subslice(new S(c),0,$flatten64((e=$div64(b,new $Uint64(0,128),true),new $Uint64(0-e.$high,112-e.$low)))));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=3;continue;case 2:h=a.Write($subslice(new S(c),0,$flatten64((g=$div64(b,new $Uint64(0,128),true),new $Uint64(0-g.$high,240-g.$low)))));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 3:b=$shiftLeft64(b,(3));i=0;while(true){if(!(i<16)){break;}((i<0||i>=c.length)?($throwRuntimeError("index out of range"),undefined):c[i]=(($shiftRightUint64(b,((120-(8*i>>>0)>>>0))).$low<<24>>>24)));i=i+(1)>>>0;}j=a.Write($subslice(new S(c),0,16));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;if(!((a.nx===0))){$panic(new $String("d.nx != 0"));}k=new P(a.h);if(a.function$4===6){k=$subslice(new P(a.h),0,6);}l=T.zero();m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);(q=$imul(o,8),((q<0||q>=l.length)?($throwRuntimeError("index out of range"),undefined):l[q]=(($shiftRightUint64(p,56).$low<<24>>>24))));(r=($imul(o,8))+1>>0,((r<0||r>=l.length)?($throwRuntimeError("index out of range"),undefined):l[r]=(($shiftRightUint64(p,48).$low<<24>>>24))));(s=($imul(o,8))+2>>0,((s<0||s>=l.length)?($throwRuntimeError("index out of range"),undefined):l[s]=(($shiftRightUint64(p,40).$low<<24>>>24))));(t=($imul(o,8))+3>>0,((t<0||t>=l.length)?($throwRuntimeError("index out of range"),undefined):l[t]=(($shiftRightUint64(p,32).$low<<24>>>24))));(u=($imul(o,8))+4>>0,((u<0||u>=l.length)?($throwRuntimeError("index out of range"),undefined):l[u]=(($shiftRightUint64(p,24).$low<<24>>>24))));(v=($imul(o,8))+5>>0,((v<0||v>=l.length)?($throwRuntimeError("index out of range"),undefined):l[v]=(($shiftRightUint64(p,16).$low<<24>>>24))));(w=($imul(o,8))+6>>0,((w<0||w>=l.length)?($throwRuntimeError("index out of range"),undefined):l[w]=(($shiftRightUint64(p,8).$low<<24>>>24))));(x=($imul(o,8))+7>>0,((x<0||x>=l.length)?($throwRuntimeError("index out of range"),undefined):l[x]=((p.$low<<24>>>24))));n++;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.checkSum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.checkSum=function(){return this.$val.checkSum();};I=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),7);b.Reset();c=b.Write(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}c;d=b.checkSum();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sum512=I;N=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,e,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=X.zero();d=a.h[0];e=a.h[1];f=a.h[2];g=a.h[3];h=a.h[4];i=a.h[5];j=a.h[6];k=a.h[7];l=d;m=e;n=f;o=g;p=h;q=i;r=j;s=k;while(true){if(!(b.$length>=128)){break;}t=0;while(true){if(!(t<16)){break;}u=$imul(t,8);((t<0||t>=c.length)?($throwRuntimeError("index out of range"),undefined):c[t]=(v=(w=(x=(y=(z=(aa=(ab=$shiftLeft64((new $Uint64(0,((u<0||u>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+u]))),56),ac=$shiftLeft64((new $Uint64(0,(ad=u+1>>0,((ad<0||ad>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ad])))),48),new $Uint64(ab.$high|ac.$high,(ab.$low|ac.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(af=u+2>>0,((af<0||af>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+af])))),40),new $Uint64(aa.$high|ae.$high,(aa.$low|ae.$low)>>>0)),ag=$shiftLeft64((new $Uint64(0,(ah=u+3>>0,((ah<0||ah>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ah])))),32),new $Uint64(z.$high|ag.$high,(z.$low|ag.$low)>>>0)),ai=$shiftLeft64((new $Uint64(0,(aj=u+4>>0,((aj<0||aj>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+aj])))),24),new $Uint64(y.$high|ai.$high,(y.$low|ai.$low)>>>0)),ak=$shiftLeft64((new $Uint64(0,(al=u+5>>0,((al<0||al>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+al])))),16),new $Uint64(x.$high|ak.$high,(x.$low|ak.$low)>>>0)),am=$shiftLeft64((new $Uint64(0,(an=u+6>>0,((an<0||an>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+an])))),8),new $Uint64(w.$high|am.$high,(w.$low|am.$low)>>>0)),ao=(new $Uint64(0,(ap=u+7>>0,((ap<0||ap>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ap])))),new $Uint64(v.$high|ao.$high,(v.$low|ao.$low)>>>0)));t=t+(1)>>0;}aq=16;while(true){if(!(aq<80)){break;}as=(ar=aq-2>>0,((ar<0||ar>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ar]));bb=(at=(au=(av=$shiftRightUint64(as,19),aw=$shiftLeft64(as,45),new $Uint64(av.$high|aw.$high,(av.$low|aw.$low)>>>0)),ax=(ay=$shiftRightUint64(as,61),az=$shiftLeft64(as,3),new $Uint64(ay.$high|az.$high,(ay.$low|az.$low)>>>0)),new $Uint64(au.$high^ax.$high,(au.$low^ax.$low)>>>0)),ba=$shiftRightUint64(as,6),new $Uint64(at.$high^ba.$high,(at.$low^ba.$low)>>>0));bd=(bc=aq-15>>0,((bc<0||bc>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bc]));bm=(be=(bf=(bg=$shiftRightUint64(bd,1),bh=$shiftLeft64(bd,63),new $Uint64(bg.$high|bh.$high,(bg.$low|bh.$low)>>>0)),bi=(bj=$shiftRightUint64(bd,8),bk=$shiftLeft64(bd,56),new $Uint64(bj.$high|bk.$high,(bj.$low|bk.$low)>>>0)),new $Uint64(bf.$high^bi.$high,(bf.$low^bi.$low)>>>0)),bl=$shiftRightUint64(bd,7),new $Uint64(be.$high^bl.$high,(be.$low^bl.$low)>>>0));((aq<0||aq>=c.length)?($throwRuntimeError("index out of range"),undefined):c[aq]=(bn=(bo=(bp=(bq=aq-7>>0,((bq<0||bq>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bq])),new $Uint64(bb.$high+bp.$high,bb.$low+bp.$low)),new $Uint64(bo.$high+bm.$high,bo.$low+bm.$low)),br=(bs=aq-16>>0,((bs<0||bs>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bs])),new $Uint64(bn.$high+br.$high,bn.$low+br.$low)));aq=aq+(1)>>0;}bt=l;bu=m;bv=n;bw=o;bx=p;by=q;bz=r;ca=s;cb=bt;cc=bu;cd=bv;ce=bw;cf=bx;cg=by;ch=bz;ci=ca;cj=0;while(true){if(!(cj<80)){break;}de=(ck=(cl=(cm=(cn=(co=(cp=(cq=$shiftRightUint64(cf,14),cr=$shiftLeft64(cf,50),new $Uint64(cq.$high|cr.$high,(cq.$low|cr.$low)>>>0)),cs=(ct=$shiftRightUint64(cf,18),cu=$shiftLeft64(cf,46),new $Uint64(ct.$high|cu.$high,(ct.$low|cu.$low)>>>0)),new $Uint64(cp.$high^cs.$high,(cp.$low^cs.$low)>>>0)),cv=(cw=$shiftRightUint64(cf,41),cx=$shiftLeft64(cf,23),new $Uint64(cw.$high|cx.$high,(cw.$low|cx.$low)>>>0)),new $Uint64(co.$high^cv.$high,(co.$low^cv.$low)>>>0)),new $Uint64(ci.$high+cn.$high,ci.$low+cn.$low)),cy=(cz=new $Uint64(cf.$high&cg.$high,(cf.$low&cg.$low)>>>0),da=(db=new $Uint64(~cf.$high,~cf.$low>>>0),new $Uint64(db.$high&ch.$high,(db.$low&ch.$low)>>>0)),new $Uint64(cz.$high^da.$high,(cz.$low^da.$low)>>>0)),new $Uint64(cm.$high+cy.$high,cm.$low+cy.$low)),dc=((cj<0||cj>=M.$length)?($throwRuntimeError("index out of range"),undefined):M.$array[M.$offset+cj]),new $Uint64(cl.$high+dc.$high,cl.$low+dc.$low)),dd=((cj<0||cj>=c.length)?($throwRuntimeError("index out of range"),undefined):c[cj]),new $Uint64(ck.$high+dd.$high,ck.$low+dd.$low));dw=(df=(dg=(dh=(di=$shiftRightUint64(cb,28),dj=$shiftLeft64(cb,36),new $Uint64(di.$high|dj.$high,(di.$low|dj.$low)>>>0)),dk=(dl=$shiftRightUint64(cb,34),dm=$shiftLeft64(cb,30),new $Uint64(dl.$high|dm.$high,(dl.$low|dm.$low)>>>0)),new $Uint64(dh.$high^dk.$high,(dh.$low^dk.$low)>>>0)),dn=(dp=$shiftRightUint64(cb,39),dq=$shiftLeft64(cb,25),new $Uint64(dp.$high|dq.$high,(dp.$low|dq.$low)>>>0)),new $Uint64(dg.$high^dn.$high,(dg.$low^dn.$low)>>>0)),dr=(ds=(dt=new $Uint64(cb.$high&cc.$high,(cb.$low&cc.$low)>>>0),du=new $Uint64(cb.$high&cd.$high,(cb.$low&cd.$low)>>>0),new $Uint64(dt.$high^du.$high,(dt.$low^du.$low)>>>0)),dv=new $Uint64(cc.$high&cd.$high,(cc.$low&cd.$low)>>>0),new $Uint64(ds.$high^dv.$high,(ds.$low^dv.$low)>>>0)),new $Uint64(df.$high+dr.$high,df.$low+dr.$low));ci=ch;ch=cg;cg=cf;cf=new $Uint64(ce.$high+de.$high,ce.$low+de.$low);ce=cd;cd=cc;cc=cb;cb=new $Uint64(de.$high+dw.$high,de.$low+dw.$low);cj=cj+(1)>>0;}l=(dx=cb,new $Uint64(l.$high+dx.$high,l.$low+dx.$low));m=(dy=cc,new $Uint64(m.$high+dy.$high,m.$low+dy.$low));n=(dz=cd,new $Uint64(n.$high+dz.$high,n.$low+dz.$low));o=(ea=ce,new $Uint64(o.$high+ea.$high,o.$low+ea.$low));p=(eb=cf,new $Uint64(p.$high+eb.$high,p.$low+eb.$low));q=(ec=cg,new $Uint64(q.$high+ec.$high,q.$low+ec.$low));r=(ed=ch,new $Uint64(r.$high+ed.$high,r.$low+ed.$low));s=(ee=ci,new $Uint64(s.$high+ee.$high,s.$low+ee.$low));b=$subslice(b,128);}ef=l;eg=m;eh=n;ei=o;ej=p;ek=q;el=r;em=s;a.h[0]=ef;a.h[1]=eg;a.h[2]=eh;a.h[3]=ei;a.h[4]=ej;a.h[5]=ek;a.h[6]=el;a.h[7]=em;};Y.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([S],[$Int,$error],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([S],[S],false)},{prop:"checkSum",name:"checkSum",pkg:"crypto/sha512",typ:$funcType([],[T],false)}];D.init("crypto/sha512",[{prop:"h",name:"h",anonymous:false,exported:false,typ:Q,tag:""},{prop:"x",name:"x",anonymous:false,exported:false,typ:R,tag:""},{prop:"nx",name:"nx",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"len",name:"len",anonymous:false,exported:false,typ:$Uint64,tag:""},{prop:"function$4",name:"function",anonymous:false,exported:false,typ:A.Hash,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}M=new P([new $Uint64(1116352408,3609767458),new $Uint64(1899447441,602891725),new $Uint64(3049323471,3964484399),new $Uint64(3921009573,2173295548),new $Uint64(961987163,4081628472),new $Uint64(1508970993,3053834265),new $Uint64(2453635748,2937671579),new $Uint64(2870763221,3664609560),new $Uint64(3624381080,2734883394),new $Uint64(310598401,1164996542),new $Uint64(607225278,1323610764),new $Uint64(1426881987,3590304994),new $Uint64(1925078388,4068182383),new $Uint64(2162078206,991336113),new $Uint64(2614888103,633803317),new $Uint64(3248222580,3479774868),new $Uint64(3835390401,2666613458),new $Uint64(4022224774,944711139),new $Uint64(264347078,2341262773),new $Uint64(604807628,2007800933),new $Uint64(770255983,1495990901),new $Uint64(1249150122,1856431235),new $Uint64(1555081692,3175218132),new $Uint64(1996064986,2198950837),new $Uint64(2554220882,3999719339),new $Uint64(2821834349,766784016),new $Uint64(2952996808,2566594879),new $Uint64(3210313671,3203337956),new $Uint64(3336571891,1034457026),new $Uint64(3584528711,2466948901),new $Uint64(113926993,3758326383),new $Uint64(338241895,168717936),new $Uint64(666307205,1188179964),new $Uint64(773529912,1546045734),new $Uint64(1294757372,1522805485),new $Uint64(1396182291,2643833823),new $Uint64(1695183700,2343527390),new $Uint64(1986661051,1014477480),new $Uint64(2177026350,1206759142),new $Uint64(2456956037,344077627),new $Uint64(2730485921,1290863460),new $Uint64(2820302411,3158454273),new $Uint64(3259730800,3505952657),new $Uint64(3345764771,106217008),new $Uint64(3516065817,3606008344),new $Uint64(3600352804,1432725776),new $Uint64(4094571909,1467031594),new $Uint64(275423344,851169720),new $Uint64(430227734,3100823752),new $Uint64(506948616,1363258195),new $Uint64(659060556,3750685593),new $Uint64(883997877,3785050280),new $Uint64(958139571,3318307427),new $Uint64(1322822218,3812723403),new $Uint64(1537002063,2003034995),new $Uint64(1747873779,3602036899),new $Uint64(1955562222,1575990012),new $Uint64(2024104815,1125592928),new $Uint64(2227730452,2716904306),new $Uint64(2361852424,442776044),new $Uint64(2428436474,593698344),new $Uint64(2756734187,3733110249),new $Uint64(3204031479,2999351573),new $Uint64(3329325298,3815920427),new $Uint64(3391569614,3928383900),new $Uint64(3515267271,566280711),new $Uint64(3940187606,3454069534),new $Uint64(4118630271,4000239992),new $Uint64(116418474,1914138554),new $Uint64(174292421,2731055270),new $Uint64(289380356,3203993006),new $Uint64(460393269,320620315),new $Uint64(685471733,587496836),new $Uint64(852142971,1086792851),new $Uint64(1017036298,365543100),new $Uint64(1126000580,2618297676),new $Uint64(1288033470,3409855158),new $Uint64(1501505948,4234509866),new $Uint64(1607167915,987167468),new $Uint64(1816402316,1246189591)]);O=N;C();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["encoding/hex"]=(function(){var $pkg={},$init,A,B,C,D,G,Q,R,E,F,I,J,K;A=$packages["bytes"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];G=$pkg.InvalidByteError=$newType(1,$kindUint8,"hex.InvalidByteError",true,"encoding/hex",true,null);Q=$sliceType($emptyInterface);R=$sliceType($Uint8);E=function(a){var a;return $imul(a,2);};$pkg.EncodedLen=E;F=function(a,b){var a,b,c,d,e,f,g,h;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);(g=$imul(e,2),((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]="0123456789abcdef".charCodeAt((f>>>4<<24>>>24))));(h=($imul(e,2))+1>>0,((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h]="0123456789abcdef".charCodeAt(((f&15)>>>0))));d++;}return $imul(b.$length,2);};$pkg.Encode=F;G.prototype.Error=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this.$val;b=C.Sprintf("encoding/hex: invalid byte: %#U",new Q([new $Int32(((a>>0)))]));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:G.prototype.Error};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(G).prototype.Error=function(){return new G(this.$get()).Error();};I=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;if((c=b.$length%2,c===c?c:$throwRuntimeError("integer divide by zero"))===1){return[0,$pkg.ErrLength];}d=0;while(true){if(!(d<(e=b.$length/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")))){break;}f=J((g=$imul(d,2),((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])));h=f[0];i=f[1];if(!i){return[0,new G((((j=$imul(d,2),((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]))<<24>>>24)))];}k=J((l=($imul(d,2))+1>>0,((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l])));m=k[0];i=k[1];if(!i){return[0,new G((((n=($imul(d,2))+1>>0,((n<0||n>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+n]))<<24>>>24)))];}((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]=((((h<<4<<24>>>24))|m)>>>0));d=d+(1)>>0;}return[(o=b.$length/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero")),$ifaceNil];};$pkg.Decode=I;J=function(a){var a;if(48<=a&&a<=57){return[a-48<<24>>>24,true];}else if(97<=a&&a<=102){return[(a-97<<24>>>24)+10<<24>>>24,true];}else if(65<=a&&a<=70){return[(a-65<<24>>>24)+10<<24>>>24,true];}return[0,false];};K=function(a){var a,b;b=$makeSlice(R,E(a.$length));F(b,a);return($bytesToString(b));};$pkg.EncodeToString=K;G.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrLength=B.New("encoding/hex: odd length hex string");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/binary"]=(function(){var $pkg={},$init,A,B,C,D,E,F,G,N,O,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,U,H,I,K,L,P,Q,R;A=$packages["errors"];B=$packages["io"];C=$packages["math"];D=$packages["reflect"];E=$pkg.ByteOrder=$newType(8,$kindInterface,"binary.ByteOrder",true,"encoding/binary",true,null);F=$pkg.littleEndian=$newType(0,$kindStruct,"binary.littleEndian",true,"encoding/binary",false,function(){this.$val=this;if(arguments.length===0){return;}});G=$pkg.bigEndian=$newType(0,$kindStruct,"binary.bigEndian",true,"encoding/binary",false,function(){this.$val=this;if(arguments.length===0){return;}});N=$pkg.decoder=$newType(0,$kindStruct,"binary.decoder",true,"encoding/binary",false,function(order_,buf_){this.$val=this;if(arguments.length===0){this.order=$ifaceNil;this.buf=Y.nil;return;}this.order=order_;this.buf=buf_;});O=$pkg.encoder=$newType(0,$kindStruct,"binary.encoder",true,"encoding/binary",false,function(order_,buf_){this.$val=this;if(arguments.length===0){this.order=$ifaceNil;this.buf=Y.nil;return;}this.order=order_;this.buf=buf_;});X=$arrayType($Uint8,8);Y=$sliceType($Uint8);Z=$ptrType($Bool);AA=$ptrType($Int8);AB=$ptrType($Uint8);AC=$ptrType($Int16);AD=$ptrType($Uint16);AE=$ptrType($Int32);AF=$ptrType($Uint32);AG=$ptrType($Int64);AH=$ptrType($Uint64);AI=$sliceType($Bool);AJ=$sliceType($Int8);AK=$sliceType($Int16);AL=$sliceType($Uint16);AM=$sliceType($Int32);AN=$sliceType($Uint32);AO=$sliceType($Int64);AP=$sliceType($Uint64);AQ=$ptrType(N);AR=$ptrType(O);F.ptr.prototype.Uint16=function(a){var a;$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));return((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])<<16>>>16))|((((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])<<16>>>16))<<8<<16>>>16))>>>0;};F.prototype.Uint16=function(a){return this.$val.Uint16(a);};F.ptr.prototype.PutUint16=function(a,b){var a,b;$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((b<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=(((b>>>8<<16>>>16)<<24>>>24)));};F.prototype.PutUint16=function(a,b){return this.$val.PutUint16(a,b);};F.ptr.prototype.Uint32=function(a){var a;$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));return((((((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])>>>0))|((((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])>>>0))<<8>>>0))>>>0)|((((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])>>>0))<<16>>>0))>>>0)|((((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3])>>>0))<<24>>>0))>>>0;};F.prototype.Uint32=function(a){return this.$val.Uint32(a);};F.ptr.prototype.PutUint32=function(a,b){var a,b;$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((b<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=(((b>>>8>>>0)<<24>>>24)));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=(((b>>>16>>>0)<<24>>>24)));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=(((b>>>24>>>0)<<24>>>24)));};F.prototype.PutUint32=function(a,b){return this.$val.PutUint32(a,b);};F.ptr.prototype.Uint64=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;$unused((7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]));return(b=(c=(d=(e=(f=(g=(h=(new $Uint64(0,(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))),i=$shiftLeft64((new $Uint64(0,(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]))),8),new $Uint64(h.$high|i.$high,(h.$low|i.$low)>>>0)),j=$shiftLeft64((new $Uint64(0,(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]))),16),new $Uint64(g.$high|j.$high,(g.$low|j.$low)>>>0)),k=$shiftLeft64((new $Uint64(0,(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]))),24),new $Uint64(f.$high|k.$high,(f.$low|k.$low)>>>0)),l=$shiftLeft64((new $Uint64(0,(4>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+4]))),32),new $Uint64(e.$high|l.$high,(e.$low|l.$low)>>>0)),m=$shiftLeft64((new $Uint64(0,(5>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+5]))),40),new $Uint64(d.$high|m.$high,(d.$low|m.$low)>>>0)),n=$shiftLeft64((new $Uint64(0,(6>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+6]))),48),new $Uint64(c.$high|n.$high,(c.$low|n.$low)>>>0)),o=$shiftLeft64((new $Uint64(0,(7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]))),56),new $Uint64(b.$high|o.$high,(b.$low|o.$low)>>>0));};F.prototype.Uint64=function(a){return this.$val.Uint64(a);};F.ptr.prototype.PutUint64=function(a,b){var a,b;$unused((7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((b.$low<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=(($shiftRightUint64(b,8).$low<<24>>>24)));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=(($shiftRightUint64(b,16).$low<<24>>>24)));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=(($shiftRightUint64(b,24).$low<<24>>>24)));(4>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+4]=(($shiftRightUint64(b,32).$low<<24>>>24)));(5>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+5]=(($shiftRightUint64(b,40).$low<<24>>>24)));(6>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+6]=(($shiftRightUint64(b,48).$low<<24>>>24)));(7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]=(($shiftRightUint64(b,56).$low<<24>>>24)));};F.prototype.PutUint64=function(a,b){return this.$val.PutUint64(a,b);};F.ptr.prototype.String=function(){return"LittleEndian";};F.prototype.String=function(){return this.$val.String();};F.ptr.prototype.GoString=function(){return"binary.LittleEndian";};F.prototype.GoString=function(){return this.$val.GoString();};G.ptr.prototype.Uint16=function(a){var a;$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));return((((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])<<16>>>16))|((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])<<16>>>16))<<8<<16>>>16))>>>0;};G.prototype.Uint16=function(a){return this.$val.Uint16(a);};G.ptr.prototype.PutUint16=function(a,b){var a,b;$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=(((b>>>8<<16>>>16)<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((b<<24>>>24)));};G.prototype.PutUint16=function(a,b){return this.$val.PutUint16(a,b);};G.ptr.prototype.Uint32=function(a){var a;$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));return((((((((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3])>>>0))|((((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])>>>0))<<8>>>0))>>>0)|((((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])>>>0))<<16>>>0))>>>0)|((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])>>>0))<<24>>>0))>>>0;};G.prototype.Uint32=function(a){return this.$val.Uint32(a);};G.ptr.prototype.PutUint32=function(a,b){var a,b;$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=(((b>>>24>>>0)<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=(((b>>>16>>>0)<<24>>>24)));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=(((b>>>8>>>0)<<24>>>24)));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=((b<<24>>>24)));};G.prototype.PutUint32=function(a,b){return this.$val.PutUint32(a,b);};G.ptr.prototype.Uint64=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;$unused((7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]));return(b=(c=(d=(e=(f=(g=(h=(new $Uint64(0,(7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]))),i=$shiftLeft64((new $Uint64(0,(6>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+6]))),8),new $Uint64(h.$high|i.$high,(h.$low|i.$low)>>>0)),j=$shiftLeft64((new $Uint64(0,(5>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+5]))),16),new $Uint64(g.$high|j.$high,(g.$low|j.$low)>>>0)),k=$shiftLeft64((new $Uint64(0,(4>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+4]))),24),new $Uint64(f.$high|k.$high,(f.$low|k.$low)>>>0)),l=$shiftLeft64((new $Uint64(0,(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]))),32),new $Uint64(e.$high|l.$high,(e.$low|l.$low)>>>0)),m=$shiftLeft64((new $Uint64(0,(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]))),40),new $Uint64(d.$high|m.$high,(d.$low|m.$low)>>>0)),n=$shiftLeft64((new $Uint64(0,(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]))),48),new $Uint64(c.$high|n.$high,(c.$low|n.$low)>>>0)),o=$shiftLeft64((new $Uint64(0,(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))),56),new $Uint64(b.$high|o.$high,(b.$low|o.$low)>>>0));};G.prototype.Uint64=function(a){return this.$val.Uint64(a);};G.ptr.prototype.PutUint64=function(a,b){var a,b;$unused((7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=(($shiftRightUint64(b,56).$low<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=(($shiftRightUint64(b,48).$low<<24>>>24)));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=(($shiftRightUint64(b,40).$low<<24>>>24)));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=(($shiftRightUint64(b,32).$low<<24>>>24)));(4>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+4]=(($shiftRightUint64(b,24).$low<<24>>>24)));(5>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+5]=(($shiftRightUint64(b,16).$low<<24>>>24)));(6>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+6]=(($shiftRightUint64(b,8).$low<<24>>>24)));(7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]=((b.$low<<24>>>24)));};G.prototype.PutUint64=function(a,b){return this.$val.PutUint64(a,b);};G.ptr.prototype.String=function(){return"BigEndian";};G.prototype.String=function(){return this.$val.String();};G.ptr.prototype.GoString=function(){return"binary.BigEndian";};G.prototype.GoString=function(){return this.$val.GoString();};H=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=P(c);if(!((d===0))){$s=1;continue;}$s=2;continue;case 1:e=X.zero();f=Y.nil;if(d>8){f=$makeSlice(Y,d);}else{f=$subslice(new Y(e),0,d);}h=B.ReadFull(a,f);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return i;}j=c;if($assertType(j,Z,true)[1]){$s=4;continue;}if($assertType(j,AA,true)[1]){$s=5;continue;}if($assertType(j,AB,true)[1]){$s=6;continue;}if($assertType(j,AC,true)[1]){$s=7;continue;}if($assertType(j,AD,true)[1]){$s=8;continue;}if($assertType(j,AE,true)[1]){$s=9;continue;}if($assertType(j,AF,true)[1]){$s=10;continue;}if($assertType(j,AG,true)[1]){$s=11;continue;}if($assertType(j,AH,true)[1]){$s=12;continue;}if($assertType(j,AI,true)[1]){$s=13;continue;}if($assertType(j,AJ,true)[1]){$s=14;continue;}if($assertType(j,Y,true)[1]){$s=15;continue;}if($assertType(j,AK,true)[1]){$s=16;continue;}if($assertType(j,AL,true)[1]){$s=17;continue;}if($assertType(j,AM,true)[1]){$s=18;continue;}if($assertType(j,AN,true)[1]){$s=19;continue;}if($assertType(j,AO,true)[1]){$s=20;continue;}if($assertType(j,AP,true)[1]){$s=21;continue;}$s=22;continue;case 4:k=j.$val;k.$set(!((e[0]===0)));$s=22;continue;case 5:l=j.$val;l.$set(((e[0]<<24>>24)));$s=22;continue;case 6:m=j.$val;m.$set(e[0]);$s=22;continue;case 7:n=j.$val;ac=b.Uint16(f);$s=23;case 23:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}n.$set(((ac<<16>>16)));$s=22;continue;case 8:o=j.$val;ad=b.Uint16(f);$s=24;case 24:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}o.$set(ad);$s=22;continue;case 9:p=j.$val;ae=b.Uint32(f);$s=25;case 25:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}p.$set(((ae>>0)));$s=22;continue;case 10:q=j.$val;af=b.Uint32(f);$s=26;case 26:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}q.$set(af);$s=22;continue;case 11:r=j.$val;ah=b.Uint64(f);$s=27;case 27:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}r.$set(((ag=ah,new $Int64(ag.$high,ag.$low))));$s=22;continue;case 12:s=j.$val;ai=b.Uint64(f);$s=28;case 28:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}s.$set(ai);$s=22;continue;case 13:t=j.$val;aj=f;ak=0;while(true){if(!(ak<aj.$length)){break;}al=ak;am=((ak<0||ak>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+ak]);((al<0||al>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+al]=!((am===0)));ak++;}$s=22;continue;case 14:u=j.$val;an=f;ao=0;while(true){if(!(ao<an.$length)){break;}ap=ao;aq=((ao<0||ao>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+ao]);((ap<0||ap>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+ap]=((aq<<24>>24)));ao++;}$s=22;continue;case 15:v=j.$val;$copySlice(v,f);$s=22;continue;case 16:w=j.$val;ar=w;as=0;case 29:if(!(as<ar.$length)){$s=30;continue;}at=as;au=b.Uint16($subslice(f,($imul(2,at))));$s=31;case 31:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}((at<0||at>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+at]=((au<<16>>16)));as++;$s=29;continue;case 30:$s=22;continue;case 17:x=j.$val;av=x;aw=0;case 32:if(!(aw<av.$length)){$s=33;continue;}ax=aw;ay=b.Uint16($subslice(f,($imul(2,ax))));$s=34;case 34:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}((ax<0||ax>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+ax]=ay);aw++;$s=32;continue;case 33:$s=22;continue;case 18:y=j.$val;az=y;ba=0;case 35:if(!(ba<az.$length)){$s=36;continue;}bb=ba;bc=b.Uint32($subslice(f,($imul(4,bb))));$s=37;case 37:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}((bb<0||bb>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+bb]=((bc>>0)));ba++;$s=35;continue;case 36:$s=22;continue;case 19:z=j.$val;bd=z;be=0;case 38:if(!(be<bd.$length)){$s=39;continue;}bf=be;bg=b.Uint32($subslice(f,($imul(4,bf))));$s=40;case 40:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}((bf<0||bf>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+bf]=bg);be++;$s=38;continue;case 39:$s=22;continue;case 20:aa=j.$val;bh=aa;bi=0;case 41:if(!(bi<bh.$length)){$s=42;continue;}bj=bi;bl=b.Uint64($subslice(f,($imul(8,bj))));$s=43;case 43:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}((bj<0||bj>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+bj]=((bk=bl,new $Int64(bk.$high,bk.$low))));bi++;$s=41;continue;case 42:$s=22;continue;case 21:ab=j.$val;bm=ab;bn=0;case 44:if(!(bn<bm.$length)){$s=45;continue;}bo=bn;bp=b.Uint64($subslice(f,($imul(8,bo))));$s=46;case 46:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}((bo<0||bo>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+bo]=bp);bn++;$s=44;continue;case 45:case 22:$s=-1;return $ifaceNil;case 2:bq=D.ValueOf(c);$s=47;case 47:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=bq;bs=-1;bt=$clone(br,D.Value).Kind();if(bt===(22)){$s=49;continue;}if(bt===(23)){$s=50;continue;}$s=51;continue;case 49:bu=$clone(br,D.Value).Elem();$s=52;case 52:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}br=bu;bv=K($clone(br,D.Value));$s=53;case 53:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bs=bv;$s=51;continue;case 50:bw=K($clone(br,D.Value));$s=54;case 54:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bs=bw;case 51:case 48:if(bs<0){$s=55;continue;}$s=56;continue;case 55:bx=D.TypeOf(c).String();$s=57;case 57:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}by=A.New("binary.Read: invalid type "+bx);$s=58;case 58:if($c){$c=false;by=by.$blk();}if(by&&by.$blk!==undefined){break s;}$s=-1;return by;case 56:bz=new N.ptr(b,$makeSlice(Y,bs));cb=B.ReadFull(a,bz.buf);$s=59;case 59:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}ca=cb;cc=ca[1];if(!($interfaceIsEqual(cc,$ifaceNil))){$s=-1;return cc;}$r=bz.value($clone(br,D.Value));$s=60;case 60:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:H};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Read=H;I=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=P(c);if(!((d===0))){$s=1;continue;}$s=2;continue;case 1:e=X.zero();f=Y.nil;if(d>8){f=$makeSlice(Y,d);}else{f=$subslice(new Y(e),0,d);}g=c;if($assertType(g,Z,true)[1]){$s=3;continue;}if($assertType(g,$Bool,true)[1]){$s=4;continue;}if($assertType(g,AI,true)[1]){$s=5;continue;}if($assertType(g,AA,true)[1]){$s=6;continue;}if($assertType(g,$Int8,true)[1]){$s=7;continue;}if($assertType(g,AJ,true)[1]){$s=8;continue;}if($assertType(g,AB,true)[1]){$s=9;continue;}if($assertType(g,$Uint8,true)[1]){$s=10;continue;}if($assertType(g,Y,true)[1]){$s=11;continue;}if($assertType(g,AC,true)[1]){$s=12;continue;}if($assertType(g,$Int16,true)[1]){$s=13;continue;}if($assertType(g,AK,true)[1]){$s=14;continue;}if($assertType(g,AD,true)[1]){$s=15;continue;}if($assertType(g,$Uint16,true)[1]){$s=16;continue;}if($assertType(g,AL,true)[1]){$s=17;continue;}if($assertType(g,AE,true)[1]){$s=18;continue;}if($assertType(g,$Int32,true)[1]){$s=19;continue;}if($assertType(g,AM,true)[1]){$s=20;continue;}if($assertType(g,AF,true)[1]){$s=21;continue;}if($assertType(g,$Uint32,true)[1]){$s=22;continue;}if($assertType(g,AN,true)[1]){$s=23;continue;}if($assertType(g,AG,true)[1]){$s=24;continue;}if($assertType(g,$Int64,true)[1]){$s=25;continue;}if($assertType(g,AO,true)[1]){$s=26;continue;}if($assertType(g,AH,true)[1]){$s=27;continue;}if($assertType(g,$Uint64,true)[1]){$s=28;continue;}if($assertType(g,AP,true)[1]){$s=29;continue;}$s=30;continue;case 3:h=g.$val;if(h.$get()){e[0]=1;}else{e[0]=0;}$s=30;continue;case 4:i=g.$val;if(i){e[0]=1;}else{e[0]=0;}$s=30;continue;case 5:j=g.$val;ai=j;aj=0;while(true){if(!(aj<ai.$length)){break;}ak=aj;al=((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);if(al){((ak<0||ak>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+ak]=1);}else{((ak<0||ak>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+ak]=0);}aj++;}$s=30;continue;case 6:k=g.$val;e[0]=((k.$get()<<24>>>24));$s=30;continue;case 7:l=g.$val;e[0]=((l<<24>>>24));$s=30;continue;case 8:m=g.$val;am=m;an=0;while(true){if(!(an<am.$length)){break;}ao=an;ap=((an<0||an>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+an]);((ao<0||ao>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+ao]=((ap<<24>>>24)));an++;}$s=30;continue;case 9:n=g.$val;e[0]=n.$get();$s=30;continue;case 10:o=g.$val;e[0]=o;$s=30;continue;case 11:p=g.$val;f=p;$s=30;continue;case 12:q=g.$val;$r=b.PutUint16(f,((q.$get()<<16>>>16)));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 13:r=g.$val;$r=b.PutUint16(f,((r<<16>>>16)));$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 14:s=g.$val;aq=s;ar=0;case 33:if(!(ar<aq.$length)){$s=34;continue;}as=ar;at=((ar<0||ar>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+ar]);$r=b.PutUint16($subslice(f,($imul(2,as))),((at<<16>>>16)));$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ar++;$s=33;continue;case 34:$s=30;continue;case 15:t=g.$val;$r=b.PutUint16(f,t.$get());$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 16:u=g.$val;$r=b.PutUint16(f,u);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 17:v=g.$val;au=v;av=0;case 38:if(!(av<au.$length)){$s=39;continue;}aw=av;ax=((av<0||av>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+av]);$r=b.PutUint16($subslice(f,($imul(2,aw))),ax);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}av++;$s=38;continue;case 39:$s=30;continue;case 18:w=g.$val;$r=b.PutUint32(f,((w.$get()>>>0)));$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 19:x=g.$val;$r=b.PutUint32(f,((x>>>0)));$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 20:y=g.$val;ay=y;az=0;case 43:if(!(az<ay.$length)){$s=44;continue;}ba=az;bb=((az<0||az>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+az]);$r=b.PutUint32($subslice(f,($imul(4,ba))),((bb>>>0)));$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}az++;$s=43;continue;case 44:$s=30;continue;case 21:z=g.$val;$r=b.PutUint32(f,z.$get());$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 22:aa=g.$val;$r=b.PutUint32(f,aa);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 23:ab=g.$val;bc=ab;bd=0;case 48:if(!(bd<bc.$length)){$s=49;continue;}be=bd;bf=((bd<0||bd>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+bd]);$r=b.PutUint32($subslice(f,($imul(4,be))),bf);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bd++;$s=48;continue;case 49:$s=30;continue;case 24:ac=g.$val;$r=b.PutUint64(f,((bg=ac.$get(),new $Uint64(bg.$high,bg.$low))));$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 25:ad=g.$val;$r=b.PutUint64(f,(new $Uint64(ad.$high,ad.$low)));$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 26:ae=g.$val;bh=ae;bi=0;case 53:if(!(bi<bh.$length)){$s=54;continue;}bj=bi;bk=((bi<0||bi>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bi]);$r=b.PutUint64($subslice(f,($imul(8,bj))),(new $Uint64(bk.$high,bk.$low)));$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bi++;$s=53;continue;case 54:$s=30;continue;case 27:af=g.$val;$r=b.PutUint64(f,af.$get());$s=56;case 56:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 28:ag=g.$val;$r=b.PutUint64(f,ag);$s=57;case 57:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=30;continue;case 29:ah=g.$val;bl=ah;bm=0;case 58:if(!(bm<bl.$length)){$s=59;continue;}bn=bm;bo=((bm<0||bm>=bl.$length)?($throwRuntimeError("index out of range"),undefined):bl.$array[bl.$offset+bm]);$r=b.PutUint64($subslice(f,($imul(8,bn))),bo);$s=60;case 60:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bm++;$s=58;continue;case 59:case 30:bq=a.Write(f);$s=61;case 61:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}bp=bq;br=bp[1];$s=-1;return br;case 2:bs=D.ValueOf(c);$s=62;case 62:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=D.Indirect($clone(bs,D.Value));$s=63;case 63:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}bu=bt;bv=K($clone(bu,D.Value));$s=64;case 64:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bw=bv;if(bw<0){$s=65;continue;}$s=66;continue;case 65:bx=D.TypeOf(c).String();$s=67;case 67:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}by=A.New("binary.Write: invalid type "+bx);$s=68;case 68:if($c){$c=false;by=by.$blk();}if(by&&by.$blk!==undefined){break s;}$s=-1;return by;case 66:bz=$makeSlice(Y,bw);ca=new O.ptr(b,bz);$r=ca.value($clone(bu,D.Value));$s=69;case 69:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}cc=a.Write(bz);$s=70;case 70:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cb=cc;cd=cb[1];$s=-1;return cd;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Write=I;K=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(a,D.Value).Kind()===23){$s=1;continue;}$s=2;continue;case 1:b=$clone(a,D.Value).Type().Elem();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=L(b);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(d>=0){$s=-1;return $imul(d,$clone(a,D.Value).Len());}$s=-1;return-1;case 2:e=L($clone(a,D.Value).Type());$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:K};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};L=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.Kind();$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;if(c===(17)){$s=3;continue;}if(c===(25)){$s=4;continue;}if((c===(1))||(c===(8))||(c===(9))||(c===(10))||(c===(11))||(c===(3))||(c===(4))||(c===(5))||(c===(6))||(c===(13))||(c===(14))||(c===(15))||(c===(16))){$s=5;continue;}$s=6;continue;case 3:d=a.Elem();$s=7;case 7:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=L(d);$s=8;case 8:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(f>=0){$s=9;continue;}$s=10;continue;case 9:g=a.Len();$s=11;case 11:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return $imul(f,g);case 10:$s=6;continue;case 4:h=0;i=0;k=a.NumField();$s=12;case 12:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=i;m=j;case 13:if(!(l<m)){$s=14;continue;}n=a.Field(l);$s=15;case 15:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=L(n.Type);$s=16;case 16:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;if(p<0){$s=-1;return-1;}h=h+(p)>>0;l=l+(1)>>0;$s=13;continue;case 14:$s=-1;return h;case 5:q=a.Size();$s=17;case 17:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=-1;return((q>>0));case 6:case 1:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:L};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};N.ptr.prototype.bool=function(){var a,b,c;a=this;c=(b=a.buf,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]));a.buf=$subslice(a.buf,1);return!((c===0));};N.prototype.bool=function(){return this.$val.bool();};O.ptr.prototype.bool=function(a){var a,b,c,d;b=this;if(a){(c=b.buf,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=1));}else{(d=b.buf,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]=0));}b.buf=$subslice(b.buf,1);};O.prototype.bool=function(a){return this.$val.bool(a);};N.ptr.prototype.uint8=function(){var a,b,c;a=this;c=(b=a.buf,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]));a.buf=$subslice(a.buf,1);return c;};N.prototype.uint8=function(){return this.$val.uint8();};O.ptr.prototype.uint8=function(a){var a,b,c;b=this;(c=b.buf,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=a));b.buf=$subslice(b.buf,1);};O.prototype.uint8=function(a){return this.$val.uint8(a);};N.ptr.prototype.uint16=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.order.Uint16($subslice(a.buf,0,2));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;a.buf=$subslice(a.buf,2);$s=-1;return c;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.uint16};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.uint16=function(){return this.$val.uint16();};O.ptr.prototype.uint16=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.order.PutUint16($subslice(b.buf,0,2),a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.buf=$subslice(b.buf,2);$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.uint16};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.uint16=function(a){return this.$val.uint16(a);};N.ptr.prototype.uint32=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.order.Uint32($subslice(a.buf,0,4));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;a.buf=$subslice(a.buf,4);$s=-1;return c;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.uint32};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.uint32=function(){return this.$val.uint32();};O.ptr.prototype.uint32=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.order.PutUint32($subslice(b.buf,0,4),a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.buf=$subslice(b.buf,4);$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.uint32};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.uint32=function(a){return this.$val.uint32(a);};N.ptr.prototype.uint64=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.order.Uint64($subslice(a.buf,0,8));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;a.buf=$subslice(a.buf,8);$s=-1;return c;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.uint64};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.uint64=function(){return this.$val.uint64();};O.ptr.prototype.uint64=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.order.PutUint64($subslice(b.buf,0,8),a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.buf=$subslice(b.buf,8);$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.uint64};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.uint64=function(a){return this.$val.uint64(a);};N.ptr.prototype.int8=function(){var a;a=this;return((a.uint8()<<24>>24));};N.prototype.int8=function(){return this.$val.int8();};O.ptr.prototype.int8=function(a){var a,b;b=this;b.uint8(((a<<24>>>24)));};O.prototype.int8=function(a){return this.$val.int8(a);};N.ptr.prototype.int16=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.uint16();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return((b<<16>>16));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.int16};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.int16=function(){return this.$val.int16();};O.ptr.prototype.int16=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.uint16(((a<<16>>>16)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.int16};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.int16=function(a){return this.$val.int16(a);};N.ptr.prototype.int32=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.uint32();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return((b>>0));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.int32};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.int32=function(){return this.$val.int32();};O.ptr.prototype.int32=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.uint32(((a>>>0)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.int32};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.int32=function(a){return this.$val.int32(a);};N.ptr.prototype.int64=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=a.uint64();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return((b=c,new $Int64(b.$high,b.$low)));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.int64};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.int64=function(){return this.$val.int64();};O.ptr.prototype.int64=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.uint64((new $Uint64(a.$high,a.$low)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.int64};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.int64=function(a){return this.$val.int64(a);};N.ptr.prototype.value=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(a,D.Value).Kind();if(c===(17)){$s=2;continue;}if(c===(25)){$s=3;continue;}if(c===(23)){$s=4;continue;}if(c===(1)){$s=5;continue;}if(c===(3)){$s=6;continue;}if(c===(4)){$s=7;continue;}if(c===(5)){$s=8;continue;}if(c===(6)){$s=9;continue;}if(c===(8)){$s=10;continue;}if(c===(9)){$s=11;continue;}if(c===(10)){$s=12;continue;}if(c===(11)){$s=13;continue;}if(c===(13)){$s=14;continue;}if(c===(14)){$s=15;continue;}if(c===(15)){$s=16;continue;}if(c===(16)){$s=17;continue;}$s=18;continue;case 2:d=$clone(a,D.Value).Len();e=0;case 19:if(!(e<d)){$s=20;continue;}f=$clone(a,D.Value).Index(e);$s=21;case 21:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$r=b.value($clone(f,D.Value));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;$s=19;continue;case 20:$s=18;continue;case 3:g=$clone(a,D.Value).Type();h=$clone(a,D.Value).NumField();i=0;case 23:if(!(i<h)){$s=24;continue;}j=$clone(a,D.Value).Field(i);$s=25;case 25:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if($clone(k,D.Value).CanSet()){l=true;$s=29;continue s;}m=g.Field(i);$s=30;case 30:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=!(m.Name==="_");case 29:if(l){$s=26;continue;}$s=27;continue;case 26:$r=b.value($clone(k,D.Value));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=28;continue;case 27:$r=b.skip($clone(k,D.Value));$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 28:i=i+(1)>>0;$s=23;continue;case 24:$s=18;continue;case 4:n=$clone(a,D.Value).Len();o=0;case 33:if(!(o<n)){$s=34;continue;}p=$clone(a,D.Value).Index(o);$s=35;case 35:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$r=b.value($clone(p,D.Value));$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=o+(1)>>0;$s=33;continue;case 34:$s=18;continue;case 5:$clone(a,D.Value).SetBool(b.bool());$s=18;continue;case 6:$clone(a,D.Value).SetInt((new $Int64(0,b.int8())));$s=18;continue;case 7:q=b.int16();$s=37;case 37:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetInt((new $Int64(0,q)));$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 8:r=b.int32();$s=39;case 39:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetInt((new $Int64(0,r)));$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 9:s=b.int64();$s=41;case 41:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetInt(s);$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 10:$clone(a,D.Value).SetUint((new $Uint64(0,b.uint8())));$s=18;continue;case 11:t=b.uint16();$s=43;case 43:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetUint((new $Uint64(0,t)));$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 12:u=b.uint32();$s=45;case 45:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetUint((new $Uint64(0,u)));$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 13:v=b.uint64();$s=47;case 47:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetUint(v);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 14:w=b.uint32();$s=49;case 49:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=C.Float32frombits(w);$s=50;case 50:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetFloat((x));$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 15:y=b.uint64();$s=52;case 52:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=C.Float64frombits(y);$s=53;case 53:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$r=$clone(a,D.Value).SetFloat(z);$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 16:aa=b.uint32();$s=55;case 55:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=C.Float32frombits(aa);$s=56;case 56:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=(ab);ad=b.uint32();$s=57;case 57:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=C.Float32frombits(ad);$s=58;case 58:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=(ae);$r=$clone(a,D.Value).SetComplex(new $Complex128(ac,af));$s=59;case 59:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 17:ag=b.uint64();$s=60;case 60:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=C.Float64frombits(ag);$s=61;case 61:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;aj=b.uint64();$s=62;case 62:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=C.Float64frombits(aj);$s=63;case 63:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;$r=$clone(a,D.Value).SetComplex(new $Complex128(ai,al));$s=64;case 64:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 18:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.value};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.value=function(a){return this.$val.value(a);};O.ptr.prototype.value=function(a){var a,aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(a,D.Value).Kind();if(c===(17)){$s=2;continue;}if(c===(25)){$s=3;continue;}if(c===(23)){$s=4;continue;}if(c===(1)){$s=5;continue;}if((c===(2))||(c===(3))||(c===(4))||(c===(5))||(c===(6))){$s=6;continue;}if((c===(7))||(c===(8))||(c===(9))||(c===(10))||(c===(11))||(c===(12))){$s=7;continue;}if((c===(13))||(c===(14))){$s=8;continue;}if((c===(15))||(c===(16))){$s=9;continue;}$s=10;continue;case 2:d=$clone(a,D.Value).Len();e=0;case 11:if(!(e<d)){$s=12;continue;}f=$clone(a,D.Value).Index(e);$s=13;case 13:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$r=b.value($clone(f,D.Value));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;$s=11;continue;case 12:$s=10;continue;case 3:g=$clone(a,D.Value).Type();h=$clone(a,D.Value).NumField();i=0;case 15:if(!(i<h)){$s=16;continue;}j=$clone(a,D.Value).Field(i);$s=17;case 17:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if($clone(k,D.Value).CanSet()){l=true;$s=21;continue s;}m=g.Field(i);$s=22;case 22:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=!(m.Name==="_");case 21:if(l){$s=18;continue;}$s=19;continue;case 18:$r=b.value($clone(k,D.Value));$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=20;continue;case 19:$r=b.skip($clone(k,D.Value));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 20:i=i+(1)>>0;$s=15;continue;case 16:$s=10;continue;case 4:n=$clone(a,D.Value).Len();o=0;case 25:if(!(o<n)){$s=26;continue;}p=$clone(a,D.Value).Index(o);$s=27;case 27:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$r=b.value($clone(p,D.Value));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=o+(1)>>0;$s=25;continue;case 26:$s=10;continue;case 5:b.bool($clone(a,D.Value).Bool());$s=10;continue;case 6:q=$clone(a,D.Value).Type().Kind();$s=30;case 30:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(r===(3)){$s=31;continue;}if(r===(4)){$s=32;continue;}if(r===(5)){$s=33;continue;}if(r===(6)){$s=34;continue;}$s=35;continue;case 31:b.int8((((s=$clone(a,D.Value).Int(),s.$low+((s.$high>>31)*4294967296))<<24>>24)));$s=35;continue;case 32:$r=b.int16((((t=$clone(a,D.Value).Int(),t.$low+((t.$high>>31)*4294967296))<<16>>16)));$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=35;continue;case 33:$r=b.int32((((u=$clone(a,D.Value).Int(),u.$low+((u.$high>>31)*4294967296))>>0)));$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=35;continue;case 34:$r=b.int64($clone(a,D.Value).Int());$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 35:case 29:$s=10;continue;case 7:v=$clone(a,D.Value).Type().Kind();$s=40;case 40:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;if(w===(8)){$s=41;continue;}if(w===(9)){$s=42;continue;}if(w===(10)){$s=43;continue;}if(w===(11)){$s=44;continue;}$s=45;continue;case 41:b.uint8((($clone(a,D.Value).Uint().$low<<24>>>24)));$s=45;continue;case 42:$r=b.uint16((($clone(a,D.Value).Uint().$low<<16>>>16)));$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=45;continue;case 43:$r=b.uint32((($clone(a,D.Value).Uint().$low>>>0)));$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=45;continue;case 44:$r=b.uint64($clone(a,D.Value).Uint());$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 45:case 39:$s=10;continue;case 8:x=$clone(a,D.Value).Type().Kind();$s=50;case 50:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;if(y===(13)){$s=51;continue;}if(y===(14)){$s=52;continue;}$s=53;continue;case 51:$r=b.uint32(C.Float32bits(($fround($clone(a,D.Value).Float()))));$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=53;continue;case 52:$r=b.uint64(C.Float64bits($clone(a,D.Value).Float()));$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 53:case 49:$s=10;continue;case 9:z=$clone(a,D.Value).Type().Kind();$s=57;case 57:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;if(aa===(15)){$s=58;continue;}if(aa===(16)){$s=59;continue;}$s=60;continue;case 58:ab=$clone(a,D.Value).Complex();$r=b.uint32(C.Float32bits(($fround(ab.$real))));$s=61;case 61:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.uint32(C.Float32bits(($fround(ab.$imag))));$s=62;case 62:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=60;continue;case 59:ac=$clone(a,D.Value).Complex();$r=b.uint64(C.Float64bits(ac.$real));$s=63;case 63:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.uint64(C.Float64bits(ac.$imag));$s=64;case 64:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 60:case 56:case 10:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.value};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.value=function(a){return this.$val.value(a);};N.ptr.prototype.skip=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=K($clone(a,D.Value));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b.buf=$subslice(b.buf,c);$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.skip};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.skip=function(a){return this.$val.skip(a);};O.ptr.prototype.skip=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=K($clone(a,D.Value));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=$subslice(b.buf,0,d);f=0;while(true){if(!(f<e.$length)){break;}g=f;(h=b.buf,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g]=0));f++;}b.buf=$subslice(b.buf,d);$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.skip};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.skip=function(a){return this.$val.skip(a);};P=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;b=a;if($assertType(b,$Bool,true)[1]||$assertType(b,$Int8,true)[1]||$assertType(b,$Uint8,true)[1]||$assertType(b,Z,true)[1]||$assertType(b,AA,true)[1]||$assertType(b,AB,true)[1]){c=b;return 1;}else if($assertType(b,AJ,true)[1]){d=b.$val;return d.$length;}else if($assertType(b,Y,true)[1]){e=b.$val;return e.$length;}else if($assertType(b,$Int16,true)[1]||$assertType(b,$Uint16,true)[1]||$assertType(b,AC,true)[1]||$assertType(b,AD,true)[1]){f=b;return 2;}else if($assertType(b,AK,true)[1]){g=b.$val;return $imul(2,g.$length);}else if($assertType(b,AL,true)[1]){h=b.$val;return $imul(2,h.$length);}else if($assertType(b,$Int32,true)[1]||$assertType(b,$Uint32,true)[1]||$assertType(b,AE,true)[1]||$assertType(b,AF,true)[1]){i=b;return 4;}else if($assertType(b,AM,true)[1]){j=b.$val;return $imul(4,j.$length);}else if($assertType(b,AN,true)[1]){k=b.$val;return $imul(4,k.$length);}else if($assertType(b,$Int64,true)[1]||$assertType(b,$Uint64,true)[1]||$assertType(b,AG,true)[1]||$assertType(b,AH,true)[1]){l=b;return 8;}else if($assertType(b,AO,true)[1]){m=b.$val;return $imul(8,m.$length);}else if($assertType(b,AP,true)[1]){n=b.$val;return $imul(8,n.$length);}return 0;};Q=function(a,b){var a,b,c;c=0;while(true){if(!((b.$high>0||(b.$high===0&&b.$low>=128)))){break;}((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=((((b.$low<<24>>>24))|128)>>>0));b=$shiftRightUint64(b,(7));c=c+(1)>>0;}((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=((b.$low<<24>>>24)));return c+1>>0;};$pkg.PutUvarint=Q;R=function(a){var a,b,c,d,e,f,g,h,i;b=new $Uint64(0,0);c=0;d=a;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(g<128){if(f>9||(f===9)&&g>1){return[new $Uint64(0,0),-((f+1>>0))];}return[(h=$shiftLeft64((new $Uint64(0,g)),c),new $Uint64(b.$high|h.$high,(b.$low|h.$low)>>>0)),f+1>>0];}b=(i=$shiftLeft64((new $Uint64(0,((g&127)>>>0))),c),new $Uint64(b.$high|i.$high,(b.$low|i.$low)>>>0));c=c+(7)>>>0;e++;}return[new $Uint64(0,0),0];};$pkg.Uvarint=R;F.methods=[{prop:"Uint16",name:"Uint16",pkg:"",typ:$funcType([Y],[$Uint16],false)},{prop:"PutUint16",name:"PutUint16",pkg:"",typ:$funcType([Y,$Uint16],[],false)},{prop:"Uint32",name:"Uint32",pkg:"",typ:$funcType([Y],[$Uint32],false)},{prop:"PutUint32",name:"PutUint32",pkg:"",typ:$funcType([Y,$Uint32],[],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([Y],[$Uint64],false)},{prop:"PutUint64",name:"PutUint64",pkg:"",typ:$funcType([Y,$Uint64],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];G.methods=[{prop:"Uint16",name:"Uint16",pkg:"",typ:$funcType([Y],[$Uint16],false)},{prop:"PutUint16",name:"PutUint16",pkg:"",typ:$funcType([Y,$Uint16],[],false)},{prop:"Uint32",name:"Uint32",pkg:"",typ:$funcType([Y],[$Uint32],false)},{prop:"PutUint32",name:"PutUint32",pkg:"",typ:$funcType([Y,$Uint32],[],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([Y],[$Uint64],false)},{prop:"PutUint64",name:"PutUint64",pkg:"",typ:$funcType([Y,$Uint64],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];AQ.methods=[{prop:"bool",name:"bool",pkg:"encoding/binary",typ:$funcType([],[$Bool],false)},{prop:"uint8",name:"uint8",pkg:"encoding/binary",typ:$funcType([],[$Uint8],false)},{prop:"uint16",name:"uint16",pkg:"encoding/binary",typ:$funcType([],[$Uint16],false)},{prop:"uint32",name:"uint32",pkg:"encoding/binary",typ:$funcType([],[$Uint32],false)},{prop:"uint64",name:"uint64",pkg:"encoding/binary",typ:$funcType([],[$Uint64],false)},{prop:"int8",name:"int8",pkg:"encoding/binary",typ:$funcType([],[$Int8],false)},{prop:"int16",name:"int16",pkg:"encoding/binary",typ:$funcType([],[$Int16],false)},{prop:"int32",name:"int32",pkg:"encoding/binary",typ:$funcType([],[$Int32],false)},{prop:"int64",name:"int64",pkg:"encoding/binary",typ:$funcType([],[$Int64],false)},{prop:"value",name:"value",pkg:"encoding/binary",typ:$funcType([D.Value],[],false)},{prop:"skip",name:"skip",pkg:"encoding/binary",typ:$funcType([D.Value],[],false)}];AR.methods=[{prop:"bool",name:"bool",pkg:"encoding/binary",typ:$funcType([$Bool],[],false)},{prop:"uint8",name:"uint8",pkg:"encoding/binary",typ:$funcType([$Uint8],[],false)},{prop:"uint16",name:"uint16",pkg:"encoding/binary",typ:$funcType([$Uint16],[],false)},{prop:"uint32",name:"uint32",pkg:"encoding/binary",typ:$funcType([$Uint32],[],false)},{prop:"uint64",name:"uint64",pkg:"encoding/binary",typ:$funcType([$Uint64],[],false)},{prop:"int8",name:"int8",pkg:"encoding/binary",typ:$funcType([$Int8],[],false)},{prop:"int16",name:"int16",pkg:"encoding/binary",typ:$funcType([$Int16],[],false)},{prop:"int32",name:"int32",pkg:"encoding/binary",typ:$funcType([$Int32],[],false)},{prop:"int64",name:"int64",pkg:"encoding/binary",typ:$funcType([$Int64],[],false)},{prop:"value",name:"value",pkg:"encoding/binary",typ:$funcType([D.Value],[],false)},{prop:"skip",name:"skip",pkg:"encoding/binary",typ:$funcType([D.Value],[],false)}];E.init([{prop:"PutUint16",name:"PutUint16",pkg:"",typ:$funcType([Y,$Uint16],[],false)},{prop:"PutUint32",name:"PutUint32",pkg:"",typ:$funcType([Y,$Uint32],[],false)},{prop:"PutUint64",name:"PutUint64",pkg:"",typ:$funcType([Y,$Uint64],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Uint16",name:"Uint16",pkg:"",typ:$funcType([Y],[$Uint16],false)},{prop:"Uint32",name:"Uint32",pkg:"",typ:$funcType([Y],[$Uint32],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([Y],[$Uint64],false)}]);F.init("",[]);G.init("",[]);N.init("encoding/binary",[{prop:"order",name:"order",anonymous:false,exported:false,typ:E,tag:""},{prop:"buf",name:"buf",anonymous:false,exported:false,typ:Y,tag:""}]);O.init("encoding/binary",[{prop:"order",name:"order",anonymous:false,exported:false,typ:E,tag:""},{prop:"buf",name:"buf",anonymous:false,exported:false,typ:Y,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.LittleEndian=new F.ptr();$pkg.BigEndian=new G.ptr();U=A.New("binary: varint overflows a 64-bit integer");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["math/bits"]=(function(){var $pkg={},$init,F,G,AN,A,H,K,L,AF,AI,AJ;A=function(a){var a;return 32-AF(a)>>0;};$pkg.LeadingZeros=A;H=function(a){var a;if(true){return K(((a>>>0)));}return L((new $Uint64(0,a)));};$pkg.TrailingZeros=H;K=function(a){var a,b;if(a===0){return 32;}return(((b=($imul((((a&(-a>>>0))>>>0)),125613361)>>>0)>>>27>>>0,((b<0||b>=F.length)?($throwRuntimeError("index out of range"),undefined):F[b]))>>0));};$pkg.TrailingZeros32=K;L=function(a){var a,b,c;if((a.$high===0&&a.$low===0)){return 64;}return(((b=$shiftRightUint64($mul64(((c=new $Uint64(-a.$high,-a.$low),new $Uint64(a.$high&c.$high,(a.$low&c.$low)>>>0))),new $Uint64(66559345,3033172745)),58),(($flatten64(b)<0||$flatten64(b)>=G.length)?($throwRuntimeError("index out of range"),undefined):G[$flatten64(b)]))>>0));};$pkg.TrailingZeros64=L;AF=function(a){var a;if(true){return AI(((a>>>0)));}return AJ((new $Uint64(0,a)));};$pkg.Len=AF;AI=function(a){var a,b,c,d;b=0;if(a>=65536){a=(c=(16),c<32?(a>>>c):0)>>>0;b=16;}if(a>=256){a=(d=(8),d<32?(a>>>d):0)>>>0;b=b+(8)>>0;}b=b+((((a<0||a>=AN.length)?($throwRuntimeError("index out of range"),undefined):AN[a])>>0))>>0;return b;};$pkg.Len32=AI;AJ=function(a){var a,b;b=0;if((a.$high>1||(a.$high===1&&a.$low>=0))){a=$shiftRightUint64(a,(32));b=32;}if((a.$high>0||(a.$high===0&&a.$low>=65536))){a=$shiftRightUint64(a,(16));b=b+(16)>>0;}if((a.$high>0||(a.$high===0&&a.$low>=256))){a=$shiftRightUint64(a,(8));b=b+(8)>>0;}b=b+(((($flatten64(a)<0||$flatten64(a)>=AN.length)?($throwRuntimeError("index out of range"),undefined):AN[$flatten64(a)])>>0))>>0;return b;};$pkg.Len64=AJ;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:F=$toNativeArray($kindUint8,[0,1,28,2,29,14,24,3,30,22,20,15,25,17,4,8,31,27,13,23,21,19,16,7,26,12,18,6,11,5,10,9]);G=$toNativeArray($kindUint8,[0,1,56,2,57,49,28,3,61,58,42,50,38,29,17,4,62,47,59,36,45,43,51,22,53,39,33,30,24,18,12,5,63,55,48,27,60,41,37,16,46,35,44,21,52,32,23,11,54,26,40,15,34,20,31,10,25,14,19,9,13,8,7,6]);AN=$toNativeArray($kindUint8,[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["math/big"]=(function(){var $pkg={},$init,G,F,J,A,K,D,C,B,I,H,E,L,BL,BT,BU,CO,DC,DD,DE,DG,DI,DJ,DL,DM,DN,DO,DQ,BM,BV,BW,CB,CJ,CN,CP,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,BN,BP,BQ,BR,BS,BY,BZ,CA,CC,CD,CE,CF,CG,CH,CI,CK,CL,CM,CQ;G=$packages["bytes"];F=$packages["encoding/binary"];J=$packages["errors"];A=$packages["fmt"];K=$packages["github.com/gopherjs/gopherjs/nosync"];D=$packages["io"];C=$packages["math"];B=$packages["math/bits"];I=$packages["math/rand"];H=$packages["strconv"];E=$packages["strings"];L=$pkg.Word=$newType(4,$kindUintptr,"big.Word",true,"math/big",true,null);BL=$pkg.Int=$newType(0,$kindStruct,"big.Int",true,"math/big",true,function(neg_,abs_){this.$val=this;if(arguments.length===0){this.neg=false;this.abs=BU.nil;return;}this.neg=neg_;this.abs=abs_;});BT=$pkg.byteReader=$newType(0,$kindStruct,"big.byteReader",true,"math/big",false,function(ScanState_){this.$val=this;if(arguments.length===0){this.ScanState=$ifaceNil;return;}this.ScanState=ScanState_;});BU=$pkg.nat=$newType(12,$kindSlice,"big.nat",true,"math/big",false,null);CO=$pkg.divisor=$newType(0,$kindStruct,"big.divisor",true,"math/big",false,function(bbb_,nbits_,ndigits_){this.$val=this;if(arguments.length===0){this.bbb=BU.nil;this.nbits=0;this.ndigits=0;return;}this.bbb=bbb_;this.nbits=nbits_;this.ndigits=ndigits_;});DC=$sliceType($emptyInterface);DD=$arrayType(CO,64);DE=$structType("math/big",[{prop:"Mutex",name:"Mutex",anonymous:true,exported:true,typ:K.Mutex,tag:""},{prop:"table",name:"table",anonymous:false,exported:false,typ:DD,tag:""}]);DG=$sliceType($Uint8);DI=$sliceType(L);DJ=$ptrType(BL);DL=$ptrType(L);DM=$ptrType(BU);DN=$arrayType(BU,16);DO=$sliceType(CO);DQ=$ptrType(I.Rand);N=function(b,c,d){var b,c,d,e,f,g;e=0;f=0;g=c+d>>>0;f=b+g>>>0;if(f<b||g<c){e=1;}return[e,f];};O=function(b,c,d){var b,c,d,e,f,g;e=0;f=0;g=c+d>>>0;f=b-g>>>0;if(f>b||g<c){e=1;}return[e,f];};P=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m;d=0;e=0;f=(b&65535)>>>0;g=b>>>16>>>0;h=(c&65535)>>>0;i=c>>>16>>>0;j=$imul(f,h)>>>0;k=($imul(g,h)>>>0)+(j>>>16>>>0)>>>0;l=(k&65535)>>>0;m=k>>>16>>>0;l=l+(($imul(f,i)>>>0))>>>0;d=(($imul(g,i)>>>0)+m>>>0)+(l>>>16>>>0)>>>0;e=$imul(b,c)>>>0;return[d,e];};Q=function(b,c,d){var b,c,d,e,f,g,h;e=0;f=0;g=P(b,c);e=g[0];h=g[1];f=h+d>>>0;if(f<h){e=e+(1)>>>0;}return[e,f];};R=function(b){var b;return((B.LeadingZeros(((b>>>0)))>>>0));};S=function(b,c,d){var aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=0;f=0;if(b>=d){g=4294967295;h=4294967295;e=g;f=h;return[e,f];}i=R(d);d=(j=(i),j<32?(d<<j):0)>>>0;k=d>>>16>>>0;l=(d&65535)>>>0;o=(((m=i,m<32?(b<<m):0)>>>0)|((n=((32-i>>>0)),n<32?(c>>>n):0)>>>0))>>>0;q=(p=i,p<32?(c<<p):0)>>>0;r=q>>>16>>>0;s=(q&65535)>>>0;u=(t=o/k,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));v=o-($imul(u,k)>>>0)>>>0;while(true){if(!(u>=65536||($imul(u,l)>>>0)>(($imul(65536,v)>>>0)+r>>>0))){break;}u=u-(1)>>>0;v=v+(k)>>>0;if(v>=65536){break;}}w=(($imul(o,65536)>>>0)+r>>>0)-($imul(u,d)>>>0)>>>0;y=(x=w/k,(x===x&&x!==1/0&&x!==-1/0)?x>>>0:$throwRuntimeError("integer divide by zero"));v=w-($imul(y,k)>>>0)>>>0;while(true){if(!(y>=65536||($imul(y,l)>>>0)>(($imul(65536,v)>>>0)+s>>>0))){break;}y=y-(1)>>>0;v=v+(k)>>>0;if(v>=65536){break;}}z=($imul(u,65536)>>>0)+y>>>0;aa=(ab=i,ab<32?((((($imul(w,65536)>>>0)+s>>>0)-($imul(y,d)>>>0)>>>0))>>>ab):0)>>>0;e=z;f=aa;return[e,f];};T=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=0;if(false){f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=N(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]),e);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]);o=(m+n>>>0)+e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=o);e=(((((m&n)>>>0)|(((((m|n)>>>0))&~o)>>>0))>>>0))>>>31>>>0;k++;}return e;};U=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=0;if(false){f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=O(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]),e);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]);o=(m-n>>>0)-e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=o);e=(((((n&~m)>>>0)|(((((n|(~m>>>0))>>>0))&o)>>>0))>>>0))>>>31>>>0;k++;}return e;};V=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n;e=0;if(false){e=d;f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=N(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),e,0);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}e=d;j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=m+e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=n);e=((m&~n)>>>0)>>>31>>>0;k++;}return e;};W=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n;e=0;if(false){e=d;f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=O(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),e,0);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}e=d;j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=m-e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=n);e=(((n&~m)>>>0))>>>31>>>0;k++;}return e;};X=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;e=0;f=b.$length;if(f>0){g=32-d>>>0;i=(h=f-1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]));e=(j=g,j<32?(i>>>j):0)>>>0;k=f-1>>0;while(true){if(!(k>0)){break;}l=i;i=(m=k-1>>0,((m<0||m>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+m]));((k<0||k>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+k]=((((n=d,n<32?(l<<n):0)>>>0)|((o=g,o<32?(i>>>o):0)>>>0))>>>0));k=k-(1)>>0;}(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=((p=d,p<32?(i<<p):0)>>>0));}return e;};Y=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;e=0;f=b.$length;if(f>0){g=32-d>>>0;h=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]);e=(i=g,i<32?(h<<i):0)>>>0;j=0;while(true){if(!(j<(f-1>>0))){break;}k=h;h=(l=j+1>>0,((l<0||l>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+l]));((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]=((((m=d,m<32?(k>>>m):0)>>>0)|((n=g,n<32?(h<<n):0)>>>0))>>>0));j=j+(1)>>0;}(p=f-1>>0,((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=((o=d,o<32?(h>>>o):0)>>>0)));}return e;};Z=function(b,c,d,e){var b,c,d,e,f,g,h,i,j;f=0;f=e;g=b;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=Q(((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i]),d,f);f=j[0];((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]=j[1]);h++;}return f;};AA=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l;e=0;f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=Q(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),d,((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]));j=i[0];k=i[1];l=N(k,e,0);e=l[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=l[1]);e=e+(j)>>>0;g++;}return e;};AB=function(b,c,d,e){var b,c,d,e,f,g,h;f=0;f=c;g=b.$length-1>>0;while(true){if(!(g>=0)){break;}h=S(f,((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]),e);((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]=h[0]);f=h[1];g=g-(1)>>0;}return f;};AC=function(b,c){var b,c,d,e,f;d=0;e=0;f=P(b,c);d=f[0];e=f[1];return[d,e];};AD=function(b,c,d){var b,c,d,e,f,g;e=0;f=0;g=S(b,c,d);e=g[0];f=g[1];return[e,f];};AE=function(b,c,d){var b,c,d,e;e=0;e=T(b,c,d);return e;};AF=function(b,c,d){var b,c,d,e;e=0;e=U(b,c,d);return e;};AG=function(b,c,d){var b,c,d,e;e=0;e=V(b,c,d);return e;};AH=function(b,c,d){var b,c,d,e;e=0;e=W(b,c,d);return e;};AI=function(b,c,d){var b,c,d,e;e=0;e=X(b,c,d);return e;};AJ=function(b,c,d){var b,c,d,e;e=0;e=Y(b,c,d);return e;};AK=function(b,c,d,e){var b,c,d,e,f;f=0;f=Z(b,c,d,e);return f;};AL=function(b,c,d){var b,c,d,e;e=0;e=AA(b,c,d);return e;};AM=function(b,c,d,e){var b,c,d,e,f;f=0;f=AB(b,c,d,e);return f;};BL.ptr.prototype.Sign=function(){var b;b=this;if(b.abs.$length===0){return 0;}if(b.neg){return-1;}return 1;};BL.prototype.Sign=function(){return this.$val.Sign();};BL.ptr.prototype.SetInt64=function(b){var b,c,d;c=this;d=false;if((b.$high<0||(b.$high===0&&b.$low<0))){d=true;b=new $Int64(-b.$high,-b.$low);}c.abs=c.abs.setUint64((new $Uint64(b.$high,b.$low)));c.neg=d;return c;};BL.prototype.SetInt64=function(b){return this.$val.SetInt64(b);};BL.ptr.prototype.SetUint64=function(b){var b,c;c=this;c.abs=c.abs.setUint64(b);c.neg=false;return c;};BL.prototype.SetUint64=function(b){return this.$val.SetUint64(b);};BN=function(b){var b;return new BL.ptr(false,BU.nil).SetInt64(b);};$pkg.NewInt=BN;BL.ptr.prototype.Set=function(b){var b,c;c=this;if(!(c===b)){c.abs=c.abs.set(b.abs);c.neg=b.neg;}return c;};BL.prototype.Set=function(b){return this.$val.Set(b);};BL.ptr.prototype.Bits=function(){var b,c;b=this;return(c=b.abs,$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));};BL.prototype.Bits=function(){return this.$val.Bits();};BL.ptr.prototype.SetBits=function(b){var b,c;c=this;c.abs=($subslice(new BU(b.$array),b.$offset,b.$offset+b.$length)).norm();c.neg=false;return c;};BL.prototype.SetBits=function(b){return this.$val.SetBits(b);};BL.ptr.prototype.Abs=function(b){var b,c;c=this;c.Set(b);c.neg=false;return c;};BL.prototype.Abs=function(b){return this.$val.Abs(b);};BL.ptr.prototype.Neg=function(b){var b,c;c=this;c.Set(b);c.neg=c.abs.$length>0&&!c.neg;return c;};BL.prototype.Neg=function(b){return this.$val.Neg(b);};BL.ptr.prototype.Add=function(b,c){var b,c,d,e;d=this;e=b.neg;if(b.neg===c.neg){d.abs=d.abs.add(b.abs,c.abs);}else{if(b.abs.cmp(c.abs)>=0){d.abs=d.abs.sub(b.abs,c.abs);}else{e=!e;d.abs=d.abs.sub(c.abs,b.abs);}}d.neg=d.abs.$length>0&&e;return d;};BL.prototype.Add=function(b,c){return this.$val.Add(b,c);};BL.ptr.prototype.Sub=function(b,c){var b,c,d,e;d=this;e=b.neg;if(!(b.neg===c.neg)){d.abs=d.abs.add(b.abs,c.abs);}else{if(b.abs.cmp(c.abs)>=0){d.abs=d.abs.sub(b.abs,c.abs);}else{e=!e;d.abs=d.abs.sub(c.abs,b.abs);}}d.neg=d.abs.$length>0&&e;return d;};BL.prototype.Sub=function(b,c){return this.$val.Sub(b,c);};BL.ptr.prototype.Mul=function(b,c){var b,c,d;d=this;d.abs=d.abs.mul(b.abs,c.abs);d.neg=d.abs.$length>0&&!(b.neg===c.neg);return d;};BL.prototype.Mul=function(b,c){return this.$val.Mul(b,c);};BL.ptr.prototype.MulRange=function(b,c){var b,c,d,e,f,g,h,i;d=this;if((b.$high>c.$high||(b.$high===c.$high&&b.$low>c.$low))){return d.SetInt64(new $Int64(0,1));}else if((b.$high<0||(b.$high===0&&b.$low<=0))&&(c.$high>0||(c.$high===0&&c.$low>=0))){return d.SetInt64(new $Int64(0,0));}e=false;if((b.$high<0||(b.$high===0&&b.$low<0))){e=(f=(g=new $Int64(c.$high-b.$high,c.$low-b.$low),new $Int64(g.$high&0,(g.$low&1)>>>0)),(f.$high===0&&f.$low===0));h=new $Int64(-c.$high,-c.$low);i=new $Int64(-b.$high,-b.$low);b=h;c=i;}d.abs=d.abs.mulRange((new $Uint64(b.$high,b.$low)),(new $Uint64(c.$high,c.$low)));d.neg=e;return d;};BL.prototype.MulRange=function(b,c){return this.$val.MulRange(b,c);};BL.ptr.prototype.Binomial=function(b,c){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=this;if((g=$div64(b,new $Int64(0,2),false),(g.$high<c.$high||(g.$high===c.$high&&g.$low<c.$low)))&&(c.$high<b.$high||(c.$high===b.$high&&c.$low<=b.$low))){c=new $Int64(b.$high-c.$high,b.$low-c.$low);}h=new BL.ptr(false,BU.nil);i=new BL.ptr(false,BU.nil);d[0]=$clone(h,BL);e[0]=$clone(i,BL);d[0].MulRange((j=new $Int64(b.$high-c.$high,b.$low-c.$low),new $Int64(j.$high+0,j.$low+1)),b);e[0].MulRange(new $Int64(0,1),c);k=f.Quo(d[0],e[0]);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Binomial};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Binomial=function(b,c){return this.$val.Binomial(b,c);};BL.ptr.prototype.Quo=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=d.abs.div(BU.nil,b.abs,c.abs);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;d.abs=e[0];d.neg=d.abs.$length>0&&!(b.neg===c.neg);$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Quo};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Quo=function(b,c){return this.$val.Quo(b,c);};BL.ptr.prototype.Rem=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=(BU.nil).div(d.abs,b.abs,c.abs);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;d.abs=e[1];d.neg=d.abs.$length>0&&b.neg;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Rem};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Rem=function(b,c){return this.$val.Rem(b,c);};BL.ptr.prototype.QuoRem=function(b,c,d){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;g=e.abs.div(d.abs,b.abs,c.abs);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e.abs=f[0];d.abs=f[1];h=e.abs.$length>0&&!(b.neg===c.neg);i=d.abs.$length>0&&b.neg;e.neg=h;d.neg=i;$s=-1;return[e,d];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.QuoRem};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.QuoRem=function(b,c,d){return this.$val.QuoRem(b,c,d);};BL.ptr.prototype.Div=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;f=c.neg;d[0]=new BL.ptr(false,BU.nil);g=e.QuoRem(b,c,d[0]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d[0].neg){if(f){e.Add(e,BM);}else{e.Sub(e,BM);}}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Div};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Div=function(b,c){return this.$val.Div(b,c);};BL.ptr.prototype.Mod=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if(d===c||CD(d.abs,c.abs)){e=new BL.ptr(false,BU.nil).Set(c);}f=new BL.ptr(false,BU.nil);g=f.QuoRem(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d.neg){if(e.neg){d.Sub(d,e);}else{d.Add(d,e);}}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Mod};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Mod=function(b,c){return this.$val.Mod(b,c);};BL.ptr.prototype.DivMod=function(b,c,d){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=c;if(e===c||CD(e.abs,c.abs)){f=new BL.ptr(false,BU.nil).Set(c);}g=e.QuoRem(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d.neg){if(f.neg){e.Add(e,BM);d.Sub(d,f);}else{e.Sub(e,BM);d.Add(d,f);}}$s=-1;return[e,d];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.DivMod};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.DivMod=function(b,c,d){return this.$val.DivMod(b,c,d);};BL.ptr.prototype.Cmp=function(b){var b,c,d;c=0;d=this;if(d.neg===b.neg){c=d.abs.cmp(b.abs);if(d.neg){c=-c;}}else if(d.neg){c=-1;}else{c=1;}return c;};BL.prototype.Cmp=function(b){return this.$val.Cmp(b);};BP=function(b){var b,c,d,e,f;if(b.$length===0){return new $Uint64(0,0);}d=((c=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]),new $Uint64(0,c.constructor===Number?c:1)));if(true&&b.$length>1){return(e=$shiftLeft64(((f=(1>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+1]),new $Uint64(0,f.constructor===Number?f:1))),32),new $Uint64(e.$high|d.$high,(e.$low|d.$low)>>>0));}return d;};BL.ptr.prototype.Int64=function(){var b,c,d;b=this;d=((c=BP(b.abs),new $Int64(c.$high,c.$low)));if(b.neg){d=new $Int64(-d.$high,-d.$low);}return d;};BL.prototype.Int64=function(){return this.$val.Int64();};BL.ptr.prototype.Uint64=function(){var b;b=this;return BP(b.abs);};BL.prototype.Uint64=function(){return this.$val.Uint64();};BL.ptr.prototype.IsInt64=function(){var b,c,d,e;b=this;if(b.abs.$length<=2){d=((c=BP(b.abs),new $Int64(c.$high,c.$low)));return(d.$high>0||(d.$high===0&&d.$low>=0))||b.neg&&(e=new $Int64(-d.$high,-d.$low),(d.$high===e.$high&&d.$low===e.$low));}return false;};BL.prototype.IsInt64=function(){return this.$val.IsInt64();};BL.ptr.prototype.IsUint64=function(){var b;b=this;return!b.neg&&b.abs.$length<=2;};BL.prototype.IsUint64=function(){return this.$val.IsUint64();};BL.ptr.prototype.SetString=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=E.NewReader(b);g=d.scan(e,c);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[2];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DJ.nil,false];}i=e.ReadByte();j=i[1];if(!($interfaceIsEqual(j,D.EOF))){$s=-1;return[DJ.nil,false];}$s=-1;return[d,true];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.SetString};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.SetString=function(b,c){return this.$val.SetString(b,c);};BL.ptr.prototype.SetBytes=function(b){var b,c;c=this;c.abs=c.abs.setBytes(b);c.neg=false;return c;};BL.prototype.SetBytes=function(b){return this.$val.SetBytes(b);};BL.ptr.prototype.Bytes=function(){var b,c;b=this;c=$makeSlice(DG,($imul(b.abs.$length,4)));return $subslice(c,b.abs.bytes(c));};BL.prototype.Bytes=function(){return this.$val.Bytes();};BL.ptr.prototype.BitLen=function(){var b;b=this;return b.abs.bitLen();};BL.prototype.BitLen=function(){return this.$val.BitLen();};BL.ptr.prototype.Exp=function(b,c,d){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=BU.nil;if(!c.neg){f=c.abs;}g=BU.nil;if(!(d===DJ.nil)){g=d.abs;}h=e.abs.expNN(b.abs,f,g);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}e.abs=h;e.neg=e.abs.$length>0&&b.neg&&f.$length>0&&((((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])&1)>>>0)===1);if(e.neg&&g.$length>0){e.abs=e.abs.sub(g,e.abs);e.neg=false;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Exp};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Exp=function(b,c,d){return this.$val.Exp(b,c,d);};BL.ptr.prototype.GCD=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;if(d.Sign()<=0||e.Sign()<=0){f.SetInt64(new $Int64(0,0));if(!(b===DJ.nil)){b.SetInt64(new $Int64(0,0));}if(!(c===DJ.nil)){c.SetInt64(new $Int64(0,0));}$s=-1;return f;}if(b===DJ.nil&&c===DJ.nil){$s=1;continue;}$s=2;continue;case 1:g=f.binaryGCD(d,e);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;case 2:h=new BL.ptr(false,BU.nil).Set(d);i=new BL.ptr(false,BU.nil).Set(e);j=new BL.ptr(false,BU.nil);k=new BL.ptr(false,BU.nil).SetInt64(new $Int64(0,1));l=new BL.ptr(false,BU.nil).SetInt64(new $Int64(0,1));m=new BL.ptr(false,BU.nil);n=new BL.ptr(false,BU.nil);o=new BL.ptr(false,BU.nil);p=new BL.ptr(false,BU.nil);case 4:if(!(i.abs.$length>0)){$s=5;continue;}r=n.QuoRem(h,i,p);$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;n=q[0];p=q[1];s=i;t=p;u=h;h=s;i=t;p=u;o.Set(j);j.Mul(j,n);j.neg=!j.neg;j.Add(j,l);l.Set(o);o.Set(k);k.Mul(k,n);k.neg=!k.neg;k.Add(k,m);m.Set(o);$s=4;continue;case 5:if(!(b===DJ.nil)){BL.copy(b,l);}if(!(c===DJ.nil)){BL.copy(c,m);}BL.copy(f,h);$s=-1;return f;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.GCD};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.GCD=function(b,c,d,e){return this.$val.GCD(b,c,d,e);};BL.ptr.prototype.binaryGCD=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d;f=new BL.ptr(false,BU.nil);if(b.abs.$length>c.abs.$length){$s=2;continue;}if(b.abs.$length<c.abs.$length){$s=3;continue;}$s=4;continue;case 2:g=f.Rem(b,c);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;e.Set(c);$s=5;continue;case 3:h=f.Rem(c,b);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;e.Set(b);$s=5;continue;case 4:f.Set(c);e.Set(b);case 5:case 1:if(f.abs.$length===0){$s=-1;return e;}i=e.abs.trailingZeroBits();j=f.abs.trailingZeroBits();if(j<i){i=j;}e.Rsh(e,i);f.Rsh(f,i);k=new BL.ptr(false,BU.nil);if(!(((((l=e.abs,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]))&1)>>>0)===0))){k.Neg(f);}else{k.Set(e);}while(true){if(!(k.abs.$length>0)){break;}k.Rsh(k,k.abs.trailingZeroBits());if(k.neg){m=k;n=f;f=m;k=n;f.neg=f.abs.$length>0&&!f.neg;}else{o=k;p=e;e=o;k=p;}k.Sub(e,f);}$s=-1;return d.Lsh(e,i);}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.binaryGCD};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.binaryGCD=function(b,c){return this.$val.binaryGCD(b,c);};BL.ptr.prototype.Rand=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.neg=false;if(c.neg||(c.abs.$length===0)){d.abs=BU.nil;$s=-1;return d;}e=d.abs.random(b,c.abs,c.abs.bitLen());$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.abs=e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Rand};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Rand=function(b,c){return this.$val.Rand(b,c);};BL.ptr.prototype.ModInverse=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.neg){$s=1;continue;}$s=2;continue;case 1:e=new BL.ptr(false,BU.nil);f=e.Mod(b,c);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}b=f;case 2:g=new BL.ptr(false,BU.nil);h=g.GCD(d,DJ.nil,b,c);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;if(d.neg){d.Add(d,c);}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.ModInverse};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.ModInverse=function(b,c){return this.$val.ModInverse(b,c);};BQ=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];if((c.abs.$length===0)||((((g=c.abs,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]))&1)>>>0)===0)){$s=1;continue;}$s=2;continue;case 1:h=A.Sprintf("big: invalid 2nd argument to Int.Jacobi: need odd integer but got %s",new DC([c]));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(new $String(h));case 2:i=new BL.ptr(false,BU.nil);j=new BL.ptr(false,BU.nil);k=new BL.ptr(false,BU.nil);d[0]=$clone(i,BL);e[0]=$clone(j,BL);f[0]=$clone(k,BL);d[0].Set(b);e[0].Set(c);l=1;if(e[0].neg){if(d[0].neg){l=-1;}e[0].neg=false;}case 4:if(e[0].Cmp(BM)===0){$s=-1;return l;}if(d[0].abs.$length===0){$s=-1;return 0;}m=d[0].Mod(d[0],e[0]);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;if(d[0].abs.$length===0){$s=-1;return 0;}n=d[0].abs.trailingZeroBits();if(!((((n&1)>>>0)===0))){p=((o=e[0].abs,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]))&7)>>>0;if((p===3)||(p===5)){l=-l;}}f[0].Rsh(d[0],n);if(((((q=e[0].abs,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0]))&3)>>>0)===3)&&((((r=f[0].abs,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]))&3)>>>0)===3)){l=-l;}d[0].Set(e[0]);e[0].Set(f[0]);$s=4;continue;case 5:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:BQ};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Jacobi=BQ;BL.ptr.prototype.modSqrt3Mod4Prime=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.Set(c);d.Add(d,BM);d.Rsh(d,2);e=d.Exp(b,d,c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.modSqrt3Mod4Prime};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.modSqrt3Mod4Prime=function(b,c){return this.$val.modSqrt3Mod4Prime(b,c);};BL.ptr.prototype.modSqrtTonelliShanks=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];g=[g];h=[h];i=[i];j=this;g[0]=new BL.ptr(false,BU.nil);g[0].Sub(c,BM);k=g[0].abs.trailingZeroBits();g[0].Rsh(g[0],k);f[0]=new BL.ptr(false,BU.nil);f[0].SetInt64(new $Int64(0,2));case 1:l=BQ(f[0],c);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!(!((l===-1)))){$s=2;continue;}f[0].Add(f[0],BM);$s=1;continue;case 2:m=new BL.ptr(false,BU.nil);n=new BL.ptr(false,BU.nil);o=new BL.ptr(false,BU.nil);p=new BL.ptr(false,BU.nil);i[0]=$clone(m,BL);d[0]=$clone(n,BL);e[0]=$clone(o,BL);h[0]=$clone(p,BL);i[0].Add(g[0],BM);i[0].Rsh(i[0],1);q=i[0].Exp(b,i[0],c);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;r=d[0].Exp(b,g[0],c);$s=5;case 5:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;s=e[0].Exp(f[0],g[0],c);$s=6;case 6:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;t=k;case 7:u=0;h[0].Set(d[0]);case 9:if(!(!((h[0].Cmp(BM)===0)))){$s=10;continue;}v=h[0].Mul(h[0],h[0]).Mod(h[0],c);$s=11;case 11:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;u=u+(1)>>>0;$s=9;continue;case 10:if(u===0){$s=-1;return j.Set(i[0]);}w=h[0].SetInt64(new $Int64(0,0)).SetBit(h[0],((((t-u>>>0)-1>>>0)>>0)),1).Exp(e[0],h[0],c);$s=12;case 12:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;x=e[0].Mul(h[0],h[0]).Mod(e[0],c);$s=13;case 13:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;y=i[0].Mul(i[0],h[0]).Mod(i[0],c);$s=14;case 14:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;z=d[0].Mul(d[0],e[0]).Mod(d[0],c);$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;t=u;$s=7;continue;case 8:$s=-1;return DJ.nil;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.modSqrtTonelliShanks};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.modSqrtTonelliShanks=function(b,c){return this.$val.modSqrtTonelliShanks(b,c);};BL.ptr.prototype.ModSqrt=function(b,c){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=BQ(b,c);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(f===(-1)){$s=-1;return DJ.nil;}else if(f===(0)){$s=-1;return d.SetInt64(new $Int64(0,0));}else if(f===(1)){$s=1;continue;}case 1:if(b.neg||b.Cmp(c)>=0){$s=3;continue;}$s=4;continue;case 3:g=new BL.ptr(false,BU.nil).Mod(b,c);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}b=g;case 4:if(c.abs.$length>0&&((h=(i=c.abs,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))%4,h===h?h:$throwRuntimeError("integer divide by zero"))===3)){$s=6;continue;}$s=7;continue;case 6:j=d.modSqrt3Mod4Prime(b,c);$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;case 7:k=d.modSqrtTonelliShanks(b,c);$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.ModSqrt};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.ModSqrt=function(b,c){return this.$val.ModSqrt(b,c);};BL.ptr.prototype.Lsh=function(b,c){var b,c,d;d=this;d.abs=d.abs.shl(b.abs,c);d.neg=b.neg;return d;};BL.prototype.Lsh=function(b,c){return this.$val.Lsh(b,c);};BL.ptr.prototype.Rsh=function(b,c){var b,c,d,e;d=this;if(b.neg){e=d.abs.sub(b.abs,BV);e=e.shr(e,c);d.abs=e.add(e,BV);d.neg=true;return d;}d.abs=d.abs.shr(b.abs,c);d.neg=false;return d;};BL.prototype.Rsh=function(b,c){return this.$val.Rsh(b,c);};BL.ptr.prototype.Bit=function(b){var b,c,d,e;c=this;if(b===0){if(c.abs.$length>0){return(((((d=c.abs,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))&1)>>>0)>>>0));}return 0;}if(b<0){$panic(new $String("negative bit index"));}if(c.neg){e=(BU.nil).sub(c.abs,BV);return(e.bit(((b>>>0)))^1)>>>0;}return c.abs.bit(((b>>>0)));};BL.prototype.Bit=function(b){return this.$val.Bit(b);};BL.ptr.prototype.SetBit=function(b,c,d){var b,c,d,e,f;e=this;if(c<0){$panic(new $String("negative bit index"));}if(b.neg){f=e.abs.sub(b.abs,BV);f=f.setBit(f,((c>>>0)),(d^1)>>>0);e.abs=f.add(f,BV);e.neg=e.abs.$length>0;return e;}e.abs=e.abs.setBit(b.abs,((c>>>0)),d);e.neg=false;return e;};BL.prototype.SetBit=function(b,c,d){return this.$val.SetBit(b,c,d);};BL.ptr.prototype.And=function(b,c){var b,c,d,e,f,g,h,i;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.or(e,f),BV);d.neg=true;return d;}d.abs=d.abs.and(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=c;h=b;b=g;c=h;}i=(BU.nil).sub(c.abs,BV);d.abs=d.abs.andNot(b.abs,i);d.neg=false;return d;};BL.prototype.And=function(b,c){return this.$val.And(b,c);};BL.ptr.prototype.AndNot=function(b,c){var b,c,d,e,f,g,h;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.andNot(f,e);d.neg=false;return d;}d.abs=d.abs.andNot(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=(BU.nil).sub(b.abs,BV);d.abs=d.abs.add(d.abs.or(g,c.abs),BV);d.neg=true;return d;}h=(BU.nil).sub(c.abs,BV);d.abs=d.abs.and(b.abs,h);d.neg=false;return d;};BL.prototype.AndNot=function(b,c){return this.$val.AndNot(b,c);};BL.ptr.prototype.Or=function(b,c){var b,c,d,e,f,g,h,i;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.and(e,f),BV);d.neg=true;return d;}d.abs=d.abs.or(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=c;h=b;b=g;c=h;}i=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.andNot(i,b.abs),BV);d.neg=true;return d;};BL.prototype.Or=function(b,c){return this.$val.Or(b,c);};BL.ptr.prototype.Xor=function(b,c){var b,c,d,e,f,g,h,i;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.xor(e,f);d.neg=false;return d;}d.abs=d.abs.xor(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=c;h=b;b=g;c=h;}i=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.xor(b.abs,i),BV);d.neg=true;return d;};BL.prototype.Xor=function(b,c){return this.$val.Xor(b,c);};BL.ptr.prototype.Not=function(b){var b,c;c=this;if(b.neg){c.abs=c.abs.sub(b.abs,BV);c.neg=false;return c;}c.abs=c.abs.add(b.abs,BV);c.neg=true;return c;};BL.prototype.Not=function(b){return this.$val.Not(b);};BL.ptr.prototype.Sqrt=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.neg){$panic(new $String("square root of negative number"));}c.neg=false;d=c.abs.sqrt(b.abs);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c.abs=d;$s=-1;return c;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Sqrt};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Sqrt=function(b){return this.$val.Sqrt(b);};BL.ptr.prototype.Text=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c===DJ.nil){$s=-1;return"<nil>";}d=c.abs.itoa(c.neg,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return($bytesToString(d));}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Text};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Text=function(b){return this.$val.Text(b);};BL.ptr.prototype.Append=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d===DJ.nil){$s=-1;return $appendSlice(b,"<nil>");}e=b;f=d.abs.itoa(d.neg,c);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=-1;return $appendSlice(e,g);}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Append};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Append=function(b,c){return this.$val.Append(b,c);};BL.ptr.prototype.String=function(){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Text(10);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.String};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.String=function(){return this.$val.String();};BR=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.length>0){$s=1;continue;}$s=2;continue;case 1:e=(new DG($stringToBytes(c)));case 3:if(!(d>0)){$s=4;continue;}f=b.Write(e);$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;d=d-(1)>>0;$s=3;continue;case 4:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BR};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BL.ptr.prototype.Format=function(b,c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=0;f=c;if(f===(98)){$s=2;continue;}if(f===(111)){$s=3;continue;}if((f===(100))||(f===(115))||(f===(118))){$s=4;continue;}if((f===(120))||(f===(88))){$s=5;continue;}$s=6;continue;case 2:e=2;$s=7;continue;case 3:e=8;$s=7;continue;case 4:e=10;$s=7;continue;case 5:e=16;$s=7;continue;case 6:g=b;h=new $Int32(c);i=d.String();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=new $String(i);k=A.Fprintf(g,"%%!%c(big.Int=%s)",new DC([h,j]));$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;$s=-1;return;case 7:case 1:if(d===DJ.nil){$s=10;continue;}$s=11;continue;case 10:l=A.Fprint(b,new DC([new $String("<nil>")]));$s=12;case 12:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;$s=-1;return;case 11:m="";if(d.neg){$s=14;continue;}n=b.Flag(43);$s=18;case 18:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n){$s=15;continue;}o=b.Flag(32);$s=19;case 19:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(o){$s=16;continue;}$s=17;continue;case 14:m="-";$s=17;continue;case 15:m="+";$s=17;continue;case 16:m=" ";case 17:case 13:p="";q=b.Flag(35);$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(q){$s=20;continue;}$s=21;continue;case 20:r=c;if(r===(111)){p="0";}else if(r===(120)){p="0x";}else if(r===(88)){p="0X";}case 21:s=d.abs.utoa(e);$s=23;case 23:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(c===88){u=t;v=0;while(true){if(!(v<u.$length)){break;}w=v;x=((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]);if(97<=x&&x<=122){((w<0||w>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+w]=(65+((x-97<<24>>>24))<<24>>>24));}v++;}}y=0;z=0;aa=0;ac=b.Precision();$s=24;case 24:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(ae){if(t.$length<ad){z=ad-t.$length>>0;}else if((t.$length===1)&&((0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])===48)&&(ad===0)){$s=-1;return;}}af=((m.length+p.length>>0)+z>>0)+t.$length>>0;ah=b.Width();$s=25;case 25:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=ag[0];aj=ag[1];if(aj&&af<ai){$s=26;continue;}$s=27;continue;case 26:ak=ai-af>>0;al=b.Flag(45);$s=33;case 33:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}if(al){$s=29;continue;}am=b.Flag(48);$s=34;case 34:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(am&&!ae){$s=30;continue;}$s=31;continue;case 29:aa=ak;$s=32;continue;case 30:z=ak;$s=32;continue;case 31:y=ak;case 32:case 28:case 27:$r=BR(b," ",y);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BR(b,m,1);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BR(b,p,1);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BR(b,"0",z);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}an=b.Write(t);$s=39;case 39:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}an;$r=BR(b," ",aa);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Format};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Format=function(b,c){return this.$val.Format(b,c);};BL.ptr.prototype.scan=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=BS(b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DJ.nil,0,h];}j=d.abs.scan(b,c,false);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;d.abs=i[0];c=i[1];h=i[3];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DJ.nil,c,h];}d.neg=d.abs.$length>0&&g;$s=-1;return[d,c,$ifaceNil];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.scan=function(b,c){return this.$val.scan(b,c);};BS=function(b){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=false;d=$ifaceNil;e=0;g=b.ReadByte();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e=f[0];d=f[1];if(!($interfaceIsEqual(d,$ifaceNil))){h=false;i=d;c=h;d=i;$s=-1;return[c,d];}j=e;if(j===(45)){$s=3;continue;}if(j===(43)){$s=4;continue;}$s=5;continue;case 3:c=true;$s=6;continue;case 4:$s=6;continue;case 5:k=b.UnreadByte();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 6:case 2:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:BS};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BT.ptr.prototype.ReadByte=function(){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.ScanState.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];if(!((f===1))&&$interfaceIsEqual(g,$ifaceNil)){$s=2;continue;}$s=3;continue;case 2:h=A.Errorf("invalid rune %#U",new DC([new $Int32(e)]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 3:$s=-1;return[((e<<24>>>24)),g];}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.ReadByte};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.ReadByte=function(){return this.$val.ReadByte();};BT.ptr.prototype.UnreadByte=function(){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.ScanState.UnreadRune();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.UnreadByte};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.UnreadByte=function(){return this.$val.UnreadByte();};BL.ptr.prototype.Scan=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=b.SkipSpace();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=0;f=c;if(f===(98)){e=2;}else if(f===(111)){e=8;}else if(f===(100)){e=10;}else if((f===(120))||(f===(88))){e=16;}else if((f===(115))||(f===(118))){}else{$s=-1;return J.New("Int.Scan: invalid verb");}i=d.scan((h=new BT.ptr(b),new h.constructor.elem(h)),e);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;j=g[2];$s=-1;return j;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Scan=function(b,c){return this.$val.Scan(b,c);};BL.ptr.prototype.GobEncode=function(){var b,c,d,e;b=this;if(b===DJ.nil){return[DG.nil,$ifaceNil];}c=$makeSlice(DG,(1+($imul(b.abs.$length,4))>>0));d=b.abs.bytes(c)-1>>0;e=2;if(b.neg){e=(e|(1))>>>0;}((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=e);return[$subslice(c,d),$ifaceNil];};BL.prototype.GobEncode=function(){return this.$val.GobEncode();};BL.ptr.prototype.GobDecode=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.$length===0){BL.copy(c,new BL.ptr(false,BU.nil));$s=-1;return $ifaceNil;}d=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]);if(!(((d>>>1<<24>>>24)===1))){$s=1;continue;}$s=2;continue;case 1:e=A.Errorf("Int.GobDecode: encoding version %d not supported",new DC([new $Uint8((d>>>1<<24>>>24))]));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:c.neg=!((((d&1)>>>0)===0));c.abs=c.abs.setBytes($subslice(b,1));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.GobDecode};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.GobDecode=function(b){return this.$val.GobDecode(b);};BL.ptr.prototype.MarshalText=function(){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=DG.nil;c=$ifaceNil;d=this;if(d===DJ.nil){e=(new DG($stringToBytes("<nil>")));f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}h=d.abs.itoa(d.neg,10);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=$ifaceNil;b=g;c=i;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.MarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.MarshalText=function(){return this.$val.MarshalText();};BL.ptr.prototype.UnmarshalText=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.SetString(($bytesToString(b)),0);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[1];if(!f){$s=2;continue;}$s=3;continue;case 2:g=A.Errorf("math/big: cannot unmarshal %q into a *big.Int",new DC([b]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.UnmarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.UnmarshalText=function(b){return this.$val.UnmarshalText(b);};BL.ptr.prototype.MarshalJSON=function(){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.MarshalText();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.MarshalJSON};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BL.ptr.prototype.UnmarshalJSON=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(($bytesToString(b))==="null"){$s=-1;return $ifaceNil;}d=c.UnmarshalText(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.UnmarshalJSON};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.UnmarshalJSON=function(b){return this.$val.UnmarshalJSON(b);};BU.prototype.clear=function(){var b,c,d,e;b=this;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=d;((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]=0);d++;}};$ptrType(BU).prototype.clear=function(){return this.$get().clear();};BU.prototype.norm=function(){var b,c,d;b=this;c=b.$length;while(true){if(!(c>0&&((d=c-1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d]))===0))){break;}c=c-(1)>>0;}return $subslice(b,0,c);};$ptrType(BU).prototype.norm=function(){return this.$get().norm();};BU.prototype.make=function(b){var b,c;c=this;if(b<=c.$capacity){return $subslice(c,0,b);}return $makeSlice(BU,b,(b+4>>0));};$ptrType(BU).prototype.make=function(b){return this.$get().make(b);};BU.prototype.setWord=function(b){var b,c;c=this;if(b===0){return $subslice(c,0,0);}c=c.make(1);(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=b);return c;};$ptrType(BU).prototype.setWord=function(b){return this.$get().setWord(b);};BU.prototype.setUint64=function(b){var b,c,d,e;c=this;d=((b.$low>>>0));if((e=(new $Uint64(0,d.constructor===Number?d:1)),(e.$high===b.$high&&e.$low===b.$low))){return c.setWord(d);}c=c.make(2);(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]=(($shiftRightUint64(b,32).$low>>>0)));(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=((b.$low>>>0)));return c;};$ptrType(BU).prototype.setUint64=function(b){return this.$get().setUint64(b);};BU.prototype.set=function(b){var b,c;c=this;c=c.make(b.$length);$copySlice(c,b);return c;};$ptrType(BU).prototype.set=function(b){return this.$get().set(b);};BU.prototype.add=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;if(e<f){return d.add(c,b);}else if((e===0)){return $subslice(d,0,0);}else if((f===0)){return d.set(b);}d=d.make(e+1>>0);h=AE((g=$subslice(d,0,f),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(e>f){h=AG((i=$subslice(d,f,e),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length)),(j=$subslice(b,f),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length)),h);}((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]=h);return d.norm();};$ptrType(BU).prototype.add=function(b,c){return this.$get().add(b,c);};BU.prototype.sub=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;if(e<f){$panic(new $String("underflow"));}else if((e===0)){return $subslice(d,0,0);}else if((f===0)){return d.set(b);}d=d.make(e);h=AF((g=$subslice(d,0,f),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(e>f){h=AH((i=$subslice(d,f),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length)),(j=$subslice(b,f),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length)),h);}if(!((h===0))){$panic(new $String("underflow"));}return d.norm();};$ptrType(BU).prototype.sub=function(b,c){return this.$get().sub(b,c);};BU.prototype.cmp=function(b){var b,c,d,e,f,g;c=0;d=this;e=d.$length;f=b.$length;if(!((e===f))||(e===0)){if(e<f){c=-1;}else if(e>f){c=1;}return c;}g=e-1>>0;while(true){if(!(g>0&&(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])===((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])))){break;}g=g-(1)>>0;}if(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])<((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])){c=-1;}else if(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])>((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])){c=1;}return c;};$ptrType(BU).prototype.cmp=function(b){return this.$get().cmp(b);};BU.prototype.mulAddWW=function(b,c,d){var b,c,d,e,f,g;e=this;f=b.$length;if((f===0)||(c===0)){return e.setWord(d);}e=e.make(f+1>>0);((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]=AK((g=$subslice(e,0,f),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),c,d));return e.norm();};$ptrType(BU).prototype.mulAddWW=function(b,c,d){return this.$get().mulAddWW(b,c,d);};BY=function(b,c,d){var b,c,d,e,f,g,h,i,j;$subslice(b,0,(c.$length+d.$length>>0)).clear();e=d;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!((h===0))){(j=c.$length+g>>0,((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]=AL((i=$subslice(b,g,(g+c.$length>>0)),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length)),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length),h)));}f++;}};BU.prototype.montgomery=function(b,c,d,e,f){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;g=this;if(!((b.$length===f))||!((c.$length===f))||!((d.$length===f))){$panic(new $String("math/big: mismatched montgomery number lengths"));}g=g.make(f);g.clear();h=0;i=0;while(true){if(!(i<f)){break;}j=((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i]);k=AL($subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),j);l=$imul((0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]),e)>>>0;m=AL($subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),l);$copySlice(g,$subslice(g,1));n=h+k>>>0;o=n+m>>>0;(p=f-1>>0,((p<0||p>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+p]=o));if(n<k||o<m){h=1;}else{h=0;}i=i+(1)>>0;}if(!((h===0))){AF($subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length));}return g;};$ptrType(BU).prototype.montgomery=function(b,c,d,e,f){return this.$get().montgomery(b,c,d,e,f);};BZ=function(b,c,d){var b,c,d,e,f,g,h;f=AE((e=$subslice(b,0,d),$subslice(new DI(e.$array),e.$offset,e.$offset+e.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(!((f===0))){AG((g=$subslice(b,d,(d+(d>>1>>0)>>0)),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),(h=$subslice(b,d),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),f);}};CA=function(b,c,d){var b,c,d,e,f,g,h;f=AF((e=$subslice(b,0,d),$subslice(new DI(e.$array),e.$offset,e.$offset+e.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(!((f===0))){AH((g=$subslice(b,d,(d+(d>>1>>0)>>0)),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),(h=$subslice(b,d),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),f);}};CC=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;e=d.$length;if(!(((e&1)===0))||e<CB||e<2){BY(b,c,d);return;}f=e>>1>>0;g=$subslice(c,f);h=$subslice(c,0,f);i=g;j=h;k=$subslice(d,f);l=$subslice(d,0,f);m=k;n=l;CC(b,j,n);CC($subslice(b,e),i,m);o=1;p=$subslice(b,($imul(2,e)),(($imul(2,e))+f>>0));if(!((AF($subslice(new DI(p.$array),p.$offset,p.$offset+p.$length),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length))===0))){o=-o;AF($subslice(new DI(p.$array),p.$offset,p.$offset+p.$length),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length));}q=$subslice(b,(($imul(2,e))+f>>0),($imul(3,e)));if(!((AF($subslice(new DI(q.$array),q.$offset,q.$offset+q.$length),$subslice(new DI(n.$array),n.$offset,n.$offset+n.$length),$subslice(new DI(m.$array),m.$offset,m.$offset+m.$length))===0))){o=-o;AF($subslice(new DI(q.$array),q.$offset,q.$offset+q.$length),$subslice(new DI(m.$array),m.$offset,m.$offset+m.$length),$subslice(new DI(n.$array),n.$offset,n.$offset+n.$length));}r=$subslice(b,($imul(e,3)));CC(r,p,q);s=$subslice(b,($imul(e,4)));$copySlice(s,$subslice(b,0,($imul(e,2))));BZ($subslice(b,f),s,e);BZ($subslice(b,f),$subslice(s,e),e);if(o>0){BZ($subslice(b,f),r,e);}else{CA($subslice(b,f),r,e);}};CD=function(b,c){var b,c,d,e;return b.$capacity>0&&c.$capacity>0&&(d=$subslice(b,0,b.$capacity),$indexPtr(d.$array,d.$offset+(b.$capacity-1>>0),DL))===(e=$subslice(c,0,c.$capacity),$indexPtr(e.$array,e.$offset+(c.$capacity-1>>0),DL));};CE=function(b,c,d){var b,c,d,e,f,g,h,i,j,k;e=c.$length;if(e>0){h=AE((f=$subslice(b,d,(d+e>>0)),$subslice(new DI(f.$array),f.$offset,f.$offset+f.$length)),(g=$subslice(b,d),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(!((h===0))){i=d+e>>0;if(i<b.$length){AG((j=$subslice(b,i),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length)),(k=$subslice(b,i),$subslice(new DI(k.$array),k.$offset,k.$offset+k.$length)),h);}}}};CF=function(b,c){var b,c;if(b>c){return b;}return c;};CG=function(b){var b,c,d;c=0;while(true){if(!(b>CB)){break;}b=(b>>$min((1),31))>>0;c=c+(1)>>>0;}return(d=c,d<32?(b<<d):0)>>0;};BU.prototype.mul=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;d=this;e=b.$length;f=c.$length;if(e<f){return d.mul(c,b);}else if((e===0)||(f===0)){return $subslice(d,0,0);}else if((f===1)){return d.mulAddWW(b,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]),0);}if(CD(d,b)||CD(d,c)){d=BU.nil;}if(f<CB){d=d.make(e+f>>0);BY(d,b,c);return d.norm();}g=CG(f);h=$subslice(b,0,g);i=$subslice(c,0,g);d=d.make(CF($imul(6,g),e+f>>0));CC(d,h,i);d=$subslice(d,0,(e+f>>0));$subslice(d,($imul(2,g))).clear();if(g<f||!((e===f))){j=BU.nil;k=h.norm();l=$subslice(c,g);j=j.mul(k,l);CE(d,j,g);m=i.norm();n=g;while(true){if(!(n<b.$length)){break;}o=$subslice(b,n);if(o.$length>g){o=$subslice(o,0,g);}o=o.norm();j=j.mul(o,m);CE(d,j,n);j=j.mul(o,l);CE(d,j,n+g>>0);n=n+(g)>>0;}}return d.norm();};$ptrType(BU).prototype.mul=function(b,c){return this.$get().mul(b,c);};BU.prototype.mulRange=function(b,c){var b,c,d,e,f;d=this;if((b.$high===0&&b.$low===0)){return d.setUint64(new $Uint64(0,0));}else if((b.$high>c.$high||(b.$high===c.$high&&b.$low>c.$low))){return d.setUint64(new $Uint64(0,1));}else if((b.$high===c.$high&&b.$low===c.$low)){return d.setUint64(b);}else if((e=new $Uint64(b.$high+0,b.$low+1),(e.$high===c.$high&&e.$low===c.$low))){return d.mul((BU.nil).setUint64(b),(BU.nil).setUint64(c));}f=$div64((new $Uint64(b.$high+c.$high,b.$low+c.$low)),new $Uint64(0,2),false);return d.mul((BU.nil).mulRange(b,f),(BU.nil).mulRange(new $Uint64(f.$high+0,f.$low+1),c));};$ptrType(BU).prototype.mulRange=function(b,c){return this.$get().mulRange(b,c);};BU.prototype.divW=function(b,c){var b,c,d,e,f,g;d=BU.nil;e=0;f=this;g=b.$length;if((c===0)){$panic(new $String("division by zero"));}else if((c===1)){d=f.set(b);return[d,e];}else if((g===0)){d=$subslice(f,0,0);return[d,e];}f=f.make(g);e=AM($subslice(new DI(f.$array),f.$offset,f.$offset+f.$length),0,$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),c);d=f.norm();return[d,e];};$ptrType(BU).prototype.divW=function(b,c){return this.$get().divW(b,c);};BU.prototype.div=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BU.nil;f=BU.nil;g=this;if(d.$length===0){$panic(new $String("division by zero"));}if(c.cmp(d)<0){e=$subslice(g,0,0);f=b.set(c);$s=-1;return[e,f];}if(d.$length===1){h=0;i=g.divW(c,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));e=i[0];h=i[1];f=b.setWord(h);$s=-1;return[e,f];}k=g.divLarge(b,c,d);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;e=j[0];f=j[1];$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BU.prototype.div};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.div=function(b,c,d){return this.$get().div(b,c,d);};CH=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=DM.nil;d=CJ.Get();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){c=$assertType(e,DM);}if(c===DM.nil){c=$newDataPointer(BU.nil,DM);}c.$set(c.make(b));$s=-1;return c;}return;}if($f===undefined){$f={$blk:CH};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CI=function(b){var b;CJ.Put(b);};BU.prototype.divLarge=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BU.nil;f=BU.nil;g=this;h=d.$length;i=c.$length-h>>0;if(CD(g,c)||CD(g,d)){g=BU.nil;}e=g.make(i+1>>0);j=CH(h+1>>0);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=k.$get();if(CD(b,c)||CD(b,d)){b=BU.nil;}b=b.make(c.$length+1>>0);b.clear();m=DM.nil;o=R((n=h-1>>0,((n<0||n>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+n])));if(o>0){$s=2;continue;}$s=3;continue;case 2:p=CH(h);$s=4;case 4:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}m=p;q=m.$get();AI($subslice(new DI(q.$array),q.$offset,q.$offset+q.$length),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),o);d=q;case 3:(s=c.$length,((s<0||s>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+s]=AI((r=$subslice(b,0,c.$length),$subslice(new DI(r.$array),r.$offset,r.$offset+r.$length)),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length),o)));u=(t=h-1>>0,((t<0||t>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+t]));v=i;while(true){if(!(v>=0)){break;}w=4294967295;y=(x=v+h>>0,((x<0||x>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+x]));if(!((y===u))){z=0;aa=AD(y,(ab=(v+h>>0)-1>>0,((ab<0||ab>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ab])),u);w=aa[0];z=aa[1];ad=(ac=h-2>>0,((ac<0||ac>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+ac]));ae=AC(w,ad);af=ae[0];ag=ae[1];ai=(ah=(v+h>>0)-2>>0,((ah<0||ah>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ah]));while(true){if(!(CK(af,ag,z,ai))){break;}w=w-(1)>>>0;aj=z;z=z+(u)>>>0;if(z<aj){break;}ak=AC(w,ad);af=ak[0];ag=ak[1];}}((h<0||h>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+h]=AK((al=$subslice(l,0,h),$subslice(new DI(al.$array),al.$offset,al.$offset+al.$length)),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),w,0));ao=AF((am=$subslice(b,v,(v+l.$length>>0)),$subslice(new DI(am.$array),am.$offset,am.$offset+am.$length)),(an=$subslice(b,v),$subslice(new DI(an.$array),an.$offset,an.$offset+an.$length)),$subslice(new DI(l.$array),l.$offset,l.$offset+l.$length));if(!((ao===0))){ar=AE((ap=$subslice(b,v,(v+h>>0)),$subslice(new DI(ap.$array),ap.$offset,ap.$offset+ap.$length)),(aq=$subslice(b,v),$subslice(new DI(aq.$array),aq.$offset,aq.$offset+aq.$length)),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length));as=v+h>>0;((as<0||as>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+as]=(((as<0||as>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+as])+(ar)>>>0));w=w-(1)>>>0;}((v<0||v>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+v]=w);v=v-(1)>>0;}if(!(m===DM.nil)){CI(m);}CI(k);e=e.norm();AJ($subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),o);f=b.norm();at=e;au=f;e=at;f=au;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BU.prototype.divLarge};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.divLarge=function(b,c,d){return this.$get().divLarge(b,c,d);};BU.prototype.bitLen=function(){var b,c;b=this;c=b.$length-1>>0;if(c>=0){return($imul(c,32))+B.Len(((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>>0)))>>0;}return 0;};$ptrType(BU).prototype.bitLen=function(){return this.$get().bitLen();};BU.prototype.trailingZeroBits=function(){var b,c;b=this;if(b.$length===0){return 0;}c=0;while(true){if(!(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===0)){break;}c=c+(1)>>>0;}return(c*32>>>0)+((B.TrailingZeros(((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>>0)))>>>0))>>>0;};$ptrType(BU).prototype.trailingZeroBits=function(){return this.$get().trailingZeroBits();};BU.prototype.shl=function(b,c){var b,c,d,e,f,g,h,i;d=this;e=b.$length;if(e===0){return $subslice(d,0,0);}g=e+(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;d=d.make(g+1>>0);((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=AI((h=$subslice(d,(g-e>>0),g),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),(i=c%32,i===i?i:$throwRuntimeError("integer divide by zero"))));$subslice(d,0,(g-e>>0)).clear();return d.norm();};$ptrType(BU).prototype.shl=function(b,c){return this.$get().shl(b,c);};BU.prototype.shr=function(b,c){var b,c,d,e,f,g,h,i;d=this;e=b.$length;g=e-(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;if(g<=0){return $subslice(d,0,0);}d=d.make(g);AJ($subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),(h=$subslice(b,(e-g>>0)),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),(i=c%32,i===i?i:$throwRuntimeError("integer divide by zero")));return d.norm();};$ptrType(BU).prototype.shr=function(b,c){return this.$get().shr(b,c);};BU.prototype.setBit=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l;e=this;g=(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0));j=(h=((i=c%32,i===i?i:$throwRuntimeError("integer divide by zero"))),h<32?(1<<h):0)>>>0;k=b.$length;l=d;if(l===(0)){e=e.make(k);$copySlice(e,b);if(g>=k){return e;}((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=((((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g])&~(j))>>>0));return e.norm();}else if(l===(1)){if(g>=k){e=e.make(g+1>>0);$subslice(e,k).clear();}else{e=e.make(k);}$copySlice(e,b);((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=((((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g])|(j))>>>0));return e;}$panic(new $String("set bit is not 0 or 1"));};$ptrType(BU).prototype.setBit=function(b,c,d){return this.$get().setBit(b,c,d);};BU.prototype.bit=function(b){var b,c,d,e,f,g;c=this;e=(d=b/32,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero"));if(e>=((c.$length>>>0))){return 0;}return((((((f=((g=b%32,g===g?g:$throwRuntimeError("integer divide by zero"))),f<32?(((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e])>>>f):0)>>>0)&1)>>>0)>>>0));};$ptrType(BU).prototype.bit=function(b){return this.$get().bit(b);};BU.prototype.and=function(b,c){var b,c,d,e,f,g;d=this;e=b.$length;f=c.$length;if(e>f){e=f;}d=d.make(e);g=0;while(true){if(!(g<e)){break;}((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])&((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))>>>0));g=g+(1)>>0;}return d.norm();};$ptrType(BU).prototype.and=function(b,c){return this.$get().and(b,c);};BU.prototype.andNot=function(b,c){var b,c,d,e,f,g;d=this;e=b.$length;f=c.$length;if(f>e){f=e;}d=d.make(e);g=0;while(true){if(!(g<f)){break;}((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])&~((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))>>>0));g=g+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(b,f,e));return d.norm();};$ptrType(BU).prototype.andNot=function(b,c){return this.$get().andNot(b,c);};BU.prototype.or=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;g=b;if(e<f){h=e;i=f;f=h;e=i;g=c;}d=d.make(e);j=0;while(true){if(!(j<f)){break;}((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])|((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]))>>>0));j=j+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(g,f,e));return d.norm();};$ptrType(BU).prototype.or=function(b,c){return this.$get().or(b,c);};BU.prototype.xor=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;g=b;if(e<f){h=e;i=f;f=h;e=i;g=c;}d=d.make(e);j=0;while(true){if(!(j<f)){break;}((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])^((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]))>>>0));j=j+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(g,f,e));return d.norm();};$ptrType(BU).prototype.xor=function(b,c){return this.$get().xor(b,c);};CK=function(b,c,d,e){var b,c,d,e;return b>d||(b===d)&&c>e;};BU.prototype.modW=function(b){var b,c,d,e;c=0;d=this;e=BU.nil;e=e.make(d.$length);c=AM($subslice(new DI(e.$array),e.$offset,e.$offset+e.$length),0,$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),b);return c;};$ptrType(BU).prototype.modW=function(b){return this.$get().modW(b);};BU.prototype.random=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(CD(e,c)){e=BU.nil;}e=e.make(c.$length);g=(((f=d%32,f===f?f:$throwRuntimeError("integer divide by zero"))>>>0));if(g===0){g=32;}i=(((((h=g,h<32?(1<<h):0)>>>0))-1>>>0));case 1:j=32;if(j===(32)){$s=4;continue;}if(j===(64)){$s=5;continue;}$s=6;continue;case 4:k=e;l=0;case 8:if(!(l<k.$length)){$s=9;continue;}m=l;n=b.Uint32();$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]=((n>>>0)));l++;$s=8;continue;case 9:$s=7;continue;case 5:o=e;p=0;case 11:if(!(p<o.$length)){$s=12;continue;}q=p;r=b.Uint32();$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}((q<0||q>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+q]=((((r>>>0))|0)>>>0));p++;$s=11;continue;case 12:$s=7;continue;case 6:$panic(new $String("unknown word size"));case 7:case 3:s=c.$length-1>>0;((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s]=((((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s])&(i))>>>0));if(e.cmp(c)<0){$s=2;continue;}$s=1;continue;case 2:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.random};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.random=function(b,c,d){return this.$get().random(b,c,d);};BU.prototype.expNN=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(CD(e,b)||CD(e,c)){e=BU.nil;}if((d.$length===1)&&((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===1)){$s=-1;return e.setWord(0);}if(c.$length===0){$s=-1;return e.setWord(1);}if((c.$length===1)&&((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])===1)&&!((d.$length===0))){$s=1;continue;}$s=2;continue;case 1:g=e.div(e,b,d);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e=f[1];$s=-1;return e;case 2:if(!((d.$length===0))){e=e.make(d.$length);}e=e.set(b);if(b.cmp(BV)>0&&c.$length>1&&d.$length>0){$s=4;continue;}$s=5;continue;case 4:if((((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])&1)>>>0)===1){$s=6;continue;}$s=7;continue;case 6:h=e.expNNMontgomery(b,c,d);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 7:i=e.expNNWindowed(b,c,d);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;case 5:k=(j=c.$length-1>>0,((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]));l=R(k)+1>>>0;k=(m=(l),m<32?(k<<m):0)>>>0;n=BU.nil;o=32-((l>>0))>>0;p=BU.nil;q=BU.nil;r=p;s=q;t=0;case 10:if(!(t<o)){$s=11;continue;}r=r.mul(e,e);u=e;v=r;r=u;e=v;if(!((((k&2147483648)>>>0)===0))){r=r.mul(e,b);w=e;x=r;r=w;e=x;}if(!((d.$length===0))){$s=12;continue;}$s=13;continue;case 12:z=r.div(s,e,d);$s=14;case 14:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;r=y[0];s=y[1];aa=n;ab=e;ac=r;ad=s;r=aa;s=ab;n=ac;e=ad;case 13:k=(ae=(1),ae<32?(k<<ae):0)>>>0;t=t+(1)>>0;$s=10;continue;case 11:af=c.$length-2>>0;case 15:if(!(af>=0)){$s=16;continue;}k=((af<0||af>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+af]);ag=0;case 17:if(!(ag<32)){$s=18;continue;}r=r.mul(e,e);ah=e;ai=r;r=ah;e=ai;if(!((((k&2147483648)>>>0)===0))){r=r.mul(e,b);aj=e;ak=r;r=aj;e=ak;}if(!((d.$length===0))){$s=19;continue;}$s=20;continue;case 19:am=r.div(s,e,d);$s=21;case 21:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;r=al[0];s=al[1];an=n;ao=e;ap=r;aq=s;r=an;s=ao;n=ap;e=aq;case 20:k=(ar=(1),ar<32?(k<<ar):0)>>>0;ag=ag+(1)>>0;$s=17;continue;case 18:af=af-(1)>>0;$s=15;continue;case 16:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.expNN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expNN=function(b,c,d){return this.$get().expNN(b,c,d);};BU.prototype.expNNWindowed=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=BU.nil;g=BU.nil;h=f;i=g;j=DN.zero();j[0]=BV;j[1]=b;k=2;case 1:if(!(k<16)){$s=2;continue;}l=$indexPtr(j,(m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")),DM);n=$indexPtr(j,k,DM);o=$indexPtr(j,(k+1>>0),DM);p=l;q=n;r=o;q.$set(q.mul(p.$get(),p.$get()));t=h.div(i,q.$get(),d);$s=3;case 3:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;h=s[0];i=s[1];u=i;v=q.$get();q.$set(u);i=v;r.$set(r.mul(q.$get(),b));x=h.div(i,r.$get(),d);$s=4;case 4:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;h=w[0];i=w[1];y=i;z=r.$get();r.$set(y);i=z;k=k+(2)>>0;$s=1;continue;case 2:e=e.setWord(1);aa=c.$length-1>>0;case 5:if(!(aa>=0)){$s=6;continue;}ab=((aa<0||aa>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+aa]);ac=0;case 7:if(!(ac<32)){$s=8;continue;}if(!((aa===(c.$length-1>>0)))||!((ac===0))){$s=9;continue;}$s=10;continue;case 9:h=h.mul(e,e);ad=e;ae=h;h=ad;e=ae;ag=h.div(i,e,d);$s=11;case 11:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;h=af[0];i=af[1];ah=i;ai=e;e=ah;i=ai;h=h.mul(e,e);aj=e;ak=h;h=aj;e=ak;am=h.div(i,e,d);$s=12;case 12:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;h=al[0];i=al[1];an=i;ao=e;e=an;i=ao;h=h.mul(e,e);ap=e;aq=h;h=ap;e=aq;as=h.div(i,e,d);$s=13;case 13:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;h=ar[0];i=ar[1];at=i;au=e;e=at;i=au;h=h.mul(e,e);av=e;aw=h;h=av;e=aw;ay=h.div(i,e,d);$s=14;case 14:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=ay;h=ax[0];i=ax[1];az=i;ba=e;e=az;i=ba;case 10:h=h.mul(e,(bb=ab>>>28>>>0,((bb<0||bb>=j.length)?($throwRuntimeError("index out of range"),undefined):j[bb])));bc=e;bd=h;h=bc;e=bd;bf=h.div(i,e,d);$s=15;case 15:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}be=bf;h=be[0];i=be[1];bg=i;bh=e;e=bg;i=bh;ab=(bi=(4),bi<32?(ab<<bi):0)>>>0;ac=ac+(4)>>0;$s=7;continue;case 8:aa=aa-(1)>>0;$s=5;continue;case 6:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.expNNWindowed};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expNNWindowed=function(b,c,d){return this.$get().expNNWindowed(b,c,d);};BU.prototype.expNNMontgomery=function(b,c,d){var aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d.$length;if(b.$length>f){$s=1;continue;}$s=2;continue;case 1:h=(BU.nil).div(BU.nil,b,d);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;b=g[1];case 2:if(b.$length<f){i=$makeSlice(BU,f);$copySlice(i,b);b=i;}j=2-(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])>>>0;k=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])-1>>>0;l=1;while(true){if(!(l<32)){break;}k=$imul(k,(k))>>>0;j=$imul(j,(((k+1>>>0))))>>>0;l=(m=(1),m<32?(l<<m):0)>>0;}j=-j>>>0;n=(BU.nil).setWord(1);o=(BU.nil).shl(n,((($imul(($imul(2,f)),32))>>>0)));q=n.div(n,o,d);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;n=p[1];if(n.$length<f){o=o.make(f);$copySlice(o,n);n=o;}r=$makeSlice(BU,f);(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]=1);s=DN.zero();s[0]=s[0].montgomery(r,n,d,j,f);s[1]=s[1].montgomery(b,n,d,j,f);t=2;while(true){if(!(t<16)){break;}((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t]=((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t]).montgomery((u=t-1>>0,((u<0||u>=s.length)?($throwRuntimeError("index out of range"),undefined):s[u])),s[1],d,j,f));t=t+(1)>>0;}e=e.make(f);$copySlice(e,s[0]);o=o.make(f);v=c.$length-1>>0;while(true){if(!(v>=0)){break;}w=((v<0||v>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+v]);x=0;while(true){if(!(x<32)){break;}if(!((v===(c.$length-1>>0)))||!((x===0))){o=o.montgomery(e,e,d,j,f);e=e.montgomery(o,o,d,j,f);o=o.montgomery(e,e,d,j,f);e=e.montgomery(o,o,d,j,f);}o=o.montgomery(e,(y=w>>>28>>>0,((y<0||y>=s.length)?($throwRuntimeError("index out of range"),undefined):s[y])),d,j,f);z=o;aa=e;e=z;o=aa;w=(ab=(4),ab<32?(w<<ab):0)>>>0;x=x+(4)>>0;}v=v-(1)>>0;}o=o.montgomery(e,r,d,j,f);if(o.cmp(d)>=0){$s=5;continue;}$s=6;continue;case 5:o=o.sub(o,d);if(o.cmp(d)>=0){$s=7;continue;}$s=8;continue;case 7:ad=(BU.nil).div(BU.nil,o,d);$s=9;case 9:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;o=ac[1];case 8:case 6:$s=-1;return o.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.expNNMontgomery};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expNNMontgomery=function(b,c,d){return this.$get().expNNMontgomery(b,c,d);};BU.prototype.bytes=function(b){var b,c,d,e,f,g,h,i;c=0;d=this;c=b.$length;e=d;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);h=0;while(true){if(!(h<4)){break;}c=c-(1)>>0;((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]=((g<<24>>>24)));g=(i=(8),i<32?(g>>>i):0)>>>0;h=h+(1)>>0;}f++;}while(true){if(!(c<b.$length&&(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===0))){break;}c=c+(1)>>0;}return c;};$ptrType(BU).prototype.bytes=function(b){return this.$get().bytes(b);};BU.prototype.setBytes=function(b){var b,c,d,e,f,g,h,i,j;c=this;c=c.make((d=(((b.$length+4>>0)-1>>0))/4,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")));e=0;f=0;g=0;h=b.$length;while(true){if(!(h>0)){break;}g=(g|(((i=f,i<32?((((j=h-1>>0,((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]))>>>0))<<i):0)>>>0)))>>>0;f=f+(8)>>>0;if(f===32){((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]=g);e=e+(1)>>0;f=0;g=0;}h=h-(1)>>0;}if(e<c.$length){((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]=g);}return c.norm();};$ptrType(BU).prototype.setBytes=function(b){return this.$get().setBytes(b);};BU.prototype.sqrt=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.cmp(BV)<=0){$s=-1;return c.set(b);}if(CD(c,b)){c=BU.nil;}d=BU.nil;e=BU.nil;f=d;g=e;f=c;f=f.setUint64(new $Uint64(0,1));f=f.shl(f,((((h=b.bitLen()/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))+1>>0)>>>0)));i=0;case 1:k=g.div(BU.nil,b,f);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;g=j[0];g=g.add(g,f);g=g.shr(g,1);if(g.cmp(f)>=0){if((i&1)===0){$s=-1;return f;}$s=-1;return c.set(f);}l=g;m=f;f=l;g=m;i=i+(1)>>0;$s=1;continue;case 2:$s=-1;return BU.nil;}return;}if($f===undefined){$f={$blk:BU.prototype.sqrt};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.sqrt=function(b){return this.$get().sqrt(b);};CL=function(b){var b,c,d,e,f,g,h;c=0;d=0;e=b;f=1;c=e;d=f;h=(g=4294967295/b,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));while(true){if(!(c<=h)){break;}c=$imul(c,(b))>>>0;d=d+(1)>>0;}return[c,d];};CM=function(b,c){var b,c,d;d=0;d=1;while(true){if(!(c>0)){break;}if(!(((c&1)===0))){d=$imul(d,(b))>>>0;}b=$imul(b,(b))>>>0;c=(c>>$min((1),31))>>0;}return d;};BU.prototype.scan=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BU.nil;f=0;g=0;h=$ifaceNil;i=this;j=(c===0)||!d&&2<=c&&c<=36||d&&((c===2)||(c===10)||(c===16));if(!j){$s=1;continue;}$s=2;continue;case 1:k=A.Sprintf("illegal number base %d",new DC([new $Int(c)]));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$panic(new $String(k));case 2:m=b.ReadByte();$s=4;case 4:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];h=l[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[e,f,g,h];}f=c;if(c===0){$s=5;continue;}$s=6;continue;case 5:f=10;if(n===48){$s=7;continue;}$s=8;continue;case 7:g=1;p=b.ReadByte();$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;n=o[0];h=o[1];q=h;if($interfaceIsEqual(q,$ifaceNil)){$s=11;continue;}if($interfaceIsEqual(q,(D.EOF))){$s=12;continue;}$s=13;continue;case 11:if(!d){f=8;}r=n;if((r===(120))||(r===(88))){f=16;}else if((r===(98))||(r===(66))){f=2;}s=f;if((s===(16))||(s===(2))){$s=16;continue;}if(s===(8)){$s=17;continue;}$s=18;continue;case 16:g=0;u=b.ReadByte();$s=19;case 19:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;n=t[0];h=t[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[e,f,g,h];}$s=18;continue;case 17:g=0;case 18:case 15:$s=14;continue;case 12:e=$subslice(i,0,0);h=$ifaceNil;$s=-1;return[e,f,g,h];case 13:$s=-1;return[e,f,g,h];case 14:case 9:case 8:case 6:i=$subslice(i,0,0);v=((f>>>0));w=CL(v);x=w[0];y=w[1];z=0;aa=0;ab=-1;case 20:if(d&&(n===46)){$s=22;continue;}$s=23;continue;case 22:d=false;ab=g;ad=b.ReadByte();$s=24;case 24:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;n=ac[0];h=ac[1];if(!($interfaceIsEqual(h,$ifaceNil))){if($interfaceIsEqual(h,D.EOF)){h=$ifaceNil;$s=21;continue;}$s=-1;return[e,f,g,h];}case 23:ae=0;if(48<=n&&n<=57){ae=(((n-48<<24>>>24)>>>0));}else if(97<=n&&n<=122){ae=((((n-97<<24>>>24)+10<<24>>>24)>>>0));}else if(65<=n&&n<=90){ae=((((n-65<<24>>>24)+10<<24>>>24)>>>0));}else{ae=37;}if(ae>=v){$s=25;continue;}$s=26;continue;case 25:af=b.UnreadByte();$s=27;case 27:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;$s=21;continue;case 26:g=g+(1)>>0;z=($imul(z,v)>>>0)+ae>>>0;aa=aa+(1)>>0;if(aa===y){i=i.mulAddWW(i,x,z);z=0;aa=0;}ah=b.ReadByte();$s=28;case 28:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;n=ag[0];h=ag[1];if(!($interfaceIsEqual(h,$ifaceNil))){if($interfaceIsEqual(h,D.EOF)){h=$ifaceNil;$s=21;continue;}$s=-1;return[e,f,g,h];}$s=20;continue;case 21:if(g===0){if((c===0)&&(f===8)){g=1;f=10;}else if(!((c===0))||!((f===8))){h=J.New("syntax error scanning number");}$s=-1;return[e,f,g,h];}if(aa>0){i=i.mulAddWW(i,CM(v,aa),z);}e=i.norm();if(ab>=0){g=ab-g>>0;}$s=-1;return[e,f,g,h];}return;}if($f===undefined){$f={$blk:BU.prototype.scan};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.scan=function(b,c,d){return this.$get().scan(b,c,d);};BU.prototype.utoa=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.itoa(false,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BU.prototype.utoa};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.utoa=function(b){return this.$get().utoa(b);};BU.prototype.itoa=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c<2||c>36){$panic(new $String("invalid base"));}if(d.$length===0){$s=-1;return(new DG($stringToBytes("0")));}e=(((d.bitLen())/C.Log2((c))>>0))+1>>0;if(b){e=e+(1)>>0;}f=$makeSlice(DG,e);g=((c>>>0));if(g===((g&(-g>>>0))>>>0)){$s=1;continue;}$s=2;continue;case 1:h=((B.TrailingZeros(((g>>>0)))>>>0));j=((((i=h,i<32?(1<<i):0)>>>0)-1>>>0));k=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]);l=32;m=1;while(true){if(!(m<d.$length)){break;}while(true){if(!(l>=h)){break;}e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((k&j)>>>0)));k=(n=(h),n<32?(k>>>n):0)>>>0;l=l-(h)>>>0;}if(l===0){k=((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m]);l=32;}else{k=(k|(((o=l,o<32?(((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m])<<o):0)>>>0)))>>>0;e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((k&j)>>>0)));k=(p=((h-l>>>0)),p<32?(((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m])>>>p):0)>>>0;l=32-((h-l>>>0))>>>0;}m=m+(1)>>0;}while(true){if(!(!((k===0)))){break;}e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((k&j)>>>0)));k=(q=(h),q<32?(k>>>q):0)>>>0;}$s=3;continue;case 2:r=CL(g);s=r[0];t=r[1];u=CQ(d.$length,g,t,s);$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;w=(BU.nil).set(d);$r=w.convertWords(f,g,t,s,v);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=0;while(true){if(!(((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e])===48)){break;}e=e+(1)>>0;}case 3:if(b){e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]=45);}$s=-1;return $subslice(f,e);}return;}if($f===undefined){$f={$blk:BU.prototype.itoa};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.itoa=function(b,c){return this.$get().itoa(b,c);};BU.prototype.convertWords=function(b,c,d,e,f){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if(!(f===DO.nil)){$s=1;continue;}$s=2;continue;case 1:h=BU.nil;i=f.$length-1>>0;case 3:if(!(g.$length>CN)){$s=4;continue;}j=g.bitLen();k=j>>1>>0;while(true){if(!(i>0&&(l=i-1>>0,((l<0||l>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+l])).nbits>k)){break;}i=i-(1)>>0;}if(((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).nbits>=j&&((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).bbb.cmp(g)>=0){i=i-(1)>>0;if(i<0){$panic(new $String("internal inconsistency"));}}n=g.div(h,g,((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).bbb);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;g=m[0];h=m[1];o=b.$length-((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).ndigits>>0;$r=h.convertWords($subslice(b,o),c,d,e,$subslice(f,0,i));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=$subslice(b,0,o);$s=3;continue;case 4:case 2:p=b.$length;q=0;if(c===10){while(true){if(!(g.$length>0)){break;}r=g.divW(g,e);g=r[0];q=r[1];s=0;while(true){if(!(s<d&&p>0)){break;}p=p-(1)>>0;u=(t=q/10,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=(48+(((q-($imul(u,10)>>>0)>>>0)<<24>>>24))<<24>>>24));q=u;s=s+(1)>>0;}}}else{while(true){if(!(g.$length>0)){break;}v=g.divW(g,e);g=v[0];q=v[1];w=0;while(true){if(!(w<d&&p>0)){break;}p=p-(1)>>0;((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((x=q%c,x===x?x:$throwRuntimeError("integer divide by zero"))));q=(y=q/(c),(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));w=w+(1)>>0;}}}while(true){if(!(p>0)){break;}p=p-(1)>>0;((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=48);}$s=-1;return;}return;}if($f===undefined){$f={$blk:BU.prototype.convertWords};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.convertWords=function(b,c,d,e,f){return this.$get().convertWords(b,c,d,e,f);};BU.prototype.expWW=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.expNN((BU.nil).setWord(b),(BU.nil).setWord(c),BU.nil);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BU.prototype.expWW};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expWW=function(b,c){return this.$get().expWW(b,c);};CQ=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if((CN===0)||b<=CN){$s=-1;return DO.nil;}f=1;g=CN;while(true){if(!(g<(b>>1>>0)&&f<64)){break;}f=f+(1)>>0;g=(h=(1),h<32?(g<<h):0)>>0;}i=DO.nil;if(c===10){CP.Mutex.Lock();i=$subslice(new DO(CP.table),0,f);}else{i=$makeSlice(DO,f);}if((j=f-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j])).ndigits===0){$s=1;continue;}$s=2;continue;case 1:k=BU.nil;l=0;case 3:if(!(l<f)){$s=4;continue;}if(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits===0){$s=5;continue;}$s=6;continue;case 5:if(l===0){$s=7;continue;}$s=8;continue;case 7:m=(BU.nil).expWW(e,((CN>>>0)));$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]).bbb=m;(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]).ndigits=$imul(d,CN);$s=9;continue;case 8:((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb=(BU.nil).mul((n=l-1>>0,((n<0||n>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+n])).bbb,(o=l-1>>0,((o<0||o>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+o])).bbb);((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits=$imul(2,(p=l-1>>0,((p<0||p>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+p])).ndigits);case 9:k=(BU.nil).set(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb);while(true){if(!(AK($subslice(new DI(k.$array),k.$offset,k.$offset+k.$length),$subslice(new DI(k.$array),k.$offset,k.$offset+k.$length),c,0)===0)){break;}((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb.set(k);((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits+(1)>>0;}((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).nbits=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb.bitLen();case 6:l=l+(1)>>0;$s=3;continue;case 4:case 2:if(c===10){CP.Mutex.Unlock();}$s=-1;return i;}return;}if($f===undefined){$f={$blk:CQ};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BL.ptr.prototype.ProbablyPrime=function(b){var aa,ab,ac,ad,ae,af,ag,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b<0){$panic(new $String("negative n for ProbablyPrime"));}if(c.neg||(c.abs.$length===0)){$s=-1;return false;}e=(d=c.abs,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));if((c.abs.$length===1)&&e<64){$s=-1;return!((f=(g=$shiftLeft64(new $Uint64(0,1),e),new $Uint64(673221152&g.$high,(2693408940&g.$low)>>>0)),(f.$high===0&&f.$low===0)));}if(((e&1)>>>0)===0){$s=-1;return false;}h=0;i=0;j=h;k=i;l=32;if(l===(32)){j=((c.abs.modW(4127218095)>>>0));k=((c.abs.modW(3948078067)>>>0));}else if(l===(64)){m=c.abs.modW(820596253);j=(((n=m%4127218095,n===n?n:$throwRuntimeError("integer divide by zero"))>>>0));k=(((o=m%3948078067,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0));}else{$panic(new $String("math/big: invalid word size"));}if(((p=j%3,p===p?p:$throwRuntimeError("integer divide by zero"))===0)||((q=j%5,q===q?q:$throwRuntimeError("integer divide by zero"))===0)||((r=j%7,r===r?r:$throwRuntimeError("integer divide by zero"))===0)||((s=j%11,s===s?s:$throwRuntimeError("integer divide by zero"))===0)||((t=j%13,t===t?t:$throwRuntimeError("integer divide by zero"))===0)||((u=j%17,u===u?u:$throwRuntimeError("integer divide by zero"))===0)||((v=j%19,v===v?v:$throwRuntimeError("integer divide by zero"))===0)||((w=j%23,w===w?w:$throwRuntimeError("integer divide by zero"))===0)||((x=j%37,x===x?x:$throwRuntimeError("integer divide by zero"))===0)||((y=k%29,y===y?y:$throwRuntimeError("integer divide by zero"))===0)||((z=k%31,z===z?z:$throwRuntimeError("integer divide by zero"))===0)||((aa=k%41,aa===aa?aa:$throwRuntimeError("integer divide by zero"))===0)||((ab=k%43,ab===ab?ab:$throwRuntimeError("integer divide by zero"))===0)||((ac=k%47,ac===ac?ac:$throwRuntimeError("integer divide by zero"))===0)||((ad=k%53,ad===ad?ad:$throwRuntimeError("integer divide by zero"))===0)){$s=-1;return false;}af=c.abs.probablyPrimeMillerRabin(b+1>>0,true);$s=2;case 2:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(!(af)){ae=false;$s=1;continue s;}ag=c.abs.probablyPrimeLucas();$s=3;case 3:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ae=ag;case 1:$s=-1;return ae;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.ProbablyPrime};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.ProbablyPrime=function(b){return this.$val.ProbablyPrime(b);};BU.prototype.probablyPrimeMillerRabin=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=(BU.nil).sub(d,BV);f=e.trailingZeroBits();g=(BU.nil).shr(e,f);h=(BU.nil).sub(e,BW);j=I.New(I.NewSource(((i=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]),new $Int64(0,i.constructor===Number?i:1)))));k=BU.nil;l=BU.nil;m=BU.nil;n=k;o=l;p=m;q=h.bitLen();r=0;case 1:if(!(r<b)){$s=2;continue;}if((r===(b-1>>0))&&c){$s=3;continue;}$s=4;continue;case 3:n=n.set(BW);$s=5;continue;case 4:s=n.random(j,h,q);$s=6;case 6:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}n=s;n=n.add(n,BW);case 5:t=o.expNN(n,g,d);$s=7;case 7:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}o=t;if((o.cmp(BV)===0)||(o.cmp(e)===0)){$s=8;continue;}$s=9;continue;case 8:r=r+(1)>>0;$s=1;continue;case 9:u=1;case 10:if(!(u<f)){$s=11;continue;}o=o.mul(o,o);w=p.div(o,o,d);$s=12;case 12:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;p=v[0];o=v[1];if(o.cmp(e)===0){r=r+(1)>>0;$s=1;continue s;}if(o.cmp(BV)===0){$s=-1;return false;}u=u+(1)>>>0;$s=10;continue;case 11:$s=-1;return false;$s=1;continue;case 2:$s=-1;return true;}return;}if($f===undefined){$f={$blk:BU.prototype.probablyPrimeMillerRabin};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.probablyPrimeMillerRabin=function(b,c){return this.$get().probablyPrimeMillerRabin(b,c);};BU.prototype.probablyPrimeLucas=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if((b.$length===0)||(b.cmp(BV)===0)){$s=-1;return false;}if((((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])&1)>>>0)===0){$s=-1;return b.cmp(BW)===0;}c=3;d=new BU([1]);e=(BU.nil);f=new BL.ptr(false,d);g=new BL.ptr(false,b);case 1:if(c>10000){$s=3;continue;}$s=4;continue;case 3:h=g.String();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(new $String("math/big: internal error: cannot find (D/n) = -1 for "+h));case 4:(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]=(($imul(c,c)>>>0)-4>>>0));i=BQ(f,g);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(j===-1){$s=2;continue;}if(j===0){$s=-1;return(b.$length===1)&&((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])===(c+2>>>0));}if(c===40){$s=7;continue;}$s=8;continue;case 7:k=e.sqrt(b);$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}e=k;e=e.mul(e,e);if(e.cmp(b)===0){$s=-1;return false;}case 8:c=c+(1)>>>0;$s=1;continue;case 2:l=(BU.nil).add(b,BV);m=((l.trailingZeroBits()>>0));l=l.shr(l,((m>>>0)));n=(BU.nil).sub(b,BW);o=(BU.nil).setWord(c);p=(BU.nil).setWord(2);q=(BU.nil).setWord(c);r=(BU.nil);s=(l.bitLen());case 10:if(!(s>=0)){$s=11;continue;}if(!((l.bit(((s>>>0)))===0))){$s=12;continue;}$s=13;continue;case 12:e=e.mul(p,q);e=e.add(e,b);e=e.sub(e,o);u=r.div(p,e,b);$s=15;case 15:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;r=t[0];p=t[1];e=e.mul(q,q);e=e.add(e,n);w=r.div(q,e,b);$s=16;case 16:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;r=v[0];q=v[1];$s=14;continue;case 13:e=e.mul(p,q);e=e.add(e,b);e=e.sub(e,o);y=r.div(q,e,b);$s=17;case 17:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;r=x[0];q=x[1];e=e.mul(p,p);e=e.add(e,n);aa=r.div(p,e,b);$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;r=z[0];p=z[1];case 14:s=s-(1)>>0;$s=10;continue;case 11:if((p.cmp(BW)===0)||(p.cmp(n)===0)){$s=19;continue;}$s=20;continue;case 19:ab=e.mul(p,o);ac=r.shl(q,1);if(ab.cmp(ac)<0){ad=ac;ae=ab;ab=ad;ac=ae;}ab=ab.sub(ab,ac);af=q;q=BU.nil;$unused(q);ah=ac.div(af,ab,b);$s=21;case 21:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ac=ag[0];af=ag[1];if(af.$length===0){$s=-1;return true;}case 20:ai=0;case 22:if(!(ai<(m-1>>0))){$s=23;continue;}if(p.$length===0){$s=-1;return true;}if((p.$length===1)&&((0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])===2)){$s=-1;return false;}e=e.mul(p,p);e=e.sub(e,BW);ak=r.div(p,e,b);$s=24;case 24:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;r=aj[0];p=aj[1];ai=ai+(1)>>0;$s=22;continue;case 23:$s=-1;return false;}return;}if($f===undefined){$f={$blk:BU.prototype.probablyPrimeLucas};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.probablyPrimeLucas=function(){return this.$get().probablyPrimeLucas();};DJ.methods=[{prop:"Sign",name:"Sign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SetInt64",name:"SetInt64",pkg:"",typ:$funcType([$Int64],[DJ],false)},{prop:"SetUint64",name:"SetUint64",pkg:"",typ:$funcType([$Uint64],[DJ],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[DI],false)},{prop:"SetBits",name:"SetBits",pkg:"",typ:$funcType([DI],[DJ],false)},{prop:"Abs",name:"Abs",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Neg",name:"Neg",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Mul",name:"Mul",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"MulRange",name:"MulRange",pkg:"",typ:$funcType([$Int64,$Int64],[DJ],false)},{prop:"Binomial",name:"Binomial",pkg:"",typ:$funcType([$Int64,$Int64],[DJ],false)},{prop:"Quo",name:"Quo",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Rem",name:"Rem",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"QuoRem",name:"QuoRem",pkg:"",typ:$funcType([DJ,DJ,DJ],[DJ,DJ],false)},{prop:"Div",name:"Div",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Mod",name:"Mod",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"DivMod",name:"DivMod",pkg:"",typ:$funcType([DJ,DJ,DJ],[DJ,DJ],false)},{prop:"Cmp",name:"Cmp",pkg:"",typ:$funcType([DJ],[$Int],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"IsInt64",name:"IsInt64",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsUint64",name:"IsUint64",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String,$Int],[DJ,$Bool],false)},{prop:"SetBytes",name:"SetBytes",pkg:"",typ:$funcType([DG],[DJ],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[DG],false)},{prop:"BitLen",name:"BitLen",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Exp",name:"Exp",pkg:"",typ:$funcType([DJ,DJ,DJ],[DJ],false)},{prop:"GCD",name:"GCD",pkg:"",typ:$funcType([DJ,DJ,DJ,DJ],[DJ],false)},{prop:"binaryGCD",name:"binaryGCD",pkg:"math/big",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Rand",name:"Rand",pkg:"",typ:$funcType([DQ,DJ],[DJ],false)},{prop:"ModInverse",name:"ModInverse",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"modSqrt3Mod4Prime",name:"modSqrt3Mod4Prime",pkg:"math/big",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"modSqrtTonelliShanks",name:"modSqrtTonelliShanks",pkg:"math/big",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"ModSqrt",name:"ModSqrt",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Lsh",name:"Lsh",pkg:"",typ:$funcType([DJ,$Uint],[DJ],false)},{prop:"Rsh",name:"Rsh",pkg:"",typ:$funcType([DJ,$Uint],[DJ],false)},{prop:"Bit",name:"Bit",pkg:"",typ:$funcType([$Int],[$Uint],false)},{prop:"SetBit",name:"SetBit",pkg:"",typ:$funcType([DJ,$Int,$Uint],[DJ],false)},{prop:"And",name:"And",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"AndNot",name:"AndNot",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Or",name:"Or",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Xor",name:"Xor",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Not",name:"Not",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Sqrt",name:"Sqrt",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Text",name:"Text",pkg:"",typ:$funcType([$Int],[$String],false)},{prop:"Append",name:"Append",pkg:"",typ:$funcType([DG,$Int],[DG],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([A.State,$Int32],[],false)},{prop:"scan",name:"scan",pkg:"math/big",typ:$funcType([D.ByteScanner,$Int],[DJ,$Int,$error],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([A.ScanState,$Int32],[$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"ProbablyPrime",name:"ProbablyPrime",pkg:"",typ:$funcType([$Int],[$Bool],false)}];BT.methods=[{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)}];BU.methods=[{prop:"clear",name:"clear",pkg:"math/big",typ:$funcType([],[],false)},{prop:"norm",name:"norm",pkg:"math/big",typ:$funcType([],[BU],false)},{prop:"make",name:"make",pkg:"math/big",typ:$funcType([$Int],[BU],false)},{prop:"setWord",name:"setWord",pkg:"math/big",typ:$funcType([L],[BU],false)},{prop:"setUint64",name:"setUint64",pkg:"math/big",typ:$funcType([$Uint64],[BU],false)},{prop:"set",name:"set",pkg:"math/big",typ:$funcType([BU],[BU],false)},{prop:"add",name:"add",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"sub",name:"sub",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"cmp",name:"cmp",pkg:"math/big",typ:$funcType([BU],[$Int],false)},{prop:"mulAddWW",name:"mulAddWW",pkg:"math/big",typ:$funcType([BU,L,L],[BU],false)},{prop:"montgomery",name:"montgomery",pkg:"math/big",typ:$funcType([BU,BU,BU,L,$Int],[BU],false)},{prop:"mul",name:"mul",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"mulRange",name:"mulRange",pkg:"math/big",typ:$funcType([$Uint64,$Uint64],[BU],false)},{prop:"divW",name:"divW",pkg:"math/big",typ:$funcType([BU,L],[BU,L],false)},{prop:"div",name:"div",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU,BU],false)},{prop:"divLarge",name:"divLarge",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU,BU],false)},{prop:"bitLen",name:"bitLen",pkg:"math/big",typ:$funcType([],[$Int],false)},{prop:"trailingZeroBits",name:"trailingZeroBits",pkg:"math/big",typ:$funcType([],[$Uint],false)},{prop:"shl",name:"shl",pkg:"math/big",typ:$funcType([BU,$Uint],[BU],false)},{prop:"shr",name:"shr",pkg:"math/big",typ:$funcType([BU,$Uint],[BU],false)},{prop:"setBit",name:"setBit",pkg:"math/big",typ:$funcType([BU,$Uint,$Uint],[BU],false)},{prop:"bit",name:"bit",pkg:"math/big",typ:$funcType([$Uint],[$Uint],false)},{prop:"sticky",name:"sticky",pkg:"math/big",typ:$funcType([$Uint],[$Uint],false)},{prop:"and",name:"and",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"andNot",name:"andNot",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"or",name:"or",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"xor",name:"xor",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"modW",name:"modW",pkg:"math/big",typ:$funcType([L],[L],false)},{prop:"random",name:"random",pkg:"math/big",typ:$funcType([DQ,BU,$Int],[BU],false)},{prop:"expNN",name:"expNN",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU],false)},{prop:"expNNWindowed",name:"expNNWindowed",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU],false)},{prop:"expNNMontgomery",name:"expNNMontgomery",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU],false)},{prop:"bytes",name:"bytes",pkg:"math/big",typ:$funcType([DG],[$Int],false)},{prop:"setBytes",name:"setBytes",pkg:"math/big",typ:$funcType([DG],[BU],false)},{prop:"sqrt",name:"sqrt",pkg:"math/big",typ:$funcType([BU],[BU],false)},{prop:"scan",name:"scan",pkg:"math/big",typ:$funcType([D.ByteScanner,$Int,$Bool],[BU,$Int,$Int,$error],false)},{prop:"utoa",name:"utoa",pkg:"math/big",typ:$funcType([$Int],[DG],false)},{prop:"itoa",name:"itoa",pkg:"math/big",typ:$funcType([$Bool,$Int],[DG],false)},{prop:"convertWords",name:"convertWords",pkg:"math/big",typ:$funcType([DG,L,$Int,L,DO],[],false)},{prop:"expWW",name:"expWW",pkg:"math/big",typ:$funcType([L,L],[BU],false)},{prop:"probablyPrimeMillerRabin",name:"probablyPrimeMillerRabin",pkg:"math/big",typ:$funcType([$Int,$Bool],[$Bool],false)},{prop:"probablyPrimeLucas",name:"probablyPrimeLucas",pkg:"math/big",typ:$funcType([],[$Bool],false)}];BL.init("math/big",[{prop:"neg",name:"neg",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"abs",name:"abs",anonymous:false,exported:false,typ:BU,tag:""}]);BT.init("",[{prop:"ScanState",name:"ScanState",anonymous:true,exported:true,typ:A.ScanState,tag:""}]);BU.init(L);CO.init("math/big",[{prop:"bbb",name:"bbb",anonymous:false,exported:false,typ:BU,tag:""},{prop:"nbits",name:"nbits",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"ndigits",name:"ndigits",anonymous:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=G.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CJ=new K.Pool.ptr(DC.nil,$throwNilPointerError);CP=new DE.ptr(new K.Mutex.ptr(false),DD.zero());BV=new BU([1]);BM=new BL.ptr(false,BV);BW=new BU([2]);CB=40;CN=8;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["crypto/rand"]=(function(){var $pkg={},$init,A,B,C,D,F,L,N,I,E,G;A=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];D=$packages["math/big"];F=$pkg.rngReader=$newType(0,$kindStruct,"rand.rngReader",true,"crypto/rand",false,function(){this.$val=this;if(arguments.length===0){return;}});L=$sliceType($Uint8);N=$ptrType(F);E=function(){$pkg.Reader=new F.ptr();};F.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=$ifaceNil;d=this;e=a.$array;f=$parseInt(a.$offset)>>0;g=$global.crypto;if(g===undefined){g=$global.msCrypto;}if(!(g===undefined)){if(!(g.getRandomValues===undefined)){b=a.$length;if(b>65536){b=65536;}g.getRandomValues(e.subarray(f,f+b>>0));h=b;i=$ifaceNil;b=h;c=i;return[b,c];}}j=$global.require;if(!(j===undefined)){k=j($externalize("crypto",$String)).randomBytes;if(!(k===undefined)){e.set(k(a.$length),f);l=a.$length;m=$ifaceNil;b=l;c=m;return[b,c];}}n=0;o=A.New("crypto/rand not available in this environment");b=n;c=o;return[b,c];};F.prototype.Read=function(a){return this.$val.Read(a);};G=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;e=C.ReadFull($pkg.Reader,a);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;b=d[0];c=d[1];$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:G};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Read=G;N.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([L],[$Int,$error],false)}];F.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.Reader=$ifaceNil;I=new D.Int.ptr(false,D.nat.nil).SetUint64(new $Uint64(3793877372,820596253));E();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
+$packages["github.com/dedis/kyber/util/random"]=(function(){var $pkg={},$init,A,B,C,G,I,J,K,D,E,F,H;A=$packages["crypto/cipher"];B=$packages["crypto/rand"];C=$packages["math/big"];G=$pkg.randstream=$newType(0,$kindStruct,"random.randstream",true,"github.com/dedis/kyber/util/random",false,function(){this.$val=this;if(arguments.length===0){return;}});I=$sliceType($Uint8);J=$ptrType(C.Int);K=$ptrType(G);D=function(a,b,c){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$makeSlice(I,(d=((a+7>>>0))/8,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero")));$r=c.XORKeyStream(e,e);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=(a&7)>>>0;if(!((f===0))){(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]=(((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])&((~(((g=f,g<32?(255<<g):0)<<24>>>24))<<24>>>24)))>>>0));}if(b){if(!((f===0))){(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]=(((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])|(((h=((f-1>>>0)),h<32?(1<<h):0)<<24>>>24)))>>>0));}else{(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]=(((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])|(128))>>>0));}}$s=-1;return e;}return;}if($f===undefined){$f={$blk:D};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Bits=D;E=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=((a.BitLen()>>>0));d=new C.Int.ptr(false,C.nat.nil);case 1:e=D(c,false,b);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=d.SetBytes(e);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;if(d.Sign()>0&&d.Cmp(a)<0){$s=-1;return d;}$s=1;continue;case 2:$s=-1;return J.nil;}return;}if($f===undefined){$f={$blk:E};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Int=E;F=function(a,b){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=b.XORKeyStream(a,a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:F};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Bytes=F;G.ptr.prototype.XORKeyStream=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=a.$length;if(!((b.$length===d))){$panic(new $String("XORKeyStream: mismatched buffer lengths"));}e=$makeSlice(I,d);g=B.Read(e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$panic(i);}if(h<e.$length){$panic(new $String("short read on infinite random stream!?"));}j=0;while(true){if(!(j<d)){break;}((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])^((j<0||j>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))<<24>>>24));j=j+(1)>>0;}$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.XORKeyStream};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.XORKeyStream=function(a,b){return this.$val.XORKeyStream(a,b);};H=function(){return new G.ptr();};$pkg.New=H;K.methods=[{prop:"XORKeyStream",name:"XORKeyStream",pkg:"",typ:$funcType([I,I],[],false)}];G.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["gopkg.in/dedis/crypto.v0/util"]=(function(){var $pkg={},$init,A,B,C,D,J,G,E,I;A=$packages["errors"];B=$packages["io/ioutil"];C=$packages["os"];D=$packages["path/filepath"];J=$sliceType($Uint8);E=function(a,b){var a,b,c,d,e;c=a.$length;d=c+b>>0;if(d>a.$capacity){e=$makeSlice(J,d,($imul(((d+1>>0)),2)));$copySlice(e,a);a=e;}return[$subslice(a,0,d),$subslice(a,c,d)];};$pkg.Grow=E;I=function(a,b){var a,b,c,d,e,f,g,h,i,j;if(a===J.nil){a=$makeSlice(J,b.$length);}else if(!((b.$length===a.$length))){$panic(new $String("Reverse requires equal-length slices"));}c=a.$length;d=0;e=c-1>>0;f=d;g=e;while(true){if(!(f<(h=((c+1>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")))){break;}i=((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]);j=((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]);((f<0||f>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+f]=i);((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]=j);f=f+(1)>>0;g=g-(1)>>0;}return a;};$pkg.Reverse=I;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=A.New("File was concurrently modified");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["gopkg.in/dedis/crypto.v0/ints"]=(function(){var $pkg={},$init,A,B;A=function(a,b){var a,b,c,d,e;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(e>a){a=e;}d++;}return a;};$pkg.Max=A;B=function(a,b){var a,b,c,d,e;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(e<a){a=e;}d++;}return a;};$pkg.Min=B;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["math/bits"]=(function(){var $pkg={},$init,F,G,AN,A,H,K,L,AF,AI,AJ;A=function(a){var a;return 32-AF(a)>>0;};$pkg.LeadingZeros=A;H=function(a){var a;if(true){return K(((a>>>0)));}return L((new $Uint64(0,a)));};$pkg.TrailingZeros=H;K=function(a){var a,b;if(a===0){return 32;}return(((b=($imul((((a&(-a>>>0))>>>0)),125613361)>>>0)>>>27>>>0,((b<0||b>=F.length)?($throwRuntimeError("index out of range"),undefined):F[b]))>>0));};$pkg.TrailingZeros32=K;L=function(a){var a,b,c;if((a.$high===0&&a.$low===0)){return 64;}return(((b=$shiftRightUint64($mul64(((c=new $Uint64(-a.$high,-a.$low),new $Uint64(a.$high&c.$high,(a.$low&c.$low)>>>0))),new $Uint64(66559345,3033172745)),58),(($flatten64(b)<0||$flatten64(b)>=G.length)?($throwRuntimeError("index out of range"),undefined):G[$flatten64(b)]))>>0));};$pkg.TrailingZeros64=L;AF=function(a){var a;if(true){return AI(((a>>>0)));}return AJ((new $Uint64(0,a)));};$pkg.Len=AF;AI=function(a){var a,b,c,d;b=0;if(a>=65536){a=(c=(16),c<32?(a>>>c):0)>>>0;b=16;}if(a>=256){a=(d=(8),d<32?(a>>>d):0)>>>0;b=b+(8)>>0;}b=b+((((a<0||a>=AN.length)?($throwRuntimeError("index out of range"),undefined):AN[a])>>0))>>0;return b;};$pkg.Len32=AI;AJ=function(a){var a,b;b=0;if((a.$high>1||(a.$high===1&&a.$low>=0))){a=$shiftRightUint64(a,(32));b=32;}if((a.$high>0||(a.$high===0&&a.$low>=65536))){a=$shiftRightUint64(a,(16));b=b+(16)>>0;}if((a.$high>0||(a.$high===0&&a.$low>=256))){a=$shiftRightUint64(a,(8));b=b+(8)>>0;}b=b+(((($flatten64(a)<0||$flatten64(a)>=AN.length)?($throwRuntimeError("index out of range"),undefined):AN[$flatten64(a)])>>0))>>0;return b;};$pkg.Len64=AJ;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:F=$toNativeArray($kindUint8,[0,1,28,2,29,14,24,3,30,22,20,15,25,17,4,8,31,27,13,23,21,19,16,7,26,12,18,6,11,5,10,9]);G=$toNativeArray($kindUint8,[0,1,56,2,57,49,28,3,61,58,42,50,38,29,17,4,62,47,59,36,45,43,51,22,53,39,33,30,24,18,12,5,63,55,48,27,60,41,37,16,46,35,44,21,52,32,23,11,54,26,40,15,34,20,31,10,25,14,19,9,13,8,7,6]);AN=$toNativeArray($kindUint8,[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["math/big"]=(function(){var $pkg={},$init,G,F,J,A,K,D,C,B,I,H,E,L,BL,BT,BU,CO,DC,DD,DE,DG,DI,DJ,DL,DM,DN,DO,DQ,BM,BV,BW,CB,CJ,CN,CP,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,BN,BP,BQ,BR,BS,BY,BZ,CA,CC,CD,CE,CF,CG,CH,CI,CK,CL,CM,CQ;G=$packages["bytes"];F=$packages["encoding/binary"];J=$packages["errors"];A=$packages["fmt"];K=$packages["github.com/gopherjs/gopherjs/nosync"];D=$packages["io"];C=$packages["math"];B=$packages["math/bits"];I=$packages["math/rand"];H=$packages["strconv"];E=$packages["strings"];L=$pkg.Word=$newType(4,$kindUintptr,"big.Word",true,"math/big",true,null);BL=$pkg.Int=$newType(0,$kindStruct,"big.Int",true,"math/big",true,function(neg_,abs_){this.$val=this;if(arguments.length===0){this.neg=false;this.abs=BU.nil;return;}this.neg=neg_;this.abs=abs_;});BT=$pkg.byteReader=$newType(0,$kindStruct,"big.byteReader",true,"math/big",false,function(ScanState_){this.$val=this;if(arguments.length===0){this.ScanState=$ifaceNil;return;}this.ScanState=ScanState_;});BU=$pkg.nat=$newType(12,$kindSlice,"big.nat",true,"math/big",false,null);CO=$pkg.divisor=$newType(0,$kindStruct,"big.divisor",true,"math/big",false,function(bbb_,nbits_,ndigits_){this.$val=this;if(arguments.length===0){this.bbb=BU.nil;this.nbits=0;this.ndigits=0;return;}this.bbb=bbb_;this.nbits=nbits_;this.ndigits=ndigits_;});DC=$sliceType($emptyInterface);DD=$arrayType(CO,64);DE=$structType("math/big",[{prop:"Mutex",name:"Mutex",anonymous:true,exported:true,typ:K.Mutex,tag:""},{prop:"table",name:"table",anonymous:false,exported:false,typ:DD,tag:""}]);DG=$sliceType($Uint8);DI=$sliceType(L);DJ=$ptrType(BL);DL=$ptrType(L);DM=$ptrType(BU);DN=$arrayType(BU,16);DO=$sliceType(CO);DQ=$ptrType(I.Rand);N=function(b,c,d){var b,c,d,e,f,g;e=0;f=0;g=c+d>>>0;f=b+g>>>0;if(f<b||g<c){e=1;}return[e,f];};O=function(b,c,d){var b,c,d,e,f,g;e=0;f=0;g=c+d>>>0;f=b-g>>>0;if(f>b||g<c){e=1;}return[e,f];};P=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m;d=0;e=0;f=(b&65535)>>>0;g=b>>>16>>>0;h=(c&65535)>>>0;i=c>>>16>>>0;j=$imul(f,h)>>>0;k=($imul(g,h)>>>0)+(j>>>16>>>0)>>>0;l=(k&65535)>>>0;m=k>>>16>>>0;l=l+(($imul(f,i)>>>0))>>>0;d=(($imul(g,i)>>>0)+m>>>0)+(l>>>16>>>0)>>>0;e=$imul(b,c)>>>0;return[d,e];};Q=function(b,c,d){var b,c,d,e,f,g,h;e=0;f=0;g=P(b,c);e=g[0];h=g[1];f=h+d>>>0;if(f<h){e=e+(1)>>>0;}return[e,f];};R=function(b){var b;return((B.LeadingZeros(((b>>>0)))>>>0));};S=function(b,c,d){var aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=0;f=0;if(b>=d){g=4294967295;h=4294967295;e=g;f=h;return[e,f];}i=R(d);d=(j=(i),j<32?(d<<j):0)>>>0;k=d>>>16>>>0;l=(d&65535)>>>0;o=(((m=i,m<32?(b<<m):0)>>>0)|((n=((32-i>>>0)),n<32?(c>>>n):0)>>>0))>>>0;q=(p=i,p<32?(c<<p):0)>>>0;r=q>>>16>>>0;s=(q&65535)>>>0;u=(t=o/k,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));v=o-($imul(u,k)>>>0)>>>0;while(true){if(!(u>=65536||($imul(u,l)>>>0)>(($imul(65536,v)>>>0)+r>>>0))){break;}u=u-(1)>>>0;v=v+(k)>>>0;if(v>=65536){break;}}w=(($imul(o,65536)>>>0)+r>>>0)-($imul(u,d)>>>0)>>>0;y=(x=w/k,(x===x&&x!==1/0&&x!==-1/0)?x>>>0:$throwRuntimeError("integer divide by zero"));v=w-($imul(y,k)>>>0)>>>0;while(true){if(!(y>=65536||($imul(y,l)>>>0)>(($imul(65536,v)>>>0)+s>>>0))){break;}y=y-(1)>>>0;v=v+(k)>>>0;if(v>=65536){break;}}z=($imul(u,65536)>>>0)+y>>>0;aa=(ab=i,ab<32?((((($imul(w,65536)>>>0)+s>>>0)-($imul(y,d)>>>0)>>>0))>>>ab):0)>>>0;e=z;f=aa;return[e,f];};T=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=0;if(false){f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=N(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]),e);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]);o=(m+n>>>0)+e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=o);e=(((((m&n)>>>0)|(((((m|n)>>>0))&~o)>>>0))>>>0))>>>31>>>0;k++;}return e;};U=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=0;if(false){f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=O(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]),e);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]);o=(m-n>>>0)-e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=o);e=(((((n&~m)>>>0)|(((((n|(~m>>>0))>>>0))&o)>>>0))>>>0))>>>31>>>0;k++;}return e;};V=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n;e=0;if(false){e=d;f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=N(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),e,0);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}e=d;j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=m+e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=n);e=((m&~n)>>>0)>>>31>>>0;k++;}return e;};W=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n;e=0;if(false){e=d;f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=O(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),e,0);e=i[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=i[1]);g++;}return e;}e=d;j=$subslice(c,0,b.$length);k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=m-e>>>0;((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=n);e=(((n&~m)>>>0))>>>31>>>0;k++;}return e;};X=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;e=0;f=b.$length;if(f>0){g=32-d>>>0;i=(h=f-1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]));e=(j=g,j<32?(i>>>j):0)>>>0;k=f-1>>0;while(true){if(!(k>0)){break;}l=i;i=(m=k-1>>0,((m<0||m>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+m]));((k<0||k>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+k]=((((n=d,n<32?(l<<n):0)>>>0)|((o=g,o<32?(i>>>o):0)>>>0))>>>0));k=k-(1)>>0;}(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=((p=d,p<32?(i<<p):0)>>>0));}return e;};Y=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;e=0;f=b.$length;if(f>0){g=32-d>>>0;h=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]);e=(i=g,i<32?(h<<i):0)>>>0;j=0;while(true){if(!(j<(f-1>>0))){break;}k=h;h=(l=j+1>>0,((l<0||l>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+l]));((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]=((((m=d,m<32?(k>>>m):0)>>>0)|((n=g,n<32?(h<<n):0)>>>0))>>>0));j=j+(1)>>0;}(p=f-1>>0,((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=((o=d,o<32?(h>>>o):0)>>>0)));}return e;};Z=function(b,c,d,e){var b,c,d,e,f,g,h,i,j;f=0;f=e;g=b;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=Q(((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i]),d,f);f=j[0];((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]=j[1]);h++;}return f;};AA=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l;e=0;f=b;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=Q(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]),d,((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]));j=i[0];k=i[1];l=N(k,e,0);e=l[0];((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h]=l[1]);e=e+(j)>>>0;g++;}return e;};AB=function(b,c,d,e){var b,c,d,e,f,g,h;f=0;f=c;g=b.$length-1>>0;while(true){if(!(g>=0)){break;}h=S(f,((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]),e);((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]=h[0]);f=h[1];g=g-(1)>>0;}return f;};AC=function(b,c){var b,c,d,e,f;d=0;e=0;f=P(b,c);d=f[0];e=f[1];return[d,e];};AD=function(b,c,d){var b,c,d,e,f,g;e=0;f=0;g=S(b,c,d);e=g[0];f=g[1];return[e,f];};AE=function(b,c,d){var b,c,d,e;e=0;e=T(b,c,d);return e;};AF=function(b,c,d){var b,c,d,e;e=0;e=U(b,c,d);return e;};AG=function(b,c,d){var b,c,d,e;e=0;e=V(b,c,d);return e;};AH=function(b,c,d){var b,c,d,e;e=0;e=W(b,c,d);return e;};AI=function(b,c,d){var b,c,d,e;e=0;e=X(b,c,d);return e;};AJ=function(b,c,d){var b,c,d,e;e=0;e=Y(b,c,d);return e;};AK=function(b,c,d,e){var b,c,d,e,f;f=0;f=Z(b,c,d,e);return f;};AL=function(b,c,d){var b,c,d,e;e=0;e=AA(b,c,d);return e;};AM=function(b,c,d,e){var b,c,d,e,f;f=0;f=AB(b,c,d,e);return f;};BL.ptr.prototype.Sign=function(){var b;b=this;if(b.abs.$length===0){return 0;}if(b.neg){return-1;}return 1;};BL.prototype.Sign=function(){return this.$val.Sign();};BL.ptr.prototype.SetInt64=function(b){var b,c,d;c=this;d=false;if((b.$high<0||(b.$high===0&&b.$low<0))){d=true;b=new $Int64(-b.$high,-b.$low);}c.abs=c.abs.setUint64((new $Uint64(b.$high,b.$low)));c.neg=d;return c;};BL.prototype.SetInt64=function(b){return this.$val.SetInt64(b);};BL.ptr.prototype.SetUint64=function(b){var b,c;c=this;c.abs=c.abs.setUint64(b);c.neg=false;return c;};BL.prototype.SetUint64=function(b){return this.$val.SetUint64(b);};BN=function(b){var b;return new BL.ptr(false,BU.nil).SetInt64(b);};$pkg.NewInt=BN;BL.ptr.prototype.Set=function(b){var b,c;c=this;if(!(c===b)){c.abs=c.abs.set(b.abs);c.neg=b.neg;}return c;};BL.prototype.Set=function(b){return this.$val.Set(b);};BL.ptr.prototype.Bits=function(){var b,c;b=this;return(c=b.abs,$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));};BL.prototype.Bits=function(){return this.$val.Bits();};BL.ptr.prototype.SetBits=function(b){var b,c;c=this;c.abs=($subslice(new BU(b.$array),b.$offset,b.$offset+b.$length)).norm();c.neg=false;return c;};BL.prototype.SetBits=function(b){return this.$val.SetBits(b);};BL.ptr.prototype.Abs=function(b){var b,c;c=this;c.Set(b);c.neg=false;return c;};BL.prototype.Abs=function(b){return this.$val.Abs(b);};BL.ptr.prototype.Neg=function(b){var b,c;c=this;c.Set(b);c.neg=c.abs.$length>0&&!c.neg;return c;};BL.prototype.Neg=function(b){return this.$val.Neg(b);};BL.ptr.prototype.Add=function(b,c){var b,c,d,e;d=this;e=b.neg;if(b.neg===c.neg){d.abs=d.abs.add(b.abs,c.abs);}else{if(b.abs.cmp(c.abs)>=0){d.abs=d.abs.sub(b.abs,c.abs);}else{e=!e;d.abs=d.abs.sub(c.abs,b.abs);}}d.neg=d.abs.$length>0&&e;return d;};BL.prototype.Add=function(b,c){return this.$val.Add(b,c);};BL.ptr.prototype.Sub=function(b,c){var b,c,d,e;d=this;e=b.neg;if(!(b.neg===c.neg)){d.abs=d.abs.add(b.abs,c.abs);}else{if(b.abs.cmp(c.abs)>=0){d.abs=d.abs.sub(b.abs,c.abs);}else{e=!e;d.abs=d.abs.sub(c.abs,b.abs);}}d.neg=d.abs.$length>0&&e;return d;};BL.prototype.Sub=function(b,c){return this.$val.Sub(b,c);};BL.ptr.prototype.Mul=function(b,c){var b,c,d;d=this;d.abs=d.abs.mul(b.abs,c.abs);d.neg=d.abs.$length>0&&!(b.neg===c.neg);return d;};BL.prototype.Mul=function(b,c){return this.$val.Mul(b,c);};BL.ptr.prototype.MulRange=function(b,c){var b,c,d,e,f,g,h,i;d=this;if((b.$high>c.$high||(b.$high===c.$high&&b.$low>c.$low))){return d.SetInt64(new $Int64(0,1));}else if((b.$high<0||(b.$high===0&&b.$low<=0))&&(c.$high>0||(c.$high===0&&c.$low>=0))){return d.SetInt64(new $Int64(0,0));}e=false;if((b.$high<0||(b.$high===0&&b.$low<0))){e=(f=(g=new $Int64(c.$high-b.$high,c.$low-b.$low),new $Int64(g.$high&0,(g.$low&1)>>>0)),(f.$high===0&&f.$low===0));h=new $Int64(-c.$high,-c.$low);i=new $Int64(-b.$high,-b.$low);b=h;c=i;}d.abs=d.abs.mulRange((new $Uint64(b.$high,b.$low)),(new $Uint64(c.$high,c.$low)));d.neg=e;return d;};BL.prototype.MulRange=function(b,c){return this.$val.MulRange(b,c);};BL.ptr.prototype.Binomial=function(b,c){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=this;if((g=$div64(b,new $Int64(0,2),false),(g.$high<c.$high||(g.$high===c.$high&&g.$low<c.$low)))&&(c.$high<b.$high||(c.$high===b.$high&&c.$low<=b.$low))){c=new $Int64(b.$high-c.$high,b.$low-c.$low);}h=new BL.ptr(false,BU.nil);i=new BL.ptr(false,BU.nil);d[0]=$clone(h,BL);e[0]=$clone(i,BL);d[0].MulRange((j=new $Int64(b.$high-c.$high,b.$low-c.$low),new $Int64(j.$high+0,j.$low+1)),b);e[0].MulRange(new $Int64(0,1),c);k=f.Quo(d[0],e[0]);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Binomial};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Binomial=function(b,c){return this.$val.Binomial(b,c);};BL.ptr.prototype.Quo=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=d.abs.div(BU.nil,b.abs,c.abs);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;d.abs=e[0];d.neg=d.abs.$length>0&&!(b.neg===c.neg);$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Quo};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Quo=function(b,c){return this.$val.Quo(b,c);};BL.ptr.prototype.Rem=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=(BU.nil).div(d.abs,b.abs,c.abs);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;d.abs=e[1];d.neg=d.abs.$length>0&&b.neg;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Rem};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Rem=function(b,c){return this.$val.Rem(b,c);};BL.ptr.prototype.QuoRem=function(b,c,d){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;g=e.abs.div(d.abs,b.abs,c.abs);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e.abs=f[0];d.abs=f[1];h=e.abs.$length>0&&!(b.neg===c.neg);i=d.abs.$length>0&&b.neg;e.neg=h;d.neg=i;$s=-1;return[e,d];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.QuoRem};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.QuoRem=function(b,c,d){return this.$val.QuoRem(b,c,d);};BL.ptr.prototype.Div=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;f=c.neg;d[0]=new BL.ptr(false,BU.nil);g=e.QuoRem(b,c,d[0]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d[0].neg){if(f){e.Add(e,BM);}else{e.Sub(e,BM);}}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Div};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Div=function(b,c){return this.$val.Div(b,c);};BL.ptr.prototype.Mod=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if(d===c||CD(d.abs,c.abs)){e=new BL.ptr(false,BU.nil).Set(c);}f=new BL.ptr(false,BU.nil);g=f.QuoRem(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d.neg){if(e.neg){d.Sub(d,e);}else{d.Add(d,e);}}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Mod};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Mod=function(b,c){return this.$val.Mod(b,c);};BL.ptr.prototype.DivMod=function(b,c,d){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=c;if(e===c||CD(e.abs,c.abs)){f=new BL.ptr(false,BU.nil).Set(c);}g=e.QuoRem(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d.neg){if(f.neg){e.Add(e,BM);d.Sub(d,f);}else{e.Sub(e,BM);d.Add(d,f);}}$s=-1;return[e,d];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.DivMod};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.DivMod=function(b,c,d){return this.$val.DivMod(b,c,d);};BL.ptr.prototype.Cmp=function(b){var b,c,d;c=0;d=this;if(d.neg===b.neg){c=d.abs.cmp(b.abs);if(d.neg){c=-c;}}else if(d.neg){c=-1;}else{c=1;}return c;};BL.prototype.Cmp=function(b){return this.$val.Cmp(b);};BP=function(b){var b,c,d,e,f;if(b.$length===0){return new $Uint64(0,0);}d=((c=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]),new $Uint64(0,c.constructor===Number?c:1)));if(true&&b.$length>1){return(e=$shiftLeft64(((f=(1>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+1]),new $Uint64(0,f.constructor===Number?f:1))),32),new $Uint64(e.$high|d.$high,(e.$low|d.$low)>>>0));}return d;};BL.ptr.prototype.Int64=function(){var b,c,d;b=this;d=((c=BP(b.abs),new $Int64(c.$high,c.$low)));if(b.neg){d=new $Int64(-d.$high,-d.$low);}return d;};BL.prototype.Int64=function(){return this.$val.Int64();};BL.ptr.prototype.Uint64=function(){var b;b=this;return BP(b.abs);};BL.prototype.Uint64=function(){return this.$val.Uint64();};BL.ptr.prototype.IsInt64=function(){var b,c,d,e;b=this;if(b.abs.$length<=2){d=((c=BP(b.abs),new $Int64(c.$high,c.$low)));return(d.$high>0||(d.$high===0&&d.$low>=0))||b.neg&&(e=new $Int64(-d.$high,-d.$low),(d.$high===e.$high&&d.$low===e.$low));}return false;};BL.prototype.IsInt64=function(){return this.$val.IsInt64();};BL.ptr.prototype.IsUint64=function(){var b;b=this;return!b.neg&&b.abs.$length<=2;};BL.prototype.IsUint64=function(){return this.$val.IsUint64();};BL.ptr.prototype.SetString=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=E.NewReader(b);g=d.scan(e,c);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[2];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DJ.nil,false];}i=e.ReadByte();j=i[1];if(!($interfaceIsEqual(j,D.EOF))){$s=-1;return[DJ.nil,false];}$s=-1;return[d,true];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.SetString};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.SetString=function(b,c){return this.$val.SetString(b,c);};BL.ptr.prototype.SetBytes=function(b){var b,c;c=this;c.abs=c.abs.setBytes(b);c.neg=false;return c;};BL.prototype.SetBytes=function(b){return this.$val.SetBytes(b);};BL.ptr.prototype.Bytes=function(){var b,c;b=this;c=$makeSlice(DG,($imul(b.abs.$length,4)));return $subslice(c,b.abs.bytes(c));};BL.prototype.Bytes=function(){return this.$val.Bytes();};BL.ptr.prototype.BitLen=function(){var b;b=this;return b.abs.bitLen();};BL.prototype.BitLen=function(){return this.$val.BitLen();};BL.ptr.prototype.Exp=function(b,c,d){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=BU.nil;if(!c.neg){f=c.abs;}g=BU.nil;if(!(d===DJ.nil)){g=d.abs;}h=e.abs.expNN(b.abs,f,g);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}e.abs=h;e.neg=e.abs.$length>0&&b.neg&&f.$length>0&&((((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])&1)>>>0)===1);if(e.neg&&g.$length>0){e.abs=e.abs.sub(g,e.abs);e.neg=false;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Exp};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Exp=function(b,c,d){return this.$val.Exp(b,c,d);};BL.ptr.prototype.GCD=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;if(d.Sign()<=0||e.Sign()<=0){f.SetInt64(new $Int64(0,0));if(!(b===DJ.nil)){b.SetInt64(new $Int64(0,0));}if(!(c===DJ.nil)){c.SetInt64(new $Int64(0,0));}$s=-1;return f;}if(b===DJ.nil&&c===DJ.nil){$s=1;continue;}$s=2;continue;case 1:g=f.binaryGCD(d,e);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;case 2:h=new BL.ptr(false,BU.nil).Set(d);i=new BL.ptr(false,BU.nil).Set(e);j=new BL.ptr(false,BU.nil);k=new BL.ptr(false,BU.nil).SetInt64(new $Int64(0,1));l=new BL.ptr(false,BU.nil).SetInt64(new $Int64(0,1));m=new BL.ptr(false,BU.nil);n=new BL.ptr(false,BU.nil);o=new BL.ptr(false,BU.nil);p=new BL.ptr(false,BU.nil);case 4:if(!(i.abs.$length>0)){$s=5;continue;}r=n.QuoRem(h,i,p);$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;n=q[0];p=q[1];s=i;t=p;u=h;h=s;i=t;p=u;o.Set(j);j.Mul(j,n);j.neg=!j.neg;j.Add(j,l);l.Set(o);o.Set(k);k.Mul(k,n);k.neg=!k.neg;k.Add(k,m);m.Set(o);$s=4;continue;case 5:if(!(b===DJ.nil)){BL.copy(b,l);}if(!(c===DJ.nil)){BL.copy(c,m);}BL.copy(f,h);$s=-1;return f;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.GCD};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.GCD=function(b,c,d,e){return this.$val.GCD(b,c,d,e);};BL.ptr.prototype.binaryGCD=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d;f=new BL.ptr(false,BU.nil);if(b.abs.$length>c.abs.$length){$s=2;continue;}if(b.abs.$length<c.abs.$length){$s=3;continue;}$s=4;continue;case 2:g=f.Rem(b,c);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;e.Set(c);$s=5;continue;case 3:h=f.Rem(c,b);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;e.Set(b);$s=5;continue;case 4:f.Set(c);e.Set(b);case 5:case 1:if(f.abs.$length===0){$s=-1;return e;}i=e.abs.trailingZeroBits();j=f.abs.trailingZeroBits();if(j<i){i=j;}e.Rsh(e,i);f.Rsh(f,i);k=new BL.ptr(false,BU.nil);if(!(((((l=e.abs,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]))&1)>>>0)===0))){k.Neg(f);}else{k.Set(e);}while(true){if(!(k.abs.$length>0)){break;}k.Rsh(k,k.abs.trailingZeroBits());if(k.neg){m=k;n=f;f=m;k=n;f.neg=f.abs.$length>0&&!f.neg;}else{o=k;p=e;e=o;k=p;}k.Sub(e,f);}$s=-1;return d.Lsh(e,i);}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.binaryGCD};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.binaryGCD=function(b,c){return this.$val.binaryGCD(b,c);};BL.ptr.prototype.Rand=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.neg=false;if(c.neg||(c.abs.$length===0)){d.abs=BU.nil;$s=-1;return d;}e=d.abs.random(b,c.abs,c.abs.bitLen());$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.abs=e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Rand};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Rand=function(b,c){return this.$val.Rand(b,c);};BL.ptr.prototype.ModInverse=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.neg){$s=1;continue;}$s=2;continue;case 1:e=new BL.ptr(false,BU.nil);f=e.Mod(b,c);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}b=f;case 2:g=new BL.ptr(false,BU.nil);h=g.GCD(d,DJ.nil,b,c);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;if(d.neg){d.Add(d,c);}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.ModInverse};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.ModInverse=function(b,c){return this.$val.ModInverse(b,c);};BQ=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];if((c.abs.$length===0)||((((g=c.abs,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]))&1)>>>0)===0)){$s=1;continue;}$s=2;continue;case 1:h=A.Sprintf("big: invalid 2nd argument to Int.Jacobi: need odd integer but got %s",new DC([c]));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(new $String(h));case 2:i=new BL.ptr(false,BU.nil);j=new BL.ptr(false,BU.nil);k=new BL.ptr(false,BU.nil);d[0]=$clone(i,BL);e[0]=$clone(j,BL);f[0]=$clone(k,BL);d[0].Set(b);e[0].Set(c);l=1;if(e[0].neg){if(d[0].neg){l=-1;}e[0].neg=false;}case 4:if(e[0].Cmp(BM)===0){$s=-1;return l;}if(d[0].abs.$length===0){$s=-1;return 0;}m=d[0].Mod(d[0],e[0]);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;if(d[0].abs.$length===0){$s=-1;return 0;}n=d[0].abs.trailingZeroBits();if(!((((n&1)>>>0)===0))){p=((o=e[0].abs,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]))&7)>>>0;if((p===3)||(p===5)){l=-l;}}f[0].Rsh(d[0],n);if(((((q=e[0].abs,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0]))&3)>>>0)===3)&&((((r=f[0].abs,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]))&3)>>>0)===3)){l=-l;}d[0].Set(e[0]);e[0].Set(f[0]);$s=4;continue;case 5:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:BQ};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Jacobi=BQ;BL.ptr.prototype.modSqrt3Mod4Prime=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.Set(c);d.Add(d,BM);d.Rsh(d,2);e=d.Exp(b,d,c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.modSqrt3Mod4Prime};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.modSqrt3Mod4Prime=function(b,c){return this.$val.modSqrt3Mod4Prime(b,c);};BL.ptr.prototype.modSqrtTonelliShanks=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];g=[g];h=[h];i=[i];j=this;g[0]=new BL.ptr(false,BU.nil);g[0].Sub(c,BM);k=g[0].abs.trailingZeroBits();g[0].Rsh(g[0],k);f[0]=new BL.ptr(false,BU.nil);f[0].SetInt64(new $Int64(0,2));case 1:l=BQ(f[0],c);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!(!((l===-1)))){$s=2;continue;}f[0].Add(f[0],BM);$s=1;continue;case 2:m=new BL.ptr(false,BU.nil);n=new BL.ptr(false,BU.nil);o=new BL.ptr(false,BU.nil);p=new BL.ptr(false,BU.nil);i[0]=$clone(m,BL);d[0]=$clone(n,BL);e[0]=$clone(o,BL);h[0]=$clone(p,BL);i[0].Add(g[0],BM);i[0].Rsh(i[0],1);q=i[0].Exp(b,i[0],c);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;r=d[0].Exp(b,g[0],c);$s=5;case 5:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;s=e[0].Exp(f[0],g[0],c);$s=6;case 6:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;t=k;case 7:u=0;h[0].Set(d[0]);case 9:if(!(!((h[0].Cmp(BM)===0)))){$s=10;continue;}v=h[0].Mul(h[0],h[0]).Mod(h[0],c);$s=11;case 11:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;u=u+(1)>>>0;$s=9;continue;case 10:if(u===0){$s=-1;return j.Set(i[0]);}w=h[0].SetInt64(new $Int64(0,0)).SetBit(h[0],((((t-u>>>0)-1>>>0)>>0)),1).Exp(e[0],h[0],c);$s=12;case 12:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;x=e[0].Mul(h[0],h[0]).Mod(e[0],c);$s=13;case 13:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;y=i[0].Mul(i[0],h[0]).Mod(i[0],c);$s=14;case 14:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;z=d[0].Mul(d[0],e[0]).Mod(d[0],c);$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;t=u;$s=7;continue;case 8:$s=-1;return DJ.nil;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.modSqrtTonelliShanks};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.modSqrtTonelliShanks=function(b,c){return this.$val.modSqrtTonelliShanks(b,c);};BL.ptr.prototype.ModSqrt=function(b,c){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=BQ(b,c);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(f===(-1)){$s=-1;return DJ.nil;}else if(f===(0)){$s=-1;return d.SetInt64(new $Int64(0,0));}else if(f===(1)){$s=1;continue;}case 1:if(b.neg||b.Cmp(c)>=0){$s=3;continue;}$s=4;continue;case 3:g=new BL.ptr(false,BU.nil).Mod(b,c);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}b=g;case 4:if(c.abs.$length>0&&((h=(i=c.abs,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))%4,h===h?h:$throwRuntimeError("integer divide by zero"))===3)){$s=6;continue;}$s=7;continue;case 6:j=d.modSqrt3Mod4Prime(b,c);$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;case 7:k=d.modSqrtTonelliShanks(b,c);$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.ModSqrt};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.ModSqrt=function(b,c){return this.$val.ModSqrt(b,c);};BL.ptr.prototype.Lsh=function(b,c){var b,c,d;d=this;d.abs=d.abs.shl(b.abs,c);d.neg=b.neg;return d;};BL.prototype.Lsh=function(b,c){return this.$val.Lsh(b,c);};BL.ptr.prototype.Rsh=function(b,c){var b,c,d,e;d=this;if(b.neg){e=d.abs.sub(b.abs,BV);e=e.shr(e,c);d.abs=e.add(e,BV);d.neg=true;return d;}d.abs=d.abs.shr(b.abs,c);d.neg=false;return d;};BL.prototype.Rsh=function(b,c){return this.$val.Rsh(b,c);};BL.ptr.prototype.Bit=function(b){var b,c,d,e;c=this;if(b===0){if(c.abs.$length>0){return(((((d=c.abs,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))&1)>>>0)>>>0));}return 0;}if(b<0){$panic(new $String("negative bit index"));}if(c.neg){e=(BU.nil).sub(c.abs,BV);return(e.bit(((b>>>0)))^1)>>>0;}return c.abs.bit(((b>>>0)));};BL.prototype.Bit=function(b){return this.$val.Bit(b);};BL.ptr.prototype.SetBit=function(b,c,d){var b,c,d,e,f;e=this;if(c<0){$panic(new $String("negative bit index"));}if(b.neg){f=e.abs.sub(b.abs,BV);f=f.setBit(f,((c>>>0)),(d^1)>>>0);e.abs=f.add(f,BV);e.neg=e.abs.$length>0;return e;}e.abs=e.abs.setBit(b.abs,((c>>>0)),d);e.neg=false;return e;};BL.prototype.SetBit=function(b,c,d){return this.$val.SetBit(b,c,d);};BL.ptr.prototype.And=function(b,c){var b,c,d,e,f,g,h,i;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.or(e,f),BV);d.neg=true;return d;}d.abs=d.abs.and(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=c;h=b;b=g;c=h;}i=(BU.nil).sub(c.abs,BV);d.abs=d.abs.andNot(b.abs,i);d.neg=false;return d;};BL.prototype.And=function(b,c){return this.$val.And(b,c);};BL.ptr.prototype.AndNot=function(b,c){var b,c,d,e,f,g,h;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.andNot(f,e);d.neg=false;return d;}d.abs=d.abs.andNot(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=(BU.nil).sub(b.abs,BV);d.abs=d.abs.add(d.abs.or(g,c.abs),BV);d.neg=true;return d;}h=(BU.nil).sub(c.abs,BV);d.abs=d.abs.and(b.abs,h);d.neg=false;return d;};BL.prototype.AndNot=function(b,c){return this.$val.AndNot(b,c);};BL.ptr.prototype.Or=function(b,c){var b,c,d,e,f,g,h,i;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.and(e,f),BV);d.neg=true;return d;}d.abs=d.abs.or(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=c;h=b;b=g;c=h;}i=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.andNot(i,b.abs),BV);d.neg=true;return d;};BL.prototype.Or=function(b,c){return this.$val.Or(b,c);};BL.ptr.prototype.Xor=function(b,c){var b,c,d,e,f,g,h,i;d=this;if(b.neg===c.neg){if(b.neg){e=(BU.nil).sub(b.abs,BV);f=(BU.nil).sub(c.abs,BV);d.abs=d.abs.xor(e,f);d.neg=false;return d;}d.abs=d.abs.xor(b.abs,c.abs);d.neg=false;return d;}if(b.neg){g=c;h=b;b=g;c=h;}i=(BU.nil).sub(c.abs,BV);d.abs=d.abs.add(d.abs.xor(b.abs,i),BV);d.neg=true;return d;};BL.prototype.Xor=function(b,c){return this.$val.Xor(b,c);};BL.ptr.prototype.Not=function(b){var b,c;c=this;if(b.neg){c.abs=c.abs.sub(b.abs,BV);c.neg=false;return c;}c.abs=c.abs.add(b.abs,BV);c.neg=true;return c;};BL.prototype.Not=function(b){return this.$val.Not(b);};BL.ptr.prototype.Sqrt=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.neg){$panic(new $String("square root of negative number"));}c.neg=false;d=c.abs.sqrt(b.abs);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c.abs=d;$s=-1;return c;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Sqrt};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Sqrt=function(b){return this.$val.Sqrt(b);};BL.ptr.prototype.Text=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c===DJ.nil){$s=-1;return"<nil>";}d=c.abs.itoa(c.neg,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return($bytesToString(d));}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Text};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Text=function(b){return this.$val.Text(b);};BL.ptr.prototype.Append=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d===DJ.nil){$s=-1;return $appendSlice(b,"<nil>");}e=b;f=d.abs.itoa(d.neg,c);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=-1;return $appendSlice(e,g);}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Append};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Append=function(b,c){return this.$val.Append(b,c);};BL.ptr.prototype.String=function(){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Text(10);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.String};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.String=function(){return this.$val.String();};BR=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.length>0){$s=1;continue;}$s=2;continue;case 1:e=(new DG($stringToBytes(c)));case 3:if(!(d>0)){$s=4;continue;}f=b.Write(e);$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;d=d-(1)>>0;$s=3;continue;case 4:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BR};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BL.ptr.prototype.Format=function(b,c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=0;f=c;if(f===(98)){$s=2;continue;}if(f===(111)){$s=3;continue;}if((f===(100))||(f===(115))||(f===(118))){$s=4;continue;}if((f===(120))||(f===(88))){$s=5;continue;}$s=6;continue;case 2:e=2;$s=7;continue;case 3:e=8;$s=7;continue;case 4:e=10;$s=7;continue;case 5:e=16;$s=7;continue;case 6:g=b;h=new $Int32(c);i=d.String();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=new $String(i);k=A.Fprintf(g,"%%!%c(big.Int=%s)",new DC([h,j]));$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;$s=-1;return;case 7:case 1:if(d===DJ.nil){$s=10;continue;}$s=11;continue;case 10:l=A.Fprint(b,new DC([new $String("<nil>")]));$s=12;case 12:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;$s=-1;return;case 11:m="";if(d.neg){$s=14;continue;}n=b.Flag(43);$s=18;case 18:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n){$s=15;continue;}o=b.Flag(32);$s=19;case 19:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(o){$s=16;continue;}$s=17;continue;case 14:m="-";$s=17;continue;case 15:m="+";$s=17;continue;case 16:m=" ";case 17:case 13:p="";q=b.Flag(35);$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(q){$s=20;continue;}$s=21;continue;case 20:r=c;if(r===(111)){p="0";}else if(r===(120)){p="0x";}else if(r===(88)){p="0X";}case 21:s=d.abs.utoa(e);$s=23;case 23:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(c===88){u=t;v=0;while(true){if(!(v<u.$length)){break;}w=v;x=((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]);if(97<=x&&x<=122){((w<0||w>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+w]=(65+((x-97<<24>>>24))<<24>>>24));}v++;}}y=0;z=0;aa=0;ac=b.Precision();$s=24;case 24:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(ae){if(t.$length<ad){z=ad-t.$length>>0;}else if((t.$length===1)&&((0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])===48)&&(ad===0)){$s=-1;return;}}af=((m.length+p.length>>0)+z>>0)+t.$length>>0;ah=b.Width();$s=25;case 25:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=ag[0];aj=ag[1];if(aj&&af<ai){$s=26;continue;}$s=27;continue;case 26:ak=ai-af>>0;al=b.Flag(45);$s=33;case 33:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}if(al){$s=29;continue;}am=b.Flag(48);$s=34;case 34:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(am&&!ae){$s=30;continue;}$s=31;continue;case 29:aa=ak;$s=32;continue;case 30:z=ak;$s=32;continue;case 31:y=ak;case 32:case 28:case 27:$r=BR(b," ",y);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BR(b,m,1);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BR(b,p,1);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BR(b,"0",z);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}an=b.Write(t);$s=39;case 39:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}an;$r=BR(b," ",aa);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Format};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Format=function(b,c){return this.$val.Format(b,c);};BL.ptr.prototype.scan=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=BS(b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DJ.nil,0,h];}j=d.abs.scan(b,c,false);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;d.abs=i[0];c=i[1];h=i[3];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DJ.nil,c,h];}d.neg=d.abs.$length>0&&g;$s=-1;return[d,c,$ifaceNil];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.scan=function(b,c){return this.$val.scan(b,c);};BS=function(b){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=false;d=$ifaceNil;e=0;g=b.ReadByte();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e=f[0];d=f[1];if(!($interfaceIsEqual(d,$ifaceNil))){h=false;i=d;c=h;d=i;$s=-1;return[c,d];}j=e;if(j===(45)){$s=3;continue;}if(j===(43)){$s=4;continue;}$s=5;continue;case 3:c=true;$s=6;continue;case 4:$s=6;continue;case 5:k=b.UnreadByte();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 6:case 2:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:BS};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BT.ptr.prototype.ReadByte=function(){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.ScanState.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];if(!((f===1))&&$interfaceIsEqual(g,$ifaceNil)){$s=2;continue;}$s=3;continue;case 2:h=A.Errorf("invalid rune %#U",new DC([new $Int32(e)]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 3:$s=-1;return[((e<<24>>>24)),g];}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.ReadByte};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.ReadByte=function(){return this.$val.ReadByte();};BT.ptr.prototype.UnreadByte=function(){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.ScanState.UnreadRune();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.UnreadByte};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.UnreadByte=function(){return this.$val.UnreadByte();};BL.ptr.prototype.Scan=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=b.SkipSpace();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=0;f=c;if(f===(98)){e=2;}else if(f===(111)){e=8;}else if(f===(100)){e=10;}else if((f===(120))||(f===(88))){e=16;}else if((f===(115))||(f===(118))){}else{$s=-1;return J.New("Int.Scan: invalid verb");}i=d.scan((h=new BT.ptr(b),new h.constructor.elem(h)),e);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;j=g[2];$s=-1;return j;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Scan=function(b,c){return this.$val.Scan(b,c);};BL.ptr.prototype.GobEncode=function(){var b,c,d,e;b=this;if(b===DJ.nil){return[DG.nil,$ifaceNil];}c=$makeSlice(DG,(1+($imul(b.abs.$length,4))>>0));d=b.abs.bytes(c)-1>>0;e=2;if(b.neg){e=(e|(1))>>>0;}((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=e);return[$subslice(c,d),$ifaceNil];};BL.prototype.GobEncode=function(){return this.$val.GobEncode();};BL.ptr.prototype.GobDecode=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.$length===0){BL.copy(c,new BL.ptr(false,BU.nil));$s=-1;return $ifaceNil;}d=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]);if(!(((d>>>1<<24>>>24)===1))){$s=1;continue;}$s=2;continue;case 1:e=A.Errorf("Int.GobDecode: encoding version %d not supported",new DC([new $Uint8((d>>>1<<24>>>24))]));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:c.neg=!((((d&1)>>>0)===0));c.abs=c.abs.setBytes($subslice(b,1));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.GobDecode};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.GobDecode=function(b){return this.$val.GobDecode(b);};BL.ptr.prototype.MarshalText=function(){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=DG.nil;c=$ifaceNil;d=this;if(d===DJ.nil){e=(new DG($stringToBytes("<nil>")));f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}h=d.abs.itoa(d.neg,10);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=$ifaceNil;b=g;c=i;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.MarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.MarshalText=function(){return this.$val.MarshalText();};BL.ptr.prototype.UnmarshalText=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.SetString(($bytesToString(b)),0);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[1];if(!f){$s=2;continue;}$s=3;continue;case 2:g=A.Errorf("math/big: cannot unmarshal %q into a *big.Int",new DC([b]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.UnmarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.UnmarshalText=function(b){return this.$val.UnmarshalText(b);};BL.ptr.prototype.MarshalJSON=function(){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.MarshalText();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.MarshalJSON};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BL.ptr.prototype.UnmarshalJSON=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(($bytesToString(b))==="null"){$s=-1;return $ifaceNil;}d=c.UnmarshalText(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.UnmarshalJSON};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.UnmarshalJSON=function(b){return this.$val.UnmarshalJSON(b);};BU.prototype.clear=function(){var b,c,d,e;b=this;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=d;((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]=0);d++;}};$ptrType(BU).prototype.clear=function(){return this.$get().clear();};BU.prototype.norm=function(){var b,c,d;b=this;c=b.$length;while(true){if(!(c>0&&((d=c-1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d]))===0))){break;}c=c-(1)>>0;}return $subslice(b,0,c);};$ptrType(BU).prototype.norm=function(){return this.$get().norm();};BU.prototype.make=function(b){var b,c;c=this;if(b<=c.$capacity){return $subslice(c,0,b);}return $makeSlice(BU,b,(b+4>>0));};$ptrType(BU).prototype.make=function(b){return this.$get().make(b);};BU.prototype.setWord=function(b){var b,c;c=this;if(b===0){return $subslice(c,0,0);}c=c.make(1);(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=b);return c;};$ptrType(BU).prototype.setWord=function(b){return this.$get().setWord(b);};BU.prototype.setUint64=function(b){var b,c,d,e;c=this;d=((b.$low>>>0));if((e=(new $Uint64(0,d.constructor===Number?d:1)),(e.$high===b.$high&&e.$low===b.$low))){return c.setWord(d);}c=c.make(2);(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]=(($shiftRightUint64(b,32).$low>>>0)));(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=((b.$low>>>0)));return c;};$ptrType(BU).prototype.setUint64=function(b){return this.$get().setUint64(b);};BU.prototype.set=function(b){var b,c;c=this;c=c.make(b.$length);$copySlice(c,b);return c;};$ptrType(BU).prototype.set=function(b){return this.$get().set(b);};BU.prototype.add=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;if(e<f){return d.add(c,b);}else if((e===0)){return $subslice(d,0,0);}else if((f===0)){return d.set(b);}d=d.make(e+1>>0);h=AE((g=$subslice(d,0,f),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(e>f){h=AG((i=$subslice(d,f,e),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length)),(j=$subslice(b,f),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length)),h);}((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]=h);return d.norm();};$ptrType(BU).prototype.add=function(b,c){return this.$get().add(b,c);};BU.prototype.sub=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;if(e<f){$panic(new $String("underflow"));}else if((e===0)){return $subslice(d,0,0);}else if((f===0)){return d.set(b);}d=d.make(e);h=AF((g=$subslice(d,0,f),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(e>f){h=AH((i=$subslice(d,f),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length)),(j=$subslice(b,f),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length)),h);}if(!((h===0))){$panic(new $String("underflow"));}return d.norm();};$ptrType(BU).prototype.sub=function(b,c){return this.$get().sub(b,c);};BU.prototype.cmp=function(b){var b,c,d,e,f,g;c=0;d=this;e=d.$length;f=b.$length;if(!((e===f))||(e===0)){if(e<f){c=-1;}else if(e>f){c=1;}return c;}g=e-1>>0;while(true){if(!(g>0&&(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])===((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])))){break;}g=g-(1)>>0;}if(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])<((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])){c=-1;}else if(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])>((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])){c=1;}return c;};$ptrType(BU).prototype.cmp=function(b){return this.$get().cmp(b);};BU.prototype.mulAddWW=function(b,c,d){var b,c,d,e,f,g;e=this;f=b.$length;if((f===0)||(c===0)){return e.setWord(d);}e=e.make(f+1>>0);((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]=AK((g=$subslice(e,0,f),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),c,d));return e.norm();};$ptrType(BU).prototype.mulAddWW=function(b,c,d){return this.$get().mulAddWW(b,c,d);};BY=function(b,c,d){var b,c,d,e,f,g,h,i,j;$subslice(b,0,(c.$length+d.$length>>0)).clear();e=d;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!((h===0))){(j=c.$length+g>>0,((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]=AL((i=$subslice(b,g,(g+c.$length>>0)),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length)),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length),h)));}f++;}};BU.prototype.montgomery=function(b,c,d,e,f){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;g=this;if(!((b.$length===f))||!((c.$length===f))||!((d.$length===f))){$panic(new $String("math/big: mismatched montgomery number lengths"));}g=g.make(f);g.clear();h=0;i=0;while(true){if(!(i<f)){break;}j=((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i]);k=AL($subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),j);l=$imul((0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]),e)>>>0;m=AL($subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),l);$copySlice(g,$subslice(g,1));n=h+k>>>0;o=n+m>>>0;(p=f-1>>0,((p<0||p>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+p]=o));if(n<k||o<m){h=1;}else{h=0;}i=i+(1)>>0;}if(!((h===0))){AF($subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length));}return g;};$ptrType(BU).prototype.montgomery=function(b,c,d,e,f){return this.$get().montgomery(b,c,d,e,f);};BZ=function(b,c,d){var b,c,d,e,f,g,h;f=AE((e=$subslice(b,0,d),$subslice(new DI(e.$array),e.$offset,e.$offset+e.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(!((f===0))){AG((g=$subslice(b,d,(d+(d>>1>>0)>>0)),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),(h=$subslice(b,d),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),f);}};CA=function(b,c,d){var b,c,d,e,f,g,h;f=AF((e=$subslice(b,0,d),$subslice(new DI(e.$array),e.$offset,e.$offset+e.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(!((f===0))){AH((g=$subslice(b,d,(d+(d>>1>>0)>>0)),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),(h=$subslice(b,d),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),f);}};CC=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;e=d.$length;if(!(((e&1)===0))||e<CB||e<2){BY(b,c,d);return;}f=e>>1>>0;g=$subslice(c,f);h=$subslice(c,0,f);i=g;j=h;k=$subslice(d,f);l=$subslice(d,0,f);m=k;n=l;CC(b,j,n);CC($subslice(b,e),i,m);o=1;p=$subslice(b,($imul(2,e)),(($imul(2,e))+f>>0));if(!((AF($subslice(new DI(p.$array),p.$offset,p.$offset+p.$length),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length))===0))){o=-o;AF($subslice(new DI(p.$array),p.$offset,p.$offset+p.$length),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length),$subslice(new DI(i.$array),i.$offset,i.$offset+i.$length));}q=$subslice(b,(($imul(2,e))+f>>0),($imul(3,e)));if(!((AF($subslice(new DI(q.$array),q.$offset,q.$offset+q.$length),$subslice(new DI(n.$array),n.$offset,n.$offset+n.$length),$subslice(new DI(m.$array),m.$offset,m.$offset+m.$length))===0))){o=-o;AF($subslice(new DI(q.$array),q.$offset,q.$offset+q.$length),$subslice(new DI(m.$array),m.$offset,m.$offset+m.$length),$subslice(new DI(n.$array),n.$offset,n.$offset+n.$length));}r=$subslice(b,($imul(e,3)));CC(r,p,q);s=$subslice(b,($imul(e,4)));$copySlice(s,$subslice(b,0,($imul(e,2))));BZ($subslice(b,f),s,e);BZ($subslice(b,f),$subslice(s,e),e);if(o>0){BZ($subslice(b,f),r,e);}else{CA($subslice(b,f),r,e);}};CD=function(b,c){var b,c,d,e;return b.$capacity>0&&c.$capacity>0&&(d=$subslice(b,0,b.$capacity),$indexPtr(d.$array,d.$offset+(b.$capacity-1>>0),DL))===(e=$subslice(c,0,c.$capacity),$indexPtr(e.$array,e.$offset+(c.$capacity-1>>0),DL));};CE=function(b,c,d){var b,c,d,e,f,g,h,i,j,k;e=c.$length;if(e>0){h=AE((f=$subslice(b,d,(d+e>>0)),$subslice(new DI(f.$array),f.$offset,f.$offset+f.$length)),(g=$subslice(b,d),$subslice(new DI(g.$array),g.$offset,g.$offset+g.$length)),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length));if(!((h===0))){i=d+e>>0;if(i<b.$length){AG((j=$subslice(b,i),$subslice(new DI(j.$array),j.$offset,j.$offset+j.$length)),(k=$subslice(b,i),$subslice(new DI(k.$array),k.$offset,k.$offset+k.$length)),h);}}}};CF=function(b,c){var b,c;if(b>c){return b;}return c;};CG=function(b){var b,c,d;c=0;while(true){if(!(b>CB)){break;}b=(b>>$min((1),31))>>0;c=c+(1)>>>0;}return(d=c,d<32?(b<<d):0)>>0;};BU.prototype.mul=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;d=this;e=b.$length;f=c.$length;if(e<f){return d.mul(c,b);}else if((e===0)||(f===0)){return $subslice(d,0,0);}else if((f===1)){return d.mulAddWW(b,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]),0);}if(CD(d,b)||CD(d,c)){d=BU.nil;}if(f<CB){d=d.make(e+f>>0);BY(d,b,c);return d.norm();}g=CG(f);h=$subslice(b,0,g);i=$subslice(c,0,g);d=d.make(CF($imul(6,g),e+f>>0));CC(d,h,i);d=$subslice(d,0,(e+f>>0));$subslice(d,($imul(2,g))).clear();if(g<f||!((e===f))){j=BU.nil;k=h.norm();l=$subslice(c,g);j=j.mul(k,l);CE(d,j,g);m=i.norm();n=g;while(true){if(!(n<b.$length)){break;}o=$subslice(b,n);if(o.$length>g){o=$subslice(o,0,g);}o=o.norm();j=j.mul(o,m);CE(d,j,n);j=j.mul(o,l);CE(d,j,n+g>>0);n=n+(g)>>0;}}return d.norm();};$ptrType(BU).prototype.mul=function(b,c){return this.$get().mul(b,c);};BU.prototype.mulRange=function(b,c){var b,c,d,e,f;d=this;if((b.$high===0&&b.$low===0)){return d.setUint64(new $Uint64(0,0));}else if((b.$high>c.$high||(b.$high===c.$high&&b.$low>c.$low))){return d.setUint64(new $Uint64(0,1));}else if((b.$high===c.$high&&b.$low===c.$low)){return d.setUint64(b);}else if((e=new $Uint64(b.$high+0,b.$low+1),(e.$high===c.$high&&e.$low===c.$low))){return d.mul((BU.nil).setUint64(b),(BU.nil).setUint64(c));}f=$div64((new $Uint64(b.$high+c.$high,b.$low+c.$low)),new $Uint64(0,2),false);return d.mul((BU.nil).mulRange(b,f),(BU.nil).mulRange(new $Uint64(f.$high+0,f.$low+1),c));};$ptrType(BU).prototype.mulRange=function(b,c){return this.$get().mulRange(b,c);};BU.prototype.divW=function(b,c){var b,c,d,e,f,g;d=BU.nil;e=0;f=this;g=b.$length;if((c===0)){$panic(new $String("division by zero"));}else if((c===1)){d=f.set(b);return[d,e];}else if((g===0)){d=$subslice(f,0,0);return[d,e];}f=f.make(g);e=AM($subslice(new DI(f.$array),f.$offset,f.$offset+f.$length),0,$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),c);d=f.norm();return[d,e];};$ptrType(BU).prototype.divW=function(b,c){return this.$get().divW(b,c);};BU.prototype.div=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BU.nil;f=BU.nil;g=this;if(d.$length===0){$panic(new $String("division by zero"));}if(c.cmp(d)<0){e=$subslice(g,0,0);f=b.set(c);$s=-1;return[e,f];}if(d.$length===1){h=0;i=g.divW(c,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));e=i[0];h=i[1];f=b.setWord(h);$s=-1;return[e,f];}k=g.divLarge(b,c,d);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;e=j[0];f=j[1];$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BU.prototype.div};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.div=function(b,c,d){return this.$get().div(b,c,d);};CH=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=DM.nil;d=CJ.Get();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){c=$assertType(e,DM);}if(c===DM.nil){c=$newDataPointer(BU.nil,DM);}c.$set(c.make(b));$s=-1;return c;}return;}if($f===undefined){$f={$blk:CH};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CI=function(b){var b;CJ.Put(b);};BU.prototype.divLarge=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BU.nil;f=BU.nil;g=this;h=d.$length;i=c.$length-h>>0;if(CD(g,c)||CD(g,d)){g=BU.nil;}e=g.make(i+1>>0);j=CH(h+1>>0);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=k.$get();if(CD(b,c)||CD(b,d)){b=BU.nil;}b=b.make(c.$length+1>>0);b.clear();m=DM.nil;o=R((n=h-1>>0,((n<0||n>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+n])));if(o>0){$s=2;continue;}$s=3;continue;case 2:p=CH(h);$s=4;case 4:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}m=p;q=m.$get();AI($subslice(new DI(q.$array),q.$offset,q.$offset+q.$length),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),o);d=q;case 3:(s=c.$length,((s<0||s>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+s]=AI((r=$subslice(b,0,c.$length),$subslice(new DI(r.$array),r.$offset,r.$offset+r.$length)),$subslice(new DI(c.$array),c.$offset,c.$offset+c.$length),o)));u=(t=h-1>>0,((t<0||t>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+t]));v=i;while(true){if(!(v>=0)){break;}w=4294967295;y=(x=v+h>>0,((x<0||x>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+x]));if(!((y===u))){z=0;aa=AD(y,(ab=(v+h>>0)-1>>0,((ab<0||ab>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ab])),u);w=aa[0];z=aa[1];ad=(ac=h-2>>0,((ac<0||ac>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+ac]));ae=AC(w,ad);af=ae[0];ag=ae[1];ai=(ah=(v+h>>0)-2>>0,((ah<0||ah>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ah]));while(true){if(!(CK(af,ag,z,ai))){break;}w=w-(1)>>>0;aj=z;z=z+(u)>>>0;if(z<aj){break;}ak=AC(w,ad);af=ak[0];ag=ak[1];}}((h<0||h>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+h]=AK((al=$subslice(l,0,h),$subslice(new DI(al.$array),al.$offset,al.$offset+al.$length)),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),w,0));ao=AF((am=$subslice(b,v,(v+l.$length>>0)),$subslice(new DI(am.$array),am.$offset,am.$offset+am.$length)),(an=$subslice(b,v),$subslice(new DI(an.$array),an.$offset,an.$offset+an.$length)),$subslice(new DI(l.$array),l.$offset,l.$offset+l.$length));if(!((ao===0))){ar=AE((ap=$subslice(b,v,(v+h>>0)),$subslice(new DI(ap.$array),ap.$offset,ap.$offset+ap.$length)),(aq=$subslice(b,v),$subslice(new DI(aq.$array),aq.$offset,aq.$offset+aq.$length)),$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length));as=v+h>>0;((as<0||as>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+as]=(((as<0||as>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+as])+(ar)>>>0));w=w-(1)>>>0;}((v<0||v>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+v]=w);v=v-(1)>>0;}if(!(m===DM.nil)){CI(m);}CI(k);e=e.norm();AJ($subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),o);f=b.norm();at=e;au=f;e=at;f=au;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BU.prototype.divLarge};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.divLarge=function(b,c,d){return this.$get().divLarge(b,c,d);};BU.prototype.bitLen=function(){var b,c;b=this;c=b.$length-1>>0;if(c>=0){return($imul(c,32))+B.Len(((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>>0)))>>0;}return 0;};$ptrType(BU).prototype.bitLen=function(){return this.$get().bitLen();};BU.prototype.trailingZeroBits=function(){var b,c;b=this;if(b.$length===0){return 0;}c=0;while(true){if(!(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===0)){break;}c=c+(1)>>>0;}return(c*32>>>0)+((B.TrailingZeros(((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>>0)))>>>0))>>>0;};$ptrType(BU).prototype.trailingZeroBits=function(){return this.$get().trailingZeroBits();};BU.prototype.shl=function(b,c){var b,c,d,e,f,g,h,i;d=this;e=b.$length;if(e===0){return $subslice(d,0,0);}g=e+(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;d=d.make(g+1>>0);((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=AI((h=$subslice(d,(g-e>>0),g),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),$subslice(new DI(b.$array),b.$offset,b.$offset+b.$length),(i=c%32,i===i?i:$throwRuntimeError("integer divide by zero"))));$subslice(d,0,(g-e>>0)).clear();return d.norm();};$ptrType(BU).prototype.shl=function(b,c){return this.$get().shl(b,c);};BU.prototype.shr=function(b,c){var b,c,d,e,f,g,h,i;d=this;e=b.$length;g=e-(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;if(g<=0){return $subslice(d,0,0);}d=d.make(g);AJ($subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),(h=$subslice(b,(e-g>>0)),$subslice(new DI(h.$array),h.$offset,h.$offset+h.$length)),(i=c%32,i===i?i:$throwRuntimeError("integer divide by zero")));return d.norm();};$ptrType(BU).prototype.shr=function(b,c){return this.$get().shr(b,c);};BU.prototype.setBit=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l;e=this;g=(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0));j=(h=((i=c%32,i===i?i:$throwRuntimeError("integer divide by zero"))),h<32?(1<<h):0)>>>0;k=b.$length;l=d;if(l===(0)){e=e.make(k);$copySlice(e,b);if(g>=k){return e;}((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=((((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g])&~(j))>>>0));return e.norm();}else if(l===(1)){if(g>=k){e=e.make(g+1>>0);$subslice(e,k).clear();}else{e=e.make(k);}$copySlice(e,b);((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=((((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g])|(j))>>>0));return e;}$panic(new $String("set bit is not 0 or 1"));};$ptrType(BU).prototype.setBit=function(b,c,d){return this.$get().setBit(b,c,d);};BU.prototype.bit=function(b){var b,c,d,e,f,g;c=this;e=(d=b/32,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero"));if(e>=((c.$length>>>0))){return 0;}return((((((f=((g=b%32,g===g?g:$throwRuntimeError("integer divide by zero"))),f<32?(((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e])>>>f):0)>>>0)&1)>>>0)>>>0));};$ptrType(BU).prototype.bit=function(b){return this.$get().bit(b);};BU.prototype.and=function(b,c){var b,c,d,e,f,g;d=this;e=b.$length;f=c.$length;if(e>f){e=f;}d=d.make(e);g=0;while(true){if(!(g<e)){break;}((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])&((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))>>>0));g=g+(1)>>0;}return d.norm();};$ptrType(BU).prototype.and=function(b,c){return this.$get().and(b,c);};BU.prototype.andNot=function(b,c){var b,c,d,e,f,g;d=this;e=b.$length;f=c.$length;if(f>e){f=e;}d=d.make(e);g=0;while(true){if(!(g<f)){break;}((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])&~((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))>>>0));g=g+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(b,f,e));return d.norm();};$ptrType(BU).prototype.andNot=function(b,c){return this.$get().andNot(b,c);};BU.prototype.or=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;g=b;if(e<f){h=e;i=f;f=h;e=i;g=c;}d=d.make(e);j=0;while(true){if(!(j<f)){break;}((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])|((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]))>>>0));j=j+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(g,f,e));return d.norm();};$ptrType(BU).prototype.or=function(b,c){return this.$get().or(b,c);};BU.prototype.xor=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;g=b;if(e<f){h=e;i=f;f=h;e=i;g=c;}d=d.make(e);j=0;while(true){if(!(j<f)){break;}((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])^((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]))>>>0));j=j+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(g,f,e));return d.norm();};$ptrType(BU).prototype.xor=function(b,c){return this.$get().xor(b,c);};CK=function(b,c,d,e){var b,c,d,e;return b>d||(b===d)&&c>e;};BU.prototype.modW=function(b){var b,c,d,e;c=0;d=this;e=BU.nil;e=e.make(d.$length);c=AM($subslice(new DI(e.$array),e.$offset,e.$offset+e.$length),0,$subslice(new DI(d.$array),d.$offset,d.$offset+d.$length),b);return c;};$ptrType(BU).prototype.modW=function(b){return this.$get().modW(b);};BU.prototype.random=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(CD(e,c)){e=BU.nil;}e=e.make(c.$length);g=(((f=d%32,f===f?f:$throwRuntimeError("integer divide by zero"))>>>0));if(g===0){g=32;}i=(((((h=g,h<32?(1<<h):0)>>>0))-1>>>0));case 1:j=32;if(j===(32)){$s=4;continue;}if(j===(64)){$s=5;continue;}$s=6;continue;case 4:k=e;l=0;case 8:if(!(l<k.$length)){$s=9;continue;}m=l;n=b.Uint32();$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]=((n>>>0)));l++;$s=8;continue;case 9:$s=7;continue;case 5:o=e;p=0;case 11:if(!(p<o.$length)){$s=12;continue;}q=p;r=b.Uint32();$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}((q<0||q>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+q]=((((r>>>0))|0)>>>0));p++;$s=11;continue;case 12:$s=7;continue;case 6:$panic(new $String("unknown word size"));case 7:case 3:s=c.$length-1>>0;((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s]=((((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s])&(i))>>>0));if(e.cmp(c)<0){$s=2;continue;}$s=1;continue;case 2:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.random};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.random=function(b,c,d){return this.$get().random(b,c,d);};BU.prototype.expNN=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(CD(e,b)||CD(e,c)){e=BU.nil;}if((d.$length===1)&&((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===1)){$s=-1;return e.setWord(0);}if(c.$length===0){$s=-1;return e.setWord(1);}if((c.$length===1)&&((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])===1)&&!((d.$length===0))){$s=1;continue;}$s=2;continue;case 1:g=e.div(e,b,d);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e=f[1];$s=-1;return e;case 2:if(!((d.$length===0))){e=e.make(d.$length);}e=e.set(b);if(b.cmp(BV)>0&&c.$length>1&&d.$length>0){$s=4;continue;}$s=5;continue;case 4:if((((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])&1)>>>0)===1){$s=6;continue;}$s=7;continue;case 6:h=e.expNNMontgomery(b,c,d);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 7:i=e.expNNWindowed(b,c,d);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;case 5:k=(j=c.$length-1>>0,((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]));l=R(k)+1>>>0;k=(m=(l),m<32?(k<<m):0)>>>0;n=BU.nil;o=32-((l>>0))>>0;p=BU.nil;q=BU.nil;r=p;s=q;t=0;case 10:if(!(t<o)){$s=11;continue;}r=r.mul(e,e);u=e;v=r;r=u;e=v;if(!((((k&2147483648)>>>0)===0))){r=r.mul(e,b);w=e;x=r;r=w;e=x;}if(!((d.$length===0))){$s=12;continue;}$s=13;continue;case 12:z=r.div(s,e,d);$s=14;case 14:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;r=y[0];s=y[1];aa=n;ab=e;ac=r;ad=s;r=aa;s=ab;n=ac;e=ad;case 13:k=(ae=(1),ae<32?(k<<ae):0)>>>0;t=t+(1)>>0;$s=10;continue;case 11:af=c.$length-2>>0;case 15:if(!(af>=0)){$s=16;continue;}k=((af<0||af>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+af]);ag=0;case 17:if(!(ag<32)){$s=18;continue;}r=r.mul(e,e);ah=e;ai=r;r=ah;e=ai;if(!((((k&2147483648)>>>0)===0))){r=r.mul(e,b);aj=e;ak=r;r=aj;e=ak;}if(!((d.$length===0))){$s=19;continue;}$s=20;continue;case 19:am=r.div(s,e,d);$s=21;case 21:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;r=al[0];s=al[1];an=n;ao=e;ap=r;aq=s;r=an;s=ao;n=ap;e=aq;case 20:k=(ar=(1),ar<32?(k<<ar):0)>>>0;ag=ag+(1)>>0;$s=17;continue;case 18:af=af-(1)>>0;$s=15;continue;case 16:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.expNN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expNN=function(b,c,d){return this.$get().expNN(b,c,d);};BU.prototype.expNNWindowed=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=BU.nil;g=BU.nil;h=f;i=g;j=DN.zero();j[0]=BV;j[1]=b;k=2;case 1:if(!(k<16)){$s=2;continue;}l=$indexPtr(j,(m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")),DM);n=$indexPtr(j,k,DM);o=$indexPtr(j,(k+1>>0),DM);p=l;q=n;r=o;q.$set(q.mul(p.$get(),p.$get()));t=h.div(i,q.$get(),d);$s=3;case 3:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;h=s[0];i=s[1];u=i;v=q.$get();q.$set(u);i=v;r.$set(r.mul(q.$get(),b));x=h.div(i,r.$get(),d);$s=4;case 4:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;h=w[0];i=w[1];y=i;z=r.$get();r.$set(y);i=z;k=k+(2)>>0;$s=1;continue;case 2:e=e.setWord(1);aa=c.$length-1>>0;case 5:if(!(aa>=0)){$s=6;continue;}ab=((aa<0||aa>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+aa]);ac=0;case 7:if(!(ac<32)){$s=8;continue;}if(!((aa===(c.$length-1>>0)))||!((ac===0))){$s=9;continue;}$s=10;continue;case 9:h=h.mul(e,e);ad=e;ae=h;h=ad;e=ae;ag=h.div(i,e,d);$s=11;case 11:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;h=af[0];i=af[1];ah=i;ai=e;e=ah;i=ai;h=h.mul(e,e);aj=e;ak=h;h=aj;e=ak;am=h.div(i,e,d);$s=12;case 12:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;h=al[0];i=al[1];an=i;ao=e;e=an;i=ao;h=h.mul(e,e);ap=e;aq=h;h=ap;e=aq;as=h.div(i,e,d);$s=13;case 13:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;h=ar[0];i=ar[1];at=i;au=e;e=at;i=au;h=h.mul(e,e);av=e;aw=h;h=av;e=aw;ay=h.div(i,e,d);$s=14;case 14:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=ay;h=ax[0];i=ax[1];az=i;ba=e;e=az;i=ba;case 10:h=h.mul(e,(bb=ab>>>28>>>0,((bb<0||bb>=j.length)?($throwRuntimeError("index out of range"),undefined):j[bb])));bc=e;bd=h;h=bc;e=bd;bf=h.div(i,e,d);$s=15;case 15:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}be=bf;h=be[0];i=be[1];bg=i;bh=e;e=bg;i=bh;ab=(bi=(4),bi<32?(ab<<bi):0)>>>0;ac=ac+(4)>>0;$s=7;continue;case 8:aa=aa-(1)>>0;$s=5;continue;case 6:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.expNNWindowed};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expNNWindowed=function(b,c,d){return this.$get().expNNWindowed(b,c,d);};BU.prototype.expNNMontgomery=function(b,c,d){var aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d.$length;if(b.$length>f){$s=1;continue;}$s=2;continue;case 1:h=(BU.nil).div(BU.nil,b,d);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;b=g[1];case 2:if(b.$length<f){i=$makeSlice(BU,f);$copySlice(i,b);b=i;}j=2-(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])>>>0;k=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])-1>>>0;l=1;while(true){if(!(l<32)){break;}k=$imul(k,(k))>>>0;j=$imul(j,(((k+1>>>0))))>>>0;l=(m=(1),m<32?(l<<m):0)>>0;}j=-j>>>0;n=(BU.nil).setWord(1);o=(BU.nil).shl(n,((($imul(($imul(2,f)),32))>>>0)));q=n.div(n,o,d);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;n=p[1];if(n.$length<f){o=o.make(f);$copySlice(o,n);n=o;}r=$makeSlice(BU,f);(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]=1);s=DN.zero();s[0]=s[0].montgomery(r,n,d,j,f);s[1]=s[1].montgomery(b,n,d,j,f);t=2;while(true){if(!(t<16)){break;}((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t]=((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t]).montgomery((u=t-1>>0,((u<0||u>=s.length)?($throwRuntimeError("index out of range"),undefined):s[u])),s[1],d,j,f));t=t+(1)>>0;}e=e.make(f);$copySlice(e,s[0]);o=o.make(f);v=c.$length-1>>0;while(true){if(!(v>=0)){break;}w=((v<0||v>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+v]);x=0;while(true){if(!(x<32)){break;}if(!((v===(c.$length-1>>0)))||!((x===0))){o=o.montgomery(e,e,d,j,f);e=e.montgomery(o,o,d,j,f);o=o.montgomery(e,e,d,j,f);e=e.montgomery(o,o,d,j,f);}o=o.montgomery(e,(y=w>>>28>>>0,((y<0||y>=s.length)?($throwRuntimeError("index out of range"),undefined):s[y])),d,j,f);z=o;aa=e;e=z;o=aa;w=(ab=(4),ab<32?(w<<ab):0)>>>0;x=x+(4)>>0;}v=v-(1)>>0;}o=o.montgomery(e,r,d,j,f);if(o.cmp(d)>=0){$s=5;continue;}$s=6;continue;case 5:o=o.sub(o,d);if(o.cmp(d)>=0){$s=7;continue;}$s=8;continue;case 7:ad=(BU.nil).div(BU.nil,o,d);$s=9;case 9:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;o=ac[1];case 8:case 6:$s=-1;return o.norm();}return;}if($f===undefined){$f={$blk:BU.prototype.expNNMontgomery};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expNNMontgomery=function(b,c,d){return this.$get().expNNMontgomery(b,c,d);};BU.prototype.bytes=function(b){var b,c,d,e,f,g,h,i;c=0;d=this;c=b.$length;e=d;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);h=0;while(true){if(!(h<4)){break;}c=c-(1)>>0;((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]=((g<<24>>>24)));g=(i=(8),i<32?(g>>>i):0)>>>0;h=h+(1)>>0;}f++;}while(true){if(!(c<b.$length&&(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===0))){break;}c=c+(1)>>0;}return c;};$ptrType(BU).prototype.bytes=function(b){return this.$get().bytes(b);};BU.prototype.setBytes=function(b){var b,c,d,e,f,g,h,i,j;c=this;c=c.make((d=(((b.$length+4>>0)-1>>0))/4,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")));e=0;f=0;g=0;h=b.$length;while(true){if(!(h>0)){break;}g=(g|(((i=f,i<32?((((j=h-1>>0,((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]))>>>0))<<i):0)>>>0)))>>>0;f=f+(8)>>>0;if(f===32){((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]=g);e=e+(1)>>0;f=0;g=0;}h=h-(1)>>0;}if(e<c.$length){((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]=g);}return c.norm();};$ptrType(BU).prototype.setBytes=function(b){return this.$get().setBytes(b);};BU.prototype.sqrt=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.cmp(BV)<=0){$s=-1;return c.set(b);}if(CD(c,b)){c=BU.nil;}d=BU.nil;e=BU.nil;f=d;g=e;f=c;f=f.setUint64(new $Uint64(0,1));f=f.shl(f,((((h=b.bitLen()/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))+1>>0)>>>0)));i=0;case 1:k=g.div(BU.nil,b,f);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;g=j[0];g=g.add(g,f);g=g.shr(g,1);if(g.cmp(f)>=0){if((i&1)===0){$s=-1;return f;}$s=-1;return c.set(f);}l=g;m=f;f=l;g=m;i=i+(1)>>0;$s=1;continue;case 2:$s=-1;return BU.nil;}return;}if($f===undefined){$f={$blk:BU.prototype.sqrt};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.sqrt=function(b){return this.$get().sqrt(b);};CL=function(b){var b,c,d,e,f,g,h;c=0;d=0;e=b;f=1;c=e;d=f;h=(g=4294967295/b,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));while(true){if(!(c<=h)){break;}c=$imul(c,(b))>>>0;d=d+(1)>>0;}return[c,d];};CM=function(b,c){var b,c,d;d=0;d=1;while(true){if(!(c>0)){break;}if(!(((c&1)===0))){d=$imul(d,(b))>>>0;}b=$imul(b,(b))>>>0;c=(c>>$min((1),31))>>0;}return d;};BU.prototype.scan=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BU.nil;f=0;g=0;h=$ifaceNil;i=this;j=(c===0)||!d&&2<=c&&c<=36||d&&((c===2)||(c===10)||(c===16));if(!j){$s=1;continue;}$s=2;continue;case 1:k=A.Sprintf("illegal number base %d",new DC([new $Int(c)]));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$panic(new $String(k));case 2:m=b.ReadByte();$s=4;case 4:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];h=l[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[e,f,g,h];}f=c;if(c===0){$s=5;continue;}$s=6;continue;case 5:f=10;if(n===48){$s=7;continue;}$s=8;continue;case 7:g=1;p=b.ReadByte();$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;n=o[0];h=o[1];q=h;if($interfaceIsEqual(q,$ifaceNil)){$s=11;continue;}if($interfaceIsEqual(q,(D.EOF))){$s=12;continue;}$s=13;continue;case 11:if(!d){f=8;}r=n;if((r===(120))||(r===(88))){f=16;}else if((r===(98))||(r===(66))){f=2;}s=f;if((s===(16))||(s===(2))){$s=16;continue;}if(s===(8)){$s=17;continue;}$s=18;continue;case 16:g=0;u=b.ReadByte();$s=19;case 19:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;n=t[0];h=t[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[e,f,g,h];}$s=18;continue;case 17:g=0;case 18:case 15:$s=14;continue;case 12:e=$subslice(i,0,0);h=$ifaceNil;$s=-1;return[e,f,g,h];case 13:$s=-1;return[e,f,g,h];case 14:case 9:case 8:case 6:i=$subslice(i,0,0);v=((f>>>0));w=CL(v);x=w[0];y=w[1];z=0;aa=0;ab=-1;case 20:if(d&&(n===46)){$s=22;continue;}$s=23;continue;case 22:d=false;ab=g;ad=b.ReadByte();$s=24;case 24:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;n=ac[0];h=ac[1];if(!($interfaceIsEqual(h,$ifaceNil))){if($interfaceIsEqual(h,D.EOF)){h=$ifaceNil;$s=21;continue;}$s=-1;return[e,f,g,h];}case 23:ae=0;if(48<=n&&n<=57){ae=(((n-48<<24>>>24)>>>0));}else if(97<=n&&n<=122){ae=((((n-97<<24>>>24)+10<<24>>>24)>>>0));}else if(65<=n&&n<=90){ae=((((n-65<<24>>>24)+10<<24>>>24)>>>0));}else{ae=37;}if(ae>=v){$s=25;continue;}$s=26;continue;case 25:af=b.UnreadByte();$s=27;case 27:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;$s=21;continue;case 26:g=g+(1)>>0;z=($imul(z,v)>>>0)+ae>>>0;aa=aa+(1)>>0;if(aa===y){i=i.mulAddWW(i,x,z);z=0;aa=0;}ah=b.ReadByte();$s=28;case 28:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;n=ag[0];h=ag[1];if(!($interfaceIsEqual(h,$ifaceNil))){if($interfaceIsEqual(h,D.EOF)){h=$ifaceNil;$s=21;continue;}$s=-1;return[e,f,g,h];}$s=20;continue;case 21:if(g===0){if((c===0)&&(f===8)){g=1;f=10;}else if(!((c===0))||!((f===8))){h=J.New("syntax error scanning number");}$s=-1;return[e,f,g,h];}if(aa>0){i=i.mulAddWW(i,CM(v,aa),z);}e=i.norm();if(ab>=0){g=ab-g>>0;}$s=-1;return[e,f,g,h];}return;}if($f===undefined){$f={$blk:BU.prototype.scan};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.scan=function(b,c,d){return this.$get().scan(b,c,d);};BU.prototype.utoa=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.itoa(false,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BU.prototype.utoa};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.utoa=function(b){return this.$get().utoa(b);};BU.prototype.itoa=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c<2||c>36){$panic(new $String("invalid base"));}if(d.$length===0){$s=-1;return(new DG($stringToBytes("0")));}e=(((d.bitLen())/C.Log2((c))>>0))+1>>0;if(b){e=e+(1)>>0;}f=$makeSlice(DG,e);g=((c>>>0));if(g===((g&(-g>>>0))>>>0)){$s=1;continue;}$s=2;continue;case 1:h=((B.TrailingZeros(((g>>>0)))>>>0));j=((((i=h,i<32?(1<<i):0)>>>0)-1>>>0));k=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]);l=32;m=1;while(true){if(!(m<d.$length)){break;}while(true){if(!(l>=h)){break;}e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((k&j)>>>0)));k=(n=(h),n<32?(k>>>n):0)>>>0;l=l-(h)>>>0;}if(l===0){k=((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m]);l=32;}else{k=(k|(((o=l,o<32?(((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m])<<o):0)>>>0)))>>>0;e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((k&j)>>>0)));k=(p=((h-l>>>0)),p<32?(((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m])>>>p):0)>>>0;l=32-((h-l>>>0))>>>0;}m=m+(1)>>0;}while(true){if(!(!((k===0)))){break;}e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((k&j)>>>0)));k=(q=(h),q<32?(k>>>q):0)>>>0;}$s=3;continue;case 2:r=CL(g);s=r[0];t=r[1];u=CQ(d.$length,g,t,s);$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;w=(BU.nil).set(d);$r=w.convertWords(f,g,t,s,v);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=0;while(true){if(!(((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e])===48)){break;}e=e+(1)>>0;}case 3:if(b){e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]=45);}$s=-1;return $subslice(f,e);}return;}if($f===undefined){$f={$blk:BU.prototype.itoa};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.itoa=function(b,c){return this.$get().itoa(b,c);};BU.prototype.convertWords=function(b,c,d,e,f){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if(!(f===DO.nil)){$s=1;continue;}$s=2;continue;case 1:h=BU.nil;i=f.$length-1>>0;case 3:if(!(g.$length>CN)){$s=4;continue;}j=g.bitLen();k=j>>1>>0;while(true){if(!(i>0&&(l=i-1>>0,((l<0||l>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+l])).nbits>k)){break;}i=i-(1)>>0;}if(((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).nbits>=j&&((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).bbb.cmp(g)>=0){i=i-(1)>>0;if(i<0){$panic(new $String("internal inconsistency"));}}n=g.div(h,g,((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).bbb);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;g=m[0];h=m[1];o=b.$length-((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).ndigits>>0;$r=h.convertWords($subslice(b,o),c,d,e,$subslice(f,0,i));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=$subslice(b,0,o);$s=3;continue;case 4:case 2:p=b.$length;q=0;if(c===10){while(true){if(!(g.$length>0)){break;}r=g.divW(g,e);g=r[0];q=r[1];s=0;while(true){if(!(s<d&&p>0)){break;}p=p-(1)>>0;u=(t=q/10,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=(48+(((q-($imul(u,10)>>>0)>>>0)<<24>>>24))<<24>>>24));q=u;s=s+(1)>>0;}}}else{while(true){if(!(g.$length>0)){break;}v=g.divW(g,e);g=v[0];q=v[1];w=0;while(true){if(!(w<d&&p>0)){break;}p=p-(1)>>0;((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((x=q%c,x===x?x:$throwRuntimeError("integer divide by zero"))));q=(y=q/(c),(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));w=w+(1)>>0;}}}while(true){if(!(p>0)){break;}p=p-(1)>>0;((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=48);}$s=-1;return;}return;}if($f===undefined){$f={$blk:BU.prototype.convertWords};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.convertWords=function(b,c,d,e,f){return this.$get().convertWords(b,c,d,e,f);};BU.prototype.expWW=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.expNN((BU.nil).setWord(b),(BU.nil).setWord(c),BU.nil);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BU.prototype.expWW};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.expWW=function(b,c){return this.$get().expWW(b,c);};CQ=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if((CN===0)||b<=CN){$s=-1;return DO.nil;}f=1;g=CN;while(true){if(!(g<(b>>1>>0)&&f<64)){break;}f=f+(1)>>0;g=(h=(1),h<32?(g<<h):0)>>0;}i=DO.nil;if(c===10){CP.Mutex.Lock();i=$subslice(new DO(CP.table),0,f);}else{i=$makeSlice(DO,f);}if((j=f-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j])).ndigits===0){$s=1;continue;}$s=2;continue;case 1:k=BU.nil;l=0;case 3:if(!(l<f)){$s=4;continue;}if(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits===0){$s=5;continue;}$s=6;continue;case 5:if(l===0){$s=7;continue;}$s=8;continue;case 7:m=(BU.nil).expWW(e,((CN>>>0)));$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]).bbb=m;(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]).ndigits=$imul(d,CN);$s=9;continue;case 8:((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb=(BU.nil).mul((n=l-1>>0,((n<0||n>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+n])).bbb,(o=l-1>>0,((o<0||o>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+o])).bbb);((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits=$imul(2,(p=l-1>>0,((p<0||p>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+p])).ndigits);case 9:k=(BU.nil).set(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb);while(true){if(!(AK($subslice(new DI(k.$array),k.$offset,k.$offset+k.$length),$subslice(new DI(k.$array),k.$offset,k.$offset+k.$length),c,0)===0)){break;}((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb.set(k);((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits+(1)>>0;}((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).nbits=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb.bitLen();case 6:l=l+(1)>>0;$s=3;continue;case 4:case 2:if(c===10){CP.Mutex.Unlock();}$s=-1;return i;}return;}if($f===undefined){$f={$blk:CQ};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BL.ptr.prototype.ProbablyPrime=function(b){var aa,ab,ac,ad,ae,af,ag,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b<0){$panic(new $String("negative n for ProbablyPrime"));}if(c.neg||(c.abs.$length===0)){$s=-1;return false;}e=(d=c.abs,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));if((c.abs.$length===1)&&e<64){$s=-1;return!((f=(g=$shiftLeft64(new $Uint64(0,1),e),new $Uint64(673221152&g.$high,(2693408940&g.$low)>>>0)),(f.$high===0&&f.$low===0)));}if(((e&1)>>>0)===0){$s=-1;return false;}h=0;i=0;j=h;k=i;l=32;if(l===(32)){j=((c.abs.modW(4127218095)>>>0));k=((c.abs.modW(3948078067)>>>0));}else if(l===(64)){m=c.abs.modW(820596253);j=(((n=m%4127218095,n===n?n:$throwRuntimeError("integer divide by zero"))>>>0));k=(((o=m%3948078067,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0));}else{$panic(new $String("math/big: invalid word size"));}if(((p=j%3,p===p?p:$throwRuntimeError("integer divide by zero"))===0)||((q=j%5,q===q?q:$throwRuntimeError("integer divide by zero"))===0)||((r=j%7,r===r?r:$throwRuntimeError("integer divide by zero"))===0)||((s=j%11,s===s?s:$throwRuntimeError("integer divide by zero"))===0)||((t=j%13,t===t?t:$throwRuntimeError("integer divide by zero"))===0)||((u=j%17,u===u?u:$throwRuntimeError("integer divide by zero"))===0)||((v=j%19,v===v?v:$throwRuntimeError("integer divide by zero"))===0)||((w=j%23,w===w?w:$throwRuntimeError("integer divide by zero"))===0)||((x=j%37,x===x?x:$throwRuntimeError("integer divide by zero"))===0)||((y=k%29,y===y?y:$throwRuntimeError("integer divide by zero"))===0)||((z=k%31,z===z?z:$throwRuntimeError("integer divide by zero"))===0)||((aa=k%41,aa===aa?aa:$throwRuntimeError("integer divide by zero"))===0)||((ab=k%43,ab===ab?ab:$throwRuntimeError("integer divide by zero"))===0)||((ac=k%47,ac===ac?ac:$throwRuntimeError("integer divide by zero"))===0)||((ad=k%53,ad===ad?ad:$throwRuntimeError("integer divide by zero"))===0)){$s=-1;return false;}af=c.abs.probablyPrimeMillerRabin(b+1>>0,true);$s=2;case 2:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(!(af)){ae=false;$s=1;continue s;}ag=c.abs.probablyPrimeLucas();$s=3;case 3:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ae=ag;case 1:$s=-1;return ae;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.ProbablyPrime};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.ProbablyPrime=function(b){return this.$val.ProbablyPrime(b);};BU.prototype.probablyPrimeMillerRabin=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=(BU.nil).sub(d,BV);f=e.trailingZeroBits();g=(BU.nil).shr(e,f);h=(BU.nil).sub(e,BW);j=I.New(I.NewSource(((i=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]),new $Int64(0,i.constructor===Number?i:1)))));k=BU.nil;l=BU.nil;m=BU.nil;n=k;o=l;p=m;q=h.bitLen();r=0;case 1:if(!(r<b)){$s=2;continue;}if((r===(b-1>>0))&&c){$s=3;continue;}$s=4;continue;case 3:n=n.set(BW);$s=5;continue;case 4:s=n.random(j,h,q);$s=6;case 6:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}n=s;n=n.add(n,BW);case 5:t=o.expNN(n,g,d);$s=7;case 7:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}o=t;if((o.cmp(BV)===0)||(o.cmp(e)===0)){$s=8;continue;}$s=9;continue;case 8:r=r+(1)>>0;$s=1;continue;case 9:u=1;case 10:if(!(u<f)){$s=11;continue;}o=o.mul(o,o);w=p.div(o,o,d);$s=12;case 12:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;p=v[0];o=v[1];if(o.cmp(e)===0){r=r+(1)>>0;$s=1;continue s;}if(o.cmp(BV)===0){$s=-1;return false;}u=u+(1)>>>0;$s=10;continue;case 11:$s=-1;return false;$s=1;continue;case 2:$s=-1;return true;}return;}if($f===undefined){$f={$blk:BU.prototype.probablyPrimeMillerRabin};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.probablyPrimeMillerRabin=function(b,c){return this.$get().probablyPrimeMillerRabin(b,c);};BU.prototype.probablyPrimeLucas=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if((b.$length===0)||(b.cmp(BV)===0)){$s=-1;return false;}if((((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])&1)>>>0)===0){$s=-1;return b.cmp(BW)===0;}c=3;d=new BU([1]);e=(BU.nil);f=new BL.ptr(false,d);g=new BL.ptr(false,b);case 1:if(c>10000){$s=3;continue;}$s=4;continue;case 3:h=g.String();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(new $String("math/big: internal error: cannot find (D/n) = -1 for "+h));case 4:(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]=(($imul(c,c)>>>0)-4>>>0));i=BQ(f,g);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(j===-1){$s=2;continue;}if(j===0){$s=-1;return(b.$length===1)&&((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])===(c+2>>>0));}if(c===40){$s=7;continue;}$s=8;continue;case 7:k=e.sqrt(b);$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}e=k;e=e.mul(e,e);if(e.cmp(b)===0){$s=-1;return false;}case 8:c=c+(1)>>>0;$s=1;continue;case 2:l=(BU.nil).add(b,BV);m=((l.trailingZeroBits()>>0));l=l.shr(l,((m>>>0)));n=(BU.nil).sub(b,BW);o=(BU.nil).setWord(c);p=(BU.nil).setWord(2);q=(BU.nil).setWord(c);r=(BU.nil);s=(l.bitLen());case 10:if(!(s>=0)){$s=11;continue;}if(!((l.bit(((s>>>0)))===0))){$s=12;continue;}$s=13;continue;case 12:e=e.mul(p,q);e=e.add(e,b);e=e.sub(e,o);u=r.div(p,e,b);$s=15;case 15:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;r=t[0];p=t[1];e=e.mul(q,q);e=e.add(e,n);w=r.div(q,e,b);$s=16;case 16:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;r=v[0];q=v[1];$s=14;continue;case 13:e=e.mul(p,q);e=e.add(e,b);e=e.sub(e,o);y=r.div(q,e,b);$s=17;case 17:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;r=x[0];q=x[1];e=e.mul(p,p);e=e.add(e,n);aa=r.div(p,e,b);$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;r=z[0];p=z[1];case 14:s=s-(1)>>0;$s=10;continue;case 11:if((p.cmp(BW)===0)||(p.cmp(n)===0)){$s=19;continue;}$s=20;continue;case 19:ab=e.mul(p,o);ac=r.shl(q,1);if(ab.cmp(ac)<0){ad=ac;ae=ab;ab=ad;ac=ae;}ab=ab.sub(ab,ac);af=q;q=BU.nil;$unused(q);ah=ac.div(af,ab,b);$s=21;case 21:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ac=ag[0];af=ag[1];if(af.$length===0){$s=-1;return true;}case 20:ai=0;case 22:if(!(ai<(m-1>>0))){$s=23;continue;}if(p.$length===0){$s=-1;return true;}if((p.$length===1)&&((0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])===2)){$s=-1;return false;}e=e.mul(p,p);e=e.sub(e,BW);ak=r.div(p,e,b);$s=24;case 24:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;r=aj[0];p=aj[1];ai=ai+(1)>>0;$s=22;continue;case 23:$s=-1;return false;}return;}if($f===undefined){$f={$blk:BU.prototype.probablyPrimeLucas};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BU).prototype.probablyPrimeLucas=function(){return this.$get().probablyPrimeLucas();};DJ.methods=[{prop:"Sign",name:"Sign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SetInt64",name:"SetInt64",pkg:"",typ:$funcType([$Int64],[DJ],false)},{prop:"SetUint64",name:"SetUint64",pkg:"",typ:$funcType([$Uint64],[DJ],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[DI],false)},{prop:"SetBits",name:"SetBits",pkg:"",typ:$funcType([DI],[DJ],false)},{prop:"Abs",name:"Abs",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Neg",name:"Neg",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Mul",name:"Mul",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"MulRange",name:"MulRange",pkg:"",typ:$funcType([$Int64,$Int64],[DJ],false)},{prop:"Binomial",name:"Binomial",pkg:"",typ:$funcType([$Int64,$Int64],[DJ],false)},{prop:"Quo",name:"Quo",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Rem",name:"Rem",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"QuoRem",name:"QuoRem",pkg:"",typ:$funcType([DJ,DJ,DJ],[DJ,DJ],false)},{prop:"Div",name:"Div",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Mod",name:"Mod",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"DivMod",name:"DivMod",pkg:"",typ:$funcType([DJ,DJ,DJ],[DJ,DJ],false)},{prop:"Cmp",name:"Cmp",pkg:"",typ:$funcType([DJ],[$Int],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"IsInt64",name:"IsInt64",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsUint64",name:"IsUint64",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String,$Int],[DJ,$Bool],false)},{prop:"SetBytes",name:"SetBytes",pkg:"",typ:$funcType([DG],[DJ],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[DG],false)},{prop:"BitLen",name:"BitLen",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Exp",name:"Exp",pkg:"",typ:$funcType([DJ,DJ,DJ],[DJ],false)},{prop:"GCD",name:"GCD",pkg:"",typ:$funcType([DJ,DJ,DJ,DJ],[DJ],false)},{prop:"binaryGCD",name:"binaryGCD",pkg:"math/big",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Rand",name:"Rand",pkg:"",typ:$funcType([DQ,DJ],[DJ],false)},{prop:"ModInverse",name:"ModInverse",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"modSqrt3Mod4Prime",name:"modSqrt3Mod4Prime",pkg:"math/big",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"modSqrtTonelliShanks",name:"modSqrtTonelliShanks",pkg:"math/big",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"ModSqrt",name:"ModSqrt",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Lsh",name:"Lsh",pkg:"",typ:$funcType([DJ,$Uint],[DJ],false)},{prop:"Rsh",name:"Rsh",pkg:"",typ:$funcType([DJ,$Uint],[DJ],false)},{prop:"Bit",name:"Bit",pkg:"",typ:$funcType([$Int],[$Uint],false)},{prop:"SetBit",name:"SetBit",pkg:"",typ:$funcType([DJ,$Int,$Uint],[DJ],false)},{prop:"And",name:"And",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"AndNot",name:"AndNot",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Or",name:"Or",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Xor",name:"Xor",pkg:"",typ:$funcType([DJ,DJ],[DJ],false)},{prop:"Not",name:"Not",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Sqrt",name:"Sqrt",pkg:"",typ:$funcType([DJ],[DJ],false)},{prop:"Text",name:"Text",pkg:"",typ:$funcType([$Int],[$String],false)},{prop:"Append",name:"Append",pkg:"",typ:$funcType([DG,$Int],[DG],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([A.State,$Int32],[],false)},{prop:"scan",name:"scan",pkg:"math/big",typ:$funcType([D.ByteScanner,$Int],[DJ,$Int,$error],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([A.ScanState,$Int32],[$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"ProbablyPrime",name:"ProbablyPrime",pkg:"",typ:$funcType([$Int],[$Bool],false)}];BT.methods=[{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)}];BU.methods=[{prop:"clear",name:"clear",pkg:"math/big",typ:$funcType([],[],false)},{prop:"norm",name:"norm",pkg:"math/big",typ:$funcType([],[BU],false)},{prop:"make",name:"make",pkg:"math/big",typ:$funcType([$Int],[BU],false)},{prop:"setWord",name:"setWord",pkg:"math/big",typ:$funcType([L],[BU],false)},{prop:"setUint64",name:"setUint64",pkg:"math/big",typ:$funcType([$Uint64],[BU],false)},{prop:"set",name:"set",pkg:"math/big",typ:$funcType([BU],[BU],false)},{prop:"add",name:"add",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"sub",name:"sub",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"cmp",name:"cmp",pkg:"math/big",typ:$funcType([BU],[$Int],false)},{prop:"mulAddWW",name:"mulAddWW",pkg:"math/big",typ:$funcType([BU,L,L],[BU],false)},{prop:"montgomery",name:"montgomery",pkg:"math/big",typ:$funcType([BU,BU,BU,L,$Int],[BU],false)},{prop:"mul",name:"mul",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"mulRange",name:"mulRange",pkg:"math/big",typ:$funcType([$Uint64,$Uint64],[BU],false)},{prop:"divW",name:"divW",pkg:"math/big",typ:$funcType([BU,L],[BU,L],false)},{prop:"div",name:"div",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU,BU],false)},{prop:"divLarge",name:"divLarge",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU,BU],false)},{prop:"bitLen",name:"bitLen",pkg:"math/big",typ:$funcType([],[$Int],false)},{prop:"trailingZeroBits",name:"trailingZeroBits",pkg:"math/big",typ:$funcType([],[$Uint],false)},{prop:"shl",name:"shl",pkg:"math/big",typ:$funcType([BU,$Uint],[BU],false)},{prop:"shr",name:"shr",pkg:"math/big",typ:$funcType([BU,$Uint],[BU],false)},{prop:"setBit",name:"setBit",pkg:"math/big",typ:$funcType([BU,$Uint,$Uint],[BU],false)},{prop:"bit",name:"bit",pkg:"math/big",typ:$funcType([$Uint],[$Uint],false)},{prop:"sticky",name:"sticky",pkg:"math/big",typ:$funcType([$Uint],[$Uint],false)},{prop:"and",name:"and",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"andNot",name:"andNot",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"or",name:"or",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"xor",name:"xor",pkg:"math/big",typ:$funcType([BU,BU],[BU],false)},{prop:"modW",name:"modW",pkg:"math/big",typ:$funcType([L],[L],false)},{prop:"random",name:"random",pkg:"math/big",typ:$funcType([DQ,BU,$Int],[BU],false)},{prop:"expNN",name:"expNN",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU],false)},{prop:"expNNWindowed",name:"expNNWindowed",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU],false)},{prop:"expNNMontgomery",name:"expNNMontgomery",pkg:"math/big",typ:$funcType([BU,BU,BU],[BU],false)},{prop:"bytes",name:"bytes",pkg:"math/big",typ:$funcType([DG],[$Int],false)},{prop:"setBytes",name:"setBytes",pkg:"math/big",typ:$funcType([DG],[BU],false)},{prop:"sqrt",name:"sqrt",pkg:"math/big",typ:$funcType([BU],[BU],false)},{prop:"scan",name:"scan",pkg:"math/big",typ:$funcType([D.ByteScanner,$Int,$Bool],[BU,$Int,$Int,$error],false)},{prop:"utoa",name:"utoa",pkg:"math/big",typ:$funcType([$Int],[DG],false)},{prop:"itoa",name:"itoa",pkg:"math/big",typ:$funcType([$Bool,$Int],[DG],false)},{prop:"convertWords",name:"convertWords",pkg:"math/big",typ:$funcType([DG,L,$Int,L,DO],[],false)},{prop:"expWW",name:"expWW",pkg:"math/big",typ:$funcType([L,L],[BU],false)},{prop:"probablyPrimeMillerRabin",name:"probablyPrimeMillerRabin",pkg:"math/big",typ:$funcType([$Int,$Bool],[$Bool],false)},{prop:"probablyPrimeLucas",name:"probablyPrimeLucas",pkg:"math/big",typ:$funcType([],[$Bool],false)}];BL.init("math/big",[{prop:"neg",name:"neg",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"abs",name:"abs",anonymous:false,exported:false,typ:BU,tag:""}]);BT.init("",[{prop:"ScanState",name:"ScanState",anonymous:true,exported:true,typ:A.ScanState,tag:""}]);BU.init(L);CO.init("math/big",[{prop:"bbb",name:"bbb",anonymous:false,exported:false,typ:BU,tag:""},{prop:"nbits",name:"nbits",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"ndigits",name:"ndigits",anonymous:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=G.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CJ=new K.Pool.ptr(DC.nil,$throwNilPointerError);CP=new DE.ptr(new K.Mutex.ptr(false),DD.zero());BV=new BU([1]);BM=new BL.ptr(false,BV);BW=new BU([2]);CB=40;CN=8;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["crypto/rand"]=(function(){var $pkg={},$init,A,B,C,D,F,L,N,I,E,G;A=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];D=$packages["math/big"];F=$pkg.rngReader=$newType(0,$kindStruct,"rand.rngReader",true,"crypto/rand",false,function(){this.$val=this;if(arguments.length===0){return;}});L=$sliceType($Uint8);N=$ptrType(F);E=function(){$pkg.Reader=new F.ptr();};F.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=$ifaceNil;d=this;e=a.$array;f=$parseInt(a.$offset)>>0;g=$global.crypto;if(g===undefined){g=$global.msCrypto;}if(!(g===undefined)){if(!(g.getRandomValues===undefined)){b=a.$length;if(b>65536){b=65536;}g.getRandomValues(e.subarray(f,f+b>>0));h=b;i=$ifaceNil;b=h;c=i;return[b,c];}}j=$global.require;if(!(j===undefined)){k=j($externalize("crypto",$String)).randomBytes;if(!(k===undefined)){e.set(k(a.$length),f);l=a.$length;m=$ifaceNil;b=l;c=m;return[b,c];}}n=0;o=A.New("crypto/rand not available in this environment");b=n;c=o;return[b,c];};F.prototype.Read=function(a){return this.$val.Read(a);};G=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;e=C.ReadFull($pkg.Reader,a);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;b=d[0];c=d[1];$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:G};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Read=G;N.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([L],[$Int,$error],false)}];F.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.Reader=$ifaceNil;I=new D.Int.ptr(false,D.nat.nil).SetUint64(new $Uint64(3793877372,820596253));E();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["gopkg.in/dedis/crypto.v0/random"]=(function(){var $pkg={},$init,A,B,C,D,O,P,Q,R,E,L,M,N;A=$packages["crypto/cipher"];B=$packages["crypto/rand"];C=$packages["encoding/binary"];D=$packages["math/big"];O=$pkg.randstream=$newType(0,$kindStruct,"random.randstream",true,"gopkg.in/dedis/crypto.v0/random",false,function(){this.$val=this;if(arguments.length===0){return;}});P=$sliceType($Uint8);Q=$ptrType(D.Int);R=$ptrType(O);E=function(a,b,c){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$makeSlice(P,(d=((a+7>>>0))/8,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero")));$r=c.XORKeyStream(e,e);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=(a&7)>>>0;if(!((f===0))){(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]=(((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])&((~(((g=f,g<32?(255<<g):0)<<24>>>24))<<24>>>24)))>>>0));}if(b){if(!((f===0))){(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]=(((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])|(((h=((f-1>>>0)),h<32?(1<<h):0)<<24>>>24)))>>>0));}else{(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]=(((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])|(128))>>>0));}}$s=-1;return e;}return;}if($f===undefined){$f={$blk:E};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Bits=E;L=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=((a.BitLen()>>>0));d=new D.Int.ptr(false,D.nat.nil);case 1:e=E(c,false,b);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=d.SetBytes(e);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;if(d.Sign()>0&&d.Cmp(a)<0){$s=-1;return d;}$s=1;continue;case 2:$s=-1;return Q.nil;}return;}if($f===undefined){$f={$blk:L};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Int=L;M=function(a,b){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$makeSlice(P,a);$r=b.XORKeyStream(c,c);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:M};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Bytes=M;N=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=P.nil;case 1:d=M(a,b);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!((g===0))){$s=-1;return c;}f++;}$s=1;continue;case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:N};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NonZeroBytes=N;O.ptr.prototype.XORKeyStream=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=a.$length;if(!((b.$length===d))){$panic(new $String("XORKeyStream: mismatched buffer lengths"));}e=$makeSlice(P,d);g=B.Read(e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$panic(i);}if(h<e.$length){$panic(new $String("short read on infinite random stream!?"));}j=0;while(true){if(!(j<d)){break;}((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])^((j<0||j>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))<<24>>>24));j=j+(1)>>0;}$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.XORKeyStream};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.XORKeyStream=function(a,b){return this.$val.XORKeyStream(a,b);};R.methods=[{prop:"XORKeyStream",name:"XORKeyStream",pkg:"",typ:$funcType([P,P],[],false)}];O.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.Stream=new O.ptr();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["regexp/syntax"]=(function(){var $pkg={},$init,E,B,F,C,A,D,G,H,I,M,N,O,P,Z,AM,BK,BL,BN,BQ,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,K,L,AA,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BM,J,Q,R,S,T,U,V,W,X,Y,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AN,AO,AP,AQ,BO,BP,BR,BS,BT,BU,BV,BY,BZ,CA;E=$packages["bytes"];B=$packages["sort"];F=$packages["strconv"];C=$packages["strings"];A=$packages["unicode"];D=$packages["unicode/utf8"];G=$pkg.patchList=$newType(4,$kindUint32,"syntax.patchList",true,"regexp/syntax",false,null);H=$pkg.frag=$newType(0,$kindStruct,"syntax.frag",true,"regexp/syntax",false,function(i_,out_){this.$val=this;if(arguments.length===0){this.i=0;this.out=0;return;}this.i=i_;this.out=out_;});I=$pkg.compiler=$newType(0,$kindStruct,"syntax.compiler",true,"regexp/syntax",false,function(p_){this.$val=this;if(arguments.length===0){this.p=CF.nil;return;}this.p=p_;});M=$pkg.Error=$newType(0,$kindStruct,"syntax.Error",true,"regexp/syntax",true,function(Code_,Expr_){this.$val=this;if(arguments.length===0){this.Code="";this.Expr="";return;}this.Code=Code_;this.Expr=Expr_;});N=$pkg.ErrorCode=$newType(8,$kindString,"syntax.ErrorCode",true,"regexp/syntax",true,null);O=$pkg.Flags=$newType(2,$kindUint16,"syntax.Flags",true,"regexp/syntax",true,null);P=$pkg.parser=$newType(0,$kindStruct,"syntax.parser",true,"regexp/syntax",false,function(flags_,stack_,free_,numCap_,wholeRegexp_,tmpClass_){this.$val=this;if(arguments.length===0){this.flags=0;this.stack=CI.nil;this.free=CH.nil;this.numCap=0;this.wholeRegexp="";this.tmpClass=CB.nil;return;}this.flags=flags_;this.stack=stack_;this.free=free_;this.numCap=numCap_;this.wholeRegexp=wholeRegexp_;this.tmpClass=tmpClass_;});Z=$pkg.charGroup=$newType(0,$kindStruct,"syntax.charGroup",true,"regexp/syntax",false,function(sign_,class$1_){this.$val=this;if(arguments.length===0){this.sign=0;this.class$1=CB.nil;return;}this.sign=sign_;this.class$1=class$1_;});AM=$pkg.ranges=$newType(0,$kindStruct,"syntax.ranges",true,"regexp/syntax",false,function(p_){this.$val=this;if(arguments.length===0){this.p=CL.nil;return;}this.p=p_;});BK=$pkg.Prog=$newType(0,$kindStruct,"syntax.Prog",true,"regexp/syntax",true,function(Inst_,Start_,NumCap_){this.$val=this;if(arguments.length===0){this.Inst=CG.nil;this.Start=0;this.NumCap=0;return;}this.Inst=Inst_;this.Start=Start_;this.NumCap=NumCap_;});BL=$pkg.InstOp=$newType(1,$kindUint8,"syntax.InstOp",true,"regexp/syntax",true,null);BN=$pkg.EmptyOp=$newType(1,$kindUint8,"syntax.EmptyOp",true,"regexp/syntax",true,null);BQ=$pkg.Inst=$newType(0,$kindStruct,"syntax.Inst",true,"regexp/syntax",true,function(Op_,Out_,Arg_,Rune_){this.$val=this;if(arguments.length===0){this.Op=0;this.Out=0;this.Arg=0;this.Rune=CB.nil;return;}this.Op=Op_;this.Out=Out_;this.Arg=Arg_;this.Rune=Rune_;});BW=$pkg.Regexp=$newType(0,$kindStruct,"syntax.Regexp",true,"regexp/syntax",true,function(Op_,Flags_,Sub_,Sub0_,Rune_,Rune0_,Min_,Max_,Cap_,Name_){this.$val=this;if(arguments.length===0){this.Op=0;this.Flags=0;this.Sub=CI.nil;this.Sub0=CJ.zero();this.Rune=CB.nil;this.Rune0=CK.zero();this.Min=0;this.Max=0;this.Cap=0;this.Name="";return;}this.Op=Op_;this.Flags=Flags_;this.Sub=Sub_;this.Sub0=Sub0_;this.Rune=Rune_;this.Rune0=Rune0_;this.Min=Min_;this.Max=Max_;this.Cap=Cap_;this.Name=Name_;});BX=$pkg.Op=$newType(1,$kindUint8,"syntax.Op",true,"regexp/syntax",true,null);CB=$sliceType($Int32);CC=$sliceType(A.Range16);CD=$sliceType(A.Range32);CE=$sliceType($String);CF=$ptrType(BK);CG=$sliceType(BQ);CH=$ptrType(BW);CI=$sliceType(CH);CJ=$arrayType(CH,1);CK=$arrayType($Int32,2);CL=$ptrType(CB);CM=$ptrType(A.RangeTable);CN=$sliceType($Uint8);CO=$arrayType($Uint8,64);CP=$ptrType(I);CQ=$ptrType(M);CR=$ptrType(P);CS=$ptrType(BQ);G.prototype.next=function(a){var a,b,c,d,e;b=this.$val;e=(c=a.Inst,d=b>>>1>>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));if(((b&1)>>>0)===0){return((e.Out>>>0));}return((e.Arg>>>0));};$ptrType(G).prototype.next=function(a){return new G(this.$get()).next(a);};G.prototype.patch=function(a,b){var a,b,c,d,e,f;c=this.$val;while(true){if(!(!((c===0)))){break;}f=(d=a.Inst,e=c>>>1>>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]));if(((c&1)>>>0)===0){c=((f.Out>>>0));f.Out=b;}else{c=((f.Arg>>>0));f.Arg=b;}}};$ptrType(G).prototype.patch=function(a,b){return new G(this.$get()).patch(a,b);};G.prototype.append=function(a,b){var a,b,c,d,e,f,g,h;c=this.$val;if(c===0){return b;}if(b===0){return c;}d=c;while(true){e=new G(d).next(a);if(e===0){break;}d=e;}h=(f=a.Inst,g=d>>>1>>>0,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]));if(((d&1)>>>0)===0){h.Out=((b>>>0));}else{h.Arg=((b>>>0));}return c;};$ptrType(G).prototype.append=function(a,b){return new G(this.$get()).append(a,b);};J=function(a){var a,b,c;b=new I.ptr(CF.nil);b.init();c=$clone(b.compile(a),H);new G(c.out).patch(b.p,b.inst(4).i);b.p.Start=((c.i>>0));return[b.p,$ifaceNil];};$pkg.Compile=J;I.ptr.prototype.init=function(){var a;a=this;a.p=new BK.ptr(CG.nil,0,0);a.p.NumCap=2;a.inst(5);};I.prototype.init=function(){return this.$val.init();};I.ptr.prototype.compile=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;b=this;c=a.Op;if(c===(1)){return b.fail();}else if(c===(2)){return b.nop();}else if(c===(3)){if(a.Rune.$length===0){return b.nop();}d=new H.ptr(0,0);e=a.Rune;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=$clone(b.rune($subslice(a.Rune,g,(g+1>>0)),a.Flags),H);if(g===0){H.copy(d,h);}else{H.copy(d,b.cat($clone(d,H),$clone(h,H)));}f++;}return d;}else if(c===(4)){return b.rune(a.Rune,a.Flags);}else if(c===(5)){return b.rune(K,0);}else if(c===(6)){return b.rune(L,0);}else if(c===(7)){return b.empty(1);}else if(c===(8)){return b.empty(2);}else if(c===(9)){return b.empty(4);}else if(c===(10)){return b.empty(8);}else if(c===(11)){return b.empty(16);}else if(c===(12)){return b.empty(32);}else if(c===(13)){i=$clone(b.cap((((a.Cap<<1>>0)>>>0))),H);k=$clone(b.compile((j=a.Sub,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]))),H);l=$clone(b.cap(((((a.Cap<<1>>0)|1)>>>0))),H);return b.cat($clone(b.cat($clone(i,H),$clone(k,H)),H),$clone(l,H));}else if(c===(14)){return b.star($clone(b.compile((m=a.Sub,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))),H),!((((a.Flags&32)>>>0)===0)));}else if(c===(15)){return b.plus($clone(b.compile((n=a.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]))),H),!((((a.Flags&32)>>>0)===0)));}else if(c===(16)){return b.quest($clone(b.compile((o=a.Sub,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]))),H),!((((a.Flags&32)>>>0)===0)));}else if(c===(18)){if(a.Sub.$length===0){return b.nop();}p=new H.ptr(0,0);q=a.Sub;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(s===0){H.copy(p,b.compile(t));}else{H.copy(p,b.cat($clone(p,H),$clone(b.compile(t),H)));}r++;}return p;}else if(c===(19)){u=new H.ptr(0,0);v=a.Sub;w=0;while(true){if(!(w<v.$length)){break;}x=((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]);H.copy(u,b.alt($clone(u,H),$clone(b.compile(x),H)));w++;}return u;}$panic(new $String("regexp: unhandled case in compile"));};I.prototype.compile=function(a){return this.$val.compile(a);};I.ptr.prototype.inst=function(a){var a,b,c;b=this;c=new H.ptr(((b.p.Inst.$length>>>0)),0);b.p.Inst=$append(b.p.Inst,new BQ.ptr(a,0,0,CB.nil));return c;};I.prototype.inst=function(a){return this.$val.inst(a);};I.ptr.prototype.nop=function(){var a,b;a=this;b=$clone(a.inst(6),H);b.out=(((b.i<<1>>>0)>>>0));return b;};I.prototype.nop=function(){return this.$val.nop();};I.ptr.prototype.fail=function(){var a;a=this;return new H.ptr(0,0);};I.prototype.fail=function(){return this.$val.fail();};I.ptr.prototype.cap=function(a){var a,b,c,d,e;b=this;c=$clone(b.inst(2),H);c.out=(((c.i<<1>>>0)>>>0));(d=b.p.Inst,e=c.i,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Arg=a;if(b.p.NumCap<(((a>>0))+1>>0)){b.p.NumCap=((a>>0))+1>>0;}return c;};I.prototype.cap=function(a){return this.$val.cap(a);};I.ptr.prototype.cat=function(a,b){var a,b,c;c=this;if((a.i===0)||(b.i===0)){return new H.ptr(0,0);}new G(a.out).patch(c.p,b.i);return new H.ptr(a.i,b.out);};I.prototype.cat=function(a,b){return this.$val.cat(a,b);};I.ptr.prototype.alt=function(a,b){var a,b,c,d,e,f,g;c=this;if(a.i===0){return b;}if(b.i===0){return a;}d=$clone(c.inst(0),H);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));g.Out=a.i;g.Arg=b.i;d.out=new G(a.out).append(c.p,b.out);return d;};I.prototype.alt=function(a,b){return this.$val.alt(a,b);};I.ptr.prototype.quest=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(0),H);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(b){g.Arg=a.i;d.out=(((d.i<<1>>>0)>>>0));}else{g.Out=a.i;d.out=(((((d.i<<1>>>0)|1)>>>0)>>>0));}d.out=new G(d.out).append(c.p,a.out);return d;};I.prototype.quest=function(a,b){return this.$val.quest(a,b);};I.ptr.prototype.star=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(0),H);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(b){g.Arg=a.i;d.out=(((d.i<<1>>>0)>>>0));}else{g.Out=a.i;d.out=(((((d.i<<1>>>0)|1)>>>0)>>>0));}new G(a.out).patch(c.p,d.i);return d;};I.prototype.star=function(a,b){return this.$val.star(a,b);};I.ptr.prototype.plus=function(a,b){var a,b,c;c=this;return new H.ptr(a.i,c.star($clone(a,H),b).out);};I.prototype.plus=function(a,b){return this.$val.plus(a,b);};I.ptr.prototype.empty=function(a){var a,b,c,d,e;b=this;c=$clone(b.inst(3),H);(d=b.p.Inst,e=c.i,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Arg=((a>>>0));c.out=(((c.i<<1>>>0)>>>0));return c;};I.prototype.empty=function(a){return this.$val.empty(a);};I.ptr.prototype.rune=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(7),H);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));g.Rune=a;b=(b&(1))>>>0;if(!((a.$length===1))||(A.SimpleFold((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))===(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))){b=(b&~(1))<<16>>>16;}g.Arg=((b>>>0));d.out=(((d.i<<1>>>0)>>>0));if((((b&1)>>>0)===0)&&((a.$length===1)||(a.$length===2)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])))){g.Op=8;}else if((a.$length===2)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===0)&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])===1114111)){g.Op=9;}else if((a.$length===4)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===0)&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])===9)&&((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])===11)&&((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3])===1114111)){g.Op=10;}return d;};I.prototype.rune=function(a,b){return this.$val.rune(a,b);};M.ptr.prototype.Error=function(){var a;a=this;return"error parsing regexp: "+new N(a.Code).String()+": `"+a.Expr+"`";};M.prototype.Error=function(){return this.$val.Error();};N.prototype.String=function(){var a;a=this.$val;return(a);};$ptrType(N).prototype.String=function(){return new N(this.$get()).String();};P.ptr.prototype.newRegexp=function(a){var a,b,c;b=this;c=b.free;if(!(c===CH.nil)){b.free=c.Sub0[0];BW.copy(c,new BW.ptr(0,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,""));}else{c=new BW.ptr(0,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");}c.Op=a;return c;};P.prototype.newRegexp=function(a){return this.$val.newRegexp(a);};P.ptr.prototype.reuse=function(a){var a,b;b=this;a.Sub0[0]=b.free;b.free=a;};P.prototype.reuse=function(a){return this.$val.reuse(a);};P.ptr.prototype.push=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;b=this;if((a.Op===4)&&(a.Rune.$length===2)&&((c=a.Rune,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]))===(d=a.Rune,(1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1])))){if(b.maybeConcat((s=a.Rune,(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])),(b.flags&~1)<<16>>>16)){return CH.nil;}a.Op=3;a.Rune=$subslice(a.Rune,0,1);a.Flags=(b.flags&~1)<<16>>>16;}else if((a.Op===4)&&(a.Rune.$length===4)&&((e=a.Rune,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))===(f=a.Rune,(1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])))&&((g=a.Rune,(2>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+2]))===(h=a.Rune,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3])))&&(A.SimpleFold((i=a.Rune,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])))===(j=a.Rune,(2>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+2])))&&(A.SimpleFold((k=a.Rune,(2>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+2])))===(l=a.Rune,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])))||(a.Op===4)&&(a.Rune.$length===2)&&(((m=a.Rune,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))+1>>0)===(n=a.Rune,(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])))&&(A.SimpleFold((o=a.Rune,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])))===(p=a.Rune,(1>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+1])))&&(A.SimpleFold((q=a.Rune,(1>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+1])))===(r=a.Rune,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0])))){if(b.maybeConcat((t=a.Rune,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])),(b.flags|1)>>>0)){return CH.nil;}a.Op=3;a.Rune=$subslice(a.Rune,0,1);a.Flags=(b.flags|1)>>>0;}else{b.maybeConcat(-1,0);}b.stack=$append(b.stack,a);return a;};P.prototype.push=function(a){return this.$val.push(a);};P.ptr.prototype.maybeConcat=function(a,b){var a,b,c,d,e,f,g,h,i,j,k;c=this;d=c.stack.$length;if(d<2){return false;}g=(e=c.stack,f=d-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));j=(h=c.stack,i=d-2>>0,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if(!((g.Op===3))||!((j.Op===3))||!((((g.Flags&1)>>>0)===((j.Flags&1)>>>0)))){return false;}j.Rune=$appendSlice(j.Rune,g.Rune);if(a>=0){g.Rune=$subslice(new CB(g.Rune0),0,1);(k=g.Rune,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]=a));g.Flags=b;return true;}c.stack=$subslice(c.stack,0,(d-1>>0));c.reuse(g);return false;};P.prototype.maybeConcat=function(a,b){return this.$val.maybeConcat(a,b);};P.ptr.prototype.newLiteral=function(a,b){var a,b,c,d;c=this;d=c.newRegexp(3);d.Flags=b;if(!((((b&1)>>>0)===0))){a=Q(a);}d.Rune0[0]=a;d.Rune=$subslice(new CB(d.Rune0),0,1);return d;};P.prototype.newLiteral=function(a,b){return this.$val.newLiteral(a,b);};Q=function(a){var a,b,c;if(a<65||a>125251){return a;}b=a;c=a;a=A.SimpleFold(a);while(true){if(!(!((a===c)))){break;}if(b>a){b=a;}a=A.SimpleFold(a);}return b;};P.ptr.prototype.literal=function(a){var a,b;b=this;b.push(b.newLiteral(a,b.flags));};P.prototype.literal=function(a){return this.$val.literal(a);};P.ptr.prototype.op=function(a){var a,b,c;b=this;c=b.newRegexp(a);c.Flags=b.flags;return b.push(c);};P.prototype.op=function(a){return this.$val.op(a);};P.ptr.prototype.repeat=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;g=this;h=g.flags;if(!((((g.flags&64)>>>0)===0))){if(e.length>0&&(e.charCodeAt(0)===63)){e=$substring(e,1);h=(h^(32))<<16>>>16;}if(!(f==="")){return["",new M.ptr("invalid nested repetition operator",$substring(f,0,(f.length-e.length>>0)))];}}i=g.stack.$length;if(i===0){return["",new M.ptr("missing argument to repetition operator",$substring(d,0,(d.length-e.length>>0)))];}l=(j=g.stack,k=i-1>>0,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]));if(l.Op>=128){return["",new M.ptr("missing argument to repetition operator",$substring(d,0,(d.length-e.length>>0)))];}m=g.newRegexp(a);m.Min=b;m.Max=c;m.Flags=h;m.Sub=$subslice(new CI(m.Sub0),0,1);(n=m.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]=l));(o=g.stack,p=i-1>>0,((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=m));if((a===17)&&(b>=2||c>=2)&&!R(m,1000)){return["",new M.ptr("invalid repeat count",$substring(d,0,(d.length-e.length>>0)))];}return[e,$ifaceNil];};P.prototype.repeat=function(a,b,c,d,e,f){return this.$val.repeat(a,b,c,d,e,f);};R=function(a,b){var a,b,c,d,e,f,g;if(a.Op===17){c=a.Max;if(c===0){return true;}if(c<0){c=a.Min;}if(c>b){return false;}if(c>0){b=(d=b/(c),(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));}}e=a.Sub;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!R(g,b)){return false;}f++;}return true;};P.ptr.prototype.concat=function(){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;a.maybeConcat(-1,0);b=a.stack.$length;while(true){if(!(b>0&&(c=a.stack,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op<128)){break;}b=b-(1)>>0;}e=$subslice(a.stack,b);a.stack=$subslice(a.stack,0,b);if(e.$length===0){$s=-1;return a.push(a.newRegexp(2));}f=a.collapse(e,18);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=a.push(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.concat};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.concat=function(){return this.$val.concat();};P.ptr.prototype.alternate=function(){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.stack.$length;while(true){if(!(b>0&&(c=a.stack,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op<128)){break;}b=b-(1)>>0;}e=$subslice(a.stack,b);a.stack=$subslice(a.stack,0,b);if(e.$length>0){$s=1;continue;}$s=2;continue;case 1:$r=S((f=e.$length-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(e.$length===0){$s=-1;return a.push(a.newRegexp(1));}g=a.collapse(e,19);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=a.push(g);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.alternate};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.alternate=function(){return this.$val.alternate();};S=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.Op;if(b===(4)){$s=2;continue;}$s=3;continue;case 2:c=AC((a.$ptr_Rune||(a.$ptr_Rune=new CL(function(){return this.$target.Rune;},function($v){this.$target.Rune=$v;},a))));$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}a.Rune=c;if((a.Rune.$length===2)&&((d=a.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))===0)&&((e=a.Rune,(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]))===1114111)){a.Rune=CB.nil;a.Op=6;$s=-1;return;}if((a.Rune.$length===4)&&((f=a.Rune,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]))===0)&&((g=a.Rune,(1>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+1]))===9)&&((h=a.Rune,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))===11)&&((i=a.Rune,(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]))===1114111)){a.Rune=CB.nil;a.Op=5;$s=-1;return;}if((a.Rune.$capacity-a.Rune.$length>>0)>100){a.Rune=$appendSlice($subslice(new CB(a.Rune0),0,0),a.Rune);}case 3:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:S};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};P.ptr.prototype.collapse=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(a.$length===1){$s=-1;return(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);}d=c.newRegexp(b);d.Sub=$subslice(new CI(d.Sub0),0,0);e=a;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(g.Op===b){d.Sub=$appendSlice(d.Sub,g.Sub);c.reuse(g);}else{d.Sub=$append(d.Sub,g);}f++;}if(b===19){$s=1;continue;}$s=2;continue;case 1:h=c.factor(d.Sub);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.Sub=h;if(d.Sub.$length===1){i=d;d=(j=d.Sub,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]));c.reuse(i);}case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.collapse};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.collapse=function(a,b){return this.$val.collapse(a,b);};P.ptr.prototype.factor=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a.$length<2){$s=-1;return a;}c=CB.nil;d=0;e=0;f=$subslice(a,0,0);g=0;case 1:if(!(g<=a.$length)){$s=2;continue;}h=CB.nil;i=0;if(g<a.$length){$s=3;continue;}$s=4;continue;case 3:j=b.leadingString(((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=j[0];i=j[1];if(i===d){k=0;while(true){if(!(k<c.$length&&k<h.$length&&(((k<0||k>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+k])===((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k])))){break;}k=k+(1)>>0;}if(k>0){c=$subslice(c,0,k);g=g+(1)>>0;$s=1;continue;}}case 4:if(g===e){$s=5;continue;}if(g===(e+1>>0)){$s=6;continue;}$s=7;continue;case 5:$s=8;continue;case 6:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=8;continue;case 7:l=b.newRegexp(3);l.Flags=d;l.Rune=$appendSlice($subslice(l.Rune,0,0),c);m=e;while(true){if(!(m<g)){break;}((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]=b.removeLeadingString(((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]),c.$length));m=m+(1)>>0;}n=b.collapse($subslice(a,e,g),19);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=b.newRegexp(18);p.Sub=$append($subslice(p.Sub,0,0),l,o);f=$append(f,p);case 8:e=g;c=h;d=i;g=g+(1)>>0;$s=1;continue;case 2:a=f;e=0;f=$subslice(a,0,0);q=CH.nil;r=0;case 10:if(!(r<=a.$length)){$s=11;continue;}s=CH.nil;if(r<a.$length){$s=12;continue;}$s=13;continue;case 12:s=b.leadingRegexp(((r<0||r>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+r]));if(!(q===CH.nil)&&q.Equal(s)&&(W(q)||((q.Op===17)&&(q.Min===q.Max)&&W((t=q.Sub,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])))))){r=r+(1)>>0;$s=10;continue;}case 13:if(r===e){$s=14;continue;}if(r===(e+1>>0)){$s=15;continue;}$s=16;continue;case 14:$s=17;continue;case 15:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=17;continue;case 16:u=q;v=e;while(true){if(!(v<r)){break;}w=!((v===e));((v<0||v>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]=b.removeLeadingRegexp(((v<0||v>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]),w));v=v+(1)>>0;}x=b.collapse($subslice(a,e,r),19);$s=18;case 18:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;z=b.newRegexp(18);z.Sub=$append($subslice(z.Sub,0,0),u,y);f=$append(f,z);case 17:e=r;q=s;r=r+(1)>>0;$s=10;continue;case 11:a=f;e=0;f=$subslice(a,0,0);aa=0;case 19:if(!(aa<=a.$length)){$s=20;continue;}if(aa<a.$length&&W(((aa<0||aa>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aa]))){$s=21;continue;}$s=22;continue;case 21:aa=aa+(1)>>0;$s=19;continue;case 22:if(aa===e){$s=23;continue;}if(aa===(e+1>>0)){$s=24;continue;}$s=25;continue;case 23:$s=26;continue;case 24:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=26;continue;case 25:ab=e;ac=e+1>>0;while(true){if(!(ac<aa)){break;}if(((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Op<((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Op||(((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Op===((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Op)&&((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Rune.$length<((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Rune.$length){ab=ac;}ac=ac+(1)>>0;}ad=((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]);ae=((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]);((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]=ad);((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]=ae);af=e+1>>0;while(true){if(!(af<aa)){break;}Y(((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]),((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]));b.reuse(((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]));af=af+(1)>>0;}$r=S(((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));case 26:if(aa<a.$length){f=$append(f,((aa<0||aa>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aa]));}e=aa+1>>0;aa=aa+(1)>>0;$s=19;continue;case 20:a=f;e=0;f=$subslice(a,0,0);ag=a;ah=0;while(true){if(!(ah<ag.$length)){break;}ai=ah;if((ai+1>>0)<a.$length&&(((ai<0||ai>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]).Op===2)&&((aj=ai+1>>0,((aj<0||aj>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aj])).Op===2)){ah++;continue;}f=$append(f,((ai<0||ai>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]));ah++;}a=f;$s=-1;return a;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.factor};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.factor=function(a){return this.$val.factor(a);};P.ptr.prototype.leadingString=function(a){var a,b,c;b=this;if((a.Op===18)&&a.Sub.$length>0){a=(c=a.Sub,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]));}if(!((a.Op===3))){return[CB.nil,0];}return[a.Rune,(a.Flags&1)>>>0];};P.prototype.leadingString=function(a){return this.$val.leadingString(a);};P.ptr.prototype.removeLeadingString=function(a,b){var a,b,c,d,e,f,g,h,i;c=this;if((a.Op===18)&&a.Sub.$length>0){e=(d=a.Sub,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));e=c.removeLeadingString(e,b);(f=a.Sub,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=e));if(e.Op===2){c.reuse(e);g=a.Sub.$length;if((g===(0))||(g===(1))){a.Op=2;a.Sub=CI.nil;}else if(g===(2)){h=a;a=(i=a.Sub,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]));c.reuse(h);}else{$copySlice(a.Sub,$subslice(a.Sub,1));a.Sub=$subslice(a.Sub,0,(a.Sub.$length-1>>0));}}return a;}if(a.Op===3){a.Rune=$subslice(a.Rune,0,$copySlice(a.Rune,$subslice(a.Rune,b)));if(a.Rune.$length===0){a.Op=2;}}return a;};P.prototype.removeLeadingString=function(a,b){return this.$val.removeLeadingString(a,b);};P.ptr.prototype.leadingRegexp=function(a){var a,b,c,d;b=this;if(a.Op===2){return CH.nil;}if((a.Op===18)&&a.Sub.$length>0){d=(c=a.Sub,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]));if(d.Op===2){return CH.nil;}return d;}return a;};P.prototype.leadingRegexp=function(a){return this.$val.leadingRegexp(a);};P.ptr.prototype.removeLeadingRegexp=function(a,b){var a,b,c,d,e,f,g;c=this;if((a.Op===18)&&a.Sub.$length>0){if(b){c.reuse((d=a.Sub,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])));}a.Sub=$subslice(a.Sub,0,$copySlice(a.Sub,$subslice(a.Sub,1)));e=a.Sub.$length;if(e===(0)){a.Op=2;a.Sub=CI.nil;}else if(e===(1)){f=a;a=(g=a.Sub,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]));c.reuse(f);}return a;}if(b){c.reuse(a);}return c.newRegexp(2);};P.prototype.removeLeadingRegexp=function(a,b){return this.$val.removeLeadingRegexp(a,b);};T=function(a,b){var a,b,c,d,e,f,g;c=new BW.ptr(3,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");c.Flags=b;c.Rune=$subslice(new CB(c.Rune0),0,0);d=a;e=0;while(true){if(!(e<d.length)){break;}f=$decodeRune(d,e);g=f[0];if(c.Rune.$length>=c.Rune.$capacity){c.Rune=(new CB($stringToRunes(a)));break;}c.Rune=$append(c.Rune,g);e+=f[1];}return c;};U=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((((b&2)>>>0)===0))){c=AN(a);if(!($interfaceIsEqual(c,$ifaceNil))){$s=-1;return[CH.nil,c];}$s=-1;return[T(a,b),$ifaceNil];}d=new P.ptr(0,CI.nil,CH.nil,0,"",CB.nil);e=$ifaceNil;f=0;g=0;h="";d.flags=b;d.wholeRegexp=a;i=a;case 1:if(!(!(i===""))){$s=2;continue;}j="";k=i.charCodeAt(0);if(k===(40)){$s=4;continue;}if(k===(124)){$s=5;continue;}if(k===(41)){$s=6;continue;}if(k===(94)){$s=7;continue;}if(k===(36)){$s=8;continue;}if(k===(46)){$s=9;continue;}if(k===(91)){$s=10;continue;}if((k===(42))||(k===(43))||(k===(63))){$s=11;continue;}if(k===(123)){$s=12;continue;}if(k===(92)){$s=13;continue;}$s=14;continue;case 4:if(!((((d.flags&64)>>>0)===0))&&i.length>=2&&(i.charCodeAt(1)===63)){l=d.parsePerlFlags(i);i=l[0];e=l[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}$s=3;continue;}d.numCap=d.numCap+(1)>>0;d.op(128).Cap=d.numCap;i=$substring(i,1);$s=15;continue;case 5:m=d.parseVerticalBar();$s=16;case 16:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}e=m;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}i=$substring(i,1);$s=15;continue;case 6:n=d.parseRightParen();$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}e=n;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}i=$substring(i,1);$s=15;continue;case 7:if(!((((d.flags&16)>>>0)===0))){d.op(9);}else{d.op(7);}i=$substring(i,1);$s=15;continue;case 8:if(!((((d.flags&16)>>>0)===0))){o=d.op(10);o.Flags=(o.Flags|(256))>>>0;}else{d.op(8);}i=$substring(i,1);$s=15;continue;case 9:if(!((((d.flags&8)>>>0)===0))){d.op(6);}else{d.op(5);}i=$substring(i,1);$s=15;continue;case 10:q=d.parseClass(i);$s=18;case 18:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;i=p[0];e=p[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}$s=15;continue;case 11:r=i;s=i.charCodeAt(0);if(s===(42)){g=14;}else if(s===(43)){g=15;}else if(s===(63)){g=16;}t=$substring(i,1);u=d.repeat(g,0,0,r,t,h);t=u[0];e=u[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}j=r;i=t;$s=15;continue;case 12:g=17;v=i;w=d.parseRepeat(i);x=w[0];y=w[1];z=w[2];aa=w[3];if(!aa){d.literal(123);i=$substring(i,1);$s=3;continue;}if(x<0||x>1000||y>1000||y>=0&&x>y){$s=-1;return[CH.nil,new M.ptr("invalid repeat count",$substring(v,0,(v.length-z.length>>0)))];}ab=d.repeat(g,x,y,v,z,h);z=ab[0];e=ab[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}j=v;i=z;$s=15;continue;case 13:if(!((((d.flags&64)>>>0)===0))&&i.length>=2){ac=i.charCodeAt(1);if(ac===(65)){d.op(9);i=$substring(i,2);$s=3;continue s;}else if(ac===(98)){d.op(11);i=$substring(i,2);$s=3;continue s;}else if(ac===(66)){d.op(12);i=$substring(i,2);$s=3;continue s;}else if(ac===(67)){$s=-1;return[CH.nil,new M.ptr("invalid escape sequence",$substring(i,0,2))];}else if(ac===(81)){ad="";ae=C.Index(i,"\\E");if(ae<0){ad=$substring(i,2);i="";}else{ad=$substring(i,2,ae);i=$substring(i,(ae+2>>0));}while(true){if(!(!(ad===""))){break;}af=AO(ad);ag=af[0];ah=af[1];ai=af[2];if(!($interfaceIsEqual(ai,$ifaceNil))){$s=-1;return[CH.nil,ai];}d.literal(ag);ad=ah;}$s=3;continue s;}else if(ac===(122)){d.op(10);i=$substring(i,2);$s=3;continue s;}}aj=d.newRegexp(4);aj.Flags=d.flags;if(i.length>=2&&((i.charCodeAt(1)===112)||(i.charCodeAt(1)===80))){$s=19;continue;}$s=20;continue;case 19:al=d.parseUnicodeClass(i,$subslice(new CB(aj.Rune0),0,0));$s=21;case 21:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;am=ak[0];an=ak[1];ao=ak[2];if(!($interfaceIsEqual(ao,$ifaceNil))){$s=-1;return[CH.nil,ao];}if(!(am===CB.nil)){aj.Rune=am;i=an;d.push(aj);$s=3;continue s;}case 20:aq=d.parsePerlClassEscape(i,$subslice(new CB(aj.Rune0),0,0));$s=22;case 22:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[0];as=ap[1];if(!(ar===CB.nil)){aj.Rune=ar;i=as;d.push(aj);$s=3;continue s;}d.reuse(aj);at=d.parseEscape(i);f=at[0];i=at[1];e=at[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}d.literal(f);$s=15;continue;case 14:au=AO(i);f=au[0];i=au[1];e=au[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CH.nil,e];}d.literal(f);case 15:case 3:h=j;$s=1;continue;case 2:av=d.concat();$s=23;case 23:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}av;aw=d.swapVerticalBar();$s=26;case 26:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(aw){$s=24;continue;}$s=25;continue;case 24:d.stack=$subslice(d.stack,0,(d.stack.$length-1>>0));case 25:ax=d.alternate();$s=27;case 27:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ax;ay=d.stack.$length;if(!((ay===1))){$s=-1;return[CH.nil,new M.ptr("missing closing )",a)];}$s=-1;return[(az=d.stack,(0>=az.$length?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+0])),$ifaceNil];}return;}if($f===undefined){$f={$blk:U};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=U;P.ptr.prototype.parseRepeat=function(a){var a,b,c,d,e,f,g,h,i;b=0;c=0;d="";e=false;f=this;if(a===""||!((a.charCodeAt(0)===123))){return[b,c,d,e];}a=$substring(a,1);g=false;h=f.parseInt(a);b=h[0];a=h[1];g=h[2];if(!g){return[b,c,d,e];}if(a===""){return[b,c,d,e];}if(!((a.charCodeAt(0)===44))){c=b;}else{a=$substring(a,1);if(a===""){return[b,c,d,e];}if(a.charCodeAt(0)===125){c=-1;}else{i=f.parseInt(a);c=i[0];a=i[1];g=i[2];if(!g){return[b,c,d,e];}else if(c<0){b=-1;}}}if(a===""||!((a.charCodeAt(0)===125))){return[b,c,d,e];}d=$substring(a,1);e=true;return[b,c,d,e];};P.prototype.parseRepeat=function(a){return this.$val.parseRepeat(a);};P.ptr.prototype.parsePerlFlags=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b="";c=$ifaceNil;d=this;e=a;if(e.length>4&&(e.charCodeAt(2)===80)&&(e.charCodeAt(3)===60)){f=C.IndexRune(e,62);if(f<0){c=AN(e);if(!($interfaceIsEqual(c,$ifaceNil))){g="";h=c;b=g;c=h;return[b,c];}i="";j=new M.ptr("invalid named capture",a);b=i;c=j;return[b,c];}k=$substring(e,0,(f+1>>0));l=$substring(e,4,f);c=AN(l);if(!($interfaceIsEqual(c,$ifaceNil))){m="";n=c;b=m;c=n;return[b,c];}if(!V(l)){o="";p=new M.ptr("invalid named capture",k);b=o;c=p;return[b,c];}d.numCap=d.numCap+(1)>>0;q=d.op(128);q.Cap=d.numCap;q.Name=l;r=$substring(e,(f+1>>0));s=$ifaceNil;b=r;c=s;return[b,c];}t=0;e=$substring(e,2);u=d.flags;v=1;w=false;Loop:while(true){if(!(!(e===""))){break;}x=AO(e);t=x[0];e=x[1];c=x[2];if(!($interfaceIsEqual(c,$ifaceNil))){y="";z=c;b=y;c=z;return[b,c];}aa=t;if(aa===(105)){u=(u|(1))>>>0;w=true;}else if(aa===(109)){u=(u&~(16))<<16>>>16;w=true;}else if(aa===(115)){u=(u|(8))>>>0;w=true;}else if(aa===(85)){u=(u|(32))>>>0;w=true;}else if(aa===(45)){if(v<0){break Loop;}v=-1;u=~u<<16>>>16;w=false;}else if((aa===(58))||(aa===(41))){if(v<0){if(!w){break Loop;}u=~u<<16>>>16;}if(t===58){d.op(128);}d.flags=u;ab=e;ac=$ifaceNil;b=ab;c=ac;return[b,c];}else{break Loop;}}ad="";ae=new M.ptr("invalid or unsupported Perl syntax",$substring(a,0,(a.length-e.length>>0)));b=ad;c=ae;return[b,c];};P.prototype.parsePerlFlags=function(a){return this.$val.parsePerlFlags(a);};V=function(a){var a,b,c,d,e;if(a===""){return false;}b=a;c=0;while(true){if(!(c<b.length)){break;}d=$decodeRune(b,c);e=d[0];if(!((e===95))&&!AP(e)){return false;}c+=d[1];}return true;};P.ptr.prototype.parseInt=function(a){var a,b,c,d,e,f,g;b=0;c="";d=false;e=this;if(a===""||a.charCodeAt(0)<48||57<a.charCodeAt(0)){return[b,c,d];}if(a.length>=2&&(a.charCodeAt(0)===48)&&48<=a.charCodeAt(1)&&a.charCodeAt(1)<=57){return[b,c,d];}f=a;while(true){if(!(!(a==="")&&48<=a.charCodeAt(0)&&a.charCodeAt(0)<=57)){break;}a=$substring(a,1);}c=a;d=true;f=$substring(f,0,(f.length-a.length>>0));g=0;while(true){if(!(g<f.length)){break;}if(b>=100000000){b=-1;break;}b=(($imul(b,10))+((f.charCodeAt(g)>>0))>>0)-48>>0;g=g+(1)>>0;}return[b,c,d];};P.prototype.parseInt=function(a){return this.$val.parseInt(a);};W=function(a){var a;return(a.Op===3)&&(a.Rune.$length===1)||(a.Op===4)||(a.Op===5)||(a.Op===6);};X=function(a,b){var a,b,c,d,e,f,g,h;c=a.Op;if(c===(3)){return(a.Rune.$length===1)&&((d=a.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))===b);}else if(c===(4)){e=0;while(true){if(!(e<a.Rune.$length)){break;}if((f=a.Rune,((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]))<=b&&b<=(g=a.Rune,h=e+1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))){return true;}e=e+(2)>>0;}return false;}else if(c===(5)){return!((b===10));}else if(c===(6)){return true;}return false;};P.ptr.prototype.parseVerticalBar=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.concat();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;c=a.swapVerticalBar();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(!c){$s=2;continue;}$s=3;continue;case 2:a.op(129);case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseVerticalBar};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseVerticalBar=function(){return this.$val.parseVerticalBar();};Y=function(a,b){var a,b,c,d,e,f,g,h;switch(0){default:c=a.Op;if(c===(6)){}else if(c===(5)){if(X(b,10)){a.Op=6;}}else if(c===(4)){if(b.Op===3){a.Rune=AD(a.Rune,(d=b.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])),b.Flags);}else{a.Rune=AG(a.Rune,b.Rune);}}else if(c===(3)){if(((e=b.Rune,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))===(f=a.Rune,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])))&&(b.Flags===a.Flags)){break;}a.Op=4;a.Rune=AD($subslice(a.Rune,0,0),(g=a.Rune,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0])),a.Flags);a.Rune=AD(a.Rune,(h=b.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])),b.Flags);}}};P.ptr.prototype.swapVerticalBar=function(){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.stack.$length;if(b>=3&&((c=a.stack,d=b-2>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op===129)&&W((e=a.stack,f=b-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])))&&W((g=a.stack,h=b-3>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h])))){k=(i=a.stack,j=b-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]));n=(l=a.stack,m=b-3>>0,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]));if(k.Op>n.Op){o=n;p=k;k=o;n=p;(q=a.stack,r=b-3>>0,((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]=n));}Y(n,k);a.reuse(k);a.stack=$subslice(a.stack,0,(b-1>>0));$s=-1;return true;}if(b>=2){$s=1;continue;}$s=2;continue;case 1:u=(s=a.stack,t=b-1>>0,((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]));x=(v=a.stack,w=b-2>>0,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]));if(x.Op===129){$s=3;continue;}$s=4;continue;case 3:if(b>=3){$s=5;continue;}$s=6;continue;case 5:$r=S((y=a.stack,z=b-3>>0,((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z])));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:(aa=a.stack,ab=b-2>>0,((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]=u));(ac=a.stack,ad=b-1>>0,((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]=x));$s=-1;return true;case 4:case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.swapVerticalBar};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.swapVerticalBar=function(){return this.$val.swapVerticalBar();};P.ptr.prototype.parseRightParen=function(){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.concat();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;c=a.swapVerticalBar();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(c){$s=2;continue;}$s=3;continue;case 2:a.stack=$subslice(a.stack,0,(a.stack.$length-1>>0));case 3:d=a.alternate();$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;e=a.stack.$length;if(e<2){$s=-1;return new M.ptr("unexpected )",a.wholeRegexp);}h=(f=a.stack,g=e-1>>0,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]));k=(i=a.stack,j=e-2>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]));a.stack=$subslice(a.stack,0,(e-2>>0));if(!((k.Op===128))){$s=-1;return new M.ptr("unexpected )",a.wholeRegexp);}a.flags=k.Flags;if(k.Cap===0){a.push(h);}else{k.Op=13;k.Sub=$subslice(new CI(k.Sub0),0,1);(l=k.Sub,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]=h));a.push(k);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseRightParen};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseRightParen=function(){return this.$val.parseRightParen();};P.ptr.prototype.parseEscape=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c="";d=$ifaceNil;e=this;f=$substring(a,1);if(f===""){g=0;h="";i=new M.ptr("trailing backslash at end of expression","");b=g;c=h;d=i;return[b,c,d];}j=AO(f);k=j[0];f=j[1];d=j[2];if(!($interfaceIsEqual(d,$ifaceNil))){l=0;m="";n=d;b=l;c=m;d=n;return[b,c,d];}Switch:switch(0){default:o=k;if((o===(49))||(o===(50))||(o===(51))||(o===(52))||(o===(53))||(o===(54))||(o===(55))){if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=k-48>>0;p=1;while(true){if(!(p<3)){break;}if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=(($imul(b,8))+((f.charCodeAt(0)>>0))>>0)-48>>0;f=$substring(f,1);p=p+(1)>>0;}q=b;r=f;s=$ifaceNil;b=q;c=r;d=s;return[b,c,d];}else if(o===(48)){b=k-48>>0;p=1;while(true){if(!(p<3)){break;}if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=(($imul(b,8))+((f.charCodeAt(0)>>0))>>0)-48>>0;f=$substring(f,1);p=p+(1)>>0;}t=b;u=f;v=$ifaceNil;b=t;c=u;d=v;return[b,c,d];}else if(o===(120)){if(f===""){break;}w=AO(f);k=w[0];f=w[1];d=w[2];if(!($interfaceIsEqual(d,$ifaceNil))){x=0;y="";z=d;b=x;c=y;d=z;return[b,c,d];}if(k===123){aa=0;b=0;while(true){if(f===""){break Switch;}ab=AO(f);k=ab[0];f=ab[1];d=ab[2];if(!($interfaceIsEqual(d,$ifaceNil))){ac=0;ad="";ae=d;b=ac;c=ad;d=ae;return[b,c,d];}if(k===125){break;}af=AQ(k);if(af<0){break Switch;}b=($imul(b,16))+af>>0;if(b>1114111){break Switch;}aa=aa+(1)>>0;}if(aa===0){break Switch;}ag=b;ah=f;ai=$ifaceNil;b=ag;c=ah;d=ai;return[b,c,d];}aj=AQ(k);ak=AO(f);k=ak[0];f=ak[1];d=ak[2];if(!($interfaceIsEqual(d,$ifaceNil))){al=0;am="";an=d;b=al;c=am;d=an;return[b,c,d];}ao=AQ(k);if(aj<0||ao<0){break;}ap=($imul(aj,16))+ao>>0;aq=f;ar=$ifaceNil;b=ap;c=aq;d=ar;return[b,c,d];}else if(o===(97)){as=7;at=f;au=d;b=as;c=at;d=au;return[b,c,d];}else if(o===(102)){av=12;aw=f;ax=d;b=av;c=aw;d=ax;return[b,c,d];}else if(o===(110)){ay=10;az=f;ba=d;b=ay;c=az;d=ba;return[b,c,d];}else if(o===(114)){bb=13;bc=f;bd=d;b=bb;c=bc;d=bd;return[b,c,d];}else if(o===(116)){be=9;bf=f;bg=d;b=be;c=bf;d=bg;return[b,c,d];}else if(o===(118)){bh=11;bi=f;bj=d;b=bh;c=bi;d=bj;return[b,c,d];}else if(k<128&&!AP(k)){bk=k;bl=f;bm=$ifaceNil;b=bk;c=bl;d=bm;return[b,c,d];}}bn=0;bo="";bp=new M.ptr("invalid escape sequence",$substring(a,0,(a.length-f.length>>0)));b=bn;c=bo;d=bp;return[b,c,d];};P.prototype.parseEscape=function(a){return this.$val.parseEscape(a);};P.ptr.prototype.parseClassChar=function(a,b){var a,b,c,d,e,f,g,h,i,j,k;c=0;d="";e=$ifaceNil;f=this;if(a===""){g=0;h="";i=new M.ptr("missing closing ]",b);c=g;d=h;e=i;return[c,d,e];}if(a.charCodeAt(0)===92){j=f.parseEscape(a);c=j[0];d=j[1];e=j[2];return[c,d,e];}k=AO(a);c=k[0];d=k[1];e=k[2];return[c,d,e];};P.prototype.parseClassChar=function(a,b){return this.$val.parseClassChar(a,b);};P.ptr.prototype.parsePerlClassEscape=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CB.nil;d="";e=this;if((((e.flags&64)>>>0)===0)||a.length<2||!((a.charCodeAt(0)===92))){$s=-1;return[c,d];}g=$clone((f=AU[$String.keyFor($substring(a,0,2))],f!==undefined?f.v:new Z.ptr(0,CB.nil)),Z);if(g.sign===0){$s=-1;return[c,d];}i=e.appendGroup(b,$clone(g,Z));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$substring(a,2);c=h;d=j;$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parsePerlClassEscape};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parsePerlClassEscape=function(a,b){return this.$val.parsePerlClassEscape(a,b);};P.ptr.prototype.parseNamedClass=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CB.nil;d="";e=$ifaceNil;f=this;if(a.length<2||!((a.charCodeAt(0)===91))||!((a.charCodeAt(1)===58))){$s=-1;return[c,d,e];}g=C.Index($substring(a,2),":]");if(g<0){$s=-1;return[c,d,e];}g=g+(2)>>0;h=$substring(a,0,(g+2>>0));i=$substring(a,(g+2>>0));j=h;a=i;l=$clone((k=BJ[$String.keyFor(j)],k!==undefined?k.v:new Z.ptr(0,CB.nil)),Z);if(l.sign===0){m=CB.nil;n="";o=new M.ptr("invalid character class range",j);c=m;d=n;e=o;$s=-1;return[c,d,e];}q=f.appendGroup(b,$clone(l,Z));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=a;s=$ifaceNil;c=p;d=r;e=s;$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseNamedClass};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseNamedClass=function(a,b){return this.$val.parseNamedClass(a,b);};P.ptr.prototype.appendGroup=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(((c.flags&1)>>>0)===0){$s=1;continue;}$s=2;continue;case 1:if(b.sign<0){a=AI(a,b.class$1);}else{a=AG(a,b.class$1);}$s=3;continue;case 2:d=$subslice(c.tmpClass,0,0);d=AH(d,b.class$1);c.tmpClass=d;e=AC((c.$ptr_tmpClass||(c.$ptr_tmpClass=new CL(function(){return this.$target.tmpClass;},function($v){this.$target.tmpClass=$v;},c))));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;if(b.sign<0){a=AI(a,d);}else{a=AG(a,d);}case 3:$s=-1;return a;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.appendGroup};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.appendGroup=function(a,b){return this.$val.appendGroup(a,b);};AB=function(a){var a,b,c,d,e,f,g;if(a==="Any"){return[AA,AA];}c=(b=A.Categories[$String.keyFor(a)],b!==undefined?b.v:CM.nil);if(!(c===CM.nil)){return[c,(d=A.FoldCategory[$String.keyFor(a)],d!==undefined?d.v:CM.nil)];}f=(e=A.Scripts[$String.keyFor(a)],e!==undefined?e.v:CM.nil);if(!(f===CM.nil)){return[f,(g=A.FoldScript[$String.keyFor(a)],g!==undefined?g.v:CM.nil)];}return[CM.nil,CM.nil];};P.ptr.prototype.parseUnicodeClass=function(a,b){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CB.nil;d="";e=$ifaceNil;f=this;if((((f.flags&128)>>>0)===0)||a.length<2||!((a.charCodeAt(0)===92))||!((a.charCodeAt(1)===112))&&!((a.charCodeAt(1)===80))){$s=-1;return[c,d,e];}g=1;if(a.charCodeAt(1)===80){g=-1;}h=$substring(a,2);i=AO(h);j=i[0];h=i[1];e=i[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}k="";l="";m=k;n=l;if(!((j===123))){m=$substring(a,0,(a.length-h.length>>0));n=$substring(m,2);}else{o=C.IndexRune(a,125);if(o<0){e=AN(a);if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}p=CB.nil;q="";r=new M.ptr("invalid character class range",a);c=p;d=q;e=r;$s=-1;return[c,d,e];}s=$substring(a,0,(o+1>>0));t=$substring(a,(o+1>>0));m=s;h=t;n=$substring(a,3,o);e=AN(n);if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}}if(!(n==="")&&(n.charCodeAt(0)===94)){g=-g;n=$substring(n,1);}u=AB(n);v=u[0];w=u[1];if(v===CM.nil){x=CB.nil;y="";z=new M.ptr("invalid character class range",m);c=x;d=y;e=z;$s=-1;return[c,d,e];}if((((f.flags&1)>>>0)===0)||w===CM.nil){$s=1;continue;}$s=2;continue;case 1:if(g>0){b=AJ(b,v);}else{b=AK(b,v);}$s=3;continue;case 2:aa=$subslice(f.tmpClass,0,0);aa=AJ(aa,v);aa=AJ(aa,w);f.tmpClass=aa;ab=AC((f.$ptr_tmpClass||(f.$ptr_tmpClass=new CL(function(){return this.$target.tmpClass;},function($v){this.$target.tmpClass=$v;},f))));$s=4;case 4:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;if(g>0){b=AG(b,aa);}else{b=AI(b,aa);}case 3:ac=b;ad=h;ae=$ifaceNil;c=ac;d=ad;e=ae;$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseUnicodeClass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseUnicodeClass=function(a,b){return this.$val.parseUnicodeClass(a,b);};P.ptr.prototype.parseClass=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b="";c=$ifaceNil;d=this;e=$substring(a,1);f=d.newRegexp(4);f.Flags=d.flags;f.Rune=$subslice(new CB(f.Rune0),0,0);g=1;if(!(e==="")&&(e.charCodeAt(0)===94)){g=-1;e=$substring(e,1);if(((d.flags&4)>>>0)===0){f.Rune=$append(f.Rune,10,10);}}h=f.Rune;i=true;case 1:if(!(e===""||!((e.charCodeAt(0)===93))||i)){$s=2;continue;}if(!(e==="")&&(e.charCodeAt(0)===45)&&(((d.flags&64)>>>0)===0)&&!i&&((e.length===1)||!((e.charCodeAt(1)===93)))){j=D.DecodeRuneInString($substring(e,1));k=j[1];l="";m=new M.ptr("invalid character class range",$substring(e,0,(1+k>>0)));b=l;c=m;$s=-1;return[b,c];}i=false;if(e.length>2&&(e.charCodeAt(0)===91)&&(e.charCodeAt(1)===58)){$s=3;continue;}$s=4;continue;case 3:o=d.parseNamedClass(e,h);$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];r=n[2];if(!($interfaceIsEqual(r,$ifaceNil))){s="";t=r;b=s;c=t;$s=-1;return[b,c];}if(!(p===CB.nil)){u=p;v=q;h=u;e=v;$s=1;continue;}case 4:x=d.parseUnicodeClass(e,h);$s=6;case 6:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[0];z=w[1];aa=w[2];if(!($interfaceIsEqual(aa,$ifaceNil))){ab="";ac=aa;b=ab;c=ac;$s=-1;return[b,c];}if(!(y===CB.nil)){$s=7;continue;}$s=8;continue;case 7:ad=y;ae=z;h=ad;e=ae;$s=1;continue;case 8:ag=d.parsePerlClassEscape(e,h);$s=9;case 9:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=af[0];ai=af[1];if(!(ah===CB.nil)){aj=ah;ak=ai;h=aj;e=ak;$s=1;continue;}al=e;am=0;an=0;ao=am;ap=an;aq=d.parseClassChar(e,a);ao=aq[0];e=aq[1];aa=aq[2];if(!($interfaceIsEqual(aa,$ifaceNil))){ar="";as=aa;b=ar;c=as;$s=-1;return[b,c];}ap=ao;if(e.length>=2&&(e.charCodeAt(0)===45)&&!((e.charCodeAt(1)===93))){e=$substring(e,1);at=d.parseClassChar(e,a);ap=at[0];e=at[1];aa=at[2];if(!($interfaceIsEqual(aa,$ifaceNil))){au="";av=aa;b=au;c=av;$s=-1;return[b,c];}if(ap<ao){al=$substring(al,0,(al.length-e.length>>0));aw="";ax=new M.ptr("invalid character class range",al);b=aw;c=ax;$s=-1;return[b,c];}}if(((d.flags&1)>>>0)===0){h=AE(h,ao,ap);}else{h=AF(h,ao,ap);}$s=1;continue;case 2:e=$substring(e,1);f.Rune=h;ay=AC((f.$ptr_Rune||(f.$ptr_Rune=new CL(function(){return this.$target.Rune;},function($v){this.$target.Rune=$v;},f))));$s=10;case 10:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}h=ay;if(g<0){h=AL(h);}f.Rune=h;d.push(f);az=e;ba=$ifaceNil;b=az;c=ba;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseClass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseClass=function(a){return this.$val.parseClass(a);};AC=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.Sort((b=new AM.ptr(a),new b.constructor.elem(b)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=a.$get();if(c.$length<2){$s=-1;return c;}d=2;e=2;while(true){if(!(e<c.$length)){break;}f=((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]);g=(h=e+1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]));i=f;j=g;if(i<=((k=d-1>>0,((k<0||k>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+k]))+1>>0)){if(j>(l=d-1>>0,((l<0||l>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+l]))){(m=d-1>>0,((m<0||m>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+m]=j));}e=e+(2)>>0;continue;}((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=i);(n=d+1>>0,((n<0||n>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+n]=j));d=d+(2)>>0;e=e+(2)>>0;}$s=-1;return $subslice(c,0,d);}return;}if($f===undefined){$f={$blk:AC};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AD=function(a,b,c){var a,b,c;if(!((((c&1)>>>0)===0))){return AF(a,b,b);}return AE(a,b,b);};AE=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m;d=a.$length;e=2;while(true){if(!(e<=4)){break;}if(d>=e){f=(g=d-e>>0,((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=(i=(d-e>>0)+1>>0,((i<0||i>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+i]));j=f;k=h;if(b<=(k+1>>0)&&j<=(c+1>>0)){if(b<j){(l=d-e>>0,((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l]=b));}if(c>k){(m=(d-e>>0)+1>>0,((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]=c));}return a;}}e=e+(2)>>0;}return $append(a,b,c);};AF=function(a,b,c){var a,b,c,d,e;if(b<=65&&c>=125251){return AE(a,b,c);}if(c<65||b>125251){return AE(a,b,c);}if(b<65){a=AE(a,b,64);b=65;}if(c>125251){a=AE(a,125252,c);c=125251;}d=b;while(true){if(!(d<=c)){break;}a=AE(a,d,d);e=A.SimpleFold(d);while(true){if(!(!((e===d)))){break;}a=AE(a,e,e);e=A.SimpleFold(e);}d=d+(1)>>0;}return a;};AG=function(a,b){var a,b,c,d;c=0;while(true){if(!(c<b.$length)){break;}a=AE(a,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),(d=c+1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])));c=c+(2)>>0;}return a;};AH=function(a,b){var a,b,c,d;c=0;while(true){if(!(c<b.$length)){break;}a=AF(a,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),(d=c+1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])));c=c+(2)>>0;}return a;};AI=function(a,b){var a,b,c,d,e,f,g,h,i;c=0;d=0;while(true){if(!(d<b.$length)){break;}e=((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d]);f=(g=d+1>>0,((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]));h=e;i=f;if(c<=(h-1>>0)){a=AE(a,c,h-1>>0);}c=i+1>>0;d=d+(2)>>0;}if(c<=1114111){a=AE(a,c,1114111);}return a;};AJ=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=b.R16;d=0;while(true){if(!(d<c.$length)){break;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),A.Range16);f=((e.Lo>>0));g=((e.Hi>>0));h=((e.Stride>>0));i=f;j=g;k=h;if(k===1){a=AE(a,i,j);d++;continue;}l=i;while(true){if(!(l<=j)){break;}a=AE(a,l,l);l=l+(k)>>0;}d++;}m=b.R32;n=0;while(true){if(!(n<m.$length)){break;}o=$clone(((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]),A.Range32);p=((o.Lo>>0));q=((o.Hi>>0));r=((o.Stride>>0));s=p;t=q;u=r;if(u===1){a=AE(a,s,t);n++;continue;}v=s;while(true){if(!(v<=t)){break;}a=AE(a,v,v);v=v+(u)>>0;}n++;}return a;};AK=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;c=0;d=b.R16;e=0;while(true){if(!(e<d.$length)){break;}f=$clone(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),A.Range16);g=((f.Lo>>0));h=((f.Hi>>0));i=((f.Stride>>0));j=g;k=h;l=i;if(l===1){if(c<=(j-1>>0)){a=AE(a,c,j-1>>0);}c=k+1>>0;e++;continue;}m=j;while(true){if(!(m<=k)){break;}if(c<=(m-1>>0)){a=AE(a,c,m-1>>0);}c=m+1>>0;m=m+(l)>>0;}e++;}n=b.R32;o=0;while(true){if(!(o<n.$length)){break;}p=$clone(((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),A.Range32);q=((p.Lo>>0));r=((p.Hi>>0));s=((p.Stride>>0));t=q;u=r;v=s;if(v===1){if(c<=(t-1>>0)){a=AE(a,c,t-1>>0);}c=u+1>>0;o++;continue;}w=t;while(true){if(!(w<=u)){break;}if(c<=(w-1>>0)){a=AE(a,c,w-1>>0);}c=w+1>>0;w=w+(v)>>0;}o++;}if(c<=1114111){a=AE(a,c,1114111);}return a;};AL=function(a){var a,b,c,d,e,f,g,h,i,j;b=0;c=0;d=0;while(true){if(!(d<a.$length)){break;}e=((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]);f=(g=d+1>>0,((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=e;i=f;if(b<=(h-1>>0)){((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=b);(j=c+1>>0,((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]=(h-1>>0)));c=c+(2)>>0;}b=i+1>>0;d=d+(2)>>0;}a=$subslice(a,0,c);if(b<=1114111){a=$append(a,b,1114111);}return a;};AM.ptr.prototype.Less=function(a,b){var a,b,c,d,e,f;c=this;d=c.p.$get();a=$imul(a,(2));b=$imul(b,(2));return((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a])<((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b])||(((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a])===((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]))&&(e=a+1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))>(f=b+1>>0,((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f]));};AM.prototype.Less=function(a,b){return this.$val.Less(a,b);};AM.ptr.prototype.Len=function(){var a,b;a=this;return(b=a.p.$get().$length/2,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));};AM.prototype.Len=function(){return this.$val.Len();};AM.ptr.prototype.Swap=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l;c=this;d=c.p.$get();a=$imul(a,(2));b=$imul(b,(2));e=((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]);f=(g=b+1>>0,((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]));h=((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]);i=(j=a+1>>0,((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]));((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]=e);(k=a+1>>0,((k<0||k>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+k]=f));((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]=h);(l=b+1>>0,((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]=i));};AM.prototype.Swap=function(a,b){return this.$val.Swap(a,b);};AN=function(a){var a,b,c,d;while(true){if(!(!(a===""))){break;}b=D.DecodeRuneInString(a);c=b[0];d=b[1];if((c===65533)&&(d===1)){return new M.ptr("invalid UTF-8",a);}a=$substring(a,d);}return $ifaceNil;};AO=function(a){var a,b,c,d,e,f,g,h,i,j,k,l;b=0;c="";d=$ifaceNil;e=D.DecodeRuneInString(a);b=e[0];f=e[1];if((b===65533)&&(f===1)){g=0;h="";i=new M.ptr("invalid UTF-8",a);b=g;c=h;d=i;return[b,c,d];}j=b;k=$substring(a,f);l=$ifaceNil;b=j;c=k;d=l;return[b,c,d];};AP=function(a){var a;return 48<=a&&a<=57||65<=a&&a<=90||97<=a&&a<=122;};AQ=function(a){var a;if(48<=a&&a<=57){return a-48>>0;}if(97<=a&&a<=102){return(a-97>>0)+10>>0;}if(65<=a&&a<=70){return(a-65>>0)+10>>0;}return-1;};BL.prototype.String=function(){var a;a=this.$val;if(((a>>>0))>=((BM.$length>>>0))){return"";}return((a<0||a>=BM.$length)?($throwRuntimeError("index out of range"),undefined):BM.$array[BM.$offset+a]);};$ptrType(BL).prototype.String=function(){return new BL(this.$get()).String();};BO=function(a,b){var a,b,c,d;c=32;d=0;if(BP(a)){d=1;}else if((a===10)){c=(c|(1))>>>0;}else if(a<0){c=(c|(5))>>>0;}if(BP(b)){d=(d^(1))<<24>>>24;}else if((b===10)){c=(c|(2))>>>0;}else if(b<0){c=(c|(10))>>>0;}if(!((d===0))){c=(c^(48))<<24>>>24;}return c;};$pkg.EmptyOpContext=BO;BP=function(a){var a;return 65<=a&&a<=90||97<=a&&a<=122||48<=a&&a<=57||(a===95);};$pkg.IsWordChar=BP;BK.ptr.prototype.String=function(){var a,b;a=this;b=new E.Buffer.ptr(CN.nil,0,0,CO.zero());BT(b,a);return b.String();};BK.prototype.String=function(){return this.$val.String();};BK.ptr.prototype.skipNop=function(a){var a,b,c,d,e;b=this;d=(c=b.Inst,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));while(true){if(!((d.Op===6)||(d.Op===2))){break;}a=d.Out;d=(e=b.Inst,((a<0||a>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+a]));}return[d,a];};BK.prototype.skipNop=function(a){return this.$val.skipNop(a);};BQ.ptr.prototype.op=function(){var a,b,c;a=this;b=a.Op;c=b;if((c===(8))||(c===(9))||(c===(10))){b=7;}return b;};BQ.prototype.op=function(){return this.$val.op();};BK.ptr.prototype.Prefix=function(){var a,b,c,d,e,f,g,h,i,j,k,l;a="";b=false;c=this;d=c.skipNop(((c.Start>>>0)));e=d[0];if(!((e.op()===7))||!((e.Rune.$length===1))){f="";g=e.Op===4;a=f;b=g;return[a,b];}h=new E.Buffer.ptr(CN.nil,0,0,CO.zero());while(true){if(!((e.op()===7)&&(e.Rune.$length===1)&&(((((e.Arg<<16>>>16))&1)>>>0)===0))){break;}h.WriteRune((i=e.Rune,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])));j=c.skipNop(e.Out);e=j[0];}k=h.String();l=e.Op===4;a=k;b=l;return[a,b];};BK.prototype.Prefix=function(){return this.$val.Prefix();};BK.ptr.prototype.StartCond=function(){var a,b,c,d,e,f,g;a=this;b=0;c=((a.Start>>>0));e=(d=a.Inst,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));Loop:while(true){f=e.Op;if(f===(3)){b=(b|(((e.Arg<<24>>>24))))>>>0;}else if(f===(5)){return 255;}else if((f===(2))||(f===(6))){}else{break Loop;}c=e.Out;e=(g=a.Inst,((c<0||c>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+c]));}return b;};BK.prototype.StartCond=function(){return this.$val.StartCond();};BQ.ptr.prototype.MatchRune=function(a){var a,b;b=this;return!((b.MatchRunePos(a)===-1));};BQ.prototype.MatchRune=function(a){return this.$val.MatchRune(a);};BQ.ptr.prototype.MatchRunePos=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=this;c=b.Rune;if(c.$length===1){d=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]);if(a===d){return 0;}if(!((((((b.Arg<<16>>>16))&1)>>>0)===0))){e=A.SimpleFold(d);while(true){if(!(!((e===d)))){break;}if(a===e){return 0;}e=A.SimpleFold(e);}}return-1;}f=0;while(true){if(!(f<c.$length&&f<=8)){break;}if(a<((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])){return-1;}if(a<=(g=f+1>>0,((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))){return(h=f/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));}f=f+(2)>>0;}i=0;k=(j=c.$length/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"));while(true){if(!(i<k)){break;}m=i+(l=((k-i>>0))/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0;o=(n=$imul(2,m),((n<0||n>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+n]));if(o<=a){if(a<=(p=($imul(2,m))+1>>0,((p<0||p>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+p]))){return m;}i=m+1>>0;}else{k=m;}}return-1;};BQ.prototype.MatchRunePos=function(a){return this.$val.MatchRunePos(a);};BR=function(a){var a;return(a===95)||(65<=a&&a<=90)||(97<=a&&a<=122)||(48<=a&&a<=57);};BQ.ptr.prototype.MatchEmptyWidth=function(a,b){var a,b,c,d;c=this;d=((c.Arg<<24>>>24));if(d===(1)){return(a===10)||(a===-1);}else if(d===(2)){return(b===10)||(b===-1);}else if(d===(4)){return a===-1;}else if(d===(8)){return b===-1;}else if(d===(16)){return!(BR(a)===BR(b));}else if(d===(32)){return BR(a)===BR(b);}$panic(new $String("unknown empty width arg"));};BQ.prototype.MatchEmptyWidth=function(a,b){return this.$val.MatchEmptyWidth(a,b);};BQ.ptr.prototype.String=function(){var a,b;a=this;b=new E.Buffer.ptr(CN.nil,0,0,CO.zero());BV(b,a);return b.String();};BQ.prototype.String=function(){return this.$val.String();};BS=function(a,b){var a,b,c,d,e;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);a.WriteString(e);d++;}};BT=function(a,b){var a,b,c,d,e,f,g,h;c=b.Inst;d=0;while(true){if(!(d<c.$length)){break;}e=d;g=(f=b.Inst,((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]));h=F.Itoa(e);if(h.length<3){a.WriteString($substring(" ",h.length));}if(e===b.Start){h=h+("*");}BS(a,new CE([h,"\t"]));BV(a,g);BS(a,new CE(["\n"]));d++;}};BU=function(a){var a;return F.FormatUint((new $Uint64(0,a)),10);};BV=function(a,b){var a,b,c;c=b.Op;if(c===(0)){BS(a,new CE(["alt -> ",BU(b.Out),", ",BU(b.Arg)]));}else if(c===(1)){BS(a,new CE(["altmatch -> ",BU(b.Out),", ",BU(b.Arg)]));}else if(c===(2)){BS(a,new CE(["cap ",BU(b.Arg)," -> ",BU(b.Out)]));}else if(c===(3)){BS(a,new CE(["empty ",BU(b.Arg)," -> ",BU(b.Out)]));}else if(c===(4)){BS(a,new CE(["match"]));}else if(c===(5)){BS(a,new CE(["fail"]));}else if(c===(6)){BS(a,new CE(["nop -> ",BU(b.Out)]));}else if(c===(7)){if(b.Rune===CB.nil){BS(a,new CE(["rune <nil>"]));}BS(a,new CE(["rune ",F.QuoteToASCII(($runesToString(b.Rune)))]));if(!((((((b.Arg<<16>>>16))&1)>>>0)===0))){BS(a,new CE(["/i"]));}BS(a,new CE([" -> ",BU(b.Out)]));}else if(c===(8)){BS(a,new CE(["rune1 ",F.QuoteToASCII(($runesToString(b.Rune)))," -> ",BU(b.Out)]));}else if(c===(9)){BS(a,new CE(["any -> ",BU(b.Out)]));}else if(c===(10)){BS(a,new CE(["anynotnl -> ",BU(b.Out)]));}};BW.ptr.prototype.Equal=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;if(b===CH.nil||a===CH.nil){return b===a;}if(!((b.Op===a.Op))){return false;}c=b.Op;if(c===(10)){if(!((((b.Flags&256)>>>0)===((a.Flags&256)>>>0)))){return false;}}else if((c===(3))||(c===(4))){if(!((b.Rune.$length===a.Rune.$length))){return false;}d=b.Rune;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!((g===(h=a.Rune,((f<0||f>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+f]))))){return false;}e++;}}else if((c===(19))||(c===(18))){if(!((b.Sub.$length===a.Sub.$length))){return false;}i=b.Sub;j=0;while(true){if(!(j<i.$length)){break;}k=j;l=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(!l.Equal((m=a.Sub,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k])))){return false;}j++;}}else if((c===(14))||(c===(15))||(c===(16))){if(!((((b.Flags&32)>>>0)===((a.Flags&32)>>>0)))||!(n=b.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])).Equal((o=a.Sub,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])))){return false;}}else if(c===(17)){if(!((((b.Flags&32)>>>0)===((a.Flags&32)>>>0)))||!((b.Min===a.Min))||!((b.Max===a.Max))||!(p=b.Sub,(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])).Equal((q=a.Sub,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])))){return false;}}else if(c===(13)){if(!((b.Cap===a.Cap))||!(b.Name===a.Name)||!(r=b.Sub,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0])).Equal((s=a.Sub,(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])))){return false;}}return true;};BW.prototype.Equal=function(a){return this.$val.Equal(a);};BY=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;switch(0){default:c=b.Op;if(c===(1)){a.WriteString("[^\\x00-\\x{10FFFF}]");}else if(c===(2)){a.WriteString("(?:)");}else if(c===(3)){if(!((((b.Flags&1)>>>0)===0))){a.WriteString("(?i:");}d=b.Rune;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);BZ(a,f,false);e++;}if(!((((b.Flags&1)>>>0)===0))){a.WriteString(")");}}else if(c===(4)){if(!(((g=b.Rune.$length%2,g===g?g:$throwRuntimeError("integer divide by zero"))===0))){a.WriteString("[invalid char class]");break;}a.WriteRune(91);if(b.Rune.$length===0){a.WriteString("^\\x00-\\x{10FFFF}");}else if(((h=b.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))===0)&&((i=b.Rune,j=b.Rune.$length-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]))===1114111)){a.WriteRune(94);k=1;while(true){if(!(k<(b.Rune.$length-1>>0))){break;}l=(m=b.Rune,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k]))+1>>0;n=(o=b.Rune,p=k+1>>0,((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]))-1>>0;q=l;r=n;BZ(a,q,q===45);if(!((q===r))){a.WriteRune(45);BZ(a,r,r===45);}k=k+(2)>>0;}}else{s=0;while(true){if(!(s<b.Rune.$length)){break;}t=(u=b.Rune,((s<0||s>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+s]));v=(w=b.Rune,x=s+1>>0,((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]));y=t;z=v;BZ(a,y,y===45);if(!((y===z))){a.WriteRune(45);BZ(a,z,z===45);}s=s+(2)>>0;}}a.WriteRune(93);}else if(c===(5)){a.WriteString("(?-s:.)");}else if(c===(6)){a.WriteString("(?s:.)");}else if(c===(7)){a.WriteString("(?m:^)");}else if(c===(8)){a.WriteString("(?m:$)");}else if(c===(9)){a.WriteString("\\A");}else if(c===(10)){if(!((((b.Flags&256)>>>0)===0))){a.WriteString("(?-m:$)");}else{a.WriteString("\\z");}}else if(c===(11)){a.WriteString("\\b");}else if(c===(12)){a.WriteString("\\B");}else if(c===(13)){if(!(b.Name==="")){a.WriteString("(?P<");a.WriteString(b.Name);a.WriteRune(62);}else{a.WriteRune(40);}if(!(((aa=b.Sub,(0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0])).Op===2))){BY(a,(ab=b.Sub,(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0])));}a.WriteRune(41);}else if((c===(14))||(c===(15))||(c===(16))||(c===(17))){ad=(ac=b.Sub,(0>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+0]));if(ad.Op>13||(ad.Op===3)&&ad.Rune.$length>1){a.WriteString("(?:");BY(a,ad);a.WriteString(")");}else{BY(a,ad);}ae=b.Op;if(ae===(14)){a.WriteRune(42);}else if(ae===(15)){a.WriteRune(43);}else if(ae===(16)){a.WriteRune(63);}else if(ae===(17)){a.WriteRune(123);a.WriteString(F.Itoa(b.Min));if(!((b.Max===b.Min))){a.WriteRune(44);if(b.Max>=0){a.WriteString(F.Itoa(b.Max));}}a.WriteRune(125);}if(!((((b.Flags&32)>>>0)===0))){a.WriteRune(63);}}else if(c===(18)){af=b.Sub;ag=0;while(true){if(!(ag<af.$length)){break;}ah=((ag<0||ag>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]);if(ah.Op===19){a.WriteString("(?:");BY(a,ah);a.WriteString(")");}else{BY(a,ah);}ag++;}}else if(c===(19)){ai=b.Sub;aj=0;while(true){if(!(aj<ai.$length)){break;}ak=aj;al=((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);if(ak>0){a.WriteRune(124);}BY(a,al);aj++;}}else{a.WriteString("<invalid op"+F.Itoa(((b.Op>>0)))+">");}}};BW.ptr.prototype.String=function(){var a,b;a=this;b=new E.Buffer.ptr(CN.nil,0,0,CO.zero());BY(b,a);return b.String();};BW.prototype.String=function(){return this.$val.String();};BZ=function(a,b,c){var a,b,c,d,e;if(A.IsPrint(b)){if(C.ContainsRune("\\.+*?()|[]{}^$",b)||c){a.WriteRune(92);}a.WriteRune(b);return;}switch(0){default:d=b;if(d===(7)){a.WriteString("\\a");}else if(d===(12)){a.WriteString("\\f");}else if(d===(10)){a.WriteString("\\n");}else if(d===(13)){a.WriteString("\\r");}else if(d===(9)){a.WriteString("\\t");}else if(d===(11)){a.WriteString("\\v");}else{if(b<256){a.WriteString("\\x");e=F.FormatInt((new $Int64(0,b)),16);if(e.length===1){a.WriteRune(48);}a.WriteString(e);break;}a.WriteString("\\x{");a.WriteString(F.FormatInt((new $Int64(0,b)),16));a.WriteString("}");}}};BW.ptr.prototype.MaxCap=function(){var a,b,c,d,e,f;a=this;b=0;if(a.Op===13){b=a.Cap;}c=a.Sub;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=e.MaxCap();if(b<f){b=f;}d++;}return b;};BW.prototype.MaxCap=function(){return this.$val.MaxCap();};BW.ptr.prototype.CapNames=function(){var a,b;a=this;b=$makeSlice(CE,(a.MaxCap()+1>>0));a.capNames(b);return b;};BW.prototype.CapNames=function(){return this.$val.CapNames();};BW.ptr.prototype.capNames=function(a){var a,b,c,d,e,f;b=this;if(b.Op===13){(c=b.Cap,((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=b.Name));}d=b.Sub;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);f.capNames(a);e++;}};BW.prototype.capNames=function(a){return this.$val.capNames(a);};BW.ptr.prototype.Simplify=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;a=this;if(a===CH.nil){return CH.nil;}b=a.Op;if((b===(13))||(b===(18))||(b===(19))){c=a;d=a.Sub;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);h=g.Simplify();if(c===a&&!(h===g)){c=new BW.ptr(0,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");BW.copy(c,a);c.Rune=CB.nil;c.Sub=$appendSlice($subslice(new CI(c.Sub0),0,0),$subslice(a.Sub,0,f));}if(!(c===a)){c.Sub=$append(c.Sub,h);}e++;}return c;}else if((b===(14))||(b===(15))||(b===(16))){j=(i=a.Sub,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])).Simplify();return CA(a.Op,a.Flags,j,a);}else if(b===(17)){if((a.Min===0)&&(a.Max===0)){return new BW.ptr(2,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");}l=(k=a.Sub,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])).Simplify();if(a.Max===-1){if(a.Min===0){return CA(14,a.Flags,l,CH.nil);}if(a.Min===1){return CA(15,a.Flags,l,CH.nil);}m=new BW.ptr(18,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");m.Sub=$subslice(new CI(m.Sub0),0,0);n=0;while(true){if(!(n<(a.Min-1>>0))){break;}m.Sub=$append(m.Sub,l);n=n+(1)>>0;}m.Sub=$append(m.Sub,CA(15,a.Flags,l,CH.nil));return m;}if((a.Min===1)&&(a.Max===1)){return l;}o=CH.nil;if(a.Min>0){o=new BW.ptr(18,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");o.Sub=$subslice(new CI(o.Sub0),0,0);p=0;while(true){if(!(p<a.Min)){break;}o.Sub=$append(o.Sub,l);p=p+(1)>>0;}}if(a.Max>a.Min){q=CA(16,a.Flags,l,CH.nil);r=a.Min+1>>0;while(true){if(!(r<a.Max)){break;}s=new BW.ptr(18,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");s.Sub=$append($subslice(new CI(s.Sub0),0,0),l,q);q=CA(16,a.Flags,s,CH.nil);r=r+(1)>>0;}if(o===CH.nil){return q;}o.Sub=$append(o.Sub,q);}if(!(o===CH.nil)){return o;}return new BW.ptr(1,0,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");}return a;};BW.prototype.Simplify=function(){return this.$val.Simplify();};CA=function(a,b,c,d){var a,b,c,d,e;if(c.Op===2){return c;}if((a===c.Op)&&(((b&32)>>>0)===((c.Flags&32)>>>0))){return c;}if(!(d===CH.nil)&&(d.Op===a)&&(((d.Flags&32)>>>0)===((b&32)>>>0))&&c===(e=d.Sub,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))){return d;}d=new BW.ptr(a,b,CI.nil,CJ.zero(),CB.nil,CK.zero(),0,0,0,"");d.Sub=$append($subslice(new CI(d.Sub0),0,0),c);return d;};G.methods=[{prop:"next",name:"next",pkg:"regexp/syntax",typ:$funcType([CF],[G],false)},{prop:"patch",name:"patch",pkg:"regexp/syntax",typ:$funcType([CF,$Uint32],[],false)},{prop:"append",name:"append",pkg:"regexp/syntax",typ:$funcType([CF,G],[G],false)}];CP.methods=[{prop:"init",name:"init",pkg:"regexp/syntax",typ:$funcType([],[],false)},{prop:"compile",name:"compile",pkg:"regexp/syntax",typ:$funcType([CH],[H],false)},{prop:"inst",name:"inst",pkg:"regexp/syntax",typ:$funcType([BL],[H],false)},{prop:"nop",name:"nop",pkg:"regexp/syntax",typ:$funcType([],[H],false)},{prop:"fail",name:"fail",pkg:"regexp/syntax",typ:$funcType([],[H],false)},{prop:"cap",name:"cap",pkg:"regexp/syntax",typ:$funcType([$Uint32],[H],false)},{prop:"cat",name:"cat",pkg:"regexp/syntax",typ:$funcType([H,H],[H],false)},{prop:"alt",name:"alt",pkg:"regexp/syntax",typ:$funcType([H,H],[H],false)},{prop:"quest",name:"quest",pkg:"regexp/syntax",typ:$funcType([H,$Bool],[H],false)},{prop:"star",name:"star",pkg:"regexp/syntax",typ:$funcType([H,$Bool],[H],false)},{prop:"plus",name:"plus",pkg:"regexp/syntax",typ:$funcType([H,$Bool],[H],false)},{prop:"empty",name:"empty",pkg:"regexp/syntax",typ:$funcType([BN],[H],false)},{prop:"rune",name:"rune",pkg:"regexp/syntax",typ:$funcType([CB,O],[H],false)}];CQ.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];N.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CR.methods=[{prop:"newRegexp",name:"newRegexp",pkg:"regexp/syntax",typ:$funcType([BX],[CH],false)},{prop:"reuse",name:"reuse",pkg:"regexp/syntax",typ:$funcType([CH],[],false)},{prop:"push",name:"push",pkg:"regexp/syntax",typ:$funcType([CH],[CH],false)},{prop:"maybeConcat",name:"maybeConcat",pkg:"regexp/syntax",typ:$funcType([$Int32,O],[$Bool],false)},{prop:"newLiteral",name:"newLiteral",pkg:"regexp/syntax",typ:$funcType([$Int32,O],[CH],false)},{prop:"literal",name:"literal",pkg:"regexp/syntax",typ:$funcType([$Int32],[],false)},{prop:"op",name:"op",pkg:"regexp/syntax",typ:$funcType([BX],[CH],false)},{prop:"repeat",name:"repeat",pkg:"regexp/syntax",typ:$funcType([BX,$Int,$Int,$String,$String,$String],[$String,$error],false)},{prop:"concat",name:"concat",pkg:"regexp/syntax",typ:$funcType([],[CH],false)},{prop:"alternate",name:"alternate",pkg:"regexp/syntax",typ:$funcType([],[CH],false)},{prop:"collapse",name:"collapse",pkg:"regexp/syntax",typ:$funcType([CI,BX],[CH],false)},{prop:"factor",name:"factor",pkg:"regexp/syntax",typ:$funcType([CI],[CI],false)},{prop:"leadingString",name:"leadingString",pkg:"regexp/syntax",typ:$funcType([CH],[CB,O],false)},{prop:"removeLeadingString",name:"removeLeadingString",pkg:"regexp/syntax",typ:$funcType([CH,$Int],[CH],false)},{prop:"leadingRegexp",name:"leadingRegexp",pkg:"regexp/syntax",typ:$funcType([CH],[CH],false)},{prop:"removeLeadingRegexp",name:"removeLeadingRegexp",pkg:"regexp/syntax",typ:$funcType([CH,$Bool],[CH],false)},{prop:"parseRepeat",name:"parseRepeat",pkg:"regexp/syntax",typ:$funcType([$String],[$Int,$Int,$String,$Bool],false)},{prop:"parsePerlFlags",name:"parsePerlFlags",pkg:"regexp/syntax",typ:$funcType([$String],[$String,$error],false)},{prop:"parseInt",name:"parseInt",pkg:"regexp/syntax",typ:$funcType([$String],[$Int,$String,$Bool],false)},{prop:"parseVerticalBar",name:"parseVerticalBar",pkg:"regexp/syntax",typ:$funcType([],[$error],false)},{prop:"swapVerticalBar",name:"swapVerticalBar",pkg:"regexp/syntax",typ:$funcType([],[$Bool],false)},{prop:"parseRightParen",name:"parseRightParen",pkg:"regexp/syntax",typ:$funcType([],[$error],false)},{prop:"parseEscape",name:"parseEscape",pkg:"regexp/syntax",typ:$funcType([$String],[$Int32,$String,$error],false)},{prop:"parseClassChar",name:"parseClassChar",pkg:"regexp/syntax",typ:$funcType([$String,$String],[$Int32,$String,$error],false)},{prop:"parsePerlClassEscape",name:"parsePerlClassEscape",pkg:"regexp/syntax",typ:$funcType([$String,CB],[CB,$String],false)},{prop:"parseNamedClass",name:"parseNamedClass",pkg:"regexp/syntax",typ:$funcType([$String,CB],[CB,$String,$error],false)},{prop:"appendGroup",name:"appendGroup",pkg:"regexp/syntax",typ:$funcType([CB,Z],[CB],false)},{prop:"parseUnicodeClass",name:"parseUnicodeClass",pkg:"regexp/syntax",typ:$funcType([$String,CB],[CB,$String,$error],false)},{prop:"parseClass",name:"parseClass",pkg:"regexp/syntax",typ:$funcType([$String],[$String,$error],false)}];AM.methods=[{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];CF.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"skipNop",name:"skipNop",pkg:"regexp/syntax",typ:$funcType([$Uint32],[CS,$Uint32],false)},{prop:"Prefix",name:"Prefix",pkg:"",typ:$funcType([],[$String,$Bool],false)},{prop:"StartCond",name:"StartCond",pkg:"",typ:$funcType([],[BN],false)}];BL.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CS.methods=[{prop:"op",name:"op",pkg:"regexp/syntax",typ:$funcType([],[BL],false)},{prop:"MatchRune",name:"MatchRune",pkg:"",typ:$funcType([$Int32],[$Bool],false)},{prop:"MatchRunePos",name:"MatchRunePos",pkg:"",typ:$funcType([$Int32],[$Int],false)},{prop:"MatchEmptyWidth",name:"MatchEmptyWidth",pkg:"",typ:$funcType([$Int32,$Int32],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CH.methods=[{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([CH],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"MaxCap",name:"MaxCap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"CapNames",name:"CapNames",pkg:"",typ:$funcType([],[CE],false)},{prop:"capNames",name:"capNames",pkg:"regexp/syntax",typ:$funcType([CE],[],false)},{prop:"Simplify",name:"Simplify",pkg:"",typ:$funcType([],[CH],false)}];H.init("regexp/syntax",[{prop:"i",name:"i",anonymous:false,exported:false,typ:$Uint32,tag:""},{prop:"out",name:"out",anonymous:false,exported:false,typ:G,tag:""}]);I.init("regexp/syntax",[{prop:"p",name:"p",anonymous:false,exported:false,typ:CF,tag:""}]);M.init("",[{prop:"Code",name:"Code",anonymous:false,exported:true,typ:N,tag:""},{prop:"Expr",name:"Expr",anonymous:false,exported:true,typ:$String,tag:""}]);P.init("regexp/syntax",[{prop:"flags",name:"flags",anonymous:false,exported:false,typ:O,tag:""},{prop:"stack",name:"stack",anonymous:false,exported:false,typ:CI,tag:""},{prop:"free",name:"free",anonymous:false,exported:false,typ:CH,tag:""},{prop:"numCap",name:"numCap",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"wholeRegexp",name:"wholeRegexp",anonymous:false,exported:false,typ:$String,tag:""},{prop:"tmpClass",name:"tmpClass",anonymous:false,exported:false,typ:CB,tag:""}]);Z.init("regexp/syntax",[{prop:"sign",name:"sign",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"class$1",name:"class",anonymous:false,exported:false,typ:CB,tag:""}]);AM.init("regexp/syntax",[{prop:"p",name:"p",anonymous:false,exported:false,typ:CL,tag:""}]);BK.init("",[{prop:"Inst",name:"Inst",anonymous:false,exported:true,typ:CG,tag:""},{prop:"Start",name:"Start",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"NumCap",name:"NumCap",anonymous:false,exported:true,typ:$Int,tag:""}]);BQ.init("",[{prop:"Op",name:"Op",anonymous:false,exported:true,typ:BL,tag:""},{prop:"Out",name:"Out",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Arg",name:"Arg",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Rune",name:"Rune",anonymous:false,exported:true,typ:CB,tag:""}]);BW.init("",[{prop:"Op",name:"Op",anonymous:false,exported:true,typ:BX,tag:""},{prop:"Flags",name:"Flags",anonymous:false,exported:true,typ:O,tag:""},{prop:"Sub",name:"Sub",anonymous:false,exported:true,typ:CI,tag:""},{prop:"Sub0",name:"Sub0",anonymous:false,exported:true,typ:CJ,tag:""},{prop:"Rune",name:"Rune",anonymous:false,exported:true,typ:CB,tag:""},{prop:"Rune0",name:"Rune0",anonymous:false,exported:true,typ:CK,tag:""},{prop:"Min",name:"Min",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Max",name:"Max",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Cap",name:"Cap",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}K=new CB([0,9,11,1114111]);L=new CB([0,1114111]);AA=new A.RangeTable.ptr(new CC([new A.Range16.ptr(0,65535,1)]),new CD([new A.Range32.ptr(65536,1114111,1)]),0);AR=new CB([48,57]);AS=new CB([9,10,12,13,32,32]);AT=new CB([48,57,65,90,95,95,97,122]);AU=$makeMap($String.keyFor,[{k:"\\d",v:new Z.ptr(1,AR)},{k:"\\D",v:new Z.ptr(-1,AR)},{k:"\\s",v:new Z.ptr(1,AS)},{k:"\\S",v:new Z.ptr(-1,AS)},{k:"\\w",v:new Z.ptr(1,AT)},{k:"\\W",v:new Z.ptr(-1,AT)}]);AV=new CB([48,57,65,90,97,122]);AW=new CB([65,90,97,122]);AX=new CB([0,127]);AY=new CB([9,9,32,32]);AZ=new CB([0,31,127,127]);BA=new CB([48,57]);BB=new CB([33,126]);BC=new CB([97,122]);BD=new CB([32,126]);BE=new CB([33,47,58,64,91,96,123,126]);BF=new CB([9,13,32,32]);BG=new CB([65,90]);BH=new CB([48,57,65,90,95,95,97,122]);BI=new CB([48,57,65,70,97,102]);BJ=$makeMap($String.keyFor,[{k:"[:alnum:]",v:new Z.ptr(1,AV)},{k:"[:^alnum:]",v:new Z.ptr(-1,AV)},{k:"[:alpha:]",v:new Z.ptr(1,AW)},{k:"[:^alpha:]",v:new Z.ptr(-1,AW)},{k:"[:ascii:]",v:new Z.ptr(1,AX)},{k:"[:^ascii:]",v:new Z.ptr(-1,AX)},{k:"[:blank:]",v:new Z.ptr(1,AY)},{k:"[:^blank:]",v:new Z.ptr(-1,AY)},{k:"[:cntrl:]",v:new Z.ptr(1,AZ)},{k:"[:^cntrl:]",v:new Z.ptr(-1,AZ)},{k:"[:digit:]",v:new Z.ptr(1,BA)},{k:"[:^digit:]",v:new Z.ptr(-1,BA)},{k:"[:graph:]",v:new Z.ptr(1,BB)},{k:"[:^graph:]",v:new Z.ptr(-1,BB)},{k:"[:lower:]",v:new Z.ptr(1,BC)},{k:"[:^lower:]",v:new Z.ptr(-1,BC)},{k:"[:print:]",v:new Z.ptr(1,BD)},{k:"[:^print:]",v:new Z.ptr(-1,BD)},{k:"[:punct:]",v:new Z.ptr(1,BE)},{k:"[:^punct:]",v:new Z.ptr(-1,BE)},{k:"[:space:]",v:new Z.ptr(1,BF)},{k:"[:^space:]",v:new Z.ptr(-1,BF)},{k:"[:upper:]",v:new Z.ptr(1,BG)},{k:"[:^upper:]",v:new Z.ptr(-1,BG)},{k:"[:word:]",v:new Z.ptr(1,BH)},{k:"[:^word:]",v:new Z.ptr(-1,BH)},{k:"[:xdigit:]",v:new Z.ptr(1,BI)},{k:"[:^xdigit:]",v:new Z.ptr(-1,BI)}]);BM=new CE(["InstAlt","InstAltMatch","InstCapture","InstEmptyWidth","InstMatch","InstFail","InstNop","InstRune","InstRune1","InstRuneAny","InstRuneAnyNotNL"]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["regexp"]=(function(){var $pkg={},$init,C,H,B,A,D,F,G,E,I,J,K,P,Q,R,S,V,W,AA,AH,AN,AO,AV,AW,AX,AY,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,L,U,AC,AD,AI,AJ,AL,BC,M,N,O,T,X,Y,Z,AB,AE,AF,AG,AK,AM,AP,AR,AS,AU,BA,BE,BG;C=$packages["bytes"];H=$packages["github.com/gopherjs/gopherjs/nosync"];B=$packages["io"];A=$packages["regexp/syntax"];D=$packages["sort"];F=$packages["strconv"];G=$packages["strings"];E=$packages["unicode"];I=$packages["unicode/utf8"];J=$pkg.job=$newType(0,$kindStruct,"regexp.job",true,"regexp",false,function(pc_,arg_,pos_){this.$val=this;if(arguments.length===0){this.pc=0;this.arg=0;this.pos=0;return;}this.pc=pc_;this.arg=arg_;this.pos=pos_;});K=$pkg.bitState=$newType(0,$kindStruct,"regexp.bitState",true,"regexp",false,function(prog_,end_,cap_,jobs_,visited_){this.$val=this;if(arguments.length===0){this.prog=BN.nil;this.end=0;this.cap=BO.nil;this.jobs=BP.nil;this.visited=BL.nil;return;}this.prog=prog_;this.end=end_;this.cap=cap_;this.jobs=jobs_;this.visited=visited_;});P=$pkg.queue=$newType(0,$kindStruct,"regexp.queue",true,"regexp",false,function(sparse_,dense_){this.$val=this;if(arguments.length===0){this.sparse=BL.nil;this.dense=BR.nil;return;}this.sparse=sparse_;this.dense=dense_;});Q=$pkg.entry=$newType(0,$kindStruct,"regexp.entry",true,"regexp",false,function(pc_,t_){this.$val=this;if(arguments.length===0){this.pc=0;this.t=BS.nil;return;}this.pc=pc_;this.t=t_;});R=$pkg.thread=$newType(0,$kindStruct,"regexp.thread",true,"regexp",false,function(inst_,cap_){this.$val=this;if(arguments.length===0){this.inst=BV.nil;this.cap=BO.nil;return;}this.inst=inst_;this.cap=cap_;});S=$pkg.machine=$newType(0,$kindStruct,"regexp.machine",true,"regexp",false,function(re_,p_,op_,maxBitStateLen_,b_,q0_,q1_,pool_,matched_,matchcap_,inputBytes_,inputString_,inputReader_){this.$val=this;if(arguments.length===0){this.re=BQ.nil;this.p=BN.nil;this.op=BM.nil;this.maxBitStateLen=0;this.b=BJ.nil;this.q0=new P.ptr(BL.nil,BR.nil);this.q1=new P.ptr(BL.nil,BR.nil);this.pool=BT.nil;this.matched=false;this.matchcap=BO.nil;this.inputBytes=new AX.ptr(BU.nil);this.inputString=new AW.ptr("");this.inputReader=new AY.ptr($ifaceNil,false,0);return;}this.re=re_;this.p=p_;this.op=op_;this.maxBitStateLen=maxBitStateLen_;this.b=b_;this.q0=q0_;this.q1=q1_;this.pool=pool_;this.matched=matched_;this.matchcap=matchcap_;this.inputBytes=inputBytes_;this.inputString=inputString_;this.inputReader=inputReader_;});V=$pkg.onePassProg=$newType(0,$kindStruct,"regexp.onePassProg",true,"regexp",false,function(Inst_,Start_,NumCap_){this.$val=this;if(arguments.length===0){this.Inst=BZ.nil;this.Start=0;this.NumCap=0;return;}this.Inst=Inst_;this.Start=Start_;this.NumCap=NumCap_;});W=$pkg.onePassInst=$newType(0,$kindStruct,"regexp.onePassInst",true,"regexp",false,function(Inst_,Next_){this.$val=this;if(arguments.length===0){this.Inst=new A.Inst.ptr(0,0,0,BK.nil);this.Next=BL.nil;return;}this.Inst=Inst_;this.Next=Next_;});AA=$pkg.queueOnePass=$newType(0,$kindStruct,"regexp.queueOnePass",true,"regexp",false,function(sparse_,dense_,size_,nextIndex_){this.$val=this;if(arguments.length===0){this.sparse=BL.nil;this.dense=BL.nil;this.size=0;this.nextIndex=0;return;}this.sparse=sparse_;this.dense=dense_;this.size=size_;this.nextIndex=nextIndex_;});AH=$pkg.runeSlice=$newType(12,$kindSlice,"regexp.runeSlice",true,"regexp",false,null);AN=$pkg.Regexp=$newType(0,$kindStruct,"regexp.Regexp",true,"regexp",true,function(regexpRO_,mu_,machine_){this.$val=this;if(arguments.length===0){this.regexpRO=new AO.ptr("",BN.nil,BM.nil,"",BU.nil,false,0,0,0,0,CE.nil,false);this.mu=new H.Mutex.ptr(false);this.machine=CG.nil;return;}this.regexpRO=regexpRO_;this.mu=mu_;this.machine=machine_;});AO=$pkg.regexpRO=$newType(0,$kindStruct,"regexp.regexpRO",true,"regexp",false,function(expr_,prog_,onepass_,prefix_,prefixBytes_,prefixComplete_,prefixRune_,prefixEnd_,cond_,numSubexp_,subexpNames_,longest_){this.$val=this;if(arguments.length===0){this.expr="";this.prog=BN.nil;this.onepass=BM.nil;this.prefix="";this.prefixBytes=BU.nil;this.prefixComplete=false;this.prefixRune=0;this.prefixEnd=0;this.cond=0;this.numSubexp=0;this.subexpNames=CE.nil;this.longest=false;return;}this.expr=expr_;this.prog=prog_;this.onepass=onepass_;this.prefix=prefix_;this.prefixBytes=prefixBytes_;this.prefixComplete=prefixComplete_;this.prefixRune=prefixRune_;this.prefixEnd=prefixEnd_;this.cond=cond_;this.numSubexp=numSubexp_;this.subexpNames=subexpNames_;this.longest=longest_;});AV=$pkg.input=$newType(8,$kindInterface,"regexp.input",true,"regexp",false,null);AW=$pkg.inputString=$newType(0,$kindStruct,"regexp.inputString",true,"regexp",false,function(str_){this.$val=this;if(arguments.length===0){this.str="";return;}this.str=str_;});AX=$pkg.inputBytes=$newType(0,$kindStruct,"regexp.inputBytes",true,"regexp",false,function(str_){this.$val=this;if(arguments.length===0){this.str=BU.nil;return;}this.str=str_;});AY=$pkg.inputReader=$newType(0,$kindStruct,"regexp.inputReader",true,"regexp",false,function(r_,atEOT_,pos_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.atEOT=false;this.pos=0;return;}this.r=r_;this.atEOT=atEOT_;this.pos=pos_;});BH=$arrayType($Int,0);BI=$arrayType($Uint8,16);BJ=$ptrType(K);BK=$sliceType($Int32);BL=$sliceType($Uint32);BM=$ptrType(V);BN=$ptrType(A.Prog);BO=$sliceType($Int);BP=$sliceType(J);BQ=$ptrType(AN);BR=$sliceType(Q);BS=$ptrType(R);BT=$sliceType(BS);BU=$sliceType($Uint8);BV=$ptrType(A.Inst);BW=$ptrType($Int);BX=$arrayType($Uint8,64);BY=$ptrType(AA);BZ=$sliceType(W);CA=$ptrType($Uint32);CB=$sliceType(BK);CC=$ptrType(BK);CD=$sliceType($Bool);CE=$sliceType($String);CF=$ptrType(S);CG=$sliceType(CF);CH=$arrayType($Int,2);CI=$arrayType($Int,4);CJ=$sliceType(BU);CK=$sliceType(BO);CL=$sliceType(CJ);CM=$sliceType(CE);CN=$ptrType(P);CO=$funcType([$String],[$String],false);CP=$funcType([BU,BO],[BU],false);CQ=$funcType([BU],[BU],false);CR=$funcType([BO],[],false);CS=$ptrType(AW);CT=$ptrType(AX);CU=$ptrType(AY);M=function(a){var a,b;if(!O(a)){return 0;}return(b=262144/a.Inst.$length,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));};N=function(a){var a;if(!O(a)){return L;}return new K.ptr(a,0,BO.nil,BP.nil,BL.nil);};O=function(a){var a;return a.Inst.$length<=500;};K.ptr.prototype.reset=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m;c=this;c.end=a;if(c.jobs.$capacity===0){c.jobs=$makeSlice(BP,0,256);}else{c.jobs=$subslice(c.jobs,0,0);}e=(d=(((($imul(c.prog.Inst.$length,((a+1>>0))))+32>>0)-1>>0))/32,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));if(c.visited.$capacity<e){c.visited=$makeSlice(BL,e,8192);}else{c.visited=$subslice(c.visited,0,e);f=c.visited;g=0;while(true){if(!(g<f.$length)){break;}h=g;(i=c.visited,((h<0||h>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h]=0));g++;}}if(c.cap.$capacity<b){c.cap=$makeSlice(BO,b);}else{c.cap=$subslice(c.cap,0,b);}j=c.cap;k=0;while(true){if(!(k<j.$length)){break;}l=k;(m=c.cap,((l<0||l>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+l]=-1));k++;}};K.prototype.reset=function(a,b){return this.$val.reset(a,b);};K.ptr.prototype.shouldVisit=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m;c=this;d=(((($imul(((a>>0)),((c.end+1>>0))))+b>>0)>>>0));if(!(((((e=c.visited,f=(g=d/32,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero")),((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]))&(((h=(((d&31)>>>0)),h<32?(1<<h):0)>>>0)))>>>0)===0))){return false;}j=(i=d/32,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));(m=c.visited,((j<0||j>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+j]=(((k=c.visited,((j<0||j>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+j]))|(((l=(((d&31)>>>0)),l<32?(1<<l):0)>>>0)))>>>0)));return true;};K.prototype.shouldVisit=function(a,b){return this.$val.shouldVisit(a,b);};K.ptr.prototype.push=function(a,b,c){var a,b,c,d,e;d=this;if((e=d.prog.Inst,((a<0||a>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+a])).Op===5){return;}if((c===0)&&!d.shouldVisit(a,b)){return;}d.jobs=$append(d.jobs,new J.ptr(a,c,b));};K.prototype.push=function(a,b,c){return this.$val.push(a,b,c);};S.ptr.prototype.tryBacktrack=function(a,b,c,d){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.re.regexpRO.longest;e.matched=false;a.push(c,d,0);case 1:if(!(a.jobs.$length>0)){$s=2;continue;}g=a.jobs.$length-1>>0;i=(h=a.jobs,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g])).pc;k=(j=a.jobs,((g<0||g>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+g])).pos;m=(l=a.jobs,((g<0||g>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+g])).arg;a.jobs=$subslice(a.jobs,0,g);$s=3;continue;case 4:if(!a.shouldVisit(i,k)){$s=1;continue;}case 3:o=$clone((n=a.prog.Inst,((i<0||i>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+i])),A.Inst);p=o.Op;if(p===(5)){$s=6;continue;}if(p===(0)){$s=7;continue;}if(p===(1)){$s=8;continue;}if(p===(7)){$s=9;continue;}if(p===(8)){$s=10;continue;}if(p===(10)){$s=11;continue;}if(p===(9)){$s=12;continue;}if(p===(2)){$s=13;continue;}if(p===(3)){$s=14;continue;}if(p===(6)){$s=15;continue;}if(p===(4)){$s=16;continue;}$s=17;continue;case 6:$panic(new $String("unexpected InstFail"));$s=18;continue;case 7:q=m;if(q===(0)){$s=20;continue;}if(q===(1)){$s=21;continue;}$s=22;continue;case 20:a.push(i,k,1);i=o.Out;$s=4;continue;$s=22;continue;case 21:m=0;i=o.Arg;$s=4;continue;case 22:case 19:$panic(new $String("bad arg in InstAlt"));$s=18;continue;case 8:t=(r=a.prog.Inst,s=o.Out,((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s])).Op;if((t===(7))||(t===(8))||(t===(9))||(t===(10))){$s=24;continue;}$s=25;continue;case 24:a.push(o.Arg,k,0);i=o.Arg;k=a.end;$s=4;continue;case 25:case 23:a.push(o.Out,a.end,0);i=o.Out;$s=4;continue;$s=18;continue;case 9:v=b.step(k);$s=26;case 26:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];if(!o.MatchRune(w)){$s=27;continue;}$s=28;continue;case 27:$s=1;continue;case 28:k=k+(x)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 10:z=b.step(k);$s=29;case 29:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[0];ab=y[1];if(!((aa===(ac=o.Rune,(0>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+0]))))){$s=30;continue;}$s=31;continue;case 30:$s=1;continue;case 31:k=k+(ab)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 11:ae=b.step(k);$s=32;case 32:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;af=ad[0];ag=ad[1];if((af===10)||(af===-1)){$s=33;continue;}$s=34;continue;case 33:$s=1;continue;case 34:k=k+(ag)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 12:ai=b.step(k);$s=35;case 35:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;aj=ah[0];ak=ah[1];if(aj===-1){$s=36;continue;}$s=37;continue;case 36:$s=1;continue;case 37:k=k+(ak)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 13:al=m;if(al===(0)){$s=39;continue;}if(al===(1)){$s=40;continue;}$s=41;continue;case 39:if(0<=o.Arg&&o.Arg<((a.cap.$length>>>0))){a.push(i,(am=a.cap,an=o.Arg,((an<0||an>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+an])),1);(ao=a.cap,ap=o.Arg,((ap<0||ap>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ap]=k));}i=o.Out;$s=4;continue;$s=41;continue;case 40:(aq=a.cap,ar=o.Arg,((ar<0||ar>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+ar]=k));$s=1;continue;case 41:case 38:$panic(new $String("bad arg in InstCapture"));$s=18;continue;case 14:as=b.context(k);$s=44;case 44:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!((((((o.Arg<<24>>>24))&~as)<<24>>>24)===0))){$s=42;continue;}$s=43;continue;case 42:$s=1;continue;case 43:i=o.Out;$s=4;continue;$s=18;continue;case 15:i=o.Out;$s=4;continue;$s=18;continue;case 16:if(a.cap.$length===0){e.matched=true;$s=-1;return e.matched;}if(a.cap.$length>1){(at=a.cap,(1>=at.$length?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+1]=k));}if(!e.matched||(f&&k>0&&k>(au=e.matchcap,(1>=au.$length?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+1])))){$copySlice(e.matchcap,a.cap);}e.matched=true;if(!f){$s=-1;return e.matched;}if(k===a.end){$s=-1;return e.matched;}$s=1;continue;$s=18;continue;case 17:$panic(new $String("bad inst"));case 18:case 5:$s=1;continue;case 2:$s=-1;return e.matched;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.tryBacktrack};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.tryBacktrack=function(a,b,c,d){return this.$val.tryBacktrack(a,b,c,d);};S.ptr.prototype.backtrack=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=a.canCheckPrefix();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("backtrack called for a RuneReader"));case 2:g=e.re.regexpRO.cond;if(g===255){$s=-1;return false;}if(!((((g&4)>>>0)===0))&&!((b===0))){$s=-1;return false;}h=e.b;h.reset(c,d);e.matchcap=$subslice(e.matchcap,0,d);i=e.matchcap;j=0;while(true){if(!(j<i.$length)){break;}k=j;(l=e.matchcap,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k]=-1));j++;}if(!((((g&4)>>>0)===0))){$s=4;continue;}$s=5;continue;case 4:if(h.cap.$length>0){(m=h.cap,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]=b));}n=e.tryBacktrack(h,a,((e.p.Start>>>0)),b);$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return n;case 5:o=-1;case 7:if(!(b<=c&&!((o===0)))){$s=8;continue;}if(e.re.regexpRO.prefix.length>0){$s=9;continue;}$s=10;continue;case 9:p=a.index(e.re,b);$s=11;case 11:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(q<0){$s=-1;return false;}b=b+(q)>>0;case 10:if(h.cap.$length>0){(r=h.cap,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]=b));}s=e.tryBacktrack(h,a,((e.p.Start>>>0)),b);$s=14;case 14:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(s){$s=12;continue;}$s=13;continue;case 12:$s=-1;return true;case 13:u=a.step(b);$s=15;case 15:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;o=t[1];b=b+(o)>>0;$s=7;continue;case 8:$s=-1;return false;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.backtrack};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.backtrack=function(a,b,c,d){return this.$val.backtrack(a,b,c,d);};S.ptr.prototype.newInputBytes=function(a){var a,b;b=this;b.inputBytes.str=a;return b.inputBytes;};S.prototype.newInputBytes=function(a){return this.$val.newInputBytes(a);};S.ptr.prototype.newInputString=function(a){var a,b;b=this;b.inputString.str=a;return b.inputString;};S.prototype.newInputString=function(a){return this.$val.newInputString(a);};S.ptr.prototype.newInputReader=function(a){var a,b;b=this;b.inputReader.r=a;b.inputReader.atEOT=false;b.inputReader.pos=0;return b.inputReader;};S.prototype.newInputReader=function(a){return this.$val.newInputReader(a);};T=function(a,b){var a,b,c,d,e;c=new S.ptr(BQ.nil,a,b,0,BJ.nil,new P.ptr(BL.nil,BR.nil),new P.ptr(BL.nil,BR.nil),BT.nil,false,BO.nil,new AX.ptr(BU.nil),new AW.ptr(""),new AY.ptr($ifaceNil,false,0));d=c.p.Inst.$length;P.copy(c.q0,new P.ptr($makeSlice(BL,d),$makeSlice(BR,0,d)));P.copy(c.q1,new P.ptr($makeSlice(BL,d),$makeSlice(BR,0,d)));e=a.NumCap;if(e<2){e=2;}if(b===AL){c.maxBitStateLen=M(a);}c.matchcap=$makeSlice(BO,e);return c;};S.ptr.prototype.init=function(a){var a,b,c,d,e;b=this;c=b.pool;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);e.cap=$subslice(e.cap,0,a);d++;}b.matchcap=$subslice(b.matchcap,0,a);};S.prototype.init=function(a){return this.$val.init(a);};S.ptr.prototype.alloc=function(a){var a,b,c,d,e,f;b=this;c=BS.nil;d=b.pool.$length;if(d>0){c=(e=b.pool,f=d-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));b.pool=$subslice(b.pool,0,(d-1>>0));}else{c=new R.ptr(BV.nil,BO.nil);c.cap=$makeSlice(BO,b.matchcap.$length,b.matchcap.$capacity);}c.inst=a;return c;};S.prototype.alloc=function(a){return this.$val.alloc(a);};S.ptr.prototype.match=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.re.regexpRO.cond;if(d===255){$s=-1;return false;}c.matched=false;e=c.matchcap;f=0;while(true){if(!(f<e.$length)){break;}g=f;(h=c.matchcap,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g]=-1));f++;}i=c.q0;j=c.q1;k=i;l=j;m=-1;n=-1;o=m;p=n;q=0;r=0;s=q;t=r;v=a.step(b);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;o=u[0];s=u[1];if(!((o===-1))){$s=2;continue;}$s=3;continue;case 2:x=a.step(b+s>>0);$s=4;case 4:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;p=w[0];t=w[1];case 3:y=0;if(b===0){$s=5;continue;}$s=6;continue;case 5:y=A.EmptyOpContext(-1,o);$s=7;continue;case 6:z=a.context(b);$s=8;case 8:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;case 7:case 9:if(k.dense.$length===0){$s=11;continue;}$s=12;continue;case 11:if(!((((d&4)>>>0)===0))&&!((b===0))){$s=10;continue;}if(c.matched){$s=10;continue;}if(!(c.re.regexpRO.prefix.length>0&&!((p===c.re.regexpRO.prefixRune)))){aa=false;$s=15;continue s;}ab=a.canCheckPrefix();$s=16;case 16:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 15:if(aa){$s=13;continue;}$s=14;continue;case 13:ac=a.index(c.re,b);$s=17;case 17:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if(ad<0){$s=10;continue;}b=b+(ad)>>0;af=a.step(b);$s=18;case 18:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;o=ae[0];s=ae[1];ah=a.step(b+s>>0);$s=19;case 19:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;p=ag[0];t=ag[1];case 14:case 12:if(!c.matched){if(c.matchcap.$length>0){(ai=c.matchcap,(0>=ai.$length?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+0]=b));}c.add(k,((c.p.Start>>>0)),b,c.matchcap,y,BS.nil);}y=A.EmptyOpContext(o,p);c.step(k,l,b,b+s>>0,o,y);if(s===0){$s=10;continue;}if((c.matchcap.$length===0)&&c.matched){$s=10;continue;}b=b+(s)>>0;aj=p;ak=t;o=aj;s=ak;if(!((o===-1))){$s=20;continue;}$s=21;continue;case 20:am=a.step(b+s>>0);$s=22;case 22:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;p=al[0];t=al[1];case 21:an=l;ao=k;k=an;l=ao;$s=9;continue;case 10:c.clear(l);$s=-1;return c.matched;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.match};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.match=function(a,b){return this.$val.match(a,b);};S.ptr.prototype.clear=function(a){var a,b,c,d,e;b=this;c=a.dense;d=0;while(true){if(!(d<c.$length)){break;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),Q);if(!(e.t===BS.nil)){b.pool=$append(b.pool,e.t);}d++;}a.dense=$subslice(a.dense,0,0);};S.prototype.clear=function(a){return this.$val.clear(a);};S.ptr.prototype.step=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;g=this;h=g.re.regexpRO.longest;i=0;while(true){if(!(i<a.dense.$length)){break;}k=(j=a.dense,((i<0||i>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i]));l=k.t;if(l===BS.nil){i=i+(1)>>0;continue;}if(h&&g.matched&&l.cap.$length>0&&(m=g.matchcap,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))<(n=l.cap,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]))){g.pool=$append(g.pool,l);i=i+(1)>>0;continue;}o=l.inst;p=false;q=o.Op;if(q===(4)){if(l.cap.$length>0&&(!h||!g.matched||(r=g.matchcap,(1>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+1]))<c)){(s=l.cap,(1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1]=c));$copySlice(g.matchcap,l.cap);}if(!h){t=$subslice(a.dense,(i+1>>0));u=0;while(true){if(!(u<t.$length)){break;}v=$clone(((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),Q);if(!(v.t===BS.nil)){g.pool=$append(g.pool,v.t);}u++;}a.dense=$subslice(a.dense,0,0);}g.matched=true;}else if(q===(7)){p=o.MatchRune(e);}else if(q===(8)){p=e===(w=o.Rune,(0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0]));}else if(q===(9)){p=true;}else if(q===(10)){p=!((e===10));}else{$panic(new $String("bad inst"));}if(p){l=g.add(b,o.Out,d,l.cap,f,l);}if(!(l===BS.nil)){g.pool=$append(g.pool,l);}i=i+(1)>>0;}a.dense=$subslice(a.dense,0,0);};S.prototype.step=function(a,b,c,d,e,f){return this.$val.step(a,b,c,d,e,f);};S.ptr.prototype.add=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;g=this;if(b===0){return f;}i=(h=a.sparse,((b<0||b>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+b]));if(i<((a.dense.$length>>>0))&&((j=a.dense,((i<0||i>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i])).pc===b)){return f;}k=a.dense.$length;a.dense=$subslice(a.dense,0,(k+1>>0));m=(l=a.dense,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k]));m.t=BS.nil;m.pc=b;(n=a.sparse,((b<0||b>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+b]=((k>>>0))));p=(o=g.p.Inst,((b<0||b>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+b]));q=p.Op;if(q===(5)){}else if((q===(0))||(q===(1))){f=g.add(a,p.Out,c,d,e,f);f=g.add(a,p.Arg,c,d,e,f);}else if(q===(3)){if(((((p.Arg<<24>>>24))&~e)<<24>>>24)===0){f=g.add(a,p.Out,c,d,e,f);}}else if(q===(6)){f=g.add(a,p.Out,c,d,e,f);}else if(q===(2)){if(((p.Arg>>0))<d.$length){s=(r=p.Arg,((r<0||r>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+r]));(t=p.Arg,((t<0||t>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+t]=c));g.add(a,p.Out,c,d,e,BS.nil);(u=p.Arg,((u<0||u>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+u]=s));}else{f=g.add(a,p.Out,c,d,e,f);}}else if((q===(4))||(q===(7))||(q===(8))||(q===(9))||(q===(10))){if(f===BS.nil){f=g.alloc(p);}else{f.inst=p;}if(d.$length>0&&!((v=f.cap,$indexPtr(v.$array,v.$offset+0,BW))===$indexPtr(d.$array,d.$offset+0,BW))){$copySlice(f.cap,d);}m.t=f;f=BS.nil;}else{$panic(new $String("unhandled"));}return f;};S.prototype.add=function(a,b,c,d,e,f){return this.$val.add(a,b,c,d,e,f);};S.ptr.prototype.onepass=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;f=e.re.regexpRO.cond;if(f===255){$s=-1;return false;}e.matched=false;e.matchcap=$subslice(e.matchcap,0,c);g=e.matchcap;h=0;while(true){if(!(h<g.$length)){break;}i=h;(j=e.matchcap,((i<0||i>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i]=-1));h++;}k=-1;l=-1;m=k;n=l;o=0;p=0;q=o;r=p;t=a.step(b);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;m=s[0];q=s[1];if(!((m===-1))){$s=2;continue;}$s=3;continue;case 2:v=a.step(b+q>>0);$s=4;case 4:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;n=u[0];r=u[1];case 3:w=0;if(b===0){$s=5;continue;}$s=6;continue;case 5:w=A.EmptyOpContext(-1,m);$s=7;continue;case 6:x=a.context(b);$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;case 7:y=e.op.Start;d[0]=$clone((z=e.op.Inst,((y<0||y>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+y])),W);if(!((b===0)&&(((((d[0].Inst.Arg<<24>>>24))&~w)<<24>>>24)===0)&&e.re.regexpRO.prefix.length>0)){aa=false;$s=11;continue s;}ab=a.canCheckPrefix();$s=12;case 12:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 11:if(aa){$s=9;continue;}$s=10;continue;case 9:ac=a.hasPrefix(e.re);$s=16;case 16:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}if(ac){$s=13;continue;}$s=14;continue;case 13:b=b+(e.re.regexpRO.prefix.length)>>0;ae=a.step(b);$s=17;case 17:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;m=ad[0];q=ad[1];ag=a.step(b+q>>0);$s=18;case 18:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;n=af[0];r=af[1];ah=a.context(b);$s=19;case 19:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}w=ah;y=((e.re.regexpRO.prefixEnd>>0));$s=15;continue;case 14:$s=-1;return e.matched;case 15:case 10:case 20:W.copy(d[0],(ai=e.op.Inst,((y<0||y>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+y])));y=((d[0].Inst.Out>>0));aj=d[0].Inst.Op;if(aj===(4)){$s=23;continue;}if(aj===(7)){$s=24;continue;}if(aj===(8)){$s=25;continue;}if(aj===(9)){$s=26;continue;}if(aj===(10)){$s=27;continue;}if((aj===(0))||(aj===(1))){$s=28;continue;}if(aj===(5)){$s=29;continue;}if(aj===(6)){$s=30;continue;}if(aj===(3)){$s=31;continue;}if(aj===(2)){$s=32;continue;}$s=33;continue;case 23:e.matched=true;if(e.matchcap.$length>0){(ak=e.matchcap,(0>=ak.$length?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+0]=0));(al=e.matchcap,(1>=al.$length?($throwRuntimeError("index out of range"),undefined):al.$array[al.$offset+1]=b));}$s=-1;return e.matched;case 24:if(!d[0].Inst.MatchRune(m)){$s=-1;return e.matched;}$s=34;continue;case 25:if(!((m===(am=d[0].Inst.Rune,(0>=am.$length?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+0]))))){$s=-1;return e.matched;}$s=34;continue;case 26:$s=34;continue;case 27:if(m===10){$s=-1;return e.matched;}$s=34;continue;case 28:y=((Y(d[0],m)>>0));$s=20;continue;$s=34;continue;case 29:$s=-1;return e.matched;case 30:$s=20;continue;$s=34;continue;case 31:if(!((((((d[0].Inst.Arg<<24>>>24))&~w)<<24>>>24)===0))){$s=-1;return e.matched;}$s=20;continue;$s=34;continue;case 32:if(((d[0].Inst.Arg>>0))<e.matchcap.$length){(an=e.matchcap,ao=d[0].Inst.Arg,((ao<0||ao>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+ao]=b));}$s=20;continue;$s=34;continue;case 33:$panic(new $String("bad inst"));case 34:case 22:if(q===0){$s=21;continue;}w=A.EmptyOpContext(m,n);b=b+(q)>>0;ap=n;aq=r;m=ap;q=aq;if(!((m===-1))){$s=35;continue;}$s=36;continue;case 35:as=a.step(b+q>>0);$s=37;case 37:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;n=ar[0];r=ar[1];case 36:$s=20;continue;case 21:$s=-1;return e.matched;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.onepass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.onepass=function(a,b,c){return this.$val.onepass(a,b,c);};AN.ptr.prototype.doMatch=function(a,b,c){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.doExecute(a,b,c,0,0,BO.nil);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return!(e===BO.nil);}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.doMatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.doMatch=function(a,b,c){return this.$val.doMatch(a,b,c);};AN.ptr.prototype.doExecute=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;h=g.get();i=$ifaceNil;j=0;if(!($interfaceIsEqual(a,$ifaceNil))){i=h.newInputReader(a);}else if(!(b===BU.nil)){i=h.newInputBytes(b);j=b.$length;}else{i=h.newInputString(c);j=c.length;}if(!(h.op===AL)){$s=1;continue;}if(j<h.maxBitStateLen&&$interfaceIsEqual(a,$ifaceNil)){$s=2;continue;}$s=3;continue;case 1:k=h.onepass(i,d,e);$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!k){$s=5;continue;}$s=6;continue;case 5:g.put(h);$s=-1;return BO.nil;case 6:$s=4;continue;case 2:if(h.b===BJ.nil){h.b=N(h.p);}l=h.backtrack(i,d,j,e);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!l){$s=8;continue;}$s=9;continue;case 8:g.put(h);$s=-1;return BO.nil;case 9:$s=4;continue;case 3:h.init(e);m=h.match(i,d);$s=13;case 13:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=11;continue;}$s=12;continue;case 11:g.put(h);$s=-1;return BO.nil;case 12:case 4:f=$appendSlice(f,h.matchcap);if(f===BO.nil){f=$subslice(new BO(U),0,0);}g.put(h);$s=-1;return f;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.doExecute};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.doExecute=function(a,b,c,d,e,f){return this.$val.doExecute(a,b,c,d,e,f);};X=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b="";c=false;d=0;g=(e=a.Inst,f=a.Start,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(!((g.Op===3))||((((((g.Arg<<24>>>24)))&4)>>>0)===0)){h="";i=g.Op===4;j=((a.Start>>>0));b=h;c=i;d=j;return[b,c,d];}d=g.Out;g=(k=a.Inst,((d<0||d>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+d]));while(true){if(!(g.Op===6)){break;}d=g.Out;g=(l=a.Inst,((d<0||d>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+d]));}if(!((Z(g)===7))||!((g.Rune.$length===1))){m="";n=g.Op===4;o=((a.Start>>>0));b=m;c=n;d=o;return[b,c,d];}p=new C.Buffer.ptr(BU.nil,0,0,BX.zero());while(true){if(!((Z(g)===7)&&(g.Rune.$length===1)&&(((((g.Arg<<16>>>16))&1)>>>0)===0))){break;}p.WriteRune((q=g.Rune,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])));r=g.Out;s=(t=a.Inst,u=g.Out,((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]));d=r;g=s;}if((g.Op===3)&&!((((((g.Arg<<24>>>24))&8)>>>0)===0))&&((v=a.Inst,w=g.Out,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w])).Op===4)){c=true;}x=p.String();y=c;z=d;b=x;c=y;d=z;return[b,c,d];};Y=function(a,b){var a,b,c,d;c=a.Inst.MatchRunePos(b);if(c>=0){return(d=a.Next,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));}if(a.Inst.Op===1){return a.Inst.Out;}return 0;};Z=function(a){var a,b,c;b=a.Op;c=b;if((c===(8))||(c===(9))||(c===(10))){b=7;}return b;};AA.ptr.prototype.empty=function(){var a;a=this;return a.nextIndex>=a.size;};AA.prototype.empty=function(){return this.$val.empty();};AA.ptr.prototype.next=function(){var a,b,c,d;a=0;b=this;a=(c=b.dense,d=b.nextIndex,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));b.nextIndex=b.nextIndex+(1)>>>0;return a;};AA.prototype.next=function(){return this.$val.next();};AA.ptr.prototype.clear=function(){var a;a=this;a.size=0;a.nextIndex=0;};AA.prototype.clear=function(){return this.$val.clear();};AA.ptr.prototype.contains=function(a){var a,b,c,d,e,f;b=this;if(a>=((b.sparse.$length>>>0))){return false;}return(c=b.sparse,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]))<b.size&&((d=b.dense,e=(f=b.sparse,((a<0||a>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+a])),((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))===a);};AA.prototype.contains=function(a){return this.$val.contains(a);};AA.ptr.prototype.insert=function(a){var a,b;b=this;if(!b.contains(a)){b.insertNew(a);}};AA.prototype.insert=function(a){return this.$val.insert(a);};AA.ptr.prototype.insertNew=function(a){var a,b,c,d,e;b=this;if(a>=((b.sparse.$length>>>0))){return;}(c=b.sparse,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=b.size));(d=b.dense,e=b.size,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]=a));b.size=b.size+(1)>>>0;};AA.prototype.insertNew=function(a){return this.$val.insertNew(a);};AB=function(a){var a,b;b=BY.nil;b=new AA.ptr($makeSlice(BL,a),$makeSlice(BL,a),0,0);return b;};AE=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);e=[e];f=[f];g=[g];h=[h];i=[i];j=[j];k=a.$get().$length;l=b.$get().$length;if(!(((k&1)===0))||!(((l&1)===0))){$panic(new $String("mergeRuneSets odd length []rune"));}m=0;n=0;f[0]=m;j[0]=n;g[0]=$makeSlice(BK,0);h[0]=$makeSlice(BL,0);i[0]=true;$deferred.push([(function(e,f,g,h,i,j){return function(){if(!i[0]){g[0]=BK.nil;h[0]=BL.nil;}};})(e,f,g,h,i,j),[]]);e[0]=-1;o=(function(e,f,g,h,i,j){return function(o,p,q){var o,p,q,r,s,t,u,v,w;if(e[0]>0&&(r=p.$get(),s=o.$get(),((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]))<=((e[0]<0||e[0]>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+e[0]])){return false;}g[0]=$append(g[0],(t=p.$get(),u=o.$get(),((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u])),(v=p.$get(),w=o.$get()+1>>0,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w])));o.$set(o.$get()+(2)>>0);e[0]=e[0]+(2)>>0;h[0]=$append(h[0],q);return true;};})(e,f,g,h,i,j);case 1:if(!(f[0]<k||j[0]<l)){$s=2;continue;}if(j[0]>=l){$s=4;continue;}if(f[0]>=k){$s=5;continue;}if((p=b.$get(),((j[0]<0||j[0]>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+j[0]]))<(q=a.$get(),((f[0]<0||f[0]>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+f[0]]))){$s=6;continue;}$s=7;continue;case 4:r=o((f.$ptr||(f.$ptr=new BW(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))),a,c);$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}i[0]=r;$s=8;continue;case 5:s=o((j.$ptr||(j.$ptr=new BW(function(){return this.$target[0];},function($v){this.$target[0]=$v;},j))),b,d);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}i[0]=s;$s=8;continue;case 6:t=o((j.$ptr||(j.$ptr=new BW(function(){return this.$target[0];},function($v){this.$target[0]=$v;},j))),b,d);$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}i[0]=t;$s=8;continue;case 7:u=o((f.$ptr||(f.$ptr=new BW(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))),a,c);$s=12;case 12:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}i[0]=u;case 8:case 3:if(!i[0]){$s=-1;return[AC,AD];}$s=1;continue;case 2:$s=-1;return[g[0],h[0]];}return;}}catch(err){$err=err;$s=-1;return[BK.nil,BL.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AE};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AF=function(a,b){var a,b,c,d,e,f,g,h,i,j;c=b.Inst;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),A.Inst);g=f.Op;if((g===(0))||(g===(1))||(g===(7))){}else if((g===(2))||(g===(3))||(g===(6))||(g===(4))||(g===(5))){(h=a.Inst,((e<0||e>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+e])).Next=BL.nil;}else if((g===(8))||(g===(9))||(g===(10))){(i=a.Inst,((e<0||e>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+e])).Next=BL.nil;W.copy((j=a.Inst,((e<0||e>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+e])),new W.ptr($clone(f,A.Inst),BL.nil));}d++;}};AG=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=new V.ptr($makeSlice(BZ,a.Inst.$length),a.Start,a.NumCap);c=a.Inst;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),A.Inst);W.copy((g=b.Inst,((e<0||e>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+e])),new W.ptr($clone(f,A.Inst),BL.nil));d++;}h=b.Inst;i=0;while(true){if(!(i<h.$length)){break;}j=i;l=(k=b.Inst,((j<0||j>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+j])).Inst.Op;if((l===(0))||(l===(1))){o=(m=(n=b.Inst,((j<0||j>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+j])),(m.$ptr_Out||(m.$ptr_Out=new CA(function(){return this.$target.Inst.Out;},function($v){this.$target.Inst.Out=$v;},m))));r=(p=(q=b.Inst,((j<0||j>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+j])),(p.$ptr_Arg||(p.$ptr_Arg=new CA(function(){return this.$target.Inst.Arg;},function($v){this.$target.Inst.Arg=$v;},p))));u=$clone((s=b.Inst,t=r.$get(),((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t])),W);if(!((u.Inst.Op===0)||(u.Inst.Op===1))){v=o;w=r;r=v;o=w;W.copy(u,(x=b.Inst,y=r.$get(),((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y])));if(!((u.Inst.Op===0)||(u.Inst.Op===1))){i++;continue;}}ab=$clone((z=b.Inst,aa=o.$get(),((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa])),W);if((ab.Inst.Op===0)||(ab.Inst.Op===1)){i++;continue;}af=(ac=(ad=b.Inst,ae=r.$get(),((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae])),(ac.$ptr_Out||(ac.$ptr_Out=new CA(function(){return this.$target.Inst.Out;},function($v){this.$target.Inst.Out=$v;},ac))));aj=(ag=(ah=b.Inst,ai=r.$get(),((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai])),(ag.$ptr_Arg||(ag.$ptr_Arg=new CA(function(){return this.$target.Inst.Arg;},function($v){this.$target.Inst.Arg=$v;},ag))));ak=false;if(u.Inst.Out===((j>>>0))){ak=true;}else if(u.Inst.Arg===((j>>>0))){ak=true;al=aj;am=af;af=al;aj=am;}if(ak){af.$set(o.$get());}if(o.$get()===af.$get()){r.$set(aj.$get());}}else{i++;continue;}i++;}return b;};AH.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AH).prototype.Len=function(){return this.$get().Len();};AH.prototype.Less=function(a,b){var a,b,c;c=this;return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a])<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);};$ptrType(AH).prototype.Less=function(a,b){return this.$get().Less(a,b);};AH.prototype.Swap=function(a,b){var a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(AH).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};AK=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];e=[e];if(a[0].Inst.$length>=1000){$s=-1;return AL;}c[0]=AB(a[0].Inst.$length);e[0]=AB(a[0].Inst.$length);b[0]=$throwNilPointerError;d[0]=$makeSlice(CB,a[0].Inst.$length);b[0]=(function(a,b,c,d,e){return function $b(f,g){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=false;h=true;j=(i=a[0].Inst,((f<0||f>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+f]));if(e[0].contains(f)){$s=-1;return h;}e[0].insert(f);k=j.Inst.Op;if((k===(0))||(k===(1))){$s=2;continue;}if((k===(2))||(k===(6))){$s=3;continue;}if(k===(3)){$s=4;continue;}if((k===(4))||(k===(5))){$s=5;continue;}if(k===(7)){$s=6;continue;}if(k===(8)){$s=7;continue;}if(k===(9)){$s=8;continue;}if(k===(10)){$s=9;continue;}$s=10;continue;case 2:m=b[0](j.Inst.Out,g);$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!(m)){l=false;$s=11;continue s;}n=b[0](j.Inst.Arg,g);$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;case 11:h=l;p=(o=j.Inst.Out,((o<0||o>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+o]));r=(q=j.Inst.Arg,((q<0||q>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+q]));if(p&&r){h=false;$s=1;continue;}if(r){s=j.Inst.Arg;t=j.Inst.Out;j.Inst.Out=s;j.Inst.Arg=t;u=r;v=p;p=u;r=v;}if(p){((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=true);j.Inst.Op=1;}x=AE($indexPtr(d[0].$array,d[0].$offset+j.Inst.Out,CC),$indexPtr(d[0].$array,d[0].$offset+j.Inst.Arg,CC),j.Inst.Out,j.Inst.Arg);$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=w[0]);j.Next=w[1];if(j.Next.$length>0&&((y=j.Next,(0>=y.$length?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+0]))===4294967295)){h=false;$s=1;continue;}$s=10;continue;case 3:z=b[0](j.Inst.Out,g);$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}h=z;((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(aa=j.Inst.Out,((aa<0||aa>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+aa])));((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BK([]),(ab=j.Inst.Out,((ab<0||ab>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+ab]))));j.Next=$makeSlice(BL,((ac=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>0:$throwRuntimeError("integer divide by zero"))+1>>0));ad=j.Next;ae=0;while(true){if(!(ae<ad.$length)){break;}af=ae;(ag=j.Next,((af<0||af>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+af]=j.Inst.Out));ae++;}$s=10;continue;case 4:ah=b[0](j.Inst.Out,g);$s=16;case 16:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}h=ah;((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(ai=j.Inst.Out,((ai<0||ai>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ai])));((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BK([]),(aj=j.Inst.Out,((aj<0||aj>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+aj]))));j.Next=$makeSlice(BL,((ak=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>0:$throwRuntimeError("integer divide by zero"))+1>>0));al=j.Next;am=0;while(true){if(!(am<al.$length)){break;}an=am;(ao=j.Next,((an<0||an>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+an]=j.Inst.Out));am++;}$s=10;continue;case 5:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(j.Inst.Op===4));$s=10;continue;case 6:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);if(j.Inst.Rune.$length===0){((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=new BK([]));j.Next=new BL([j.Inst.Out]);$s=1;continue;}ap=$makeSlice(BK,0);if((j.Inst.Rune.$length===1)&&!((((((j.Inst.Arg<<16>>>16))&1)>>>0)===0))){$s=17;continue;}$s=18;continue;case 17:ar=(aq=j.Inst.Rune,(0>=aq.$length?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+0]));ap=$append(ap,ar,ar);as=E.SimpleFold(ar);while(true){if(!(!((as===ar)))){break;}ap=$append(ap,as,as);as=E.SimpleFold(as);}$r=D.Sort(($subslice(new AH(ap.$array),ap.$offset,ap.$offset+ap.$length)));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=19;continue;case 18:ap=$appendSlice(ap,j.Inst.Rune);case 19:((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=ap);j.Next=$makeSlice(BL,((at=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(at===at&&at!==1/0&&at!==-1/0)?at>>0:$throwRuntimeError("integer divide by zero"))+1>>0));au=j.Next;av=0;while(true){if(!(av<au.$length)){break;}aw=av;(ax=j.Next,((aw<0||aw>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+aw]=j.Inst.Out));av++;}j.Inst.Op=7;$s=10;continue;case 7:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);ay=new BK([]);if(!((((((j.Inst.Arg<<16>>>16))&1)>>>0)===0))){$s=21;continue;}$s=22;continue;case 21:ba=(az=j.Inst.Rune,(0>=az.$length?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+0]));ay=$append(ay,ba,ba);bb=E.SimpleFold(ba);while(true){if(!(!((bb===ba)))){break;}ay=$append(ay,bb,bb);bb=E.SimpleFold(bb);}$r=D.Sort(($subslice(new AH(ay.$array),ay.$offset,ay.$offset+ay.$length)));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=23;continue;case 22:ay=$append(ay,(bc=j.Inst.Rune,(0>=bc.$length?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+0])),(bd=j.Inst.Rune,(0>=bd.$length?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+0])));case 23:((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=ay);j.Next=$makeSlice(BL,((be=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(be===be&&be!==1/0&&be!==-1/0)?be>>0:$throwRuntimeError("integer divide by zero"))+1>>0));bf=j.Next;bg=0;while(true){if(!(bg<bf.$length)){break;}bh=bg;(bi=j.Next,((bh<0||bh>=bi.$length)?($throwRuntimeError("index out of range"),undefined):bi.$array[bi.$offset+bh]=j.Inst.Out));bg++;}j.Inst.Op=7;$s=10;continue;case 8:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BK([]),AJ));j.Next=new BL([j.Inst.Out]);$s=10;continue;case 9:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BK([]),AI));j.Next=$makeSlice(BL,((bj=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>0:$throwRuntimeError("integer divide by zero"))+1>>0));bk=j.Next;bl=0;while(true){if(!(bl<bk.$length)){break;}bm=bl;(bn=j.Next,((bm<0||bm>=bn.$length)?($throwRuntimeError("index out of range"),undefined):bn.$array[bn.$offset+bm]=j.Inst.Out));bl++;}case 10:case 1:$s=-1;return h;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c,d,e);c[0].clear();c[0].insert(((a[0].Start>>>0)));f=$makeSlice(CD,a[0].Inst.$length);case 1:if(!(!c[0].empty())){$s=2;continue;}e[0].clear();g=c[0].next();h=b[0](g,f);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!h){$s=3;continue;}$s=4;continue;case 3:a[0]=AL;$s=2;continue;case 4:$s=1;continue;case 2:if(!(a[0]===AL)){i=a[0].Inst;j=0;while(true){if(!(j<i.$length)){break;}k=j;(l=a[0].Inst,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k])).Inst.Rune=((k<0||k>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+k]);j++;}}$s=-1;return a[0];}return;}if($f===undefined){$f={$blk:AK};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AM=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BM.nil;if(a.Start===0){b=AL;$s=-1;return b;}if(!(((c=a.Inst,d=a.Start,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op===3))||!(((((((e=a.Inst,f=a.Start,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])).Arg<<24>>>24))&4)>>>0)===4))){b=AL;$s=-1;return b;}g=a.Inst;h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),A.Inst);l=(j=a.Inst,k=i.Out,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k])).Op;m=i.Op;if((m===(0))||(m===(1))){if((l===4)||((n=a.Inst,o=i.Arg,((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o])).Op===4)){b=AL;$s=-1;return b;}}else if(m===(3)){if(l===4){if(((((i.Arg<<24>>>24))&8)>>>0)===8){h++;$s=1;continue;}b=AL;$s=-1;return b;}}else if(l===4){b=AL;$s=-1;return b;}h++;$s=1;continue;case 2:b=AG(a);p=AK(b);$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}b=p;if(!(b===AL)){AF(b,a);}b=b;$s=-1;return b;}return;}if($f===undefined){$f={$blk:AM};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AN.ptr.prototype.String=function(){var a;a=this;return a.regexpRO.expr;};AN.prototype.String=function(){return this.$val.String();};AN.ptr.prototype.Copy=function(){var a;a=this;return new AN.ptr($clone(a.regexpRO,AO),new H.Mutex.ptr(false),CG.nil);};AN.prototype.Copy=function(){return this.$val.Copy();};AP=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=AR(a,212,false);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AP};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Compile=AP;AN.ptr.prototype.Longest=function(){var a;a=this;a.regexpRO.longest=true;};AN.prototype.Longest=function(){return this.$val.Longest();};AR=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=A.Parse(a,b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[BQ.nil,g];}h=f.MaxCap();i=f.CapNames();f=f.Simplify();j=A.Compile(f);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[BQ.nil,g];}l=AM(k);$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=new AN.ptr(new AO.ptr(a,k,l,"",BU.nil,false,0,0,k.StartCond(),h,i,c),new H.Mutex.ptr(false),CG.nil);if(m.regexpRO.onepass===AL){n=k.Prefix();m.regexpRO.prefix=n[0];m.regexpRO.prefixComplete=n[1];}else{o=X(k);m.regexpRO.prefix=o[0];m.regexpRO.prefixComplete=o[1];m.regexpRO.prefixEnd=o[2];}if(!(m.regexpRO.prefix==="")){m.regexpRO.prefixBytes=(new BU($stringToBytes(m.regexpRO.prefix)));p=I.DecodeRuneInString(m.regexpRO.prefix);m.regexpRO.prefixRune=p[0];}$s=-1;return[m,$ifaceNil];}return;}if($f===undefined){$f={$blk:AR};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AN.ptr.prototype.get=function(){var a,b,c,d,e,f;a=this;a.mu.Lock();b=a.machine.$length;if(b>0){e=(c=a.machine,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));a.machine=$subslice(a.machine,0,(b-1>>0));a.mu.Unlock();return e;}a.mu.Unlock();f=T(a.regexpRO.prog,a.regexpRO.onepass);f.re=a;return f;};AN.prototype.get=function(){return this.$val.get();};AN.ptr.prototype.put=function(a){var a,b;b=this;b.mu.Lock();b.machine=$append(b.machine,a);b.mu.Unlock();};AN.prototype.put=function(a){return this.$val.put(a);};AS=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AP(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:f=e.Error();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$panic(new $String("regexp: Compile("+AU(a)+"): "+f));case 3:$s=-1;return d;}return;}if($f===undefined){$f={$blk:AS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MustCompile=AS;AU=function(a){var a;if(F.CanBackquote(a)){return"`"+a+"`";}return F.Quote(a);};AN.ptr.prototype.NumSubexp=function(){var a;a=this;return a.regexpRO.numSubexp;};AN.prototype.NumSubexp=function(){return this.$val.NumSubexp();};AN.ptr.prototype.SubexpNames=function(){var a;a=this;return a.regexpRO.subexpNames;};AN.prototype.SubexpNames=function(){return this.$val.SubexpNames();};AW.ptr.prototype.step=function(a){var a,b,c;b=this;if(a<b.str.length){c=b.str.charCodeAt(a);if(c<128){return[((c>>0)),1];}return I.DecodeRuneInString($substring(b.str,a));}return[-1,0];};AW.prototype.step=function(a){return this.$val.step(a);};AW.ptr.prototype.canCheckPrefix=function(){var a;a=this;return true;};AW.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};AW.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return G.HasPrefix(b.str,a.regexpRO.prefix);};AW.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};AW.ptr.prototype.index=function(a,b){var a,b,c;c=this;return G.Index($substring(c.str,b),a.regexpRO.prefix);};AW.prototype.index=function(a,b){return this.$val.index(a,b);};AW.ptr.prototype.context=function(a){var a,b,c,d,e,f,g,h;b=this;c=-1;d=-1;e=c;f=d;if((((a-1>>0)>>>0))<((b.str.length>>>0))){e=((b.str.charCodeAt((a-1>>0))>>0));if(e>=128){g=I.DecodeLastRuneInString($substring(b.str,0,a));e=g[0];}}if(((a>>>0))<((b.str.length>>>0))){f=((b.str.charCodeAt(a)>>0));if(f>=128){h=I.DecodeRuneInString($substring(b.str,a));f=h[0];}}return A.EmptyOpContext(e,f);};AW.prototype.context=function(a){return this.$val.context(a);};AX.ptr.prototype.step=function(a){var a,b,c,d;b=this;if(a<b.str.$length){d=(c=b.str,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));if(d<128){return[((d>>0)),1];}return I.DecodeRune($subslice(b.str,a));}return[-1,0];};AX.prototype.step=function(a){return this.$val.step(a);};AX.ptr.prototype.canCheckPrefix=function(){var a;a=this;return true;};AX.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};AX.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return C.HasPrefix(b.str,a.regexpRO.prefixBytes);};AX.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};AX.ptr.prototype.index=function(a,b){var a,b,c;c=this;return C.Index($subslice(c.str,b),a.regexpRO.prefixBytes);};AX.prototype.index=function(a,b){return this.$val.index(a,b);};AX.ptr.prototype.context=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=this;c=-1;d=-1;e=c;f=d;if((((a-1>>0)>>>0))<((b.str.$length>>>0))){e=(((g=b.str,h=a-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))>>0));if(e>=128){i=I.DecodeLastRune($subslice(b.str,0,a));e=i[0];}}if(((a>>>0))<((b.str.$length>>>0))){f=(((j=b.str,((a<0||a>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+a]))>>0));if(f>=128){k=I.DecodeRune($subslice(b.str,a));f=k[0];}}return A.EmptyOpContext(e,f);};AX.prototype.context=function(a){return this.$val.context(a);};AY.ptr.prototype.step=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!b.atEOT&&!((a===b.pos))){$s=-1;return[-1,0];}d=b.r.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];if(!($interfaceIsEqual(g,$ifaceNil))){b.atEOT=true;$s=-1;return[-1,0];}b.pos=b.pos+(f)>>0;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:AY.ptr.prototype.step};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AY.prototype.step=function(a){return this.$val.step(a);};AY.ptr.prototype.canCheckPrefix=function(){var a;a=this;return false;};AY.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};AY.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return false;};AY.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};AY.ptr.prototype.index=function(a,b){var a,b,c;c=this;return-1;};AY.prototype.index=function(a,b){return this.$val.index(a,b);};AY.ptr.prototype.context=function(a){var a,b;b=this;return 0;};AY.prototype.context=function(a){return this.$val.context(a);};AN.ptr.prototype.LiteralPrefix=function(){var a,b,c,d,e;a="";b=false;c=this;d=c.regexpRO.prefix;e=c.regexpRO.prefixComplete;a=d;b=e;return[a,b];};AN.prototype.LiteralPrefix=function(){return this.$val.LiteralPrefix();};AN.ptr.prototype.MatchReader=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch(a,BU.nil,"");$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.MatchReader};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.MatchReader=function(a){return this.$val.MatchReader(a);};AN.ptr.prototype.MatchString=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch($ifaceNil,BU.nil,a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.MatchString};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.MatchString=function(a){return this.$val.MatchString(a);};AN.ptr.prototype.Match=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch($ifaceNil,a,"");$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Match};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Match=function(a){return this.$val.Match(a);};BA=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=false;d=$ifaceNil;f=AP(a);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];d=e[1];if(!($interfaceIsEqual(d,$ifaceNil))){h=false;i=d;c=h;d=i;$s=-1;return[c,d];}k=g.MatchString(b);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=$ifaceNil;c=j;d=l;$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:BA};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MatchString=BA;AN.ptr.prototype.ReplaceAllString=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];c[0]=this;d=2;if(G.Contains(b[0],"$")){d=$imul(2,((c[0].regexpRO.numSubexp+1>>0)));}e=c[0].replaceAll(BU.nil,a[0],d,(function(a,b,c){return function(e,f){var e,f;return c[0].expand(e,b[0],BU.nil,a[0],f);};})(a,b,c));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=-1;return($bytesToString(f));}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.ReplaceAllString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.ReplaceAllString=function(a,b){return this.$val.ReplaceAllString(a,b);};AN.ptr.prototype.ReplaceAllLiteralString=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;d=c.replaceAll(BU.nil,a,2,(function(b){return function(d,e){var d,e;return $appendSlice(d,b[0]);};})(b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return($bytesToString(d));}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.ReplaceAllLiteralString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.ReplaceAllLiteralString=function(a,b){return this.$val.ReplaceAllLiteralString(a,b);};AN.ptr.prototype.ReplaceAllStringFunc=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;d=c.replaceAll(BU.nil,a[0],2,(function(a,b){return function $b(d,e){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=d;g=b[0]($substring(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=-1;return $appendSlice(f,h);}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=-1;return($bytesToString(e));}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.ReplaceAllStringFunc};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.ReplaceAllStringFunc=function(a,b){return this.$val.ReplaceAllStringFunc(a,b);};AN.ptr.prototype.replaceAll=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=0;g=0;h=BU.nil;i=0;if(!(a===BU.nil)){i=a.$length;}else{i=b.length;}if(c>e.regexpRO.prog.NumCap){c=e.regexpRO.prog.NumCap;}j=CH.zero();case 1:if(!(g<=i)){$s=2;continue;}k=e.doExecute($ifaceNil,a,b,g,c,$subslice(new BO(j),0,0));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l.$length===0){$s=2;continue;}if(!(a===BU.nil)){h=$appendSlice(h,$subslice(a,f,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])));}else{h=$appendSlice(h,$substring(b,f,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])));}if((1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])>f||((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===0)){$s=4;continue;}$s=5;continue;case 4:m=d(h,l);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}h=m;case 5:f=(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]);n=0;if(!(a===BU.nil)){o=I.DecodeRune($subslice(a,g));n=o[1];}else{p=I.DecodeRuneInString($substring(b,g));n=p[1];}if((g+n>>0)>(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])){g=g+(n)>>0;}else if((g+1>>0)>(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])){g=g+(1)>>0;}else{g=(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]);}$s=1;continue;case 2:if(!(a===BU.nil)){h=$appendSlice(h,$subslice(a,f));}else{h=$appendSlice(h,$substring(b,f));}$s=-1;return h;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.replaceAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.replaceAll=function(a,b,c,d){return this.$val.replaceAll(a,b,c,d);};AN.ptr.prototype.ReplaceAll=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];c[0]=this;e=2;if(C.IndexByte(b[0],36)>=0){e=$imul(2,((c[0].regexpRO.numSubexp+1>>0)));}d[0]="";f=c[0].replaceAll(a[0],"",e,(function(a,b,c,d){return function(f,g){var f,g;if(!((d[0].length===b[0].$length))){d[0]=($bytesToString(b[0]));}return c[0].expand(f,d[0],a[0],"",g);};})(a,b,c,d));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=-1;return g;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.ReplaceAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.ReplaceAll=function(a,b){return this.$val.ReplaceAll(a,b);};AN.ptr.prototype.ReplaceAllLiteral=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;d=c.replaceAll(a,"",2,(function(b){return function(d,e){var d,e;return $appendSlice(d,b[0]);};})(b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.ReplaceAllLiteral};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.ReplaceAllLiteral=function(a,b){return this.$val.ReplaceAllLiteral(a,b);};AN.ptr.prototype.ReplaceAllFunc=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;d=c.replaceAll(a[0],"",2,(function(a,b){return function $b(d,e){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=d;g=b[0]($subslice(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=-1;return $appendSlice(f,h);}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.ReplaceAllFunc};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.ReplaceAllFunc=function(a,b){return this.$val.ReplaceAllFunc(a,b);};BE=function(){var a,b,c,d,e,f,g;a=(new BU($stringToBytes("\\.+*?()|[]{}^$")));b=0;while(true){if(!(b<a.$length)){break;}c=((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]);e=(d=c%16,d===d?d:$throwRuntimeError("integer divide by zero"));((e<0||e>=BC.length)?($throwRuntimeError("index out of range"),undefined):BC[e]=((((e<0||e>=BC.length)?($throwRuntimeError("index out of range"),undefined):BC[e])|(((f=((g=c/16,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"))),f<32?(1<<f):0)<<24>>>24)))>>>0));b++;}};AN.ptr.prototype.pad=function(a){var a,b,c;b=this;if(a===BO.nil){return BO.nil;}c=$imul(((1+b.regexpRO.numSubexp>>0)),2);while(true){if(!(a.$length<c)){break;}a=$append(a,-1);}return a;};AN.prototype.pad=function(a){return this.$val.pad(a);};AN.ptr.prototype.allMatches=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=0;if(b===BU.nil){f=a.length;}else{f=b.$length;}g=0;h=0;i=-1;j=g;k=h;l=i;case 1:if(!(k<c&&j<=f)){$s=2;continue;}m=e.doExecute($ifaceNil,b,a,j,e.regexpRO.prog.NumCap,BO.nil);$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;if(n.$length===0){$s=2;continue;}o=true;if((1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])===j){if((0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])===l){o=false;}p=0;if(b===BU.nil){q=I.DecodeRuneInString($substring(a,j,f));p=q[1];}else{r=I.DecodeRune($subslice(b,j,f));p=r[1];}if(p>0){j=j+(p)>>0;}else{j=f+1>>0;}}else{j=(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1]);}l=(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1]);if(o){$s=4;continue;}$s=5;continue;case 4:$r=d(e.pad(n));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=k+(1)>>0;case 5:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.allMatches};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.allMatches=function(a,b,c,d){return this.$val.allMatches(a,b,c,d);};AN.ptr.prototype.Find=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CH.zero();d=b.doExecute($ifaceNil,a,"",0,2,$subslice(new BO(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BO.nil){$s=-1;return BU.nil;}$s=-1;return $subslice(a,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]));}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Find};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Find=function(a){return this.$val.Find(a);};AN.ptr.prototype.FindIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BO.nil;c=this;d=c.doExecute($ifaceNil,a,"",0,2,BO.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BO.nil){b=BO.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindIndex=function(a){return this.$val.FindIndex(a);};AN.ptr.prototype.FindString=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CH.zero();d=b.doExecute($ifaceNil,BU.nil,a,0,2,$subslice(new BO(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BO.nil){$s=-1;return"";}$s=-1;return $substring(a,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]));}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindString=function(a){return this.$val.FindString(a);};AN.ptr.prototype.FindStringIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BO.nil;c=this;d=c.doExecute($ifaceNil,BU.nil,a,0,2,BO.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BO.nil){b=BO.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindStringIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindStringIndex=function(a){return this.$val.FindStringIndex(a);};AN.ptr.prototype.FindReaderIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BO.nil;c=this;d=c.doExecute(a,BU.nil,"",0,2,BO.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BO.nil){b=BO.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindReaderIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindReaderIndex=function(a){return this.$val.FindReaderIndex(a);};AN.ptr.prototype.FindSubmatch=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CI.zero();d=b.doExecute($ifaceNil,a,"",0,b.regexpRO.prog.NumCap,$subslice(new BO(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BO.nil){$s=-1;return CJ.nil;}f=$makeSlice(CJ,(1+b.regexpRO.numSubexp>>0));g=f;h=0;while(true){if(!(h<g.$length)){break;}i=h;if(($imul(2,i))<e.$length&&(j=$imul(2,i),((j<0||j>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))>=0){((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]=$subslice(a,(k=$imul(2,i),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k])),(l=($imul(2,i))+1>>0,((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l]))));}h++;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindSubmatch=function(a){return this.$val.FindSubmatch(a);};AN.ptr.prototype.Expand=function(a,b,c,d){var a,b,c,d,e;e=this;return e.expand(a,($bytesToString(b)),c,"",d);};AN.prototype.Expand=function(a,b,c,d){return this.$val.Expand(a,b,c,d);};AN.ptr.prototype.ExpandString=function(a,b,c,d){var a,b,c,d,e;e=this;return e.expand(a,b,BU.nil,c,d);};AN.prototype.ExpandString=function(a,b,c,d){return this.$val.ExpandString(a,b,c,d);};AN.ptr.prototype.expand=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=this;while(true){if(!(b.length>0)){break;}g=G.Index(b,"$");if(g<0){break;}a=$appendSlice(a,$substring(b,0,g));b=$substring(b,g);if(b.length>1&&(b.charCodeAt(1)===36)){a=$append(a,36);b=$substring(b,2);continue;}h=BG(b);i=h[0];j=h[1];k=h[2];l=h[3];if(!l){a=$append(a,36);b=$substring(b,1);continue;}b=k;if(j>=0){if((($imul(2,j))+1>>0)<e.$length&&(m=$imul(2,j),((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))>=0){if(!(c===BU.nil)){a=$appendSlice(a,$subslice(c,(n=$imul(2,j),((n<0||n>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+n])),(o=($imul(2,j))+1>>0,((o<0||o>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+o]))));}else{a=$appendSlice(a,$substring(d,(p=$imul(2,j),((p<0||p>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+p])),(q=($imul(2,j))+1>>0,((q<0||q>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+q]))));}}}else{r=f.regexpRO.subexpNames;s=0;while(true){if(!(s<r.$length)){break;}t=s;u=((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]);if(i===u&&(($imul(2,t))+1>>0)<e.$length&&(v=$imul(2,t),((v<0||v>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+v]))>=0){if(!(c===BU.nil)){a=$appendSlice(a,$subslice(c,(w=$imul(2,t),((w<0||w>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+w])),(x=($imul(2,t))+1>>0,((x<0||x>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+x]))));}else{a=$appendSlice(a,$substring(d,(y=$imul(2,t),((y<0||y>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+y])),(z=($imul(2,t))+1>>0,((z<0||z>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+z]))));}break;}s++;}}}a=$appendSlice(a,b);return a;};AN.prototype.expand=function(a,b,c,d,e){return this.$val.expand(a,b,c,d,e);};BG=function(a){var a,b,c,d,e,f,g,h,i,j,k;b="";c=0;d="";e=false;if(a.length<2||!((a.charCodeAt(0)===36))){return[b,c,d,e];}f=false;if(a.charCodeAt(1)===123){f=true;a=$substring(a,2);}else{a=$substring(a,1);}g=0;while(true){if(!(g<a.length)){break;}h=I.DecodeRuneInString($substring(a,g));i=h[0];j=h[1];if(!E.IsLetter(i)&&!E.IsDigit(i)&&!((i===95))){break;}g=g+(j)>>0;}if(g===0){return[b,c,d,e];}b=$substring(a,0,g);if(f){if(g>=a.length||!((a.charCodeAt(g)===125))){return[b,c,d,e];}g=g+(1)>>0;}c=0;k=0;while(true){if(!(k<b.length)){break;}if(b.charCodeAt(k)<48||57<b.charCodeAt(k)||c>=100000000){c=-1;break;}c=(($imul(c,10))+((b.charCodeAt(k)>>0))>>0)-48>>0;k=k+(1)>>0;}if((b.charCodeAt(0)===48)&&b.length>1){c=-1;}d=$substring(a,g);e=true;return[b,c,d,e];};AN.ptr.prototype.FindSubmatchIndex=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute($ifaceNil,a,"",0,b.regexpRO.prog.NumCap,BO.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindSubmatchIndex=function(a){return this.$val.FindSubmatchIndex(a);};AN.ptr.prototype.FindStringSubmatch=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CI.zero();d=b.doExecute($ifaceNil,BU.nil,a,0,b.regexpRO.prog.NumCap,$subslice(new BO(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BO.nil){$s=-1;return CE.nil;}f=$makeSlice(CE,(1+b.regexpRO.numSubexp>>0));g=f;h=0;while(true){if(!(h<g.$length)){break;}i=h;if(($imul(2,i))<e.$length&&(j=$imul(2,i),((j<0||j>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))>=0){((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]=$substring(a,(k=$imul(2,i),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k])),(l=($imul(2,i))+1>>0,((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l]))));}h++;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindStringSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindStringSubmatch=function(a){return this.$val.FindStringSubmatch(a);};AN.ptr.prototype.FindStringSubmatchIndex=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute($ifaceNil,BU.nil,a,0,b.regexpRO.prog.NumCap,BO.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindStringSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindStringSubmatchIndex=function(a){return this.$val.FindStringSubmatchIndex(a);};AN.ptr.prototype.FindReaderSubmatchIndex=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute(a,BU.nil,"",0,b.regexpRO.prog.NumCap,BO.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindReaderSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindReaderSubmatchIndex=function(a){return this.$val.FindReaderSubmatchIndex(a);};AN.ptr.prototype.FindAll=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].$length+1>>0;}c[0]=$makeSlice(CJ,0,10);$r=d.allMatches("",a[0],b,(function(a,c){return function(e){var e;c[0]=$append(c[0],$subslice(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CJ.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAll=function(a,b){return this.$val.FindAll(a,b);};AN.ptr.prototype.FindAllIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.$length+1>>0;}c[0]=$makeSlice(CK,0,10);$r=d.allMatches("",a,b,(function(c){return function(e){var e;c[0]=$append(c[0],$subslice(e,0,2));};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CK.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAllIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAllIndex=function(a,b){return this.$val.FindAllIndex(a,b);};AN.ptr.prototype.FindAllString=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].length+1>>0;}c[0]=$makeSlice(CE,0,10);$r=d.allMatches(a[0],BU.nil,b,(function(a,c){return function(e){var e;c[0]=$append(c[0],$substring(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CE.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAllString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAllString=function(a,b){return this.$val.FindAllString(a,b);};AN.ptr.prototype.FindAllStringIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.length+1>>0;}c[0]=$makeSlice(CK,0,10);$r=d.allMatches(a,BU.nil,b,(function(c){return function(e){var e;c[0]=$append(c[0],$subslice(e,0,2));};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CK.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAllStringIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAllStringIndex=function(a,b){return this.$val.FindAllStringIndex(a,b);};AN.ptr.prototype.FindAllSubmatch=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].$length+1>>0;}c[0]=$makeSlice(CL,0,10);$r=d.allMatches("",a[0],b,(function(a,c){return function(e){var e,f,g,h,i,j,k,l,m;g=$makeSlice(CJ,(f=e.$length/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero")));h=g;i=0;while(true){if(!(i<h.$length)){break;}j=i;if((k=$imul(2,j),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k]))>=0){((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=$subslice(a[0],(l=$imul(2,j),((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])),(m=($imul(2,j))+1>>0,((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))));}i++;}c[0]=$append(c[0],g);};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CL.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAllSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAllSubmatch=function(a,b){return this.$val.FindAllSubmatch(a,b);};AN.ptr.prototype.FindAllSubmatchIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.$length+1>>0;}c[0]=$makeSlice(CK,0,10);$r=d.allMatches("",a,b,(function(c){return function(e){var e;c[0]=$append(c[0],e);};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CK.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAllSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAllSubmatchIndex=function(a,b){return this.$val.FindAllSubmatchIndex(a,b);};AN.ptr.prototype.FindAllStringSubmatch=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].length+1>>0;}c[0]=$makeSlice(CM,0,10);$r=d.allMatches(a[0],BU.nil,b,(function(a,c){return function(e){var e,f,g,h,i,j,k,l,m;g=$makeSlice(CE,(f=e.$length/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero")));h=g;i=0;while(true){if(!(i<h.$length)){break;}j=i;if((k=$imul(2,j),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k]))>=0){((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=$substring(a[0],(l=$imul(2,j),((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])),(m=($imul(2,j))+1>>0,((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))));}i++;}c[0]=$append(c[0],g);};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CM.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAllStringSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAllStringSubmatch=function(a,b){return this.$val.FindAllStringSubmatch(a,b);};AN.ptr.prototype.FindAllStringSubmatchIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.length+1>>0;}c[0]=$makeSlice(CK,0,10);$r=d.allMatches(a,BU.nil,b,(function(c){return function(e){var e;c[0]=$append(c[0],e);};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].$length===0){$s=-1;return CK.nil;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.FindAllStringSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.FindAllStringSubmatchIndex=function(a,b){return this.$val.FindAllStringSubmatchIndex(a,b);};AN.ptr.prototype.Split=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b===0){$s=-1;return CE.nil;}if(c.regexpRO.expr.length>0&&(a.length===0)){$s=-1;return new CE([""]);}d=c.FindAllStringIndex(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=$makeSlice(CE,0,e.$length);g=0;h=0;i=e;j=0;while(true){if(!(j<i.$length)){break;}k=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(b>0&&f.$length>=(b-1>>0)){break;}h=(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]);if(!(((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])===0))){f=$append(f,$substring(a,g,h));}g=(1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1]);j++;}if(!((h===a.length))){f=$append(f,$substring(a,g));}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Split};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Split=function(a,b){return this.$val.Split(a,b);};BJ.methods=[{prop:"reset",name:"reset",pkg:"regexp",typ:$funcType([$Int,$Int],[],false)},{prop:"shouldVisit",name:"shouldVisit",pkg:"regexp",typ:$funcType([$Uint32,$Int],[$Bool],false)},{prop:"push",name:"push",pkg:"regexp",typ:$funcType([$Uint32,$Int,$Int],[],false)}];CF.methods=[{prop:"tryBacktrack",name:"tryBacktrack",pkg:"regexp",typ:$funcType([BJ,AV,$Uint32,$Int],[$Bool],false)},{prop:"backtrack",name:"backtrack",pkg:"regexp",typ:$funcType([AV,$Int,$Int,$Int],[$Bool],false)},{prop:"newInputBytes",name:"newInputBytes",pkg:"regexp",typ:$funcType([BU],[AV],false)},{prop:"newInputString",name:"newInputString",pkg:"regexp",typ:$funcType([$String],[AV],false)},{prop:"newInputReader",name:"newInputReader",pkg:"regexp",typ:$funcType([B.RuneReader],[AV],false)},{prop:"init",name:"init",pkg:"regexp",typ:$funcType([$Int],[],false)},{prop:"alloc",name:"alloc",pkg:"regexp",typ:$funcType([BV],[BS],false)},{prop:"match",name:"match",pkg:"regexp",typ:$funcType([AV,$Int],[$Bool],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([CN],[],false)},{prop:"step",name:"step",pkg:"regexp",typ:$funcType([CN,CN,$Int,$Int,$Int32,A.EmptyOp],[],false)},{prop:"add",name:"add",pkg:"regexp",typ:$funcType([CN,$Uint32,$Int,BO,A.EmptyOp,BS],[BS],false)},{prop:"onepass",name:"onepass",pkg:"regexp",typ:$funcType([AV,$Int,$Int],[$Bool],false)}];BY.methods=[{prop:"empty",name:"empty",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"next",name:"next",pkg:"regexp",typ:$funcType([],[$Uint32],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([],[],false)},{prop:"contains",name:"contains",pkg:"regexp",typ:$funcType([$Uint32],[$Bool],false)},{prop:"insert",name:"insert",pkg:"regexp",typ:$funcType([$Uint32],[],false)},{prop:"insertNew",name:"insertNew",pkg:"regexp",typ:$funcType([$Uint32],[],false)}];AH.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];BQ.methods=[{prop:"doMatch",name:"doMatch",pkg:"regexp",typ:$funcType([B.RuneReader,BU,$String],[$Bool],false)},{prop:"doExecute",name:"doExecute",pkg:"regexp",typ:$funcType([B.RuneReader,BU,$String,$Int,$Int,BO],[BO],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Copy",name:"Copy",pkg:"",typ:$funcType([],[BQ],false)},{prop:"Longest",name:"Longest",pkg:"",typ:$funcType([],[],false)},{prop:"get",name:"get",pkg:"regexp",typ:$funcType([],[CF],false)},{prop:"put",name:"put",pkg:"regexp",typ:$funcType([CF],[],false)},{prop:"NumSubexp",name:"NumSubexp",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SubexpNames",name:"SubexpNames",pkg:"",typ:$funcType([],[CE],false)},{prop:"LiteralPrefix",name:"LiteralPrefix",pkg:"",typ:$funcType([],[$String,$Bool],false)},{prop:"MatchReader",name:"MatchReader",pkg:"",typ:$funcType([B.RuneReader],[$Bool],false)},{prop:"MatchString",name:"MatchString",pkg:"",typ:$funcType([$String],[$Bool],false)},{prop:"Match",name:"Match",pkg:"",typ:$funcType([BU],[$Bool],false)},{prop:"ReplaceAllString",name:"ReplaceAllString",pkg:"",typ:$funcType([$String,$String],[$String],false)},{prop:"ReplaceAllLiteralString",name:"ReplaceAllLiteralString",pkg:"",typ:$funcType([$String,$String],[$String],false)},{prop:"ReplaceAllStringFunc",name:"ReplaceAllStringFunc",pkg:"",typ:$funcType([$String,CO],[$String],false)},{prop:"replaceAll",name:"replaceAll",pkg:"regexp",typ:$funcType([BU,$String,$Int,CP],[BU],false)},{prop:"ReplaceAll",name:"ReplaceAll",pkg:"",typ:$funcType([BU,BU],[BU],false)},{prop:"ReplaceAllLiteral",name:"ReplaceAllLiteral",pkg:"",typ:$funcType([BU,BU],[BU],false)},{prop:"ReplaceAllFunc",name:"ReplaceAllFunc",pkg:"",typ:$funcType([BU,CQ],[BU],false)},{prop:"pad",name:"pad",pkg:"regexp",typ:$funcType([BO],[BO],false)},{prop:"allMatches",name:"allMatches",pkg:"regexp",typ:$funcType([$String,BU,$Int,CR],[],false)},{prop:"Find",name:"Find",pkg:"",typ:$funcType([BU],[BU],false)},{prop:"FindIndex",name:"FindIndex",pkg:"",typ:$funcType([BU],[BO],false)},{prop:"FindString",name:"FindString",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"FindStringIndex",name:"FindStringIndex",pkg:"",typ:$funcType([$String],[BO],false)},{prop:"FindReaderIndex",name:"FindReaderIndex",pkg:"",typ:$funcType([B.RuneReader],[BO],false)},{prop:"FindSubmatch",name:"FindSubmatch",pkg:"",typ:$funcType([BU],[CJ],false)},{prop:"Expand",name:"Expand",pkg:"",typ:$funcType([BU,BU,BU,BO],[BU],false)},{prop:"ExpandString",name:"ExpandString",pkg:"",typ:$funcType([BU,$String,$String,BO],[BU],false)},{prop:"expand",name:"expand",pkg:"regexp",typ:$funcType([BU,$String,BU,$String,BO],[BU],false)},{prop:"FindSubmatchIndex",name:"FindSubmatchIndex",pkg:"",typ:$funcType([BU],[BO],false)},{prop:"FindStringSubmatch",name:"FindStringSubmatch",pkg:"",typ:$funcType([$String],[CE],false)},{prop:"FindStringSubmatchIndex",name:"FindStringSubmatchIndex",pkg:"",typ:$funcType([$String],[BO],false)},{prop:"FindReaderSubmatchIndex",name:"FindReaderSubmatchIndex",pkg:"",typ:$funcType([B.RuneReader],[BO],false)},{prop:"FindAll",name:"FindAll",pkg:"",typ:$funcType([BU,$Int],[CJ],false)},{prop:"FindAllIndex",name:"FindAllIndex",pkg:"",typ:$funcType([BU,$Int],[CK],false)},{prop:"FindAllString",name:"FindAllString",pkg:"",typ:$funcType([$String,$Int],[CE],false)},{prop:"FindAllStringIndex",name:"FindAllStringIndex",pkg:"",typ:$funcType([$String,$Int],[CK],false)},{prop:"FindAllSubmatch",name:"FindAllSubmatch",pkg:"",typ:$funcType([BU,$Int],[CL],false)},{prop:"FindAllSubmatchIndex",name:"FindAllSubmatchIndex",pkg:"",typ:$funcType([BU,$Int],[CK],false)},{prop:"FindAllStringSubmatch",name:"FindAllStringSubmatch",pkg:"",typ:$funcType([$String,$Int],[CM],false)},{prop:"FindAllStringSubmatchIndex",name:"FindAllStringSubmatchIndex",pkg:"",typ:$funcType([$String,$Int],[CK],false)},{prop:"Split",name:"Split",pkg:"",typ:$funcType([$String,$Int],[CE],false)}];CS.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BQ],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BQ,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[A.EmptyOp],false)}];CT.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BQ],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BQ,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[A.EmptyOp],false)}];CU.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BQ],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BQ,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[A.EmptyOp],false)}];J.init("regexp",[{prop:"pc",name:"pc",anonymous:false,exported:false,typ:$Uint32,tag:""},{prop:"arg",name:"arg",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"pos",name:"pos",anonymous:false,exported:false,typ:$Int,tag:""}]);K.init("regexp",[{prop:"prog",name:"prog",anonymous:false,exported:false,typ:BN,tag:""},{prop:"end",name:"end",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"cap",name:"cap",anonymous:false,exported:false,typ:BO,tag:""},{prop:"jobs",name:"jobs",anonymous:false,exported:false,typ:BP,tag:""},{prop:"visited",name:"visited",anonymous:false,exported:false,typ:BL,tag:""}]);P.init("regexp",[{prop:"sparse",name:"sparse",anonymous:false,exported:false,typ:BL,tag:""},{prop:"dense",name:"dense",anonymous:false,exported:false,typ:BR,tag:""}]);Q.init("regexp",[{prop:"pc",name:"pc",anonymous:false,exported:false,typ:$Uint32,tag:""},{prop:"t",name:"t",anonymous:false,exported:false,typ:BS,tag:""}]);R.init("regexp",[{prop:"inst",name:"inst",anonymous:false,exported:false,typ:BV,tag:""},{prop:"cap",name:"cap",anonymous:false,exported:false,typ:BO,tag:""}]);S.init("regexp",[{prop:"re",name:"re",anonymous:false,exported:false,typ:BQ,tag:""},{prop:"p",name:"p",anonymous:false,exported:false,typ:BN,tag:""},{prop:"op",name:"op",anonymous:false,exported:false,typ:BM,tag:""},{prop:"maxBitStateLen",name:"maxBitStateLen",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"b",name:"b",anonymous:false,exported:false,typ:BJ,tag:""},{prop:"q0",name:"q0",anonymous:false,exported:false,typ:P,tag:""},{prop:"q1",name:"q1",anonymous:false,exported:false,typ:P,tag:""},{prop:"pool",name:"pool",anonymous:false,exported:false,typ:BT,tag:""},{prop:"matched",name:"matched",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"matchcap",name:"matchcap",anonymous:false,exported:false,typ:BO,tag:""},{prop:"inputBytes",name:"inputBytes",anonymous:false,exported:false,typ:AX,tag:""},{prop:"inputString",name:"inputString",anonymous:false,exported:false,typ:AW,tag:""},{prop:"inputReader",name:"inputReader",anonymous:false,exported:false,typ:AY,tag:""}]);V.init("",[{prop:"Inst",name:"Inst",anonymous:false,exported:true,typ:BZ,tag:""},{prop:"Start",name:"Start",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"NumCap",name:"NumCap",anonymous:false,exported:true,typ:$Int,tag:""}]);W.init("",[{prop:"Inst",name:"Inst",anonymous:true,exported:true,typ:A.Inst,tag:""},{prop:"Next",name:"Next",anonymous:false,exported:true,typ:BL,tag:""}]);AA.init("regexp",[{prop:"sparse",name:"sparse",anonymous:false,exported:false,typ:BL,tag:""},{prop:"dense",name:"dense",anonymous:false,exported:false,typ:BL,tag:""},{prop:"size",name:"size",anonymous:false,exported:false,typ:$Uint32,tag:""},{prop:"nextIndex",name:"nextIndex",anonymous:false,exported:false,typ:$Uint32,tag:""}]);AH.init($Int32);AN.init("regexp",[{prop:"regexpRO",name:"regexpRO",anonymous:true,exported:false,typ:AO,tag:""},{prop:"mu",name:"mu",anonymous:false,exported:false,typ:H.Mutex,tag:""},{prop:"machine",name:"machine",anonymous:false,exported:false,typ:CG,tag:""}]);AO.init("regexp",[{prop:"expr",name:"expr",anonymous:false,exported:false,typ:$String,tag:""},{prop:"prog",name:"prog",anonymous:false,exported:false,typ:BN,tag:""},{prop:"onepass",name:"onepass",anonymous:false,exported:false,typ:BM,tag:""},{prop:"prefix",name:"prefix",anonymous:false,exported:false,typ:$String,tag:""},{prop:"prefixBytes",name:"prefixBytes",anonymous:false,exported:false,typ:BU,tag:""},{prop:"prefixComplete",name:"prefixComplete",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"prefixRune",name:"prefixRune",anonymous:false,exported:false,typ:$Int32,tag:""},{prop:"prefixEnd",name:"prefixEnd",anonymous:false,exported:false,typ:$Uint32,tag:""},{prop:"cond",name:"cond",anonymous:false,exported:false,typ:A.EmptyOp,tag:""},{prop:"numSubexp",name:"numSubexp",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"subexpNames",name:"subexpNames",anonymous:false,exported:false,typ:CE,tag:""},{prop:"longest",name:"longest",anonymous:false,exported:false,typ:$Bool,tag:""}]);AV.init([{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[A.EmptyOp],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BQ],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BQ,$Int],[$Int],false)},{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)}]);AW.init("regexp",[{prop:"str",name:"str",anonymous:false,exported:false,typ:$String,tag:""}]);AX.init("regexp",[{prop:"str",name:"str",anonymous:false,exported:false,typ:BU,tag:""}]);AY.init("regexp",[{prop:"r",name:"r",anonymous:false,exported:false,typ:B.RuneReader,tag:""},{prop:"atEOT",name:"atEOT",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"pos",name:"pos",anonymous:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}U=BH.zero();BC=BI.zero();L=BJ.nil;AC=new BK([]);AD=new BL([4294967295]);AI=new BK([0,9,11,1114111]);AJ=new BK([0,1114111]);AL=BM.nil;BE();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["testing"]=(function(){var $pkg={},$init,E,O,J,A,L,K,F,B,I,P,Q,N,G,C,H,M,D,AA,AB,AC,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CR,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;E=$packages["bytes"];O=$packages["errors"];J=$packages["flag"];A=$packages["fmt"];L=$packages["github.com/gopherjs/gopherjs/nosync"];K=$packages["internal/race"];F=$packages["io"];B=$packages["os"];I=$packages["runtime"];P=$packages["runtime/debug"];Q=$packages["runtime/trace"];N=$packages["sort"];G=$packages["strconv"];C=$packages["strings"];H=$packages["sync"];M=$packages["sync/atomic"];D=$packages["time"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=P.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Q.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=J.String("test.bench","","run only benchmarks matching `regexp`");$s=18;case 18:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}AA=c;d=J.Duration("test.benchtime",new D.Duration(0,1000000000),"run each benchmark for duration `d`");$s=19;case 19:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}AB=d;e=J.Bool("test.benchmem",false,"print memory allocations for benchmarks");$s=20;case 20:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}AC=e;f=J.Bool("test.short",false,"run smaller test suite to save time");$s=21;case 21:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}BL=f;g=J.String("test.outputdir","","write profiles to `dir`");$s=22;case 22:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}BM=g;h=J.Bool("test.v",false,"verbose: print additional output");$s=23;case 23:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}BN=h;i=J.Uint("test.count",1,"run tests and benchmarks `n` times");$s=24;case 24:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}BO=i;j=J.String("test.coverprofile","","write a coverage profile to `file`");$s=25;case 25:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}BP=j;k=J.String("test.list","","list tests, examples, and benchmarch maching `regexp` then exit");$s=26;case 26:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}BQ=k;l=J.String("test.run","","run only tests and examples matching `regexp`");$s=27;case 27:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}BR=l;m=J.String("test.memprofile","","write a memory profile to `file`");$s=28;case 28:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}BS=m;n=J.Int("test.memprofilerate",0,"set memory profiling `rate` (see runtime.MemProfileRate)");$s=29;case 29:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}BT=n;o=J.String("test.cpuprofile","","write a cpu profile to `file`");$s=30;case 30:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}BU=o;p=J.String("test.blockprofile","","write a goroutine blocking profile to `file`");$s=31;case 31:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}BV=p;q=J.Int("test.blockprofilerate",1,"set blocking profile `rate` (see runtime.SetBlockProfileRate)");$s=32;case 32:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}BW=q;r=J.String("test.mutexprofile","","write a mutex contention profile to the named file after execution");$s=33;case 33:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}BX=r;s=J.Int("test.mutexprofilefraction",1,"if >= 0, calls runtime.SetMutexProfileFraction()");$s=34;case 34:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}BY=s;t=J.String("test.trace","","write an execution trace to `file`");$s=35;case 35:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}BZ=t;u=J.Duration("test.timeout",new D.Duration(0,0),"panic test binary after duration `d` (0 means unlimited)");$s=36;case 36:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}CA=u;v=J.String("test.cpu","","comma-separated `list` of cpu counts to run each test with");$s=37;case 37:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}CB=v;w=J.Int("test.parallel",I.GOMAXPROCS(0),"run at most `n` tests in parallel");$s=38;case 38:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}CC=w;CR=O.New("testing: unexpected use of func Main");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["text/template"]=(function(){var $pkg={},$init,A,I,B,C,M,J,N,D,E,F,G,O,H,K,L,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DO,Z,AA,AB,AN,AO,BD,BE,BF,BO,BP,BQ,BR,BS,BT,BX,BY,BZ,CA,CB,CC,CD,a,b,c,d,X,AC,AD,AE,AF,AP,AQ,AS,AT,AV,AW,AX,AY,AZ,BA,BB,BC,BH,BI,BJ,BK,BL,BM,BN,BU,BV,BW,CE,CF,CG,CH,CI,CJ;A=$packages["bytes"];I=$packages["errors"];B=$packages["fmt"];C=$packages["io"];M=$packages["io/ioutil"];J=$packages["net/url"];N=$packages["path/filepath"];D=$packages["reflect"];E=$packages["runtime"];F=$packages["sort"];G=$packages["strings"];O=$packages["sync"];H=$packages["text/template/parse"];K=$packages["unicode"];L=$packages["unicode/utf8"];CU=$ptrType(D.rtype);CV=$ptrType($error);CW=$ptrType(B.Stringer);CX=$ptrType(D.Value);CY=$sliceType($Uint8);CZ=$sliceType(D.Value);DA=$funcType([D.Value,CZ],[D.Value],true);DB=$funcType([D.Value,CZ],[D.Value,$error],true);DC=$sliceType($emptyInterface);DD=$funcType([DC],[$String],true);DE=$funcType([$emptyInterface],[$Int,$error],false);DF=$funcType([D.Value],[$Bool],false);DG=$funcType([$String,DC],[$String],true);DH=$funcType([D.Value,CZ],[$Bool,$error],true);DI=$funcType([D.Value,D.Value],[$Bool,$error],false);DO=$arrayType($Uint8,64);X=function(e){var e,f,g,h,i,j,k,l,m,n,o;f=false;g=false;if(!$clone(e,D.Value).IsValid()){h=false;i=true;f=h;g=i;return[f,g];}j=$clone(e,D.Value).Kind();if((j===(17))||(j===(21))||(j===(23))||(j===(24))){f=$clone(e,D.Value).Len()>0;}else if(j===(1)){f=$clone(e,D.Value).Bool();}else if((j===(15))||(j===(16))){f=!((k=$clone(e,D.Value).Complex(),(k.$real===0&&k.$imag===0)));}else if((j===(18))||(j===(19))||(j===(22))||(j===(20))){f=!$clone(e,D.Value).IsNil();}else if((j===(2))||(j===(3))||(j===(4))||(j===(5))||(j===(6))){f=!((l=$clone(e,D.Value).Int(),(l.$high===0&&l.$low===0)));}else if((j===(13))||(j===(14))){f=!(($clone(e,D.Value).Float()===0));}else if((j===(7))||(j===(8))||(j===(9))||(j===(10))||(j===(11))||(j===(12))){f=!((m=$clone(e,D.Value).Uint(),(m.$high===0&&m.$low===0)));}else if(j===(25)){f=true;}else{return[f,g];}n=f;o=true;f=n;g=o;return[f,g];};AC=function(e){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=e.Kind();$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if((g===(18))||(g===(19))||(g===(20))||(g===(21))||(g===(22))||(g===(23))){$s=-1;return true;}else if(g===(25)){$s=-1;return $interfaceIsEqual(e,AB);}case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AC};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AD=function(e){var e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=new D.Value.ptr(CU.nil,0,0);g=false;case 1:if(!(($clone(e,D.Value).Kind()===22)||($clone(e,D.Value).Kind()===20))){$s=2;continue;}if($clone(e,D.Value).IsNil()){h=e;i=true;f=h;g=i;$s=-1;return[f,g];}j=$clone(e,D.Value).Elem();$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}e=j;$s=1;continue;case 2:k=e;l=false;f=k;g=l;$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:AD};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AE=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(($clone(e,D.Value).Kind()===20))){$s=-1;return e;}if($clone(e,D.Value).IsNil()){$s=-1;return new D.Value.ptr(CU.nil,0,0);}f=$clone(e,D.Value).Elem();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AE};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AF=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(e,D.Value).Kind()===22){$s=1;continue;}$s=2;continue;case 1:g=AD($clone(e,D.Value));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e=f[0];case 2:if(!$clone(e,D.Value).IsValid()){$s=-1;return[new $String("<no value>"),true];}i=$clone(e,D.Value).Type().Implements(Z);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!(!i)){h=false;$s=6;continue s;}j=$clone(e,D.Value).Type().Implements(AA);$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=!j;case 6:if(h){$s=4;continue;}$s=5;continue;case 4:if(!($clone(e,D.Value).CanAddr())){k=false;$s=12;continue s;}m=D.PtrTo($clone(e,D.Value).Type()).Implements(Z);$s=14;case 14:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m){l=true;$s=13;continue s;}n=D.PtrTo($clone(e,D.Value).Type()).Implements(AA);$s=15;case 15:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;case 13:k=l;case 12:if(k){$s=9;continue;}$s=10;continue;case 9:e=$clone(e,D.Value).Addr();$s=11;continue;case 10:o=$clone(e,D.Value).Kind();if((o===(18))||(o===(19))){$s=-1;return[$ifaceNil,false];}case 11:case 5:p=$clone(e,D.Value).Interface();$s=16;case 16:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return[p,true];}return;}if($f===undefined){$f={$blk:AF};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AP=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f={};$r=AQ(f,e);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AP};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AQ=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=f;h=0;i=$keys(g);case 1:if(!(h<i.length)){$s=2;continue;}j=g[i[h]];if(j===undefined){h++;$s=1;continue;}k=j.k;l=j.v;if(!AT(k)){$s=3;continue;}$s=4;continue;case 3:m=B.Errorf("function name %s is not a valid identifier",new DC([new $String(k)]));$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$panic(m);case 4:n=D.ValueOf(l);$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(($clone(o,D.Value).Kind()===19))){$panic(new $String("value for "+k+" not a function"));}p=AS($clone(o,D.Value).Type());$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(!p){$s=7;continue;}$s=8;continue;case 7:q=new $String(k);r=$clone(o,D.Value).Type().NumOut();$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=new $Int(r);t=B.Errorf("can't install method/function %q with %d results",new DC([q,s]));$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$panic(t);case 8:u=k;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(u)]={k:u,v:$clone(o,D.Value)};h++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AQ};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};AS=function(e){var e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=e.NumOut();$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if((f===1)){$s=2;continue;}h=e.NumOut();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h===2)){g=false;$s=6;continue s;}i=e.Out(1);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=$interfaceIsEqual(i,Z);case 6:if(g){$s=3;continue;}$s=4;continue;case 2:$s=-1;return true;case 3:$s=-1;return true;case 4:case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AS};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AT=function(e){var e,f,g,h,i,j;if(e===""){return false;}f=e;g=0;while(true){if(!(g<f.length)){break;}h=$decodeRune(f,g);i=g;j=h[0];if((j===95)){}else if((i===0)&&!K.IsLetter(j)){return false;}else if(!K.IsLetter(j)&&!K.IsDigit(j)){return false;}g+=h[1];}return true;};AV=function(e,f){var e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(e,D.Value).IsValid()){$s=1;continue;}$s=2;continue;case 1:g=AC(f);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(!g){$s=3;continue;}$s=4;continue;case 3:h=B.Errorf("value is nil; should be of type %s",new DC([f]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),h];case 4:i=D.Zero(f);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}e=i;case 2:j=$clone(e,D.Value).Type().AssignableTo(f);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(!j){$s=8;continue;}$s=9;continue;case 8:k=B.Errorf("value has type %s; should be %s",new DC([$clone(e,D.Value).Type(),f]));$s=11;case 11:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),k];case 9:$s=-1;return[e,$ifaceNil];}return;}if($f===undefined){$f={$blk:AV};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AW=function(e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AE($clone(e,D.Value));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!$clone(h,D.Value).IsValid()){$s=2;continue;}$s=3;continue;case 2:i=B.Errorf("index of untyped nil",new DC([]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),i];case 3:j=f;k=0;case 5:if(!(k<j.$length)){$s=6;continue;}l=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);m=AE($clone(l,D.Value));$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=false;q=AD($clone(h,D.Value));$s=8;case 8:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;h=p[0];o=p[1];if(o){$s=9;continue;}$s=10;continue;case 9:r=B.Errorf("index of nil pointer",new DC([]));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),r];case 10:s=$clone(h,D.Value).Kind();if((s===(17))||(s===(23))||(s===(24))){$s=13;continue;}if(s===(21)){$s=14;continue;}if(s===(0)){$s=15;continue;}$s=16;continue;case 13:t=new $Int64(0,0);u=$clone(n,D.Value).Kind();if((u===(2))||(u===(3))||(u===(4))||(u===(5))||(u===(6))){$s=19;continue;}if((u===(7))||(u===(8))||(u===(9))||(u===(10))||(u===(11))||(u===(12))){$s=20;continue;}if(u===(0)){$s=21;continue;}$s=22;continue;case 19:t=$clone(n,D.Value).Int();$s=23;continue;case 20:t=((v=$clone(n,D.Value).Uint(),new $Int64(v.$high,v.$low)));$s=23;continue;case 21:w=B.Errorf("cannot index slice/array with nil",new DC([]));$s=24;case 24:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),w];case 22:x=B.Errorf("cannot index slice/array with type %s",new DC([$clone(n,D.Value).Type()]));$s=25;case 25:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),x];case 23:case 18:if((t.$high<0||(t.$high===0&&t.$low<0))||(y=(new $Int64(0,$clone(h,D.Value).Len())),(t.$high>y.$high||(t.$high===y.$high&&t.$low>=y.$low)))){$s=26;continue;}$s=27;continue;case 26:z=B.Errorf("index out of range: %d",new DC([t]));$s=28;case 28:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),z];case 27:aa=$clone(h,D.Value).Index((((t.$low+((t.$high>>31)*4294967296))>>0)));$s=29;case 29:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}h=aa;$s=17;continue;case 14:ac=$clone(n,D.Value);ad=$clone(h,D.Value).Type().Key();$s=30;case 30:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;af=AV(ac,ae);$s=31;case 31:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ab=af;ag=ab[0];ah=ab[1];if(!($interfaceIsEqual(ah,$ifaceNil))){$s=-1;return[new D.Value.ptr(CU.nil,0,0),ah];}ai=$clone(h,D.Value).MapIndex($clone(ag,D.Value));$s=32;case 32:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;if($clone(aj,D.Value).IsValid()){$s=33;continue;}$s=34;continue;case 33:h=aj;$s=35;continue;case 34:ak=$clone(h,D.Value).Type().Elem();$s=36;case 36:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=D.Zero(ak);$s=37;case 37:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}h=al;case 35:$s=17;continue;case 15:$panic(new $String("unreachable"));$s=17;continue;case 16:am=B.Errorf("can't index item of type %s",new DC([$clone(h,D.Value).Type()]));$s=38;case 38:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),am];case 17:case 12:k++;$s=5;continue;case 6:$s=-1;return[h,$ifaceNil];}return;}if($f===undefined){$f={$blk:AW};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AX=function(e){var e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=D.ValueOf(e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!$clone(g,D.Value).IsValid()){$s=2;continue;}$s=3;continue;case 2:h=B.Errorf("len of untyped nil",new DC([]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return[0,h];case 3:j=AD($clone(g,D.Value));$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;g=i[0];k=i[1];if(k){$s=6;continue;}$s=7;continue;case 6:l=B.Errorf("len of nil pointer",new DC([]));$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return[0,l];case 7:m=$clone(g,D.Value).Kind();if((m===(17))||(m===(18))||(m===(21))||(m===(23))||(m===(24))){$s=-1;return[$clone(g,D.Value).Len(),$ifaceNil];}n=B.Errorf("len of type %s",new DC([$clone(g,D.Value).Type()]));$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return[0,n];}return;}if($f===undefined){$f={$blk:AX};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AY=function(e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AE($clone(e,D.Value));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!$clone(h,D.Value).IsValid()){$s=2;continue;}$s=3;continue;case 2:i=B.Errorf("call of nil",new DC([]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),i];case 3:j=$clone(h,D.Value).Type();k=j.Kind();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!((k===19))){$s=5;continue;}$s=6;continue;case 5:l=B.Errorf("non-function of type %s",new DC([j]));$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),l];case 6:m=AS(j);$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=9;continue;}$s=10;continue;case 9:n=j.NumOut();$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=new $Int(n);p=B.Errorf("function called with %d args; should be 1 or 2",new DC([o]));$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),p];case 10:q=j.NumIn();$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;s=$ifaceNil;t=j.IsVariadic();$s=18;case 18:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(t){$s=15;continue;}$s=16;continue;case 15:if(f.$length<(r-1>>0)){$s=19;continue;}$s=20;continue;case 19:u=B.Errorf("wrong number of args: got %d want at least %d",new DC([new $Int(f.$length),new $Int((r-1>>0))]));$s=21;case 21:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),u];case 20:v=j.In(r-1>>0);$s=22;case 22:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v.Elem();$s=23;case 23:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}s=w;$s=17;continue;case 16:if(!((f.$length===r))){$s=24;continue;}$s=25;continue;case 24:x=B.Errorf("wrong number of args: got %d want %d",new DC([new $Int(f.$length),new $Int(r)]));$s=26;case 26:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),x];case 25:case 17:y=$makeSlice(CZ,f.$length);z=f;aa=0;case 27:if(!(aa<z.$length)){$s=28;continue;}ab=aa;ac=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]);ad=AE($clone(ac,D.Value));$s=29;case 29:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;af=$ifaceNil;ag=j.IsVariadic();$s=33;case 33:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}if(!ag||ab<(r-1>>0)){$s=30;continue;}$s=31;continue;case 30:ah=j.In(ab);$s=34;case 34:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}af=ah;$s=32;continue;case 31:af=s;case 32:ai=$ifaceNil;ak=AV($clone(ae,D.Value),af);$s=35;case 35:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;((ab<0||ab>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+ab]=aj[0]);ai=aj[1];if(!($interfaceIsEqual(ai,$ifaceNil))){$s=36;continue;}$s=37;continue;case 36:al=B.Errorf("arg %d: %s",new DC([new $Int(ab),ai]));$s=38;case 38:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}$s=-1;return[new D.Value.ptr(CU.nil,0,0),al];case 37:aa++;$s=27;continue;case 28:am=$clone(h,D.Value).Call(y);$s=39;case 39:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;if((an.$length===2)&&!$clone((1>=an.$length?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+1]),D.Value).IsNil()){$s=40;continue;}$s=41;continue;case 40:ao=$clone((1>=an.$length?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+1]),D.Value).Interface();$s=42;case 42:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return[(0>=an.$length?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+0]),$assertType(ao,$error)];case 41:$s=-1;return[(0>=an.$length?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+0]),$ifaceNil];}return;}if($f===undefined){$f={$blk:AY};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ=function(e){var e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AE($clone(e,D.Value));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=X($clone(g,D.Value));$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f=h;i=f[0];$s=-1;return i;}return;}if($f===undefined){$f={$blk:AZ};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BA=function(e,f){var e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AZ($clone(e,D.Value));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(!g){$s=1;continue;}$s=2;continue;case 1:$s=-1;return e;case 2:h=f;i=0;case 4:if(!(i<h.$length)){$s=5;continue;}j=i;e=((j<0||j>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+j]);k=AZ($clone(e,D.Value));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!k){$s=6;continue;}$s=7;continue;case 6:$s=5;continue;case 7:i++;$s=4;continue;case 5:$s=-1;return e;}return;}if($f===undefined){$f={$blk:BA};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BB=function(e,f){var e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AZ($clone(e,D.Value));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(g){$s=1;continue;}$s=2;continue;case 1:$s=-1;return e;case 2:h=f;i=0;case 4:if(!(i<h.$length)){$s=5;continue;}j=i;e=((j<0||j>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+j]);k=AZ($clone(e,D.Value));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(k){$s=6;continue;}$s=7;continue;case 6:$s=5;continue;case 7:i++;$s=4;continue;case 5:$s=-1;return e;}return;}if($f===undefined){$f={$blk:BB};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BC=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AZ($clone(e,D.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return!f;}return;}if($f===undefined){$f={$blk:BC};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH=function(e){var e,f;f=$clone(e,D.Value).Kind();if(f===(1)){return[1,$ifaceNil];}else if((f===(2))||(f===(3))||(f===(4))||(f===(5))||(f===(6))){return[3,$ifaceNil];}else if((f===(7))||(f===(8))||(f===(9))||(f===(10))||(f===(11))||(f===(12))){return[6,$ifaceNil];}else if((f===(13))||(f===(14))){return[4,$ifaceNil];}else if((f===(15))||(f===(16))){return[2,$ifaceNil];}else if(f===(24)){return[5,$ifaceNil];}return[0,BD];};BI=function(e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AE($clone(e,D.Value));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=BH($clone(h,D.Value));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[false,k];}if(f.$length===0){$s=-1;return[false,BF];}l=f;m=0;case 2:if(!(m<l.$length)){$s=3;continue;}n=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);o=AE($clone(n,D.Value));$s=4;case 4:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;q=BH($clone(p,D.Value));r=q[0];s=q[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[false,s];}t=false;if(!((j===r))){$s=5;continue;}$s=6;continue;case 5:if((j===3)&&(r===6)){t=(u=$clone(h,D.Value).Int(),(u.$high>0||(u.$high===0&&u.$low>=0)))&&(v=((w=$clone(h,D.Value).Int(),new $Uint64(w.$high,w.$low))),x=$clone(p,D.Value).Uint(),(v.$high===x.$high&&v.$low===x.$low));}else if((j===6)&&(r===3)){t=(y=$clone(p,D.Value).Int(),(y.$high>0||(y.$high===0&&y.$low>=0)))&&(z=$clone(h,D.Value).Uint(),aa=((ab=$clone(p,D.Value).Int(),new $Uint64(ab.$high,ab.$low))),(z.$high===aa.$high&&z.$low===aa.$low));}else{$s=-1;return[false,BE];}$s=7;continue;case 6:ac=j;if(ac===(1)){$s=9;continue;}if(ac===(2)){$s=10;continue;}if(ac===(4)){$s=11;continue;}if(ac===(3)){$s=12;continue;}if(ac===(5)){$s=13;continue;}if(ac===(6)){$s=14;continue;}$s=15;continue;case 9:t=$clone(h,D.Value).Bool()===$clone(p,D.Value).Bool();$s=16;continue;case 10:t=(ad=$clone(h,D.Value).Complex(),ae=$clone(p,D.Value).Complex(),(ad.$real===ae.$real&&ad.$imag===ae.$imag));$s=16;continue;case 11:t=$clone(h,D.Value).Float()===$clone(p,D.Value).Float();$s=16;continue;case 12:t=(af=$clone(h,D.Value).Int(),ag=$clone(p,D.Value).Int(),(af.$high===ag.$high&&af.$low===ag.$low));$s=16;continue;case 13:ah=$clone(h,D.Value).String();$s=17;case 17:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(p,D.Value).String();$s=18;case 18:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}t=ah===ai;$s=16;continue;case 14:t=(aj=$clone(h,D.Value).Uint(),ak=$clone(p,D.Value).Uint(),(aj.$high===ak.$high&&aj.$low===ak.$low));$s=16;continue;case 15:$panic(new $String("invalid kind"));case 16:case 8:case 7:if(t){$s=-1;return[true,$ifaceNil];}m++;$s=2;continue;case 3:$s=-1;return[false,$ifaceNil];}return;}if($f===undefined){$f={$blk:BI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BJ=function(e,f){var e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=BI($clone(e,D.Value),new CZ([$clone(f,D.Value)]));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];$s=-1;return[!i,j];}return;}if($f===undefined){$f={$blk:BJ};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BK=function(e,f){var aa,ab,ac,ad,ae,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AE($clone(e,D.Value));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=BH($clone(h,D.Value));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[false,k];}l=AE($clone(f,D.Value));$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=BH($clone(m,D.Value));o=n[0];k=n[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[false,k];}p=false;if(!((j===o))){$s=3;continue;}$s=4;continue;case 3:if((j===3)&&(o===6)){p=(q=$clone(h,D.Value).Int(),(q.$high<0||(q.$high===0&&q.$low<0)))||(r=((s=$clone(h,D.Value).Int(),new $Uint64(s.$high,s.$low))),t=$clone(m,D.Value).Uint(),(r.$high<t.$high||(r.$high===t.$high&&r.$low<t.$low)));}else if((j===6)&&(o===3)){p=(u=$clone(m,D.Value).Int(),(u.$high>0||(u.$high===0&&u.$low>=0)))&&(v=$clone(h,D.Value).Uint(),w=((x=$clone(m,D.Value).Int(),new $Uint64(x.$high,x.$low))),(v.$high<w.$high||(v.$high===w.$high&&v.$low<w.$low)));}else{$s=-1;return[false,BE];}$s=5;continue;case 4:y=j;if((y===(1))||(y===(2))){$s=7;continue;}if(y===(4)){$s=8;continue;}if(y===(3)){$s=9;continue;}if(y===(5)){$s=10;continue;}if(y===(6)){$s=11;continue;}$s=12;continue;case 7:$s=-1;return[false,BD];case 8:p=$clone(h,D.Value).Float()<$clone(m,D.Value).Float();$s=13;continue;case 9:p=(z=$clone(h,D.Value).Int(),aa=$clone(m,D.Value).Int(),(z.$high<aa.$high||(z.$high===aa.$high&&z.$low<aa.$low)));$s=13;continue;case 10:ab=$clone(h,D.Value).String();$s=14;case 14:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(m,D.Value).String();$s=15;case 15:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}p=ab<ac;$s=13;continue;case 11:p=(ad=$clone(h,D.Value).Uint(),ae=$clone(m,D.Value).Uint(),(ad.$high<ae.$high||(ad.$high===ae.$high&&ad.$low<ae.$low)));$s=13;continue;case 12:$panic(new $String("invalid kind"));case 13:case 6:case 5:$s=-1;return[p,$ifaceNil];}return;}if($f===undefined){$f={$blk:BK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL=function(e,f){var e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=BK($clone(e,D.Value),$clone(f,D.Value));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(i||!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return[i,j];}k=BI($clone(e,D.Value),new CZ([$clone(f,D.Value)]));$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BL};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BM=function(e,f){var e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=BL($clone(e,D.Value),$clone(f,D.Value));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return[false,j];}$s=-1;return[!i,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BN=function(e,f){var e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=BK($clone(e,D.Value),$clone(f,D.Value));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return[false,j];}$s=-1;return[!i,$ifaceNil];}return;}if($f===undefined){$f={$blk:BN};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BU=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=f;i=0;case 1:if(!(i<h.$length)){$s=2;continue;}j=i;k=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);l=CY.nil;m=k;if(m===(0)){l=BT;}else if(m===(34)){l=BO;}else if(m===(39)){l=BP;}else if(m===(38)){l=BQ;}else if(m===(60)){l=BR;}else if(m===(62)){l=BS;}else{i++;$s=1;continue;}case 3:n=e.Write($subslice(f,g,j));$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;o=e.Write(l);$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;g=j+1>>0;i++;$s=1;continue;case 2:p=e.Write($subslice(f,g));$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=-1;return;}return;}if($f===undefined){$f={$blk:BU};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.HTMLEscape=BU;BV=function(e){var e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];if(!G.ContainsAny(e,"'\"&<>\x00")){$s=-1;return e;}f[0]=new A.Buffer.ptr(CY.nil,0,0,DO.zero());$r=BU(f[0],(new CY($stringToBytes(e))));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return f[0].String();}return;}if($f===undefined){$f={$blk:BV};}$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.HTMLEscapeString=BV;BW=function(e){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=CJ(e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=BV(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:BW};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.HTMLEscaper=BW;CE=function(e,f){var aa,ab,ac,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;h=0;case 1:if(!(h<f.$length)){$s=2;continue;}i=((h<0||h>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+h]);if(!CG(((i>>0)))){$s=3;continue;}$s=4;continue;case 3:h=h+(1)>>0;$s=1;continue;case 4:j=e.Write($subslice(f,g,h));$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;if(i<128){$s=6;continue;}$s=7;continue;case 6:k=i;if(k===(92)){$s=10;continue;}if(k===(39)){$s=11;continue;}if(k===(34)){$s=12;continue;}if(k===(60)){$s=13;continue;}if(k===(62)){$s=14;continue;}$s=15;continue;case 10:l=e.Write(BZ);$s=17;case 17:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;$s=16;continue;case 11:m=e.Write(CA);$s=18;case 18:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;$s=16;continue;case 12:n=e.Write(CB);$s=19;case 19:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;$s=16;continue;case 13:o=e.Write(CC);$s=20;case 20:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=16;continue;case 14:p=e.Write(CD);$s=21;case 21:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=16;continue;case 15:q=e.Write(BX);$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;r=i>>>4<<24>>>24;s=(i&15)>>>0;t=r;u=s;v=e.Write($subslice(BY,t,(t+1<<24>>>24)));$s=23;case 23:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;w=e.Write($subslice(BY,u,(u+1<<24>>>24)));$s=24;case 24:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;case 16:case 9:$s=8;continue;case 7:x=L.DecodeRune($subslice(f,h));y=x[0];z=x[1];if(K.IsPrint(y)){$s=25;continue;}$s=26;continue;case 25:aa=e.Write($subslice(f,h,(h+z>>0)));$s=28;case 28:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;$s=27;continue;case 26:ab=B.Fprintf(e,"\\u%04X",new DC([new $Int32(y)]));$s=29;case 29:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;case 27:h=h+((z-1>>0))>>0;case 8:g=h+1>>0;h=h+(1)>>0;$s=1;continue;case 2:ac=e.Write($subslice(f,g));$s=30;case 30:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;$s=-1;return;}return;}if($f===undefined){$f={$blk:CE};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.JSEscape=CE;CF=function(e){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];g=G.IndexFunc(e,CG);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(g<0){$s=1;continue;}$s=2;continue;case 1:$s=-1;return e;case 2:f[0]=new A.Buffer.ptr(CY.nil,0,0,DO.zero());$r=CE(f[0],(new CY($stringToBytes(e))));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return f[0].String();}return;}if($f===undefined){$f={$blk:CF};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.JSEscapeString=CF;CG=function(e){var e,f;f=e;if((f===(92))||(f===(39))||(f===(34))||(f===(60))||(f===(62))){return true;}return e<32||128<=e;};CH=function(e){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=CJ(e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=CF(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:CH};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.JSEscaper=CH;CI=function(e){var e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=CJ(e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=J.QueryEscape(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:CI};}$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.URLQueryEscaper=CI;CJ=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=false;g="";if(e.$length===1){h=$assertType((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),$String,true);g=h[0];f=h[1];}if(!f){$s=1;continue;}$s=2;continue;case 1:i=e;j=0;case 3:if(!(j<i.$length)){$s=4;continue;}k=j;l=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);n=D.ValueOf(l);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=AF($clone(n,D.Value));$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}m=o;p=m[0];q=m[1];if(q){((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k]=p);}j++;$s=3;continue;case 4:r=B.Sprint(e);$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}g=r;case 2:$s=-1;return g;}return;}if($f===undefined){$f={$blk:CJ};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=D.TypeOf((CV.nil)).Elem();$s=16;case 16:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}Z=a;b=D.TypeOf((CW.nil)).Elem();$s=17;case 17:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}AA=b;c=D.TypeOf((CX.nil)).Elem();$s=18;case 18:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}AB=c;BD=I.New("invalid type for comparison");BE=I.New("incompatible types for comparison");BF=I.New("missing argument for comparison");BO=(new CY($stringToBytes(""")));BP=(new CY($stringToBytes("'")));BQ=(new CY($stringToBytes("&")));BR=(new CY($stringToBytes("<")));BS=(new CY($stringToBytes(">")));BT=(new CY($stringToBytes("\xEF\xBF\xBD")));BX=(new CY($stringToBytes("\\u00")));BY=(new CY($stringToBytes("0123456789ABCDEF")));BZ=(new CY($stringToBytes("\\\\")));CA=(new CY($stringToBytes("\\'")));CB=(new CY($stringToBytes("\\\"")));CC=(new CY($stringToBytes("\\x3C")));CD=(new CY($stringToBytes("\\x3E")));AN=$makeMap($String.keyFor,[{k:"and",v:new DA(BA)},{k:"call",v:new DB(AY)},{k:"html",v:new DD(BW)},{k:"index",v:new DB(AW)},{k:"js",v:new DD(CH)},{k:"len",v:new DE(AX)},{k:"not",v:new DF(BC)},{k:"or",v:new DA(BB)},{k:"print",v:new DD(B.Sprint)},{k:"printf",v:new DG(B.Sprintf)},{k:"println",v:new DD(B.Sprintln)},{k:"urlquery",v:new DD(CI)},{k:"eq",v:new DH(BI)},{k:"ge",v:new DI(BN)},{k:"gt",v:new DI(BM)},{k:"le",v:new DI(BL)},{k:"lt",v:new DI(BK)},{k:"ne",v:new DI(BJ)}]);d=AP(AN);$s=19;case 19:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}AO=d;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/dedis/protobuf"]=(function(){var $pkg={},$init,H,A,B,C,D,L,E,F,M,N,I,J,K,O,G,P,Q,X,Y,Z,AA,AC,AH,AJ,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CG,CH,CI,T,U,V,W,AE,AF,AG,AK,AL,AO,a,b,R,S,AD,AI,AM,AN;H=$packages["bytes"];A=$packages["encoding"];B=$packages["encoding/binary"];C=$packages["errors"];D=$packages["fmt"];L=$packages["io"];E=$packages["math"];F=$packages["reflect"];M=$packages["regexp"];N=$packages["sort"];I=$packages["strconv"];J=$packages["strings"];K=$packages["sync"];O=$packages["text/template"];G=$packages["time"];P=$pkg.Constructors=$newType(4,$kindMap,"protobuf.Constructors",true,"github.com/dedis/protobuf",true,null);Q=$pkg.decoder=$newType(0,$kindStruct,"protobuf.decoder",true,"github.com/dedis/protobuf",false,function(nm_){this.$val=this;if(arguments.length===0){this.nm=false;return;}this.nm=nm_;});X=$pkg.Ufixed32=$newType(4,$kindUint32,"protobuf.Ufixed32",true,"github.com/dedis/protobuf",true,null);Y=$pkg.Ufixed64=$newType(8,$kindUint64,"protobuf.Ufixed64",true,"github.com/dedis/protobuf",true,null);Z=$pkg.Sfixed32=$newType(4,$kindInt32,"protobuf.Sfixed32",true,"github.com/dedis/protobuf",true,null);AA=$pkg.Sfixed64=$newType(8,$kindInt64,"protobuf.Sfixed64",true,"github.com/dedis/protobuf",true,null);AC=$pkg.encoder=$newType(0,$kindStruct,"protobuf.encoder",true,"github.com/dedis/protobuf",false,function(Buffer_){this.$val=this;if(arguments.length===0){this.Buffer=new H.Buffer.ptr(BD.nil,0,0,BK.zero());return;}this.Buffer=Buffer_;});AH=$pkg.TagPrefix=$newType(4,$kindInt,"protobuf.TagPrefix",true,"github.com/dedis/protobuf",true,null);AJ=$pkg.ProtoField=$newType(0,$kindStruct,"protobuf.ProtoField",true,"github.com/dedis/protobuf",true,function(ID_,Prefix_,Name_,Index_,Field_){this.$val=this;if(arguments.length===0){this.ID=new $Int64(0,0);this.Prefix=0;this.Name="";this.Index=BH.nil;this.Field=new F.StructField.ptr("","",$ifaceNil,"",0,BH.nil,false);return;}this.ID=ID_;this.Prefix=Prefix_;this.Name=Name_;this.Index=Index_;this.Field=Field_;});BC=$ptrType(G.Location);BD=$sliceType($Uint8);BE=$funcType([],[$emptyInterface],false);BF=$sliceType($emptyInterface);BG=$ptrType(F.rtype);BH=$sliceType($Int);BI=$ptrType(AJ);BJ=$sliceType(F.Value);BK=$arrayType($Uint8,64);BL=$sliceType($Bool);BM=$sliceType($Int32);BN=$sliceType($Int64);BO=$sliceType($Uint32);BP=$sliceType($Uint64);BQ=$sliceType(Z);BR=$sliceType(AA);BS=$sliceType(X);BT=$sliceType(Y);BU=$sliceType($Float32);BV=$sliceType($Float64);BW=$sliceType($String);BX=$arrayType($Uint8,10);BY=$arrayType($Uint8,4);BZ=$arrayType($Uint8,8);CA=$sliceType(BI);CB=$ptrType($Int);CC=$structType("",[]);CG=$ptrType(P);CH=$ptrType(Q);CI=$ptrType(AC);$ptrType(P).prototype.String=function(){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d="";e=c.$get();f=0;g=$keys(e);case 1:if(!(f<g.length)){$s=2;continue;}h=e[g[f]];if(h===undefined){f++;$s=1;continue;}i=h.k;j=h.v;k=i.String();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=D.Sprintf("%+v",new BF([new BE(j)]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}d=d+(k+"=>"+l+"\t");f++;$s=1;continue;case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:$ptrType(P).prototype.String};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};R=function(c,d){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=S(c,d,false);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:R};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Decode=R;S=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(d,$ifaceNil)){$s=-1;return $ifaceNil;}f=new Q.ptr(e);g=F.ValueOf(d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!(($clone(h,F.Value).Kind()===22))){$s=-1;return C.New("Decode has been given a non pointer type");}i=c;j=$clone(h,F.Value).Elem();$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone(j,F.Value);l=f.message(i,k);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:S};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DecodeWithConstructors=S;Q.ptr.prototype.message=function(c,d){var aa,ab,ac,ad,ae,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=AM($clone(d,F.Value).Type());$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=0;case 2:if(!(c.$length>0)){$s=3;continue;}i=B.Uvarint(c);j=i[0];k=i[1];if(k<=0){$s=-1;return C.New("bad protobuf field key");}c=$subslice(c,k);l=((new $Uint64(j.$high&0,(j.$low&7)>>>0).$low>>0));m=$shiftRightUint64(j,3);n=new F.Value.ptr(BG.nil,0,0);while(true){if(!(h<g.$length&&(o=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]).ID,p=(new $Int64(m.$high,m.$low)),(o.$high<p.$high||(o.$high===p.$high&&o.$low<p.$low))))){break;}h=h+(1)>>0;}if(h<g.$length&&(q=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]).ID,r=(new $Int64(m.$high,m.$low)),(q.$high===r.$high&&q.$low===r.$low))){$s=4;continue;}$s=5;continue;case 4:s=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]).Index;t=$makeSlice(BH,0,s.$length);u=s;v=0;case 6:if(!(v<u.$length)){$s=7;continue;}w=((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]);t=$append(t,w);x=$clone(d,F.Value).FieldByIndex(t);$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}n=x;if(($clone(n,F.Value).Kind()===22)&&$clone(n,F.Value).IsNil()){$s=9;continue;}$s=10;continue;case 9:y=$clone(n,F.Value).Type().Elem();$s=11;case 11:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=F.New(y);$s=12;case 12:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$r=$clone(n,F.Value).Set($clone(z,F.Value));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:v++;$s=6;continue;case 7:case 5:ab=e.value(l,c,$clone(n,F.Value));$s=14;case 14:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=15;continue;}$s=16;continue;case 15:if(h<g.$length&&!(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h])===BI.nil)){$s=17;continue;}$s=18;continue;case 17:ae=D.Errorf("Error while decding FieldName %s: %v",new BF([new $String(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]).Name),ad]));$s=20;case 20:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$s=-1;return ae;case 18:$s=-1;return ad;case 19:case 16:c=ac;$s=2;continue;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.message};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.message=function(c,d){return this.$val.message(c,d);};Q.ptr.prototype.value=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=new $Uint64(0,0);h=0;i=BD.nil;j=c;if(j===(0)){k=B.Uvarint(d);g=k[0];h=k[1];if(h<=0){$s=-1;return[BD.nil,C.New("bad protobuf varint value")];}d=$subslice(d,h);}else if(j===(5)){if(d.$length<4){$s=-1;return[BD.nil,C.New("bad protobuf 32-bit value")];}g=(l=(m=(n=(new $Uint64(0,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))),o=$shiftLeft64((new $Uint64(0,(1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1]))),8),new $Uint64(n.$high|o.$high,(n.$low|o.$low)>>>0)),p=$shiftLeft64((new $Uint64(0,(2>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+2]))),16),new $Uint64(m.$high|p.$high,(m.$low|p.$low)>>>0)),q=$shiftLeft64((new $Uint64(0,(3>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+3]))),24),new $Uint64(l.$high|q.$high,(l.$low|q.$low)>>>0));d=$subslice(d,4);}else if(j===(1)){if(d.$length<8){$s=-1;return[BD.nil,C.New("bad protobuf 64-bit value")];}g=(r=(s=(t=(u=(v=(w=(x=(new $Uint64(0,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))),y=$shiftLeft64((new $Uint64(0,(1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1]))),8),new $Uint64(x.$high|y.$high,(x.$low|y.$low)>>>0)),z=$shiftLeft64((new $Uint64(0,(2>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+2]))),16),new $Uint64(w.$high|z.$high,(w.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Uint64(0,(3>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+3]))),24),new $Uint64(v.$high|aa.$high,(v.$low|aa.$low)>>>0)),ab=$shiftLeft64((new $Uint64(0,(4>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+4]))),32),new $Uint64(u.$high|ab.$high,(u.$low|ab.$low)>>>0)),ac=$shiftLeft64((new $Uint64(0,(5>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+5]))),40),new $Uint64(t.$high|ac.$high,(t.$low|ac.$low)>>>0)),ad=$shiftLeft64((new $Uint64(0,(6>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+6]))),48),new $Uint64(s.$high|ad.$high,(s.$low|ad.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(7>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+7]))),56),new $Uint64(r.$high|ae.$high,(r.$low|ae.$low)>>>0));d=$subslice(d,8);}else if(j===(2)){af=B.Uvarint(d);g=af[0];h=af[1];if(h<=0||(ag=(new $Uint64(0,(d.$length-h>>0))),(g.$high>ag.$high||(g.$high===ag.$high&&g.$low>ag.$low)))){$s=-1;return[BD.nil,C.New("bad protobuf length-delimited value")];}i=$subslice(d,h,(h+((g.$low>>0))>>0));d=$subslice(d,(h+((g.$low>>0))>>0));}else{$s=-1;return[BD.nil,C.New("unknown protobuf wire-type")];}ah=f.putvalue(c,$clone(e,F.Value),g,i);$s=1;case 1:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if(!($interfaceIsEqual(ai,$ifaceNil))){$s=-1;return[BD.nil,ai];}$s=-1;return[d,$ifaceNil];}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.value=function(c,d,e){return this.$val.value(c,d,e);};Q.ptr.prototype.decodeSignedInt=function(c,d){var c,d,e,f,g;e=this;if(c===0){f=$shiftRightInt64((new $Int64(d.$high,d.$low)),1);if(!((g=new $Uint64(d.$high&0,(d.$low&1)>>>0),(g.$high===0&&g.$low===0)))){f=new $Int64(~f.$high,~f.$low>>>0);}return[f,$ifaceNil];}else if(c===5){return[(new $Int64(0,((d.$low>>0)))),$ifaceNil];}else if(c===1){return[(new $Int64(d.$high,d.$low)),$ifaceNil];}else{return[new $Int64(-1,4294967295),C.New("bad wiretype for sint")];}};Q.prototype.decodeSignedInt=function(c,d){return this.$val.decodeSignedInt(c,d);};Q.ptr.prototype.putvalue=function(c,d,e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if(!$clone(d,F.Value).CanSet()){$s=-1;return $ifaceNil;}h=$clone(d,F.Value).Kind();if(h===(1)){$s=2;continue;}if((h===(2))||(h===(5))||(h===(6))){$s=3;continue;}if((h===(10))||(h===(11))){$s=4;continue;}if(h===(13)){$s=5;continue;}if(h===(14)){$s=6;continue;}if(h===(24)){$s=7;continue;}if(h===(25)){$s=8;continue;}if(h===(22)){$s=9;continue;}if((h===(23))||(h===(17))){$s=10;continue;}if(h===(21)){$s=11;continue;}if(h===(20)){$s=12;continue;}$s=13;continue;case 2:if(!((c===0))){$s=-1;return C.New("bad wiretype for bool");}if((e.$high>0||(e.$high===0&&e.$low>1))){$s=-1;return C.New("invalid bool value");}$clone(d,F.Value).SetBool(!((e.$high===0&&e.$low===0)));$s=14;continue;case 3:i=g.decodeSignedInt(c,e);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=15;continue;}$s=16;continue;case 15:l=e;m=new $Int(c);n=$clone(d,F.Value).Type().Name();$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=new $String(n);p=D.Println(new BF([new $String("Error Reflect.Int for v="),l,new $String("wiretype="),m,new $String("for Value="),o]));$s=18;case 18:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=-1;return k;case 16:$clone(d,F.Value).SetInt(j);$s=14;continue;case 4:if(c===0){$clone(d,F.Value).SetUint(e);}else if(c===5){$clone(d,F.Value).SetUint((new $Uint64(0,((e.$low>>>0)))));}else if(c===1){$clone(d,F.Value).SetUint((e));}else{$s=-1;return C.New("bad wiretype for uint");}$s=14;continue;case 5:if(!((c===5))){$s=-1;return C.New("bad wiretype for float32");}$clone(d,F.Value).SetFloat((E.Float32frombits(((e.$low>>>0)))));$s=14;continue;case 6:if(!((c===1))){$s=-1;return C.New("bad wiretype for float64");}$clone(d,F.Value).SetFloat(E.Float64frombits(e));$s=14;continue;case 7:if(!((c===2))){$s=-1;return C.New("bad wiretype for string");}$clone(d,F.Value).SetString(($bytesToString(f)));$s=14;continue;case 8:if($interfaceIsEqual($clone(d,F.Value).Type(),AE)){$s=19;continue;}$s=20;continue;case 19:q=g.decodeSignedInt(c,e);r=q[0];s=q[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return s;}t=$clone(G.Unix($div64(r,new $Int64(0,1000000000),false),$div64(r,new $Int64(0,1000000000),true)),G.Time);u=F.ValueOf(new t.constructor.elem(t));$s=21;case 21:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$r=$clone(d,F.Value).Set($clone(u,F.Value));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 20:if(!((c===2))){$s=-1;return C.New("bad wiretype for embedded message");}v=g.message(f,$clone(d,F.Value));$s=23;case 23:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$s=-1;return v;case 9:if($clone(d,F.Value).IsNil()){$s=24;continue;}$s=25;continue;case 24:w=$clone(d,F.Value).Type().Elem();$s=26;case 26:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=g.instantiate(w);$s=27;case 27:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$r=$clone(d,F.Value).Set($clone(x,F.Value));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 25:y=c;z=$clone(d,F.Value).Elem();$s=29;case 29:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=$clone(z,F.Value);ab=e;ac=f;ad=g.putvalue(y,aa,ab,ac);$s=30;case 30:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$s=-1;return ad;case 10:if(!((c===2))){$s=-1;return C.New("bad wiretype for repeated field");}ae=g.slice($clone(d,F.Value),f);$s=31;case 31:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$s=-1;return ae;case 11:if(!((c===2))){$s=-1;return C.New("bad wiretype for repeated field");}if($clone(d,F.Value).IsNil()){$s=32;continue;}$s=33;continue;case 32:af=F.MakeMap($clone(d,F.Value).Type());$s=34;case 34:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}$r=$clone(d,F.Value).Set($clone(af,F.Value));$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 33:ag=g.mapEntry($clone(d,F.Value),f);$s=36;case 36:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}$s=-1;return ag;case 12:if($clone(d,F.Value).IsNil()){$s=37;continue;}$s=38;continue;case 37:ah=g.instantiate($clone(d,F.Value).Type());$s=39;case 39:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}$r=$clone(d,F.Value).Set($clone(ah,F.Value));$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 38:aj=$clone(d,F.Value).Interface();$s=41;case 41:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=$assertType(aj,A.BinaryUnmarshaler,true);ak=ai[0];al=ai[1];if(al){$s=42;continue;}$s=43;continue;case 42:if(!((c===2))){$s=-1;return C.New("bad wiretype for bytes");}am=ak.UnmarshalBinary(f);$s=44;case 44:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=-1;return am;case 43:an=f;ao=$clone(d,F.Value).Interface();$s=45;case 45:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;aq=R(an,ap);$s=46;case 46:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$s=-1;return aq;case 13:$panic(new $String("unsupported value kind "+new F.Kind($clone(d,F.Value).Kind()).String()));case 14:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.putvalue};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.putvalue=function(c,d,e,f){return this.$val.putvalue(c,d,e,f);};Q.ptr.prototype.instantiate=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c.Kind();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e===20){$s=1;continue;}$s=2;continue;case 1:f=(g=d.nm[F.Type.keyFor(c)],g!==undefined?[g.v,true]:[$throwNilPointerError,false]);h=f[0];i=f[1];if(!i){$s=4;continue;}$s=5;continue;case 4:j=c.String();$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$panic(new $String("no constructor for interface "+j));case 5:k=h();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=F.ValueOf(k);$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;case 2:m=F.New(c);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.instantiate};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.instantiate=function(c){return this.$val.instantiate(c);};Q.ptr.prototype.slice=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=$clone(c,F.Value).Type().Elem();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=F.New(g);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,F.Value).Elem();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=0;l=g.Kind();$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if((m===(1))||(m===(5))||(m===(6))||(m===(10))||(m===(11))){$s=6;continue;}if(m===(13)){$s=7;continue;}if(m===(14)){$s=8;continue;}if(m===(8)){$s=9;continue;}$s=10;continue;case 6:n=g;if($interfaceIsEqual(n,(T))){k=5;}else if($interfaceIsEqual(n,(U))){k=1;}else if($interfaceIsEqual(n,(V))){k=5;}else if($interfaceIsEqual(n,(W))){k=1;}else{k=0;}$s=11;continue;case 7:k=5;$s=11;continue;case 8:k=1;$s=11;continue;case 9:if($clone(c,F.Value).Kind()===17){$s=12;continue;}$s=13;continue;case 12:if(!(($clone(c,F.Value).Len()===d.$length))){$panic(new $String("Array length != buffer length"));}o=0;case 15:if(!(o<$clone(c,F.Value).Len())){$s=16;continue;}p=$clone(c,F.Value).Index(o);$s=17;case 17:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$r=$clone(p,F.Value).SetUint((new $Uint64(0,((o<0||o>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+o]))));$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=o+(1)>>0;$s=15;continue;case 16:$s=14;continue;case 13:$r=$clone(c,F.Value).SetBytes(d);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 14:$s=-1;return $ifaceNil;case 10:q=e.putvalue(2,$clone(j,F.Value),new $Uint64(0,0),d);$s=20;case 20:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return r;}s=F.Append($clone(c,F.Value),new BJ([$clone(j,F.Value)]));$s=21;case 21:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$r=$clone(c,F.Value).Set($clone(s,F.Value));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 11:case 4:case 23:if(!(d.$length>0)){$s=24;continue;}u=e.value(k,d,$clone(j,F.Value));$s=25;case 25:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return w;}x=F.Append($clone(c,F.Value),new BJ([$clone(j,F.Value)]));$s=26;case 26:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$r=$clone(c,F.Value).Set($clone(x,F.Value));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=v;$s=23;continue;case 24:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.slice};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.slice=function(c,d){return this.$val.slice(c,d);};Q.ptr.prototype.mapEntry=function(c,d){var aa,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=$clone(c,F.Value).Type().Key();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=F.New(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$clone(c,F.Value).Type().Elem();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=F.New(i);$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=$clone(h,F.Value).Elem();$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=$clone(k,F.Value).Elem();$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=B.Uvarint(d);q=p[0];r=p[1];if(r<=0){$s=-1;return C.New("bad protobuf field key");}s=$subslice(d,r);t=((new $Uint64(q.$high&0,(q.$low&7)>>>0).$low>>0));u=$ifaceNil;w=e.value(t,s,$clone(m,F.Value));$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;s=v[0];u=v[1];if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return u;}case 8:if(!(s.$length>0)){$s=9;continue;}x=B.Uvarint(s);q=x[0];r=x[1];if(r<=0){$s=-1;return C.New("bad protobuf field key");}s=$subslice(s,r);t=((new $Uint64(q.$high&0,(q.$low&7)>>>0).$low>>0));z=e.value(t,s,$clone(o,F.Value));$s=10;case 10:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;s=y[0];u=y[1];if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return u;}$s=8;continue;case 9:if(!$clone(m,F.Value).IsValid()||!$clone(o,F.Value).IsValid()){$s=11;continue;}$s=12;continue;case 11:aa=D.Errorf("proto: bad map data: missing key/val",new BF([]));$s=13;case 13:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}$s=-1;return aa;case 12:$r=$clone(c,F.Value).SetMapIndex($clone(m,F.Value),$clone(o,F.Value));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.mapEntry};}$f.aa=aa;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.mapEntry=function(c,d){return this.$val.mapEntry(c,d);};AD=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=[d];e=[e];d[0]=BD.nil;e[0]=$ifaceNil;$deferred.push([(function(d,e){return function(){var f;f=$recover();if(!($interfaceIsEqual(f,$ifaceNil))){e[0]=C.New($assertType(f,$String));d[0]=BD.nil;}};})(d,e),[]]);if($interfaceIsEqual(c,$ifaceNil)){f=BD.nil;g=$ifaceNil;d[0]=f;e[0]=g;$s=-1;return[d[0],e[0]];}h=new AC.ptr(new H.Buffer.ptr(BD.nil,0,0,BK.zero()));i=F.ValueOf(c);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(!(($clone(j,F.Value).Kind()===22))){k=BD.nil;l=C.New("Encode takes a pointer to struct");d[0]=k;e[0]=l;$s=-1;return[d[0],e[0]];}m=$clone(j,F.Value).Elem();$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$r=h.message($clone(m,F.Value));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=h.Buffer.Bytes();o=$ifaceNil;d[0]=n;e[0]=o;$s=-1;return[d[0],e[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d[0],e[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.Encode=AD;AC.ptr.prototype.message=function(c){var c,d,e,f,g,h,i,j,k,l,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=[d];e=this;d[0]=BI.nil;$deferred.push([(function(d){return function $b(){var f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=$recover();if(!($interfaceIsEqual(f,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:if(!(d[0]===BI.nil)){$s=3;continue;}$s=4;continue;case 3:g=D.Sprintf("%s (field %s)",new BF([f,new $String(d[0].Field.Name)]));$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$panic(new $String(g));$s=5;continue;case 4:$panic(f);case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};})(d),[]]);g=AM($clone(c,F.Value).Type());$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=0;case 2:if(!(h<f.$length)){$s=3;continue;}d[0]=((h<0||h>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+h]);i=$clone(c,F.Value).FieldByIndex(d[0].Index);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;l=$shiftLeft64(((k=d[0].ID,new $Uint64(k.$high,k.$low))),3);if($clone(j,F.Value).CanSet()){$s=5;continue;}$s=6;continue;case 5:$r=e.value(l,$clone(j,F.Value),d[0].Prefix);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:h++;$s=2;continue;case 3:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AC.ptr.prototype.message};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AC.prototype.message=function(c){return this.$val.message(c);};AC.ptr.prototype.value=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;h=$clone(d,F.Value).Interface();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;if($assertType(g,$Bool,true)[1]){$s=2;continue;}if($assertType(g,$Int,true)[1]){$s=3;continue;}if($assertType(g,$Int32,true)[1]){$s=4;continue;}if($assertType(g,G.Time,true)[1]){$s=5;continue;}if($assertType(g,$Int64,true)[1]){$s=6;continue;}if($assertType(g,$Uint32,true)[1]){$s=7;continue;}if($assertType(g,$Uint64,true)[1]){$s=8;continue;}if($assertType(g,Z,true)[1]){$s=9;continue;}if($assertType(g,AA,true)[1]){$s=10;continue;}if($assertType(g,X,true)[1]){$s=11;continue;}if($assertType(g,Y,true)[1]){$s=12;continue;}if($assertType(g,$Float32,true)[1]){$s=13;continue;}if($assertType(g,$Float64,true)[1]){$s=14;continue;}if($assertType(g,$String,true)[1]){$s=15;continue;}if($assertType(g,BD,true)[1]){$s=16;continue;}$s=17;continue;case 2:i=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));x=new $Uint64(0,0);if(i){x=new $Uint64(0,1);}f.uvarint(x);$s=-1;return;case 3:j=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));f.svarint((new $Int64(0,j)));$s=-1;return;case 4:k=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));f.svarint((new $Int64(0,k)));$s=-1;return;case 5:l=$clone(g.$val,G.Time);y=$clone(l,G.Time).UnixNano();f.uvarint(new $Uint64(c.$high|0,(c.$low|1)>>>0));f.u64((new $Uint64(y.$high,y.$low)));$s=-1;return;case 6:m=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));f.svarint(m);$s=-1;return;case 7:n=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));f.uvarint((new $Uint64(0,n)));$s=-1;return;case 8:o=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));f.uvarint(o);$s=-1;return;case 9:p=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|5)>>>0));f.u32(((p>>>0)));$s=-1;return;case 10:q=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|1)>>>0));f.u64((new $Uint64(q.$high,q.$low)));$s=-1;return;case 11:r=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|5)>>>0));f.u32(((r>>>0)));$s=-1;return;case 12:s=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|1)>>>0));f.u64((new $Uint64(s.$high,s.$low)));$s=-1;return;case 13:t=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|5)>>>0));f.u32(E.Float32bits(t));$s=-1;return;case 14:u=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|1)>>>0));f.u64(E.Float64bits(u));$s=-1;return;case 15:v=g.$val;f.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));z=(new BD($stringToBytes(v)));f.uvarint((new $Uint64(0,z.$length)));f.Buffer.Write(z);$s=-1;return;case 16:w=g.$val;if(w===BD.nil){if(!((e===1))){$panic(new $String("passed nil []byte to required field"));}$s=-1;return;}f.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));f.uvarint((new $Uint64(0,w.$length)));f.Buffer.Write(w);$s=-1;return;case 17:aa=$clone(d,F.Value).Kind();if(aa===(1)){$s=19;continue;}if((aa===(2))||(aa===(5))||(aa===(6))){$s=20;continue;}if((aa===(10))||(aa===(11))){$s=21;continue;}if(aa===(13)){$s=22;continue;}if(aa===(14)){$s=23;continue;}if(aa===(24)){$s=24;continue;}if(aa===(25)){$s=25;continue;}if((aa===(23))||(aa===(17))){$s=26;continue;}if(aa===(22)){$s=27;continue;}if(aa===(20)){$s=28;continue;}if(aa===(21)){$s=29;continue;}$s=30;continue;case 19:f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));ab=new $Uint64(0,0);if($clone(d,F.Value).Bool()){ab=new $Uint64(0,1);}f.uvarint(ab);$s=31;continue;case 20:f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));f.svarint($clone(d,F.Value).Int());$s=31;continue;case 21:f.uvarint(new $Uint64(c.$high|0,(c.$low|0)>>>0));f.uvarint($clone(d,F.Value).Uint());$s=31;continue;case 22:f.uvarint(new $Uint64(c.$high|0,(c.$low|5)>>>0));f.u32(E.Float32bits(($fround($clone(d,F.Value).Float()))));$s=31;continue;case 23:f.uvarint(new $Uint64(c.$high|0,(c.$low|1)>>>0));f.u64(E.Float64bits($clone(d,F.Value).Float()));$s=31;continue;case 24:f.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));ac=$clone(d,F.Value).String();$s=32;case 32:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=(new BD($stringToBytes(ac)));f.uvarint((new $Uint64(0,ad.$length)));f.Buffer.Write(ad);$s=31;continue;case 25:f.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));ae=new AC.ptr(new H.Buffer.ptr(BD.nil,0,0,BK.zero()));$r=ae.message($clone(d,F.Value));$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}af=ae.Buffer.Bytes();f.uvarint((new $Uint64(0,af.$length)));f.Buffer.Write(af);$s=31;continue;case 26:$r=f.slice(c,$clone(d,F.Value));$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 27:if($clone(d,F.Value).IsNil()){if(e===2){$panic(new $String("required field is nil"));}$s=-1;return;}ag=c;ah=$clone(d,F.Value).Elem();$s=35;case 35:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(ah,F.Value);aj=e;$r=f.value(ag,ai,aj);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=31;continue;case 28:if($clone(d,F.Value).IsNil()){$s=-1;return;}al=$clone(d,F.Value).Interface();$s=37;case 37:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=$assertType(al,A.BinaryMarshaler,true);am=ak[0];an=ak[1];if(an){$s=38;continue;}$s=39;continue;case 38:f.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));ap=am.MarshalBinary();$s=40;case 40:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=ao[0];ar=ao[1];if(!($interfaceIsEqual(ar,$ifaceNil))){$s=41;continue;}$s=42;continue;case 41:as=ar.Error();$s=43;case 43:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$panic(new $String(as));case 42:f.uvarint((new $Uint64(0,aq.$length)));f.Buffer.Write(aq);$s=-1;return;case 39:at=c;au=$clone(d,F.Value).Elem();$s=44;case 44:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=$clone(au,F.Value);aw=e;$r=f.value(at,av,aw);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=31;continue;case 29:$r=f.handleMap(c,$clone(d,F.Value),e);$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 30:ax=D.Sprintf("unsupported field Kind %d",new BF([new F.Kind($clone(d,F.Value).Kind())]));$s=47;case 47:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}$panic(new $String(ax));case 31:case 18:$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.value=function(c,d,e){return this.$val.value(c,d,e);};AC.ptr.prototype.slice=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=$clone(d,F.Value).Len();g=new AC.ptr(new H.Buffer.ptr(BD.nil,0,0,BK.zero()));i=$clone(d,F.Value).Interface();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;if($assertType(h,BL,true)[1]){$s=2;continue;}if($assertType(h,BM,true)[1]){$s=3;continue;}if($assertType(h,BN,true)[1]){$s=4;continue;}if($assertType(h,BO,true)[1]){$s=5;continue;}if($assertType(h,BP,true)[1]){$s=6;continue;}if($assertType(h,BQ,true)[1]){$s=7;continue;}if($assertType(h,BR,true)[1]){$s=8;continue;}if($assertType(h,BS,true)[1]){$s=9;continue;}if($assertType(h,BT,true)[1]){$s=10;continue;}if($assertType(h,BU,true)[1]){$s=11;continue;}if($assertType(h,BV,true)[1]){$s=12;continue;}if($assertType(h,BD,true)[1]){$s=13;continue;}if($assertType(h,BW,true)[1]){$s=14;continue;}$s=15;continue;case 2:j=h.$val;x=0;while(true){if(!(x<f)){break;}y=new $Uint64(0,0);if(((x<0||x>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+x])){y=new $Uint64(0,1);}g.uvarint(y);x=x+(1)>>0;}$s=16;continue;case 3:k=h.$val;z=0;while(true){if(!(z<f)){break;}g.svarint((new $Int64(0,((z<0||z>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+z]))));z=z+(1)>>0;}$s=16;continue;case 4:l=h.$val;aa=0;while(true){if(!(aa<f)){break;}g.svarint(((aa<0||aa>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+aa]));aa=aa+(1)>>0;}$s=16;continue;case 5:m=h.$val;ab=0;while(true){if(!(ab<f)){break;}g.uvarint((new $Uint64(0,((ab<0||ab>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+ab]))));ab=ab+(1)>>0;}$s=16;continue;case 6:n=h.$val;ac=0;while(true){if(!(ac<f)){break;}g.uvarint(((ac<0||ac>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+ac]));ac=ac+(1)>>0;}$s=16;continue;case 7:o=h.$val;ad=0;while(true){if(!(ad<f)){break;}g.u32(((((ad<0||ad>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+ad])>>>0)));ad=ad+(1)>>0;}$s=16;continue;case 8:p=h.$val;ae=0;while(true){if(!(ae<f)){break;}g.u64(((af=((ae<0||ae>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+ae]),new $Uint64(af.$high,af.$low))));ae=ae+(1)>>0;}$s=16;continue;case 9:q=h.$val;ag=0;while(true){if(!(ag<f)){break;}g.u32(((((ag<0||ag>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ag])>>>0)));ag=ag+(1)>>0;}$s=16;continue;case 10:r=h.$val;ah=0;while(true){if(!(ah<f)){break;}g.u64(((ai=((ah<0||ah>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+ah]),new $Uint64(ai.$high,ai.$low))));ah=ah+(1)>>0;}$s=16;continue;case 11:s=h.$val;aj=0;while(true){if(!(aj<f)){break;}g.u32(E.Float32bits(((aj<0||aj>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+aj])));aj=aj+(1)>>0;}$s=16;continue;case 12:t=h.$val;ak=0;while(true){if(!(ak<f)){break;}g.u64(E.Float64bits(((ak<0||ak>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+ak])));ak=ak+(1)>>0;}$s=16;continue;case 13:u=h.$val;e.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));e.uvarint((new $Uint64(0,f)));e.Buffer.Write(u);$s=-1;return;case 14:v=h.$val;al=0;case 17:if(!(al<f)){$s=18;continue;}am=$clone(d,F.Value).Index(al);$s=19;case 19:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;ao=$clone(an,F.Value).Interface();$s=20;case 20:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=$assertType(ao,$String);aq=(new BD($stringToBytes(ap)));e.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));e.uvarint((new $Uint64(0,aq.$length)));e.Buffer.Write(aq);al=al+(1)>>0;$s=17;continue;case 18:$s=-1;return;case 15:w=h;$r=e.sliceReflect(c,$clone(d,F.Value));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 16:e.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));ar=g.Buffer.Bytes();e.uvarint((new $Uint64(0,ar.$length)));e.Buffer.Write(ar);$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.slice};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.slice=function(c,d){return this.$val.slice(c,d);};AC.ptr.prototype.handleMap=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;h=$clone(d,F.Value).MapKeys();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=0;case 2:if(!(i<g.$length)){$s=3;continue;}j=((i<0||i>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+i]);k=$clone(d,F.Value).MapIndex($clone(j,F.Value));$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;m=$clone(l,F.Value).Kind();n=m;if(n===(22)){$s=6;continue;}if((n===(23))||(n===(17))){$s=7;continue;}$s=8;continue;case 6:if($clone(l,F.Value).IsNil()){$panic(new $String("proto: map has nil element"));}$s=8;continue;case 7:o=$clone(l,F.Value).Type().Elem();$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o.Kind();$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(!((p===8))){$s=9;continue;}$s=10;continue;case 9:$panic(new $String("protobuf: map only support []byte or string as repeated value"));case 10:case 8:case 5:q=new AC.ptr(new H.Buffer.ptr(BD.nil,0,0,BK.zero()));$r=q.value(c,$clone(j,F.Value),e);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=($shiftRightUint64(c,3));$r=q.value($shiftLeft64((new $Uint64(r.$high+0,r.$low+1)),3),$clone(l,F.Value),e);$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));s=q.Buffer.Bytes();f.uvarint((new $Uint64(0,s.$length)));f.Buffer.Write(s);i++;$s=2;continue;case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.handleMap};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.handleMap=function(c,d,e){return this.$val.handleMap(c,d,e);};AC.ptr.prototype.sliceReflect=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=$clone(d,F.Value).Kind();if(!((f===23))&&!((f===17))){$panic(new $String("no slice passed"));}g=$clone(d,F.Value).Len();h=$clone(d,F.Value).Type().Elem();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=new AC.ptr(new H.Buffer.ptr(BD.nil,0,0,BK.zero()));k=i.Kind();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l===(1)){$s=4;continue;}if((l===(2))||(l===(5))||(l===(6))){$s=5;continue;}if((l===(10))||(l===(11))){$s=6;continue;}if(l===(13)){$s=7;continue;}if(l===(14)){$s=8;continue;}if(l===(8)){$s=9;continue;}$s=10;continue;case 4:m=0;case 12:if(!(m<g)){$s=13;continue;}n=new $Uint64(0,0);o=$clone(d,F.Value).Index(m);$s=16;case 16:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(o,F.Value).Bool();$s=17;case 17:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(p){$s=14;continue;}$s=15;continue;case 14:n=new $Uint64(0,1);case 15:j.uvarint(n);m=m+(1)>>0;$s=12;continue;case 13:$s=11;continue;case 5:q=0;case 18:if(!(q<g)){$s=19;continue;}r=$clone(d,F.Value).Index(q);$s=20;case 20:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=$clone(r,F.Value).Int();$s=21;case 21:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$r=j.svarint(s);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}q=q+(1)>>0;$s=18;continue;case 19:$s=11;continue;case 6:t=0;case 23:if(!(t<g)){$s=24;continue;}u=$clone(d,F.Value).Index(t);$s=25;case 25:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=$clone(u,F.Value).Uint();$s=26;case 26:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$r=j.uvarint(v);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t=t+(1)>>0;$s=23;continue;case 24:$s=11;continue;case 7:w=0;case 28:if(!(w<g)){$s=29;continue;}x=$clone(d,F.Value).Index(w);$s=30;case 30:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,F.Value).Float();$s=31;case 31:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=E.Float32bits(($fround(y)));$s=32;case 32:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$r=j.u32(z);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}w=w+(1)>>0;$s=28;continue;case 29:$s=11;continue;case 8:aa=0;case 34:if(!(aa<g)){$s=35;continue;}ab=$clone(d,F.Value).Index(aa);$s=36;case 36:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,F.Value).Float();$s=37;case 37:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=E.Float64bits(ac);$s=38;case 38:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$r=j.u64(ad);$s=39;case 39:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=aa+(1)>>0;$s=34;continue;case 35:$s=11;continue;case 9:e.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));e.uvarint((new $Uint64(0,g)));ae=BD.nil;if($clone(d,F.Value).Kind()===17){$s=40;continue;}$s=41;continue;case 40:af=$clone(d,F.Value).Slice(0,g);$s=43;case 43:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;ah=$clone(ag,F.Value).Convert(AG);$s=44;case 44:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(ah,F.Value).Interface();$s=45;case 45:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ae=$assertType(ai,BD);$s=42;continue;case 41:aj=$clone(d,F.Value).Convert(AG);$s=46;case 46:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=$clone(aj,F.Value).Interface();$s=47;case 47:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ae=$assertType(ak,BD);case 42:e.Buffer.Write(ae);$s=-1;return;case 10:al=$clone(d,F.Value).Type().Elem();$s=48;case 48:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;ao=am.Kind();$s=52;case 52:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}if(ao===23){an=true;$s=51;continue s;}ap=am.Kind();$s=53;case 53:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}an=ap===17;case 51:if(an){$s=49;continue;}$s=50;continue;case 49:aq=am.Elem();$s=54;case 54:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;as=ar.Kind();$s=57;case 57:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!((as===8))){$s=55;continue;}$s=56;continue;case 55:$panic(new $String("protobuf: no support for 2-dimensional array except for [][]byte"));case 56:case 50:at=0;case 58:if(!(at<g)){$s=59;continue;}au=c;av=$clone(d,F.Value).Index(at);$s=60;case 60:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=$clone(av,F.Value);$r=e.value(au,aw,0);$s=61;case 61:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}at=at+(1)>>0;$s=58;continue;case 59:$s=-1;return;case 11:case 2:e.uvarint(new $Uint64(c.$high|0,(c.$low|2)>>>0));ax=j.Buffer.Bytes();e.uvarint((new $Uint64(0,ax.$length)));e.Buffer.Write(ax);$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.sliceReflect};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.sliceReflect=function(c,d){return this.$val.sliceReflect(c,d);};AC.ptr.prototype.uvarint=function(c){var c,d,e,f;d=this;e=BX.zero();f=B.PutUvarint(new BD(e),c);d.Buffer.Write($subslice(new BD(e),0,f));};AC.prototype.uvarint=function(c){return this.$val.uvarint(c);};AC.ptr.prototype.svarint=function(c){var c,d,e,f;d=this;if((c.$high>0||(c.$high===0&&c.$low>=0))){d.uvarint($shiftLeft64((new $Uint64(c.$high,c.$low)),1));}else{d.uvarint((e=((f=$shiftLeft64(c,1),new $Uint64(f.$high,f.$low))),new $Uint64(~e.$high,~e.$low>>>0)));}};AC.prototype.svarint=function(c){return this.$val.svarint(c);};AC.ptr.prototype.u32=function(c){var c,d,e;d=this;e=BY.zero();e[0]=((c<<24>>>24));e[1]=(((c>>>8>>>0)<<24>>>24));e[2]=(((c>>>16>>>0)<<24>>>24));e[3]=(((c>>>24>>>0)<<24>>>24));d.Buffer.Write(new BD(e));};AC.prototype.u32=function(c){return this.$val.u32(c);};AC.ptr.prototype.u64=function(c){var c,d,e;d=this;e=BZ.zero();e[0]=((c.$low<<24>>>24));e[1]=(($shiftRightUint64(c,8).$low<<24>>>24));e[2]=(($shiftRightUint64(c,16).$low<<24>>>24));e[3]=(($shiftRightUint64(c,24).$low<<24>>>24));e[4]=(($shiftRightUint64(c,32).$low<<24>>>24));e[5]=(($shiftRightUint64(c,40).$low<<24>>>24));e[6]=(($shiftRightUint64(c,48).$low<<24>>>24));e[7]=(($shiftRightUint64(c,56).$low<<24>>>24));d.Buffer.Write(new BD(e));};AC.prototype.u64=function(c){return this.$val.u64(c);};AI=function(c){var c,d,e,f,g,h,i,j,k,l,m,n;d=0;e=0;f="";g=new F.StructTag(c.Tag).Get("protobuf");if(g===""){return[d,e,f];}h=J.Split(g,",");i=h;j=0;while(true){if(!(j<i.$length)){break;}k=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(k==="opt"){e=1;}else if(k==="req"){e=2;}else{l=I.Atoi(k);m=l[0];n=l[1];if(!($interfaceIsEqual(n,$ifaceNil))){f=k;}else{d=(m);}}j++;}return[d,e,f];};$pkg.ParseTag=AI;AJ.ptr.prototype.Required=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.Prefix===2){d=true;$s=1;continue s;}e=c.Field.Type.Kind();$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=!((e===22));case 1:$s=-1;return d;}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.Required};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.Required=function(){return this.$val.Required();};AM=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=[d];$r=AL.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=(f=AK[F.Type.keyFor(c)],f!==undefined?[f.v,true]:[CA.nil,false]);g=e[0];h=e[1];$r=AL.Unlock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(h){$s=-1;return g;}d[0]=0;i=AN((d.$ptr||(d.$ptr=new CB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))),c);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;j=$makeMap($Int64.keyFor,[]);k=g;l=0;case 4:if(!(l<k.$length)){$s=5;continue;}m=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);n=(o=j[$Int64.keyFor(m.ID)],o!==undefined?[o.v,true]:[new CC.ptr(),false]);p=n[1];if(p){$s=6;continue;}$s=7;continue;case 6:q=m.ID;r=c.PkgPath();$s=8;case 8:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=new $String(r);t=c.Name();$s=9;case 9:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=new $String(t);v=D.Sprintf("protobuf ID %d reused in %s.%s",new BF([q,s,u]));$s=10;case 10:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$panic(new $String(v));case 7:w=m.ID;(j||$throwRuntimeError("assignment to entry in nil map"))[$Int64.keyFor(w)]={k:w,v:new CC.ptr()};l++;$s=4;continue;case 5:$r=AL.Lock();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(AL,"Unlock"),[]]);x=c;(AK||$throwRuntimeError("assignment to entry in nil map"))[F.Type.keyFor(x)]={k:x,v:g};$s=-1;return g;}return;}}catch(err){$err=err;$s=-1;return CA.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AM};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.ProtoFields=AM;AN=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=d.Kind();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e===22){$s=1;continue;}$s=2;continue;case 1:f=c;g=d.Elem();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=AN(f,h);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;case 2:j=new CA([]);k=0;case 6:l=d.NumField();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!(k<l)){$s=7;continue;}m=d.Field(k);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=$clone(m,F.StructField);c.$set(c.$get()+(1)>>0);o=AI($clone(n,F.StructField));p=o[0];q=o[1];r=o[2];if(!((p===0))){c.$set(p);}if(n.Anonymous){$s=10;continue;}$s=11;continue;case 10:c.$set(c.$get()-(1)>>0);t=AN(c,n.Type);$s=13;case 13:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=0;case 14:if(!(u<s.$length)){$s=15;continue;}v=((u<0||u>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+u]);v.Index=$appendSlice(new BH([k]),v.Index);j=$append(j,v);u++;$s=14;continue;case 15:$s=12;continue;case 11:j=$append(j,new AJ.ptr((new $Int64(0,c.$get())),q,r,new BH([k]),$clone(n,F.StructField)));case 12:k=k+(1)>>0;$s=6;continue;case 7:$s=-1;return j;}return;}if($f===undefined){$f={$blk:AN};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};CG.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CH.methods=[{prop:"message",name:"message",pkg:"github.com/dedis/protobuf",typ:$funcType([BD,F.Value],[$error],false)},{prop:"value",name:"value",pkg:"github.com/dedis/protobuf",typ:$funcType([$Int,BD,F.Value],[BD,$error],false)},{prop:"decodeSignedInt",name:"decodeSignedInt",pkg:"github.com/dedis/protobuf",typ:$funcType([$Int,$Uint64],[$Int64,$error],false)},{prop:"putvalue",name:"putvalue",pkg:"github.com/dedis/protobuf",typ:$funcType([$Int,F.Value,$Uint64,BD],[$error],false)},{prop:"instantiate",name:"instantiate",pkg:"github.com/dedis/protobuf",typ:$funcType([F.Type],[F.Value],false)},{prop:"slice",name:"slice",pkg:"github.com/dedis/protobuf",typ:$funcType([F.Value,BD],[$error],false)},{prop:"mapEntry",name:"mapEntry",pkg:"github.com/dedis/protobuf",typ:$funcType([F.Value,BD],[$error],false)}];CI.methods=[{prop:"message",name:"message",pkg:"github.com/dedis/protobuf",typ:$funcType([F.Value],[],false)},{prop:"value",name:"value",pkg:"github.com/dedis/protobuf",typ:$funcType([$Uint64,F.Value,AH],[],false)},{prop:"slice",name:"slice",pkg:"github.com/dedis/protobuf",typ:$funcType([$Uint64,F.Value],[],false)},{prop:"handleMap",name:"handleMap",pkg:"github.com/dedis/protobuf",typ:$funcType([$Uint64,F.Value,AH],[],false)},{prop:"sliceReflect",name:"sliceReflect",pkg:"github.com/dedis/protobuf",typ:$funcType([$Uint64,F.Value],[],false)},{prop:"uvarint",name:"uvarint",pkg:"github.com/dedis/protobuf",typ:$funcType([$Uint64],[],false)},{prop:"svarint",name:"svarint",pkg:"github.com/dedis/protobuf",typ:$funcType([$Int64],[],false)},{prop:"u32",name:"u32",pkg:"github.com/dedis/protobuf",typ:$funcType([$Uint32],[],false)},{prop:"u64",name:"u64",pkg:"github.com/dedis/protobuf",typ:$funcType([$Uint64],[],false)}];BI.methods=[{prop:"Required",name:"Required",pkg:"",typ:$funcType([],[$Bool],false)}];P.init(F.Type,BE);Q.init("github.com/dedis/protobuf",[{prop:"nm",name:"nm",anonymous:false,exported:false,typ:P,tag:""}]);AC.init("",[{prop:"Buffer",name:"Buffer",anonymous:true,exported:true,typ:H.Buffer,tag:""}]);AJ.init("",[{prop:"ID",name:"ID",anonymous:false,exported:true,typ:$Int64,tag:""},{prop:"Prefix",name:"Prefix",anonymous:false,exported:true,typ:AH,tag:""},{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Index",name:"Index",anonymous:false,exported:true,typ:BH,tag:""},{prop:"Field",name:"Field",anonymous:false,exported:true,typ:F.StructField,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=H.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AL=new K.Mutex.ptr(0,0);T=F.TypeOf(new Z(0));U=F.TypeOf(new AA(0,0));V=F.TypeOf(new X(0));W=F.TypeOf(new Y(0,0));AE=F.TypeOf((a=new G.Time.ptr(new $Uint64(0,0),new $Int64(0,0),BC.nil),new a.constructor.elem(a)));AF=F.TypeOf(new G.Duration(0,0));AG=F.TypeOf(new BD([]));AK=$makeMap(F.Type.keyFor,[]);b=M.MustCompile("((?:ID)|(?:[A-Z][a-z_0-9]+)|([\\w\\d]+))");$s=16;case 16:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}AO=b;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["crypto"]=(function(){var $pkg={},$init,A,B,C,D,N,O,P,E,F,G;A=$packages["hash"];B=$packages["io"];C=$packages["strconv"];D=$pkg.Hash=$newType(4,$kindUint,"crypto.Hash",true,"crypto",true,null);N=$sliceType($Uint8);O=$funcType([],[A.Hash],false);P=$sliceType(O);D.prototype.HashFunc=function(){var a;a=this.$val;return a;};$ptrType(D).prototype.HashFunc=function(){return new D(this.$get()).HashFunc();};D.prototype.Size=function(){var a;a=this.$val;if(a>0&&a<20){return((((a<0||a>=E.$length)?($throwRuntimeError("index out of range"),undefined):E.$array[E.$offset+a])>>0));}$panic(new $String("crypto: Size of unknown hash function"));};$ptrType(D).prototype.Size=function(){return new D(this.$get()).Size();};D.prototype.New=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this.$val;if(a>0&&a<20){$s=1;continue;}$s=2;continue;case 1:b=((a<0||a>=F.$length)?($throwRuntimeError("index out of range"),undefined):F.$array[F.$offset+a]);if(!(b===$throwNilPointerError)){$s=3;continue;}$s=4;continue;case 3:c=b();$s=5;case 5:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 4:case 2:$panic(new $String("crypto: requested hash function #"+C.Itoa(((a>>0)))+" is unavailable"));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:D.prototype.New};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(D).prototype.New=function(){return new D(this.$get()).New();};D.prototype.Available=function(){var a;a=this.$val;return a<20&&!(((a<0||a>=F.$length)?($throwRuntimeError("index out of range"),undefined):F.$array[F.$offset+a])===$throwNilPointerError);};$ptrType(D).prototype.Available=function(){return new D(this.$get()).Available();};G=function(a,b){var a,b;if(a>=20){$panic(new $String("crypto: RegisterHash of unknown hash function"));}((a<0||a>=F.$length)?($throwRuntimeError("index out of range"),undefined):F.$array[F.$offset+a]=b);};$pkg.RegisterHash=G;D.methods=[{prop:"HashFunc",name:"HashFunc",pkg:"",typ:$funcType([],[D],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"New",name:"New",pkg:"",typ:$funcType([],[A.Hash],false)},{prop:"Available",name:"Available",pkg:"",typ:$funcType([],[$Bool],false)}];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}E=new N([0,16,16,20,28,32,48,64,36,20,28,32,48,64,28,32,32,32,48,64]);F=$makeSlice(P,20);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["crypto/md5"]=(function(){var $pkg={},$init,A,B,C,E,L,M,N,O,P,Q,R,S,H,K,D,F,I,J;A=$packages["crypto"];B=$packages["hash"];C=$packages["runtime"];E=$pkg.digest=$newType(0,$kindStruct,"md5.digest",true,"crypto/md5",false,function(s_,x_,nx_,len_){this.$val=this;if(arguments.length===0){this.s=L.zero();this.x=M.zero();this.nx=0;this.len=new $Uint64(0,0);return;}this.s=s_;this.x=x_;this.nx=nx_;this.len=len_;});L=$arrayType($Uint32,4);M=$arrayType($Uint8,64);N=$sliceType($Uint8);O=$arrayType($Uint8,16);P=$arrayType($Uint8,4);Q=$arrayType($Uint32,16);R=$ptrType(Q);S=$ptrType(E);D=function(){A.RegisterHash(2,F);};E.ptr.prototype.Reset=function(){var a;a=this;a.s[0]=1732584193;a.s[1]=4023233417;a.s[2]=2562383102;a.s[3]=271733878;a.nx=0;a.len=new $Uint64(0,0);};E.prototype.Reset=function(){return this.$val.Reset();};F=function(){var a;a=new E.ptr(L.zero(),M.zero(),0,new $Uint64(0,0));a.Reset();return a;};$pkg.New=F;E.ptr.prototype.Size=function(){var a;a=this;return 16;};E.prototype.Size=function(){return this.$val.Size();};E.ptr.prototype.BlockSize=function(){var a;a=this;return 64;};E.prototype.BlockSize=function(){return this.$val.BlockSize();};E.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;d.len=(e=d.len,f=(new $Uint64(0,b)),new $Uint64(e.$high+f.$high,e.$low+f.$low));if(d.nx>0){$s=1;continue;}$s=2;continue;case 1:g=$copySlice($subslice(new N(d.x),d.nx),a);d.nx=d.nx+(g)>>0;if(d.nx===64){$s=3;continue;}$s=4;continue;case 3:$r=K(d,new N(d.x));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.nx=0;case 4:a=$subslice(a,g);case 2:if(a.$length>=64){$s=6;continue;}$s=7;continue;case 6:h=(a.$length&~63)>>0;$r=K(d,$subslice(a,0,h));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=$subslice(a,h);case 7:if(a.$length>0){d.nx=$copySlice(new N(d.x),a);}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Write=function(a){return this.$val.Write(a);};E.ptr.prototype.Sum=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b,E);d=c.checkSum();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,O);$s=-1;return $appendSlice(a,new N(e));}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Sum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Sum=function(a){return this.$val.Sum(a);};E.ptr.prototype.checkSum=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.len;c=M.zero();c[0]=128;if((d=$div64(b,new $Uint64(0,64),true),(d.$high<0||(d.$high===0&&d.$low<56)))){$s=1;continue;}$s=2;continue;case 1:f=a.Write($subslice(new N(c),0,$flatten64((e=$div64(b,new $Uint64(0,64),true),new $Uint64(0-e.$high,56-e.$low)))));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=3;continue;case 2:h=a.Write($subslice(new N(c),0,$flatten64((g=$div64(b,new $Uint64(0,64),true),new $Uint64(0-g.$high,120-g.$low)))));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 3:b=$shiftLeft64(b,(3));i=0;while(true){if(!(i<8)){break;}((i<0||i>=c.length)?($throwRuntimeError("index out of range"),undefined):c[i]=(($shiftRightUint64(b,((8*i>>>0))).$low<<24>>>24)));i=i+(1)>>>0;}j=a.Write($subslice(new N(c),0,8));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;if(!((a.nx===0))){$panic(new $String("d.nx != 0"));}k=O.zero();l=a.s;m=0;while(true){if(!(m<4)){break;}n=m;o=((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]);(p=$imul(n,4),((p<0||p>=k.length)?($throwRuntimeError("index out of range"),undefined):k[p]=((o<<24>>>24))));(q=($imul(n,4))+1>>0,((q<0||q>=k.length)?($throwRuntimeError("index out of range"),undefined):k[q]=(((o>>>8>>>0)<<24>>>24))));(r=($imul(n,4))+2>>0,((r<0||r>=k.length)?($throwRuntimeError("index out of range"),undefined):k[r]=(((o>>>16>>>0)<<24>>>24))));(s=($imul(n,4))+3>>0,((s<0||s>=k.length)?($throwRuntimeError("index out of range"),undefined):k[s]=(((o>>>24>>>0)<<24>>>24))));m++;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.checkSum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.checkSum=function(){return this.$val.checkSum();};I=function(){var a,b;a=67305985;b=$toNativeArray($kindUint8,[1,2,3,4]);H=$equal(a,b,P);};J=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=a.s[0];d=a.s[1];e=a.s[2];f=a.s[3];g=R.nil;h=Q.zero();while(true){if(!(b.$length>=64)){break;}i=c;j=d;k=e;l=f;m=i;n=j;o=k;p=l;if(false){g=(($sliceToArray(b)));}else if(H&&((((($sliceToArray(b)))&3)>>>0)===0)){g=(($sliceToArray(b)));}else{g=h;q=0;r=0;while(true){if(!(r<16)){break;}(v=r&15,g.nilCheck,((v<0||v>=g.length)?($throwRuntimeError("index out of range"),undefined):g[v]=((((((((((q<0||q>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+q])>>>0))|((((s=q+1>>0,((s<0||s>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+s]))>>>0))<<8>>>0))>>>0)|((((t=q+2>>0,((t<0||t>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+t]))>>>0))<<16>>>0))>>>0)|((((u=q+3>>0,((u<0||u>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+u]))>>>0))<<24>>>0))>>>0)));q=q+(4)>>0;r=r+(1)>>0;}}c=c+((((((((((((e^f)>>>0))&d)>>>0))^f)>>>0))+(g.nilCheck,g[0])>>>0)+3614090360>>>0))>>>0;c=(((c<<7>>>0)|(c>>>25>>>0))>>>0)+d>>>0;f=f+((((((((((((d^e)>>>0))&c)>>>0))^e)>>>0))+(g.nilCheck,g[1])>>>0)+3905402710>>>0))>>>0;f=(((f<<12>>>0)|(f>>>20>>>0))>>>0)+c>>>0;e=e+((((((((((((c^d)>>>0))&f)>>>0))^d)>>>0))+(g.nilCheck,g[2])>>>0)+606105819>>>0))>>>0;e=(((e<<17>>>0)|(e>>>15>>>0))>>>0)+f>>>0;d=d+((((((((((((f^c)>>>0))&e)>>>0))^c)>>>0))+(g.nilCheck,g[3])>>>0)+3250441966>>>0))>>>0;d=(((d<<22>>>0)|(d>>>10>>>0))>>>0)+e>>>0;c=c+((((((((((((e^f)>>>0))&d)>>>0))^f)>>>0))+(g.nilCheck,g[4])>>>0)+4118548399>>>0))>>>0;c=(((c<<7>>>0)|(c>>>25>>>0))>>>0)+d>>>0;f=f+((((((((((((d^e)>>>0))&c)>>>0))^e)>>>0))+(g.nilCheck,g[5])>>>0)+1200080426>>>0))>>>0;f=(((f<<12>>>0)|(f>>>20>>>0))>>>0)+c>>>0;e=e+((((((((((((c^d)>>>0))&f)>>>0))^d)>>>0))+(g.nilCheck,g[6])>>>0)+2821735955>>>0))>>>0;e=(((e<<17>>>0)|(e>>>15>>>0))>>>0)+f>>>0;d=d+((((((((((((f^c)>>>0))&e)>>>0))^c)>>>0))+(g.nilCheck,g[7])>>>0)+4249261313>>>0))>>>0;d=(((d<<22>>>0)|(d>>>10>>>0))>>>0)+e>>>0;c=c+((((((((((((e^f)>>>0))&d)>>>0))^f)>>>0))+(g.nilCheck,g[8])>>>0)+1770035416>>>0))>>>0;c=(((c<<7>>>0)|(c>>>25>>>0))>>>0)+d>>>0;f=f+((((((((((((d^e)>>>0))&c)>>>0))^e)>>>0))+(g.nilCheck,g[9])>>>0)+2336552879>>>0))>>>0;f=(((f<<12>>>0)|(f>>>20>>>0))>>>0)+c>>>0;e=e+((((((((((((c^d)>>>0))&f)>>>0))^d)>>>0))+(g.nilCheck,g[10])>>>0)+4294925233>>>0))>>>0;e=(((e<<17>>>0)|(e>>>15>>>0))>>>0)+f>>>0;d=d+((((((((((((f^c)>>>0))&e)>>>0))^c)>>>0))+(g.nilCheck,g[11])>>>0)+2304563134>>>0))>>>0;d=(((d<<22>>>0)|(d>>>10>>>0))>>>0)+e>>>0;c=c+((((((((((((e^f)>>>0))&d)>>>0))^f)>>>0))+(g.nilCheck,g[12])>>>0)+1804603682>>>0))>>>0;c=(((c<<7>>>0)|(c>>>25>>>0))>>>0)+d>>>0;f=f+((((((((((((d^e)>>>0))&c)>>>0))^e)>>>0))+(g.nilCheck,g[13])>>>0)+4254626195>>>0))>>>0;f=(((f<<12>>>0)|(f>>>20>>>0))>>>0)+c>>>0;e=e+((((((((((((c^d)>>>0))&f)>>>0))^d)>>>0))+(g.nilCheck,g[14])>>>0)+2792965006>>>0))>>>0;e=(((e<<17>>>0)|(e>>>15>>>0))>>>0)+f>>>0;d=d+((((((((((((f^c)>>>0))&e)>>>0))^c)>>>0))+(g.nilCheck,g[15])>>>0)+1236535329>>>0))>>>0;d=(((d<<22>>>0)|(d>>>10>>>0))>>>0)+e>>>0;c=c+((((((((((((d^e)>>>0))&f)>>>0))^e)>>>0))+(g.nilCheck,g[1])>>>0)+4129170786>>>0))>>>0;c=(((c<<5>>>0)|(c>>>27>>>0))>>>0)+d>>>0;f=f+((((((((((((c^d)>>>0))&e)>>>0))^d)>>>0))+(g.nilCheck,g[6])>>>0)+3225465664>>>0))>>>0;f=(((f<<9>>>0)|(f>>>23>>>0))>>>0)+c>>>0;e=e+((((((((((((f^c)>>>0))&d)>>>0))^c)>>>0))+(g.nilCheck,g[11])>>>0)+643717713>>>0))>>>0;e=(((e<<14>>>0)|(e>>>18>>>0))>>>0)+f>>>0;d=d+((((((((((((e^f)>>>0))&c)>>>0))^f)>>>0))+(g.nilCheck,g[0])>>>0)+3921069994>>>0))>>>0;d=(((d<<20>>>0)|(d>>>12>>>0))>>>0)+e>>>0;c=c+((((((((((((d^e)>>>0))&f)>>>0))^e)>>>0))+(g.nilCheck,g[5])>>>0)+3593408605>>>0))>>>0;c=(((c<<5>>>0)|(c>>>27>>>0))>>>0)+d>>>0;f=f+((((((((((((c^d)>>>0))&e)>>>0))^d)>>>0))+(g.nilCheck,g[10])>>>0)+38016083>>>0))>>>0;f=(((f<<9>>>0)|(f>>>23>>>0))>>>0)+c>>>0;e=e+((((((((((((f^c)>>>0))&d)>>>0))^c)>>>0))+(g.nilCheck,g[15])>>>0)+3634488961>>>0))>>>0;e=(((e<<14>>>0)|(e>>>18>>>0))>>>0)+f>>>0;d=d+((((((((((((e^f)>>>0))&c)>>>0))^f)>>>0))+(g.nilCheck,g[4])>>>0)+3889429448>>>0))>>>0;d=(((d<<20>>>0)|(d>>>12>>>0))>>>0)+e>>>0;c=c+((((((((((((d^e)>>>0))&f)>>>0))^e)>>>0))+(g.nilCheck,g[9])>>>0)+568446438>>>0))>>>0;c=(((c<<5>>>0)|(c>>>27>>>0))>>>0)+d>>>0;f=f+((((((((((((c^d)>>>0))&e)>>>0))^d)>>>0))+(g.nilCheck,g[14])>>>0)+3275163606>>>0))>>>0;f=(((f<<9>>>0)|(f>>>23>>>0))>>>0)+c>>>0;e=e+((((((((((((f^c)>>>0))&d)>>>0))^c)>>>0))+(g.nilCheck,g[3])>>>0)+4107603335>>>0))>>>0;e=(((e<<14>>>0)|(e>>>18>>>0))>>>0)+f>>>0;d=d+((((((((((((e^f)>>>0))&c)>>>0))^f)>>>0))+(g.nilCheck,g[8])>>>0)+1163531501>>>0))>>>0;d=(((d<<20>>>0)|(d>>>12>>>0))>>>0)+e>>>0;c=c+((((((((((((d^e)>>>0))&f)>>>0))^e)>>>0))+(g.nilCheck,g[13])>>>0)+2850285829>>>0))>>>0;c=(((c<<5>>>0)|(c>>>27>>>0))>>>0)+d>>>0;f=f+((((((((((((c^d)>>>0))&e)>>>0))^d)>>>0))+(g.nilCheck,g[2])>>>0)+4243563512>>>0))>>>0;f=(((f<<9>>>0)|(f>>>23>>>0))>>>0)+c>>>0;e=e+((((((((((((f^c)>>>0))&d)>>>0))^c)>>>0))+(g.nilCheck,g[7])>>>0)+1735328473>>>0))>>>0;e=(((e<<14>>>0)|(e>>>18>>>0))>>>0)+f>>>0;d=d+((((((((((((e^f)>>>0))&c)>>>0))^f)>>>0))+(g.nilCheck,g[12])>>>0)+2368359562>>>0))>>>0;d=(((d<<20>>>0)|(d>>>12>>>0))>>>0)+e>>>0;c=c+((((((((d^e)>>>0)^f)>>>0))+(g.nilCheck,g[5])>>>0)+4294588738>>>0))>>>0;c=(((c<<4>>>0)|(c>>>28>>>0))>>>0)+d>>>0;f=f+((((((((c^d)>>>0)^e)>>>0))+(g.nilCheck,g[8])>>>0)+2272392833>>>0))>>>0;f=(((f<<11>>>0)|(f>>>21>>>0))>>>0)+c>>>0;e=e+((((((((f^c)>>>0)^d)>>>0))+(g.nilCheck,g[11])>>>0)+1839030562>>>0))>>>0;e=(((e<<16>>>0)|(e>>>16>>>0))>>>0)+f>>>0;d=d+((((((((e^f)>>>0)^c)>>>0))+(g.nilCheck,g[14])>>>0)+4259657740>>>0))>>>0;d=(((d<<23>>>0)|(d>>>9>>>0))>>>0)+e>>>0;c=c+((((((((d^e)>>>0)^f)>>>0))+(g.nilCheck,g[1])>>>0)+2763975236>>>0))>>>0;c=(((c<<4>>>0)|(c>>>28>>>0))>>>0)+d>>>0;f=f+((((((((c^d)>>>0)^e)>>>0))+(g.nilCheck,g[4])>>>0)+1272893353>>>0))>>>0;f=(((f<<11>>>0)|(f>>>21>>>0))>>>0)+c>>>0;e=e+((((((((f^c)>>>0)^d)>>>0))+(g.nilCheck,g[7])>>>0)+4139469664>>>0))>>>0;e=(((e<<16>>>0)|(e>>>16>>>0))>>>0)+f>>>0;d=d+((((((((e^f)>>>0)^c)>>>0))+(g.nilCheck,g[10])>>>0)+3200236656>>>0))>>>0;d=(((d<<23>>>0)|(d>>>9>>>0))>>>0)+e>>>0;c=c+((((((((d^e)>>>0)^f)>>>0))+(g.nilCheck,g[13])>>>0)+681279174>>>0))>>>0;c=(((c<<4>>>0)|(c>>>28>>>0))>>>0)+d>>>0;f=f+((((((((c^d)>>>0)^e)>>>0))+(g.nilCheck,g[0])>>>0)+3936430074>>>0))>>>0;f=(((f<<11>>>0)|(f>>>21>>>0))>>>0)+c>>>0;e=e+((((((((f^c)>>>0)^d)>>>0))+(g.nilCheck,g[3])>>>0)+3572445317>>>0))>>>0;e=(((e<<16>>>0)|(e>>>16>>>0))>>>0)+f>>>0;d=d+((((((((e^f)>>>0)^c)>>>0))+(g.nilCheck,g[6])>>>0)+76029189>>>0))>>>0;d=(((d<<23>>>0)|(d>>>9>>>0))>>>0)+e>>>0;c=c+((((((((d^e)>>>0)^f)>>>0))+(g.nilCheck,g[9])>>>0)+3654602809>>>0))>>>0;c=(((c<<4>>>0)|(c>>>28>>>0))>>>0)+d>>>0;f=f+((((((((c^d)>>>0)^e)>>>0))+(g.nilCheck,g[12])>>>0)+3873151461>>>0))>>>0;f=(((f<<11>>>0)|(f>>>21>>>0))>>>0)+c>>>0;e=e+((((((((f^c)>>>0)^d)>>>0))+(g.nilCheck,g[15])>>>0)+530742520>>>0))>>>0;e=(((e<<16>>>0)|(e>>>16>>>0))>>>0)+f>>>0;d=d+((((((((e^f)>>>0)^c)>>>0))+(g.nilCheck,g[2])>>>0)+3299628645>>>0))>>>0;d=(((d<<23>>>0)|(d>>>9>>>0))>>>0)+e>>>0;c=c+((((((e^(((d|(~f>>>0))>>>0)))>>>0))+(g.nilCheck,g[0])>>>0)+4096336452>>>0))>>>0;c=(((c<<6>>>0)|(c>>>26>>>0))>>>0)+d>>>0;f=f+((((((d^(((c|(~e>>>0))>>>0)))>>>0))+(g.nilCheck,g[7])>>>0)+1126891415>>>0))>>>0;f=(((f<<10>>>0)|(f>>>22>>>0))>>>0)+c>>>0;e=e+((((((c^(((f|(~d>>>0))>>>0)))>>>0))+(g.nilCheck,g[14])>>>0)+2878612391>>>0))>>>0;e=(((e<<15>>>0)|(e>>>17>>>0))>>>0)+f>>>0;d=d+((((((f^(((e|(~c>>>0))>>>0)))>>>0))+(g.nilCheck,g[5])>>>0)+4237533241>>>0))>>>0;d=(((d<<21>>>0)|(d>>>11>>>0))>>>0)+e>>>0;c=c+((((((e^(((d|(~f>>>0))>>>0)))>>>0))+(g.nilCheck,g[12])>>>0)+1700485571>>>0))>>>0;c=(((c<<6>>>0)|(c>>>26>>>0))>>>0)+d>>>0;f=f+((((((d^(((c|(~e>>>0))>>>0)))>>>0))+(g.nilCheck,g[3])>>>0)+2399980690>>>0))>>>0;f=(((f<<10>>>0)|(f>>>22>>>0))>>>0)+c>>>0;e=e+((((((c^(((f|(~d>>>0))>>>0)))>>>0))+(g.nilCheck,g[10])>>>0)+4293915773>>>0))>>>0;e=(((e<<15>>>0)|(e>>>17>>>0))>>>0)+f>>>0;d=d+((((((f^(((e|(~c>>>0))>>>0)))>>>0))+(g.nilCheck,g[1])>>>0)+2240044497>>>0))>>>0;d=(((d<<21>>>0)|(d>>>11>>>0))>>>0)+e>>>0;c=c+((((((e^(((d|(~f>>>0))>>>0)))>>>0))+(g.nilCheck,g[8])>>>0)+1873313359>>>0))>>>0;c=(((c<<6>>>0)|(c>>>26>>>0))>>>0)+d>>>0;f=f+((((((d^(((c|(~e>>>0))>>>0)))>>>0))+(g.nilCheck,g[15])>>>0)+4264355552>>>0))>>>0;f=(((f<<10>>>0)|(f>>>22>>>0))>>>0)+c>>>0;e=e+((((((c^(((f|(~d>>>0))>>>0)))>>>0))+(g.nilCheck,g[6])>>>0)+2734768916>>>0))>>>0;e=(((e<<15>>>0)|(e>>>17>>>0))>>>0)+f>>>0;d=d+((((((f^(((e|(~c>>>0))>>>0)))>>>0))+(g.nilCheck,g[13])>>>0)+1309151649>>>0))>>>0;d=(((d<<21>>>0)|(d>>>11>>>0))>>>0)+e>>>0;c=c+((((((e^(((d|(~f>>>0))>>>0)))>>>0))+(g.nilCheck,g[4])>>>0)+4149444226>>>0))>>>0;c=(((c<<6>>>0)|(c>>>26>>>0))>>>0)+d>>>0;f=f+((((((d^(((c|(~e>>>0))>>>0)))>>>0))+(g.nilCheck,g[11])>>>0)+3174756917>>>0))>>>0;f=(((f<<10>>>0)|(f>>>22>>>0))>>>0)+c>>>0;e=e+((((((c^(((f|(~d>>>0))>>>0)))>>>0))+(g.nilCheck,g[2])>>>0)+718787259>>>0))>>>0;e=(((e<<15>>>0)|(e>>>17>>>0))>>>0)+f>>>0;d=d+((((((f^(((e|(~c>>>0))>>>0)))>>>0))+(g.nilCheck,g[9])>>>0)+3951481745>>>0))>>>0;d=(((d<<21>>>0)|(d>>>11>>>0))>>>0)+e>>>0;c=c+(m)>>>0;d=d+(n)>>>0;e=e+(o)>>>0;f=f+(p)>>>0;b=$subslice(b,64);}a.s[0]=c;a.s[1]=d;a.s[2]=e;a.s[3]=f;};S.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([N],[$Int,$error],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([N],[N],false)},{prop:"checkSum",name:"checkSum",pkg:"crypto/md5",typ:$funcType([],[O],false)}];E.init("crypto/md5",[{prop:"s",name:"s",anonymous:false,exported:false,typ:L,tag:""},{prop:"x",name:"x",anonymous:false,exported:false,typ:M,tag:""},{prop:"nx",name:"nx",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"len",name:"len",anonymous:false,exported:false,typ:$Uint64,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}H=false;K=J;D();I();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["crypto/sha1"]=(function(){var $pkg={},$init,A,B,D,I,J,K,L,M,N,O,H,C,E,G;A=$packages["crypto"];B=$packages["hash"];D=$pkg.digest=$newType(0,$kindStruct,"sha1.digest",true,"crypto/sha1",false,function(h_,x_,nx_,len_){this.$val=this;if(arguments.length===0){this.h=I.zero();this.x=J.zero();this.nx=0;this.len=new $Uint64(0,0);return;}this.h=h_;this.x=x_;this.nx=nx_;this.len=len_;});I=$arrayType($Uint32,5);J=$arrayType($Uint8,64);K=$sliceType($Uint8);L=$arrayType($Uint8,20);M=$arrayType($Uint8,8);N=$arrayType($Uint32,16);O=$ptrType(D);C=function(){A.RegisterHash(3,E);};D.ptr.prototype.Reset=function(){var a;a=this;a.h[0]=1732584193;a.h[1]=4023233417;a.h[2]=2562383102;a.h[3]=271733878;a.h[4]=3285377520;a.nx=0;a.len=new $Uint64(0,0);};D.prototype.Reset=function(){return this.$val.Reset();};E=function(){var a;a=new D.ptr(I.zero(),J.zero(),0,new $Uint64(0,0));a.Reset();return a;};$pkg.New=E;D.ptr.prototype.Size=function(){var a;a=this;return 20;};D.prototype.Size=function(){return this.$val.Size();};D.ptr.prototype.BlockSize=function(){var a;a=this;return 64;};D.prototype.BlockSize=function(){return this.$val.BlockSize();};D.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;d.len=(e=d.len,f=(new $Uint64(0,b)),new $Uint64(e.$high+f.$high,e.$low+f.$low));if(d.nx>0){$s=1;continue;}$s=2;continue;case 1:g=$copySlice($subslice(new K(d.x),d.nx),a);d.nx=d.nx+(g)>>0;if(d.nx===64){$s=3;continue;}$s=4;continue;case 3:$r=H(d,new K(d.x));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.nx=0;case 4:a=$subslice(a,g);case 2:if(a.$length>=64){$s=6;continue;}$s=7;continue;case 6:h=(a.$length&~63)>>0;$r=H(d,$subslice(a,0,h));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=$subslice(a,h);case 7:if(a.$length>0){d.nx=$copySlice(new K(d.x),a);}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Write=function(a){return this.$val.Write(a);};D.ptr.prototype.Sum=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b,D);d=c.checkSum();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,L);$s=-1;return $appendSlice(a,new K(e));}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Sum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Sum=function(a){return this.$val.Sum(a);};D.ptr.prototype.checkSum=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.len;c=J.zero();c[0]=128;if((d=$div64(b,new $Uint64(0,64),true),(d.$high<0||(d.$high===0&&d.$low<56)))){$s=1;continue;}$s=2;continue;case 1:f=a.Write($subslice(new K(c),0,$flatten64((e=$div64(b,new $Uint64(0,64),true),new $Uint64(0-e.$high,56-e.$low)))));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=3;continue;case 2:h=a.Write($subslice(new K(c),0,$flatten64((g=$div64(b,new $Uint64(0,64),true),new $Uint64(0-g.$high,120-g.$low)))));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 3:b=$shiftLeft64(b,(3));i=0;while(true){if(!(i<8)){break;}((i<0||i>=c.length)?($throwRuntimeError("index out of range"),undefined):c[i]=(($shiftRightUint64(b,((56-(8*i>>>0)>>>0))).$low<<24>>>24)));i=i+(1)>>>0;}j=a.Write($subslice(new K(c),0,8));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;if(!((a.nx===0))){$panic(new $String("d.nx != 0"));}k=L.zero();l=a.h;m=0;while(true){if(!(m<5)){break;}n=m;o=((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]);(p=$imul(n,4),((p<0||p>=k.length)?($throwRuntimeError("index out of range"),undefined):k[p]=(((o>>>24>>>0)<<24>>>24))));(q=($imul(n,4))+1>>0,((q<0||q>=k.length)?($throwRuntimeError("index out of range"),undefined):k[q]=(((o>>>16>>>0)<<24>>>24))));(r=($imul(n,4))+2>>0,((r<0||r>=k.length)?($throwRuntimeError("index out of range"),undefined):k[r]=(((o>>>8>>>0)<<24>>>24))));(s=($imul(n,4))+3>>0,((s<0||s>=k.length)?($throwRuntimeError("index out of range"),undefined):k[s]=((o<<24>>>24))));m++;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.checkSum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.checkSum=function(){return this.$val.checkSum();};D.ptr.prototype.ConstantTimeSum=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b,D);d=c.constSum();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,L);$s=-1;return $appendSlice(a,new K(e));}return;}if($f===undefined){$f={$blk:D.ptr.prototype.ConstantTimeSum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.ConstantTimeSum=function(a){return this.$val.ConstantTimeSum(a);};D.ptr.prototype.constSum=function(){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=M.zero();c=$shiftLeft64(a.len,3);d=0;while(true){if(!(d<8)){break;}((d<0||d>=b.length)?($throwRuntimeError("index out of range"),undefined):b[d]=(($shiftRightUint64(c,((56-(8*d>>>0)>>>0))).$low<<24>>>24)));d=d+(1)>>>0;}e=((a.nx<<24>>>24));f=e-56<<24>>>24;g=(((((f<<24>>24))>>7<<24>>24)<<24>>>24));h=128;i=0;while(true){if(!(i<64)){break;}j=((((((i-e<<24>>>24)<<24>>24))>>7<<24>>24)<<24>>>24));(l=a.x,((i<0||i>=l.length)?($throwRuntimeError("index out of range"),undefined):l[i]=((((((~j<<24>>>24)&h)>>>0))|(((j&(k=a.x,((i<0||i>=k.length)?($throwRuntimeError("index out of range"),undefined):k[i])))>>>0)))>>>0)));h=(h&(j))>>>0;if(i>=56){(o=a.x,((i<0||i>=o.length)?($throwRuntimeError("index out of range"),undefined):o[i]=(((m=a.x,((i<0||i>=m.length)?($throwRuntimeError("index out of range"),undefined):m[i]))|(((g&(n=i-56<<24>>>24,((n<0||n>=b.length)?($throwRuntimeError("index out of range"),undefined):b[n])))>>>0)))>>>0)));}i=i+(1)<<24>>>24;}$r=H(a,new K(a.x));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=L.zero();q=a.h;r=0;while(true){if(!(r<5)){break;}s=r;t=((r<0||r>=q.length)?($throwRuntimeError("index out of range"),undefined):q[r]);(u=$imul(s,4),((u<0||u>=p.length)?($throwRuntimeError("index out of range"),undefined):p[u]=((g&(((t>>>24>>>0)<<24>>>24)))>>>0)));(v=($imul(s,4))+1>>0,((v<0||v>=p.length)?($throwRuntimeError("index out of range"),undefined):p[v]=((g&(((t>>>16>>>0)<<24>>>24)))>>>0)));(w=($imul(s,4))+2>>0,((w<0||w>=p.length)?($throwRuntimeError("index out of range"),undefined):p[w]=((g&(((t>>>8>>>0)<<24>>>24)))>>>0)));(x=($imul(s,4))+3>>0,((x<0||x>=p.length)?($throwRuntimeError("index out of range"),undefined):p[x]=((g&((t<<24>>>24)))>>>0)));r++;}y=0;while(true){if(!(y<64)){break;}if(y<56){(z=a.x,((y<0||y>=z.length)?($throwRuntimeError("index out of range"),undefined):z[y]=h));h=0;}else{(ab=a.x,((y<0||y>=ab.length)?($throwRuntimeError("index out of range"),undefined):ab[y]=(aa=y-56<<24>>>24,((aa<0||aa>=b.length)?($throwRuntimeError("index out of range"),undefined):b[aa]))));}y=y+(1)<<24>>>24;}$r=H(a,new K(a.x));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ac=a.h;ad=0;while(true){if(!(ad<5)){break;}ae=ad;af=((ad<0||ad>=ac.length)?($throwRuntimeError("index out of range"),undefined):ac[ad]);ag=$imul(ae,4);((ag<0||ag>=p.length)?($throwRuntimeError("index out of range"),undefined):p[ag]=((((ag<0||ag>=p.length)?($throwRuntimeError("index out of range"),undefined):p[ag])|((((~g<<24>>>24)&(((af>>>24>>>0)<<24>>>24)))>>>0)))>>>0));ah=($imul(ae,4))+1>>0;((ah<0||ah>=p.length)?($throwRuntimeError("index out of range"),undefined):p[ah]=((((ah<0||ah>=p.length)?($throwRuntimeError("index out of range"),undefined):p[ah])|((((~g<<24>>>24)&(((af>>>16>>>0)<<24>>>24)))>>>0)))>>>0));ai=($imul(ae,4))+2>>0;((ai<0||ai>=p.length)?($throwRuntimeError("index out of range"),undefined):p[ai]=((((ai<0||ai>=p.length)?($throwRuntimeError("index out of range"),undefined):p[ai])|((((~g<<24>>>24)&(((af>>>8>>>0)<<24>>>24)))>>>0)))>>>0));aj=($imul(ae,4))+3>>0;((aj<0||aj>=p.length)?($throwRuntimeError("index out of range"),undefined):p[aj]=((((aj<0||aj>=p.length)?($throwRuntimeError("index out of range"),undefined):p[aj])|((((~g<<24>>>24)&((af<<24>>>24)))>>>0)))>>>0));ad++;}$s=-1;return p;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.constSum};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.constSum=function(){return this.$val.constSum();};G=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=N.zero();d=a.h[0];e=a.h[1];f=a.h[2];g=a.h[3];h=a.h[4];i=d;j=e;k=f;l=g;m=h;while(true){if(!(b.$length>=64)){break;}n=0;while(true){if(!(n<16)){break;}o=$imul(n,4);((n<0||n>=c.length)?($throwRuntimeError("index out of range"),undefined):c[n]=(((((((((((o<0||o>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+o])>>>0))<<24>>>0)|((((p=o+1>>0,((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]))>>>0))<<16>>>0))>>>0)|((((q=o+2>>0,((q<0||q>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+q]))>>>0))<<8>>>0))>>>0)|(((r=o+3>>0,((r<0||r>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+r]))>>>0)))>>>0));n=n+(1)>>0;}s=i;t=j;u=k;v=l;w=m;x=s;y=t;z=u;aa=v;ab=w;ac=0;while(true){if(!(ac<16)){break;}ad=(((y&z)>>>0)|((((~y>>>0))&aa)>>>0))>>>0;ae=((x<<5>>>0)|(x>>>27>>>0))>>>0;af=((y<<30>>>0)|(y>>>2>>>0))>>>0;ah=(((ae+ad>>>0)+ab>>>0)+(ag=ac&15,((ag<0||ag>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ag]))>>>0)+1518500249>>>0;ai=ah;aj=x;ak=af;al=z;am=aa;x=ai;y=aj;z=ak;aa=al;ab=am;ac=ac+(1)>>0;}while(true){if(!(ac<20)){break;}ar=((((((an=((ac-3>>0))&15,((an<0||an>=c.length)?($throwRuntimeError("index out of range"),undefined):c[an]))^(ao=((ac-8>>0))&15,((ao<0||ao>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ao])))>>>0)^(ap=((ac-14>>0))&15,((ap<0||ap>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ap])))>>>0)^(aq=(ac)&15,((aq<0||aq>=c.length)?($throwRuntimeError("index out of range"),undefined):c[aq])))>>>0;(as=ac&15,((as<0||as>=c.length)?($throwRuntimeError("index out of range"),undefined):c[as]=(((ar<<1>>>0)|(ar>>>31>>>0))>>>0)));at=(((y&z)>>>0)|((((~y>>>0))&aa)>>>0))>>>0;au=((x<<5>>>0)|(x>>>27>>>0))>>>0;av=((y<<30>>>0)|(y>>>2>>>0))>>>0;ax=(((au+at>>>0)+ab>>>0)+(aw=ac&15,((aw<0||aw>=c.length)?($throwRuntimeError("index out of range"),undefined):c[aw]))>>>0)+1518500249>>>0;ay=ax;az=x;ba=av;bb=z;bc=aa;x=ay;y=az;z=ba;aa=bb;ab=bc;ac=ac+(1)>>0;}while(true){if(!(ac<40)){break;}bh=((((((bd=((ac-3>>0))&15,((bd<0||bd>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bd]))^(be=((ac-8>>0))&15,((be<0||be>=c.length)?($throwRuntimeError("index out of range"),undefined):c[be])))>>>0)^(bf=((ac-14>>0))&15,((bf<0||bf>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bf])))>>>0)^(bg=(ac)&15,((bg<0||bg>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bg])))>>>0;(bi=ac&15,((bi<0||bi>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bi]=(((bh<<1>>>0)|(bh>>>31>>>0))>>>0)));bj=(((y^z)>>>0)^aa)>>>0;bk=((x<<5>>>0)|(x>>>27>>>0))>>>0;bl=((y<<30>>>0)|(y>>>2>>>0))>>>0;bn=(((bk+bj>>>0)+ab>>>0)+(bm=ac&15,((bm<0||bm>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bm]))>>>0)+1859775393>>>0;bo=bn;bp=x;bq=bl;br=z;bs=aa;x=bo;y=bp;z=bq;aa=br;ab=bs;ac=ac+(1)>>0;}while(true){if(!(ac<60)){break;}bx=((((((bt=((ac-3>>0))&15,((bt<0||bt>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bt]))^(bu=((ac-8>>0))&15,((bu<0||bu>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bu])))>>>0)^(bv=((ac-14>>0))&15,((bv<0||bv>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bv])))>>>0)^(bw=(ac)&15,((bw<0||bw>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bw])))>>>0;(by=ac&15,((by<0||by>=c.length)?($throwRuntimeError("index out of range"),undefined):c[by]=(((bx<<1>>>0)|(bx>>>31>>>0))>>>0)));bz=(((((((y|z)>>>0))&aa)>>>0))|(((y&z)>>>0)))>>>0;ca=((x<<5>>>0)|(x>>>27>>>0))>>>0;cb=((y<<30>>>0)|(y>>>2>>>0))>>>0;cd=(((ca+bz>>>0)+ab>>>0)+(cc=ac&15,((cc<0||cc>=c.length)?($throwRuntimeError("index out of range"),undefined):c[cc]))>>>0)+2400959708>>>0;ce=cd;cf=x;cg=cb;ch=z;ci=aa;x=ce;y=cf;z=cg;aa=ch;ab=ci;ac=ac+(1)>>0;}while(true){if(!(ac<80)){break;}cn=((((((cj=((ac-3>>0))&15,((cj<0||cj>=c.length)?($throwRuntimeError("index out of range"),undefined):c[cj]))^(ck=((ac-8>>0))&15,((ck<0||ck>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ck])))>>>0)^(cl=((ac-14>>0))&15,((cl<0||cl>=c.length)?($throwRuntimeError("index out of range"),undefined):c[cl])))>>>0)^(cm=(ac)&15,((cm<0||cm>=c.length)?($throwRuntimeError("index out of range"),undefined):c[cm])))>>>0;(co=ac&15,((co<0||co>=c.length)?($throwRuntimeError("index out of range"),undefined):c[co]=(((cn<<1>>>0)|(cn>>>31>>>0))>>>0)));cp=(((y^z)>>>0)^aa)>>>0;cq=((x<<5>>>0)|(x>>>27>>>0))>>>0;cr=((y<<30>>>0)|(y>>>2>>>0))>>>0;ct=(((cq+cp>>>0)+ab>>>0)+(cs=ac&15,((cs<0||cs>=c.length)?($throwRuntimeError("index out of range"),undefined):c[cs]))>>>0)+3395469782>>>0;cu=ct;cv=x;cw=cr;cx=z;cy=aa;x=cu;y=cv;z=cw;aa=cx;ab=cy;ac=ac+(1)>>0;}i=i+(x)>>>0;j=j+(y)>>>0;k=k+(z)>>>0;l=l+(aa)>>>0;m=m+(ab)>>>0;b=$subslice(b,64);}cz=i;da=j;db=k;dc=l;dd=m;a.h[0]=cz;a.h[1]=da;a.h[2]=db;a.h[3]=dc;a.h[4]=dd;};O.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([K],[$Int,$error],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([K],[K],false)},{prop:"checkSum",name:"checkSum",pkg:"crypto/sha1",typ:$funcType([],[L],false)},{prop:"ConstantTimeSum",name:"ConstantTimeSum",pkg:"",typ:$funcType([K],[K],false)},{prop:"constSum",name:"constSum",pkg:"crypto/sha1",typ:$funcType([],[L],false)}];D.init("crypto/sha1",[{prop:"h",name:"h",anonymous:false,exported:false,typ:I,tag:""},{prop:"x",name:"x",anonymous:false,exported:false,typ:J,tag:""},{prop:"nx",name:"nx",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"len",name:"len",anonymous:false,exported:false,typ:$Uint64,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}H=G;C();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["database/sql/driver"]=(function(){var $pkg={},$init,A,B,D,C,E,F,G,AK,AV,AT,a;A=$packages["context"];B=$packages["errors"];D=$packages["fmt"];C=$packages["reflect"];E=$packages["strconv"];F=$packages["time"];G=$pkg.Value=$newType(8,$kindInterface,"driver.Value",true,"database/sql/driver",true,null);AK=$pkg.Valuer=$newType(8,$kindInterface,"driver.Valuer",true,"database/sql/driver",true,null);AV=$ptrType(AK);G.init([]);AK.init([{prop:"Value",name:"Value",pkg:"",typ:$funcType([],[G,$error],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrSkip=B.New("driver: skip fast-path; continue as if unimplemented");$pkg.ErrBadConn=B.New("driver: bad connection");$pkg.ErrRemoveArgument=B.New("driver: remove argument from query");a=C.TypeOf((AV.nil)).Elem();$s=7;case 7:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}AT=a;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["encoding/hex"]=(function(){var $pkg={},$init,A,B,C,D,G,Q,R,E,F,I,J,K;A=$packages["bytes"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];G=$pkg.InvalidByteError=$newType(1,$kindUint8,"hex.InvalidByteError",true,"encoding/hex",true,null);Q=$sliceType($emptyInterface);R=$sliceType($Uint8);E=function(a){var a;return $imul(a,2);};$pkg.EncodedLen=E;F=function(a,b){var a,b,c,d,e,f,g,h;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);(g=$imul(e,2),((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]="0123456789abcdef".charCodeAt((f>>>4<<24>>>24))));(h=($imul(e,2))+1>>0,((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h]="0123456789abcdef".charCodeAt(((f&15)>>>0))));d++;}return $imul(b.$length,2);};$pkg.Encode=F;G.prototype.Error=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this.$val;b=C.Sprintf("encoding/hex: invalid byte: %#U",new Q([new $Int32(((a>>0)))]));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:G.prototype.Error};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(G).prototype.Error=function(){return new G(this.$get()).Error();};I=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;if((c=b.$length%2,c===c?c:$throwRuntimeError("integer divide by zero"))===1){return[0,$pkg.ErrLength];}d=0;while(true){if(!(d<(e=b.$length/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")))){break;}f=J((g=$imul(d,2),((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])));h=f[0];i=f[1];if(!i){return[0,new G((((j=$imul(d,2),((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]))<<24>>>24)))];}k=J((l=($imul(d,2))+1>>0,((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l])));m=k[0];i=k[1];if(!i){return[0,new G((((n=($imul(d,2))+1>>0,((n<0||n>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+n]))<<24>>>24)))];}((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]=((((h<<4<<24>>>24))|m)>>>0));d=d+(1)>>0;}return[(o=b.$length/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero")),$ifaceNil];};$pkg.Decode=I;J=function(a){var a;if(48<=a&&a<=57){return[a-48<<24>>>24,true];}else if(97<=a&&a<=102){return[(a-97<<24>>>24)+10<<24>>>24,true];}else if(65<=a&&a<=70){return[(a-65<<24>>>24)+10<<24>>>24,true];}return[0,false];};K=function(a){var a,b;b=$makeSlice(R,E(a.$length));F(b,a);return($bytesToString(b));};$pkg.EncodeToString=K;G.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrLength=B.New("encoding/hex: odd length hex string");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["net"]=(function(){var $pkg={},$init,E,A,C,I,J,O,M,L,F,G,D,H,N,B,K,AB,AD,AE,AF,AI,AK,AU,BC,BI,BS,BT,BU,BV,BW,BX,BY,BZ,CB,CE,CJ,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DK,DL,DN,EV,EW,FD,FO,FP,FQ,GI,GK,GS,GX,HO,IE,II,IJ,IK,IL,IO,IT,IX,IY,IZ,JA,JB,JF,JG,JL,JM,JN,JO,JP,JT,LB,LF,LY,MA,MN,MP,NA,NC,OM,OX,NQ,NR,NT,NU,NV,NW,NX,NY,NZ,OA,OB,OC,OD,OE,OF,OG,OH,OI,OJ,OK,OL,ON,OO,OP,OQ,OR,OS,OT,OU,OV,OW,OY,OZ,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,PZ,QA,QB,QC,QD,QE,QF,QG,QH,QI,QJ,QK,QL,QM,QN,QO,QP,QQ,QR,QS,QT,QU,QV,QX,QY,RA,RB,RC,RD,RE,RF,RG,RH,RI,RJ,RK,RL,RM,RN,RO,RP,RQ,RR,RS,RT,RU,RV,RW,RX,RY,SA,SE,SF,AG,AV,AW,CC,CF,CH,CI,DC,DP,NS,EB,EC,ED,EE,EG,EH,EI,EJ,EK,EM,EQ,ER,ES,ET,EU,EX,FE,FS,FW,FX,FY,GT,HK,HL,HR,IB,IG,IH,IM,IP,IQ,IR,IU,IV,JE,JI,KY,f,g,h,i,j,k,l,m,n,U,V,W,X,Y,Z,AA,AC,AH,AJ,AL,AM,AN,AP,AQ,AR,AS,AT,AX,AY,AZ,BA,BB,BD,BE,BF,BJ,BK,BL,BN,BO,BP,BQ,BR,CA,CD,CG,CK,CL,CM,CN,DD,DE,DF,DG,DH,DI,DJ,DM,DO,DQ,DR,EL,EN,EO,EP,FB,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FR,FT,FU,FV,FZ,GA,GB,GC,GD,GE,GF,GG,GH,GL,GO,GP,GQ,GU,GW,GY,HA,HB,HC,HD,HE,HF,HG,HH,HI,HJ,HM,HN,HP,HS,HT,IC,ID,IS,JH,JQ,JR,JS,JU,JV,JW,JX,JY,JZ,KA,KB,KC,KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS,KT,KX,KZ,LA,LC,LD,LE,LG,LH,LI,LJ,LK,LO,LP,LQ,LR,MB,MF,MG,MH,MI,MJ,ML,MM,MQ,MR,MU,MV,NB,ND,NI,NJ,NK,NL,NM,NN;E=$packages["context"];A=$packages["errors"];C=$packages["github.com/gopherjs/gopherjs/js"];I=$packages["internal/nettrace"];J=$packages["internal/poll"];O=$packages["internal/singleflight"];M=$packages["io"];L=$packages["math/rand"];F=$packages["os"];G=$packages["runtime"];D=$packages["sort"];H=$packages["sync"];N=$packages["sync/atomic"];B=$packages["syscall"];K=$packages["time"];AB=$pkg.ipAttr=$newType(0,$kindStruct,"net.ipAttr",true,"net",false,function(Scope_,Precedence_,Label_){this.$val=this;if(arguments.length===0){this.Scope=0;this.Precedence=0;this.Label=0;return;}this.Scope=Scope_;this.Precedence=Precedence_;this.Label=Label_;});AD=$pkg.byRFC6724=$newType(0,$kindStruct,"net.byRFC6724",true,"net",false,function(addrs_,addrAttr_,srcs_,srcAttr_){this.$val=this;if(arguments.length===0){this.addrs=OD.nil;this.addrAttr=OC.nil;this.srcs=OE.nil;this.srcAttr=OC.nil;return;}this.addrs=addrs_;this.addrAttr=addrAttr_;this.srcs=srcs_;this.srcAttr=srcAttr_;});AE=$pkg.policyTableEntry=$newType(0,$kindStruct,"net.policyTableEntry",true,"net",false,function(Prefix_,Precedence_,Label_){this.$val=this;if(arguments.length===0){this.Prefix=OB.nil;this.Precedence=0;this.Label=0;return;}this.Prefix=Prefix_;this.Precedence=Precedence_;this.Label=Label_;});AF=$pkg.policyTable=$newType(12,$kindSlice,"net.policyTable",true,"net",false,null);AI=$pkg.byMaskLength=$newType(12,$kindSlice,"net.byMaskLength",true,"net",false,null);AK=$pkg.scope=$newType(1,$kindUint8,"net.scope",true,"net",false,null);AU=$pkg.conf=$newType(0,$kindStruct,"net.conf",true,"net",false,function(forceCgoLookupHost_,netGo_,netCgo_,hasMDNSAllow_,goos_,dnsDebugLevel_,nss_,resolv_){this.$val=this;if(arguments.length===0){this.forceCgoLookupHost=false;this.netGo=false;this.netCgo=false;this.hasMDNSAllow=false;this.goos="";this.dnsDebugLevel=0;this.nss=NW.nil;this.resolv=NR.nil;return;}this.forceCgoLookupHost=forceCgoLookupHost_;this.netGo=netGo_;this.netCgo=netCgo_;this.hasMDNSAllow=hasMDNSAllow_;this.goos=goos_;this.dnsDebugLevel=dnsDebugLevel_;this.nss=nss_;this.resolv=resolv_;});BC=$pkg.Dialer=$newType(0,$kindStruct,"net.Dialer",true,"net",true,function(Timeout_,Deadline_,LocalAddr_,DualStack_,FallbackDelay_,KeepAlive_,Resolver_,Cancel_){this.$val=this;if(arguments.length===0){this.Timeout=new K.Duration(0,0);this.Deadline=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);this.LocalAddr=$ifaceNil;this.DualStack=false;this.FallbackDelay=new K.Duration(0,0);this.KeepAlive=new K.Duration(0,0);this.Resolver=OH.nil;this.Cancel=$chanNil;return;}this.Timeout=Timeout_;this.Deadline=Deadline_;this.LocalAddr=LocalAddr_;this.DualStack=DualStack_;this.FallbackDelay=FallbackDelay_;this.KeepAlive=KeepAlive_;this.Resolver=Resolver_;this.Cancel=Cancel_;});BI=$pkg.dialParam=$newType(0,$kindStruct,"net.dialParam",true,"net",false,function(Dialer_,network_,address_){this.$val=this;if(arguments.length===0){this.Dialer=new BC.ptr(new K.Duration(0,0),new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),$ifaceNil,false,new K.Duration(0,0),new K.Duration(0,0),OH.nil,$chanNil);this.network="";this.address="";return;}this.Dialer=Dialer_;this.network=network_;this.address=address_;});BS=$pkg.SRV=$newType(0,$kindStruct,"net.SRV",true,"net",true,function(Target_,Port_,Priority_,Weight_){this.$val=this;if(arguments.length===0){this.Target="";this.Port=0;this.Priority=0;this.Weight=0;return;}this.Target=Target_;this.Port=Port_;this.Priority=Priority_;this.Weight=Weight_;});BT=$pkg.byPriorityWeight=$newType(12,$kindSlice,"net.byPriorityWeight",true,"net",false,null);BU=$pkg.MX=$newType(0,$kindStruct,"net.MX",true,"net",true,function(Host_,Pref_){this.$val=this;if(arguments.length===0){this.Host="";this.Pref=0;return;}this.Host=Host_;this.Pref=Pref_;});BV=$pkg.byPref=$newType(12,$kindSlice,"net.byPref",true,"net",false,null);BW=$pkg.NS=$newType(0,$kindStruct,"net.NS",true,"net",true,function(Host_){this.$val=this;if(arguments.length===0){this.Host="";return;}this.Host=Host_;});BX=$pkg.dnsConn=$newType(8,$kindInterface,"net.dnsConn",true,"net",false,null);BY=$pkg.dnsPacketConn=$newType(0,$kindStruct,"net.dnsPacketConn",true,"net",false,function(Conn_){this.$val=this;if(arguments.length===0){this.Conn=$ifaceNil;return;}this.Conn=Conn_;});BZ=$pkg.dnsStreamConn=$newType(0,$kindStruct,"net.dnsStreamConn",true,"net",false,function(Conn_){this.$val=this;if(arguments.length===0){this.Conn=$ifaceNil;return;}this.Conn=Conn_;});CB=$pkg.resolverConfig=$newType(0,$kindStruct,"net.resolverConfig",true,"net",false,function(initOnce_,ch_,lastChecked_,mu_,dnsConfig_){this.$val=this;if(arguments.length===0){this.initOnce=new H.Once.ptr(new H.Mutex.ptr(0,0),0);this.ch=$chanNil;this.lastChecked=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);this.mu=new H.RWMutex.ptr(new H.Mutex.ptr(0,0),0,0,0,0);this.dnsConfig=NR.nil;return;}this.initOnce=initOnce_;this.ch=ch_;this.lastChecked=lastChecked_;this.mu=mu_;this.dnsConfig=dnsConfig_;});CE=$pkg.hostLookupOrder=$newType(4,$kindInt,"net.hostLookupOrder",true,"net",false,null);CJ=$pkg.dnsConfig=$newType(0,$kindStruct,"net.dnsConfig",true,"net",false,function(servers_,search_,ndots_,timeout_,attempts_,rotate_,unknownOpt_,lookup_,err_,mtime_,soffset_){this.$val=this;if(arguments.length===0){this.servers=NT.nil;this.search=NT.nil;this.ndots=0;this.timeout=new K.Duration(0,0);this.attempts=0;this.rotate=false;this.unknownOpt=false;this.lookup=NT.nil;this.err=$ifaceNil;this.mtime=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);this.soffset=0;return;}this.servers=servers_;this.search=search_;this.ndots=ndots_;this.timeout=timeout_;this.attempts=attempts_;this.rotate=rotate_;this.unknownOpt=unknownOpt_;this.lookup=lookup_;this.err=err_;this.mtime=mtime_;this.soffset=soffset_;});CP=$pkg.dnsHeader=$newType(0,$kindStruct,"net.dnsHeader",true,"net",false,function(Id_,Bits_,Qdcount_,Ancount_,Nscount_,Arcount_){this.$val=this;if(arguments.length===0){this.Id=0;this.Bits=0;this.Qdcount=0;this.Ancount=0;this.Nscount=0;this.Arcount=0;return;}this.Id=Id_;this.Bits=Bits_;this.Qdcount=Qdcount_;this.Ancount=Ancount_;this.Nscount=Nscount_;this.Arcount=Arcount_;});CQ=$pkg.dnsQuestion=$newType(0,$kindStruct,"net.dnsQuestion",true,"net",false,function(Name_,Qtype_,Qclass_){this.$val=this;if(arguments.length===0){this.Name="";this.Qtype=0;this.Qclass=0;return;}this.Name=Name_;this.Qtype=Qtype_;this.Qclass=Qclass_;});CR=$pkg.dnsRR_Header=$newType(0,$kindStruct,"net.dnsRR_Header",true,"net",false,function(Name_,Rrtype_,Class_,Ttl_,Rdlength_){this.$val=this;if(arguments.length===0){this.Name="";this.Rrtype=0;this.Class=0;this.Ttl=0;this.Rdlength=0;return;}this.Name=Name_;this.Rrtype=Rrtype_;this.Class=Class_;this.Ttl=Ttl_;this.Rdlength=Rdlength_;});CS=$pkg.dnsRR=$newType(8,$kindInterface,"net.dnsRR",true,"net",false,null);CT=$pkg.dnsRR_CNAME=$newType(0,$kindStruct,"net.dnsRR_CNAME",true,"net",false,function(Hdr_,Cname_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.Cname="";return;}this.Hdr=Hdr_;this.Cname=Cname_;});CU=$pkg.dnsRR_MX=$newType(0,$kindStruct,"net.dnsRR_MX",true,"net",false,function(Hdr_,Pref_,Mx_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.Pref=0;this.Mx="";return;}this.Hdr=Hdr_;this.Pref=Pref_;this.Mx=Mx_;});CV=$pkg.dnsRR_NS=$newType(0,$kindStruct,"net.dnsRR_NS",true,"net",false,function(Hdr_,Ns_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.Ns="";return;}this.Hdr=Hdr_;this.Ns=Ns_;});CW=$pkg.dnsRR_PTR=$newType(0,$kindStruct,"net.dnsRR_PTR",true,"net",false,function(Hdr_,Ptr_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.Ptr="";return;}this.Hdr=Hdr_;this.Ptr=Ptr_;});CX=$pkg.dnsRR_SOA=$newType(0,$kindStruct,"net.dnsRR_SOA",true,"net",false,function(Hdr_,Ns_,Mbox_,Serial_,Refresh_,Retry_,Expire_,Minttl_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.Ns="";this.Mbox="";this.Serial=0;this.Refresh=0;this.Retry=0;this.Expire=0;this.Minttl=0;return;}this.Hdr=Hdr_;this.Ns=Ns_;this.Mbox=Mbox_;this.Serial=Serial_;this.Refresh=Refresh_;this.Retry=Retry_;this.Expire=Expire_;this.Minttl=Minttl_;});CY=$pkg.dnsRR_TXT=$newType(0,$kindStruct,"net.dnsRR_TXT",true,"net",false,function(Hdr_,Txt_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.Txt="";return;}this.Hdr=Hdr_;this.Txt=Txt_;});CZ=$pkg.dnsRR_SRV=$newType(0,$kindStruct,"net.dnsRR_SRV",true,"net",false,function(Hdr_,Priority_,Weight_,Port_,Target_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.Priority=0;this.Weight=0;this.Port=0;this.Target="";return;}this.Hdr=Hdr_;this.Priority=Priority_;this.Weight=Weight_;this.Port=Port_;this.Target=Target_;});DA=$pkg.dnsRR_A=$newType(0,$kindStruct,"net.dnsRR_A",true,"net",false,function(Hdr_,A_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.A=0;return;}this.Hdr=Hdr_;this.A=A_;});DB=$pkg.dnsRR_AAAA=$newType(0,$kindStruct,"net.dnsRR_AAAA",true,"net",false,function(Hdr_,AAAA_){this.$val=this;if(arguments.length===0){this.Hdr=new CR.ptr("",0,0,0,0);this.AAAA=NX.zero();return;}this.Hdr=Hdr_;this.AAAA=AAAA_;});DK=$pkg.dnsMsgHdr=$newType(0,$kindStruct,"net.dnsMsgHdr",true,"net",false,function(id_,response_,opcode_,authoritative_,truncated_,recursion_desired_,recursion_available_,rcode_){this.$val=this;if(arguments.length===0){this.id=0;this.response=false;this.opcode=0;this.authoritative=false;this.truncated=false;this.recursion_desired=false;this.recursion_available=false;this.rcode=0;return;}this.id=id_;this.response=response_;this.opcode=opcode_;this.authoritative=authoritative_;this.truncated=truncated_;this.recursion_desired=recursion_desired_;this.recursion_available=recursion_available_;this.rcode=rcode_;});DL=$pkg.dnsMsg=$newType(0,$kindStruct,"net.dnsMsg",true,"net",false,function(dnsMsgHdr_,question_,answer_,ns_,extra_){this.$val=this;if(arguments.length===0){this.dnsMsgHdr=new DK.ptr(0,false,0,false,false,false,false,0);this.question=OS.nil;this.answer=OO.nil;this.ns=OO.nil;this.extra=OO.nil;return;}this.dnsMsgHdr=dnsMsgHdr_;this.question=question_;this.answer=answer_;this.ns=ns_;this.extra=extra_;});DN=$pkg.netFD=$newType(0,$kindStruct,"net.netFD",true,"net",false,function(pfd_,family_,sotype_,isConnected_,net_,laddr_,raddr_){this.$val=this;if(arguments.length===0){this.pfd=new J.FD.ptr(new J.fdMutex.ptr(new $Uint64(0,0),0,0),0,new J.pollDesc.ptr(false),PJ.nil,false,false,false);this.family=0;this.sotype=0;this.isConnected=false;this.net="";this.laddr=$ifaceNil;this.raddr=$ifaceNil;return;}this.pfd=pfd_;this.family=family_;this.sotype=sotype_;this.isConnected=isConnected_;this.net=net_;this.laddr=laddr_;this.raddr=raddr_;});EV=$pkg.Interface=$newType(0,$kindStruct,"net.Interface",true,"net",true,function(Index_,MTU_,Name_,HardwareAddr_,Flags_){this.$val=this;if(arguments.length===0){this.Index=0;this.MTU=0;this.Name="";this.HardwareAddr=IE.nil;this.Flags=0;return;}this.Index=Index_;this.MTU=MTU_;this.Name=Name_;this.HardwareAddr=HardwareAddr_;this.Flags=Flags_;});EW=$pkg.Flags=$newType(4,$kindUint,"net.Flags",true,"net",true,null);FD=$pkg.ipv6ZoneCache=$newType(0,$kindStruct,"net.ipv6ZoneCache",true,"net",false,function(RWMutex_,lastFetched_,toIndex_,toName_){this.$val=this;if(arguments.length===0){this.RWMutex=new H.RWMutex.ptr(new H.Mutex.ptr(0,0),0,0,0,0);this.lastFetched=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);this.toIndex=false;this.toName=false;return;}this.RWMutex=RWMutex_;this.lastFetched=lastFetched_;this.toIndex=toIndex_;this.toName=toName_;});FO=$pkg.IP=$newType(12,$kindSlice,"net.IP",true,"net",true,null);FP=$pkg.IPMask=$newType(12,$kindSlice,"net.IPMask",true,"net",true,null);FQ=$pkg.IPNet=$newType(0,$kindStruct,"net.IPNet",true,"net",true,function(IP_,Mask_){this.$val=this;if(arguments.length===0){this.IP=FO.nil;this.Mask=FP.nil;return;}this.IP=IP_;this.Mask=Mask_;});GI=$pkg.IPAddr=$newType(0,$kindStruct,"net.IPAddr",true,"net",true,function(IP_,Zone_){this.$val=this;if(arguments.length===0){this.IP=FO.nil;this.Zone="";return;}this.IP=IP_;this.Zone=Zone_;});GK=$pkg.IPConn=$newType(0,$kindStruct,"net.IPConn",true,"net",true,function(conn_){this.$val=this;if(arguments.length===0){this.conn=new IK.ptr(PK.nil);return;}this.conn=conn_;});GS=$pkg.ipStackCapabilities=$newType(0,$kindStruct,"net.ipStackCapabilities",true,"net",false,function(Once_,ipv4Enabled_,ipv6Enabled_,ipv4MappedIPv6Enabled_){this.$val=this;if(arguments.length===0){this.Once=new H.Once.ptr(new H.Mutex.ptr(0,0),0);this.ipv4Enabled=false;this.ipv6Enabled=false;this.ipv4MappedIPv6Enabled=false;return;}this.Once=Once_;this.ipv4Enabled=ipv4Enabled_;this.ipv6Enabled=ipv6Enabled_;this.ipv4MappedIPv6Enabled=ipv4MappedIPv6Enabled_;});GX=$pkg.addrList=$newType(12,$kindSlice,"net.addrList",true,"net",false,null);HO=$pkg.Resolver=$newType(0,$kindStruct,"net.Resolver",true,"net",true,function(PreferGo_,StrictErrors_,Dial_){this.$val=this;if(arguments.length===0){this.PreferGo=false;this.StrictErrors=false;this.Dial=$throwNilPointerError;return;}this.PreferGo=PreferGo_;this.StrictErrors=StrictErrors_;this.Dial=Dial_;});IE=$pkg.HardwareAddr=$newType(12,$kindSlice,"net.HardwareAddr",true,"net",true,null);II=$pkg.Addr=$newType(8,$kindInterface,"net.Addr",true,"net",true,null);IJ=$pkg.Conn=$newType(8,$kindInterface,"net.Conn",true,"net",true,null);IK=$pkg.conn=$newType(0,$kindStruct,"net.conn",true,"net",false,function(fd_){this.$val=this;if(arguments.length===0){this.fd=PK.nil;return;}this.fd=fd_;});IL=$pkg.PacketConn=$newType(8,$kindInterface,"net.PacketConn",true,"net",true,null);IO=$pkg.Error=$newType(8,$kindInterface,"net.Error",true,"net",true,null);IT=$pkg.OpError=$newType(0,$kindStruct,"net.OpError",true,"net",true,function(Op_,Net_,Source_,Addr_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Net="";this.Source=$ifaceNil;this.Addr=$ifaceNil;this.Err=$ifaceNil;return;}this.Op=Op_;this.Net=Net_;this.Source=Source_;this.Addr=Addr_;this.Err=Err_;});IX=$pkg.timeout=$newType(8,$kindInterface,"net.timeout",true,"net",false,null);IY=$pkg.temporary=$newType(8,$kindInterface,"net.temporary",true,"net",false,null);IZ=$pkg.ParseError=$newType(0,$kindStruct,"net.ParseError",true,"net",true,function(Type_,Text_){this.$val=this;if(arguments.length===0){this.Type="";this.Text="";return;}this.Type=Type_;this.Text=Text_;});JA=$pkg.AddrError=$newType(0,$kindStruct,"net.AddrError",true,"net",true,function(Err_,Addr_){this.$val=this;if(arguments.length===0){this.Err="";this.Addr="";return;}this.Err=Err_;this.Addr=Addr_;});JB=$pkg.UnknownNetworkError=$newType(8,$kindString,"net.UnknownNetworkError",true,"net",true,null);JF=$pkg.DNSError=$newType(0,$kindStruct,"net.DNSError",true,"net",true,function(Err_,Name_,Server_,IsTimeout_,IsTemporary_){this.$val=this;if(arguments.length===0){this.Err="";this.Name="";this.Server="";this.IsTimeout=false;this.IsTemporary=false;return;}this.Err=Err_;this.Name=Name_;this.Server=Server_;this.IsTimeout=IsTimeout_;this.IsTemporary=IsTemporary_;});JG=$pkg.writerOnly=$newType(0,$kindStruct,"net.writerOnly",true,"net",false,function(Writer_){this.$val=this;if(arguments.length===0){this.Writer=$ifaceNil;return;}this.Writer=Writer_;});JL=$pkg.buffersWriter=$newType(8,$kindInterface,"net.buffersWriter",true,"net",false,null);JM=$pkg.Buffers=$newType(12,$kindSlice,"net.Buffers",true,"net",true,null);JN=$pkg.nssConf=$newType(0,$kindStruct,"net.nssConf",true,"net",false,function(err_,sources_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;this.sources=false;return;}this.err=err_;this.sources=sources_;});JO=$pkg.nssSource=$newType(0,$kindStruct,"net.nssSource",true,"net",false,function(source_,criteria_){this.$val=this;if(arguments.length===0){this.source="";this.criteria=QS.nil;return;}this.source=source_;this.criteria=criteria_;});JP=$pkg.nssCriterion=$newType(0,$kindStruct,"net.nssCriterion",true,"net",false,function(negate_,status_,action_){this.$val=this;if(arguments.length===0){this.negate=false;this.status="";this.action="";return;}this.negate=negate_;this.status=status_;this.action=action_;});JT=$pkg.file=$newType(0,$kindStruct,"net.file",true,"net",false,function(file_,data_,atEOF_){this.$val=this;if(arguments.length===0){this.file=PN.nil;this.data=NY.nil;this.atEOF=false;return;}this.file=file_;this.data=data_;this.atEOF=atEOF_;});LB=$pkg.rawConn=$newType(0,$kindStruct,"net.rawConn",true,"net",false,function(fd_){this.$val=this;if(arguments.length===0){this.fd=PK.nil;return;}this.fd=fd_;});LF=$pkg.sockaddr=$newType(8,$kindInterface,"net.sockaddr",true,"net",false,null);LY=$pkg.TCPAddr=$newType(0,$kindStruct,"net.TCPAddr",true,"net",true,function(IP_,Port_,Zone_){this.$val=this;if(arguments.length===0){this.IP=FO.nil;this.Port=0;this.Zone="";return;}this.IP=IP_;this.Port=Port_;this.Zone=Zone_;});MA=$pkg.TCPConn=$newType(0,$kindStruct,"net.TCPConn",true,"net",true,function(conn_){this.$val=this;if(arguments.length===0){this.conn=new IK.ptr(PK.nil);return;}this.conn=conn_;});MN=$pkg.UDPAddr=$newType(0,$kindStruct,"net.UDPAddr",true,"net",true,function(IP_,Port_,Zone_){this.$val=this;if(arguments.length===0){this.IP=FO.nil;this.Port=0;this.Zone="";return;}this.IP=IP_;this.Port=Port_;this.Zone=Zone_;});MP=$pkg.UDPConn=$newType(0,$kindStruct,"net.UDPConn",true,"net",true,function(conn_){this.$val=this;if(arguments.length===0){this.conn=new IK.ptr(PK.nil);return;}this.conn=conn_;});NA=$pkg.UnixAddr=$newType(0,$kindStruct,"net.UnixAddr",true,"net",true,function(Name_,Net_){this.$val=this;if(arguments.length===0){this.Name="";this.Net="";return;}this.Name=Name_;this.Net=Net_;});NC=$pkg.UnixConn=$newType(0,$kindStruct,"net.UnixConn",true,"net",true,function(conn_){this.$val=this;if(arguments.length===0){this.conn=new IK.ptr(PK.nil);return;}this.conn=conn_;});OM=$newType(0,$kindStruct,"net.dialResult",true,"net",false,function(Conn_,error_,primary_,done_){this.$val=this;if(arguments.length===0){this.Conn=$ifaceNil;this.error=$ifaceNil;this.primary=false;this.done=false;return;}this.Conn=Conn_;this.error=error_;this.primary=primary_;this.done=done_;});OX=$newType(0,$kindStruct,"net.racer",true,"net",false,function(cname_,rrs_,error_){this.$val=this;if(arguments.length===0){this.cname="";this.rrs=OO.nil;this.error=$ifaceNil;return;}this.cname=cname_;this.rrs=rrs_;this.error=error_;});NQ=$ptrType(K.Location);NR=$ptrType(CJ);NT=$sliceType($String);NU=$mapType($String,NT);NV=$structType("net",[{prop:"Mutex",name:"Mutex",anonymous:true,exported:true,typ:H.Mutex,tag:""},{prop:"byName",name:"byName",anonymous:false,exported:false,typ:NU,tag:""},{prop:"byAddr",name:"byAddr",anonymous:false,exported:false,typ:NU,tag:""},{prop:"expire",name:"expire",anonymous:false,exported:false,typ:K.Time,tag:""},{prop:"path",name:"path",anonymous:false,exported:false,typ:$String,tag:""},{prop:"mtime",name:"mtime",anonymous:false,exported:false,typ:K.Time,tag:""},{prop:"size",name:"size",anonymous:false,exported:false,typ:$Int64,tag:""}]);NW=$ptrType(JN);NX=$arrayType($Uint8,16);NY=$sliceType($Uint8);NZ=$structType("",[]);OA=$ptrType(JM);OB=$ptrType(FQ);OC=$sliceType(AB);OD=$sliceType(GI);OE=$sliceType(FO);OF=$ptrType(MN);OG=$sliceType(JO);OH=$ptrType(HO);OI=$ptrType(LY);OJ=$ptrType(GI);OK=$ptrType(I.Trace);OL=$ptrType(MA);ON=$ptrType(NA);OO=$sliceType(CS);OP=$ptrType(CR);OQ=$ptrType(CT);OR=$ptrType(DL);OS=$sliceType(CQ);OT=$ptrType(JF);OU=$ptrType(IT);OV=$ptrType(DA);OW=$ptrType(DB);OY=$ptrType(CW);OZ=$ptrType($Uint32);PA=$ptrType($Uint16);PB=$ptrType($String);PC=$ptrType($Bool);PD=$ptrType($Int);PE=$ptrType($Uint);PF=$ptrType($Uint8);PG=$ptrType($Uint64);PH=$ptrType($Uintptr);PI=$sliceType(B.Iovec);PJ=$ptrType(PI);PK=$ptrType(DN);PL=$funcType([PK],[$error],false);PM=$ptrType($Int32);PN=$ptrType(F.File);PO=$ptrType(B.SockaddrInet4);PP=$ptrType(B.SockaddrInet6);PQ=$ptrType(B.SockaddrUnix);PR=$ptrType(JT);PS=$ptrType(EV);PT=$sliceType(II);PU=$sliceType(EV);PV=$ptrType(B.IfInfomsg);PW=$ptrType(B.IfAddrmsg);PX=$arrayType($Uint8,4);PY=$ptrType(GK);PZ=$structType("net",[{prop:"laddr",name:"laddr",anonymous:false,exported:false,typ:LY,tag:""},{prop:"value",name:"value",anonymous:false,exported:false,typ:$Int,tag:""}]);QA=$sliceType(PZ);QB=$arrayType($Uint8,8);QC=$arrayType($Uint8,25);QD=$funcType([E.Context,$String],[OD,$error],false);QE=$sliceType($emptyInterface);QF=$ptrType(BS);QG=$sliceType(QF);QH=$ptrType(CZ);QI=$ptrType(BU);QJ=$sliceType(QI);QK=$ptrType(CU);QL=$ptrType(BW);QM=$sliceType(QL);QN=$ptrType(CV);QO=$ptrType(CY);QP=$ptrType(IK);QQ=$ptrType(F.SyscallError);QR=$ptrType(JA);QS=$sliceType(JP);QT=$arrayType($Uint8,20);QU=$ptrType(LB);QV=$ptrType(M.LimitedReader);QX=$ptrType(MP);QY=$ptrType(NC);RA=$arrayType($Int8,108);RB=$sliceType(NY);RC=$ptrType(RB);RD=$ptrType(AD);RE=$ptrType(AU);RF=$ptrType(BC);RG=$chanType(NZ,false,true);RH=$ptrType(BY);RI=$ptrType(BZ);RJ=$ptrType(CB);RK=$chanType(NZ,false,false);RL=$funcType([$emptyInterface,$String,$String],[$Bool],false);RM=$ptrType(CP);RN=$ptrType(CQ);RO=$ptrType(CX);RP=$ptrType(DK);RQ=$funcType([B.Sockaddr],[II],false);RR=$ptrType(FD);RS=$mapType($String,$Int);RT=$mapType($Int,$String);RU=$ptrType(FO);RV=$ptrType(GS);RW=$funcType([II],[$Bool],false);RX=$funcType([E.Context,$String,$String],[IJ,$error],false);RY=$ptrType(IZ);SA=$mapType($String,OG);SE=$funcType([$Uintptr],[],false);SF=$funcType([$Uintptr],[$Bool],false);BC.ptr.prototype.Dial=function(o,p){var o,p,q;q=this;$panic(A.New("network access is not supported by GopherJS"));};BC.prototype.Dial=function(o,p){return this.$val.Dial(o,p);};U=function(){return 128;};V=function(o,p){var o,p;return $parseInt(o.indexOf($global.String.fromCharCode(p)))>>0;};W=function(o,p){var o,p,q,r,s,t;if(!((o.$length===p.$length))){return false;}q=o;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(!((t===((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s])))){return false;}r++;}return true;};X=function(o,p){var o,p,q,r,s,t;q=o;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(t===p){return s;}r++;}return-1;};Y=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(o.$length<2){$s=-1;return;}p=o;q=AA(o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$r=Z(p,r);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:Y};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};Z=function(o,p){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((o.$length===p.$length))){$panic(new $String("internal error"));}q=$makeSlice(OC,o.$length);r=$makeSlice(OC,p.$length);s=o;t=0;while(true){if(!(t<s.$length)){break;}u=t;v=$clone(((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]),GI);AB.copy(((u<0||u>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+u]),AC(v.IP));AB.copy(((u<0||u>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+u]),AC(((u<0||u>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+u])));t++;}$r=D.Stable(new AD.ptr(o,q,p,r));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:Z};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AA=function(o){var aa,ab,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];q=$makeSlice(OE,o.$length);p[0]=new MN.ptr(FO.nil,9,"");r=o;s=0;case 1:if(!(s<r.$length)){$s=2;continue;}t=s;p[0].IP=((t<0||t>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+t]).IP;p[0].Zone=((t<0||t>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+t]).Zone;v=MR("udp",OF.nil,p[0]);$s=3;case 3:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];if($interfaceIsEqual(x,$ifaceNil)){$s=4;continue;}$s=5;continue;case 4:y=$assertType(w.conn.LocalAddr(),OF,true);z=y[0];aa=y[1];if(aa){((t<0||t>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+t]=z.IP);}ab=w.conn.Close();$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;case 5:s++;$s=1;continue;case 2:$s=-1;return q;}return;}if($f===undefined){$f={$blk:AA};}$f.aa=aa;$f.ab=ab;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AC=function(o){var o,p;if(o===FO.nil){return new AB.ptr(0,0,0);}p=$clone(AG.Classify(o),AE);return new AB.ptr(AL(o),p.Precedence,p.Label);};AD.ptr.prototype.Len=function(){var o;o=this;return o.addrs.$length;};AD.prototype.Len=function(){return this.$val.Len();};AD.ptr.prototype.Swap=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,o,p,q,r,s,t,u,v,w,x,y,z;q=this;r=$clone((s=q.addrs,((p<0||p>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+p])),GI);t=$clone((u=q.addrs,((o<0||o>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+o])),GI);GI.copy((v=q.addrs,((o<0||o>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+o])),r);GI.copy((w=q.addrs,((p<0||p>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+p])),t);x=(y=q.srcs,((p<0||p>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+p]));z=(aa=q.srcs,((o<0||o>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+o]));(ab=q.srcs,((o<0||o>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+o]=x));(ac=q.srcs,((p<0||p>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+p]=z));ad=$clone((ae=q.addrAttr,((p<0||p>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+p])),AB);af=$clone((ag=q.addrAttr,((o<0||o>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+o])),AB);AB.copy((ah=q.addrAttr,((o<0||o>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+o])),ad);AB.copy((ai=q.addrAttr,((p<0||p>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+p])),af);aj=$clone((ak=q.srcAttr,((p<0||p>=ak.$length)?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+p])),AB);al=$clone((am=q.srcAttr,((o<0||o>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+o])),AB);AB.copy((an=q.srcAttr,((o<0||o>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+o])),aj);AB.copy((ao=q.srcAttr,((p<0||p>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+p])),al);};AD.prototype.Swap=function(o,p){return this.$val.Swap(o,p);};AD.ptr.prototype.Less=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,o,p,q,r,s,t,u,v,w,x,y,z;q=this;s=(r=q.addrs,((o<0||o>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+o])).IP;u=(t=q.addrs,((p<0||p>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+p])).IP;w=(v=q.srcs,((o<0||o>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+o]));y=(x=q.srcs,((p<0||p>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+p]));aa=(z=q.addrAttr,((o<0||o>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+o]));ac=(ab=q.addrAttr,((p<0||p>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+p]));ae=(ad=q.srcAttr,((o<0||o>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+o]));ag=(af=q.srcAttr,((p<0||p>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+p]));if(w===FO.nil&&y===FO.nil){return false;}if(y===FO.nil){return true;}if(w===FO.nil){return false;}if((aa.Scope===ae.Scope)&&!((ac.Scope===ag.Scope))){return true;}if(!((aa.Scope===ae.Scope))&&(ac.Scope===ag.Scope)){return false;}if((ae.Label===aa.Label)&&!((ag.Label===ac.Label))){return true;}if(!((ae.Label===aa.Label))&&(ag.Label===ac.Label)){return false;}if(aa.Precedence>ac.Precedence){return true;}if(aa.Precedence<ac.Precedence){return false;}if(aa.Scope<ac.Scope){return true;}if(aa.Scope>ac.Scope){return false;}if(s.To4()===FO.nil&&u.To4()===FO.nil){ah=AM(w,s);ai=AM(y,u);if(ah>ai){return true;}if(ah<ai){return false;}}return false;};AD.prototype.Less=function(o,p){return this.$val.Less(o,p);};AH=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.Sort(D.Reverse(($subslice(new AI(AG.$array),AG.$offset,AG.$offset+AG.$length))));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AH};}$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.Len=function(){var o;o=this;return o.$length;};$ptrType(AI).prototype.Len=function(){return this.$get().Len();};AI.prototype.Swap=function(o,p){var o,p,q,r,s;q=this;r=$clone(((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]),AE);s=$clone(((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]),AE);AE.copy(((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]),r);AE.copy(((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]),s);};$ptrType(AI).prototype.Swap=function(o,p){return this.$get().Swap(o,p);};AI.prototype.Less=function(o,p){var o,p,q,r,s,t,u;q=this;r=((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]).Prefix.Mask.Size();s=r[0];t=((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]).Prefix.Mask.Size();u=t[0];return s<u;};$ptrType(AI).prototype.Less=function(o,p){return this.$get().Less(o,p);};AJ=function(o){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=GH(o);q=p[0];r=p[1];s=p[2];if(!($interfaceIsEqual(s,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:t=s.Error();$s=3;case 3:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$panic(new $String(t));case 2:if(!((q.$length===16))){$panic(new $String("unexpected IP length"));}$s=-1;return r;}return;}if($f===undefined){$f={$blk:AJ};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.Classify=function(o){var o,p,q,r,s;p=this;q=p;r=0;while(true){if(!(r<q.$length)){break;}s=$clone(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]),AE);if(s.Prefix.Contains(o)){return s;}r++;}return new AE.ptr(OB.nil,0,0);};$ptrType(AF).prototype.Classify=function(o){return this.$get().Classify(o);};AL=function(o){var o,p;if(o.IsLoopback()||o.IsLinkLocalUnicast()){return 2;}p=(o.$length===16)&&o.To4()===FO.nil;if(p&&o.IsMulticast()){return(((((1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1])&15)>>>0)<<24>>>24));}if(p&&((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===254)&&((((1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1])&192)>>>0)===192)){return 5;}return 14;};AM=function(o,p){var o,p,q,r,s,t,u,v,w,x,y,z;q=0;r=o.To4();if(!(r===FO.nil)){o=r;}s=p.To4();if(!(s===FO.nil)){p=s;}if(!((o.$length===p.$length))){q=0;return q;}if(o.$length>8){o=$subslice(o,0,8);p=$subslice(p,0,8);}while(true){if(!(o.$length>0)){break;}if((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])){q=q+(8)>>0;o=$subslice(o,1);p=$subslice(p,1);continue;}t=8;u=(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]);v=(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0]);w=u;x=v;while(true){w=(y=(1),y<32?(w>>>y):0)<<24>>>24;x=(z=(1),z<32?(x>>>z):0)<<24>>>24;t=t-(1)>>0;if(w===x){q=q+(t)>>0;return q;}}}return q;};AN=function(){IG=true;};AP=function(o,p){var o,p,q,r,s,t,u,v;q=NT.nil;r=$ifaceNil;s=false;t=NT.nil;u=$ifaceNil;v=false;q=t;r=u;s=v;return[q,r,s];};AQ=function(o,p,q){var o,p,q,r,s,t,u,v,w;r=0;s=$ifaceNil;t=false;u=0;v=$ifaceNil;w=false;r=u;s=v;t=w;return[r,s,t];};AR=function(o,p){var o,p,q,r,s,t,u,v;q=OD.nil;r=$ifaceNil;s=false;t=OD.nil;u=$ifaceNil;v=false;q=t;r=u;s=v;return[q,r,s];};AS=function(o,p){var o,p,q,r,s,t,u,v;q="";r=$ifaceNil;s=false;t="";u=$ifaceNil;v=false;q=t;r=u;s=v;return[q,r,s];};AT=function(o,p){var o,p,q,r,s,t,u,v;q=NT.nil;r=$ifaceNil;s=false;t=NT.nil;u=$ifaceNil;v=false;q=t;r=u;s=v;return[q,r,s];};AX=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=AV.Do(AY);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return AW;}return;}if($f===undefined){$f={$blk:AX};}$f.$s=$s;$f.$r=$r;return $f;};AY=function(){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=AZ();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];r=o[1];AW.dnsDebugLevel=r;AW.netGo=IG||q==="go";AW.netCgo=IH||q==="cgo";if(AW.dnsDebugLevel>0){$s=2;continue;}$s=3;continue;case 2:$deferred.push([(function(){if(AW.netGo){if(IG){console.log("go package net: built with netgo build tag; using Go's DNS resolver");}else{console.log("go package net: GODEBUG setting forcing use of Go's resolver");}}else if(AW.forceCgoLookupHost){console.log("go package net: using cgo DNS resolver");}else{console.log("go package net: dynamic selection of DNS resolver");}}),[]]);case 3:if(false){AW.forceCgoLookupHost=true;$s=-1;return;}t=B.Getenv("LOCALDOMAIN");$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[1];w=F.Getenv("RES_OPTIONS");$s=8;case 8:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(!(w==="")){v=true;$s=7;continue s;}x=F.Getenv("HOSTALIASES");$s=9;case 9:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}v=!(x==="");case 7:if(v||AW.netCgo||u){$s=5;continue;}$s=6;continue;case 5:AW.forceCgoLookupHost=true;$s=-1;return;case 6:if(!(false)){y=false;$s=12;continue s;}z=F.Getenv("ASR_CONFIG");$s=13;case 13:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=!(z==="");case 12:if(y){$s=10;continue;}$s=11;continue;case 10:AW.forceCgoLookupHost=true;$s=-1;return;case 11:if(true){$s=14;continue;}$s=15;continue;case 14:aa=JQ("/etc/nsswitch.conf");$s=16;case 16:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}AW.nss=aa;case 15:ab=CK("/etc/resolv.conf");$s=17;case 17:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}AW.resolv=ab;if(!($interfaceIsEqual(AW.resolv.err,$ifaceNil))&&!F.IsNotExist(AW.resolv.err)&&!F.IsPermission(AW.resolv.err)){AW.forceCgoLookupHost=true;}ac=F.Stat("/etc/mdns.allow");ad=ac[1];if($interfaceIsEqual(ad,$ifaceNil)){AW.hasMDNSAllow=true;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AY};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AU.ptr.prototype.canUseCgo=function(){var o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=o.hostLookupOrder("");$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return p===0;}return;}if($f===undefined){$f={$blk:AU.ptr.prototype.canUseCgo};}$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AU.prototype.canUseCgo=function(){return this.$val.canUseCgo();};AU.ptr.prototype.hostLookupOrder=function(o){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);o=[o];p=[p];p[0]=0;q=this;if(q.dnsDebugLevel>1){$s=1;continue;}$s=2;continue;case 1:$deferred.push([(function(o,p){return function(){console.log("go package net: hostLookupOrder(",o[0],") = ",new CE(p[0]).String(),"\n");};})(o,p),[]]);case 2:r=0;if(q.netGo){r=1;}if(q.forceCgoLookupHost||q.resolv.unknownOpt||q.goos==="android"){p[0]=r;$s=-1;return p[0];}if(!((V(o[0],92)===-1))||!((V(o[0],37)===-1))){p[0]=r;$s=-1;return p[0];}if(q.goos==="openbsd"){if(F.IsNotExist(q.resolv.err)){p[0]=3;$s=-1;return p[0];}s=q.resolv.lookup;if(s.$length===0){p[0]=2;$s=-1;return p[0];}if(s.$length<1||s.$length>2){p[0]=r;$s=-1;return p[0];}t=(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0]);if(t===("bind")){if(s.$length===2){if((1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1])==="file"){p[0]=2;$s=-1;return p[0];}p[0]=r;$s=-1;return p[0];}p[0]=4;$s=-1;return p[0];}else if(t===("file")){if(s.$length===2){if((1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1])==="bind"){p[0]=1;$s=-1;return p[0];}p[0]=r;$s=-1;return p[0];}p[0]=3;$s=-1;return p[0];}else{p[0]=r;$s=-1;return p[0];}}if(KO(o[0],".")){o[0]=$substring(o[0],0,(o[0].length-1>>0));}if(KP(o[0],".local")){p[0]=r;$s=-1;return p[0];}u=q.nss;w=(v=u.sources[$String.keyFor("hosts")],v!==undefined?v.v:OG.nil);if(F.IsNotExist(u.err)||($interfaceIsEqual(u.err,$ifaceNil)&&(w.$length===0))){if(q.goos==="solaris"){p[0]=r;$s=-1;return p[0];}if(q.goos==="linux"){p[0]=2;$s=-1;return p[0];}p[0]=1;$s=-1;return p[0];}if(!($interfaceIsEqual(u.err,$ifaceNil))){p[0]=r;$s=-1;return p[0];}x=false;y=false;z=false;aa=x;ab=y;ac=z;ad="";ae=w;af=0;case 3:if(!(af<ae.$length)){$s=4;continue;}ag=$clone(((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]),JO);if(ag.source==="myhostname"){$s=5;continue;}$s=6;continue;case 5:if(BA(o[0])||BB(o[0])){p[0]=r;$s=-1;return p[0];}ai=CI();$s=7;case 7:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;aj=ah[0];ak=ah[1];if(!($interfaceIsEqual(ak,$ifaceNil))||KR(o[0],aj)){p[0]=r;$s=-1;return p[0];}af++;$s=3;continue;case 6:if(ag.source==="files"||ag.source==="dns"){if(!$clone(ag,JO).standardCriteria()){p[0]=r;$s=-1;return p[0];}if(ag.source==="files"){ab=true;}else if(ag.source==="dns"){ac=true;}if(ad===""){ad=ag.source;}af++;$s=3;continue;}if(KQ(ag.source,"mdns")){aa=true;af++;$s=3;continue;}p[0]=r;$s=-1;return p[0];$s=3;continue;case 4:if(aa&&q.hasMDNSAllow){p[0]=r;$s=-1;return p[0];}if(ab&&ac){if(ad==="files"){p[0]=1;$s=-1;return p[0];}else{p[0]=2;$s=-1;return p[0];}}else if(ab){p[0]=3;$s=-1;return p[0];}else if(ac){p[0]=4;$s=-1;return p[0];}p[0]=r;$s=-1;return p[0];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return p[0];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AU.ptr.prototype.hostLookupOrder};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AU.prototype.hostLookupOrder=function(o){return this.$val.hostLookupOrder(o);};AZ=function(){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=[o];p=[p];p[0]="";o[0]=0;q=KT("netdns");$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;s=(function(o,p){return function(s){var s,t;if(s===""){return;}if(48<=s.charCodeAt(0)&&s.charCodeAt(0)<=57){t=JZ(s);o[0]=t[0];}else{p[0]=s;}};})(o,p);t=V(r,43);if(!((t===-1))){$s=2;continue;}$s=3;continue;case 2:$r=s($substring(r,0,t));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=s($substring(r,(t+1>>0)));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[p[0],o[0]];case 3:$r=s(r);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[p[0],o[0]];}return;}if($f===undefined){$f={$blk:AZ};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};BA=function(o){var o;return KR(o,"localhost")||KR(o,"localhost.localdomain")||KP(o,".localhost")||KP(o,".localhost.localdomain");};BB=function(o){var o;return KR(o,"gateway");};BD=function(o,p){var o,p;if($clone(o,K.Time).IsZero()){return p;}if($clone(p,K.Time).IsZero()||$clone(o,K.Time).Before($clone(p,K.Time))){return o;}return p;};BC.ptr.prototype.deadline=function(o,p){var o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);r=this;if(!((s=r.Timeout,(s.$high===0&&s.$low===0)))){K.Time.copy(q,$clone(p,K.Time).Add(r.Timeout));}u=o.Deadline();$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=$clone(t[0],K.Time);w=t[1];if(w){K.Time.copy(q,BD($clone(q,K.Time),$clone(v,K.Time)));}K.Time.copy(q,BD($clone(q,K.Time),$clone(r.Deadline,K.Time)));$s=-1;return q;}return;}if($f===undefined){$f={$blk:BC.ptr.prototype.deadline};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};BC.prototype.deadline=function(o,p){return this.$val.deadline(o,p);};BC.ptr.prototype.resolver=function(){var o;o=this;if(!(o.Resolver===OH.nil)){return o.Resolver;}return $pkg.DefaultResolver;};BC.prototype.resolver=function(){return this.$val.resolver();};BE=function(o,p,q){var o,p,q,r,s;if($clone(p,K.Time).IsZero()){return[p,$ifaceNil];}r=$clone(p,K.Time).Sub($clone(o,K.Time));if((r.$high<0||(r.$high===0&&r.$low<=0))){return[new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),J.ErrTimeout];}s=$div64(r,(new K.Duration(0,q)),false);if((s.$high<0||(s.$high===0&&s.$low<2000000000))){if((r.$high<0||(r.$high===0&&r.$low<2000000000))){s=r;}else{s=new K.Duration(0,2000000000);}}return[$clone(o,K.Time).Add(s),$ifaceNil];};BC.ptr.prototype.fallbackDelay=function(){var o,p;o=this;if((p=o.FallbackDelay,(p.$high>0||(p.$high===0&&p.$low>0)))){return o.FallbackDelay;}else{return new K.Duration(0,300000000);}};BC.prototype.fallbackDelay=function(){return this.$val.fallbackDelay();};BF=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r="";s=0;t=$ifaceNil;u=KG(p,58);if(u<0){v=p;if(v===("tcp")||v===("tcp4")||v===("tcp6")){}else if(v===("udp")||v===("udp4")||v===("udp6")){}else if(v===("ip")||v===("ip4")||v===("ip6")){if(q){w="";x=0;y=new JB((p));r=w;s=x;t=y;$s=-1;return[r,s,t];}}else if(v===("unix")||v===("unixgram")||v===("unixpacket")){}else{z="";aa=0;ab=new JB((p));r=z;s=aa;t=ab;$s=-1;return[r,s,t];}ac=p;ad=0;ae=$ifaceNil;r=ac;s=ad;t=ae;$s=-1;return[r,s,t];}r=$substring(p,0,u);af=r;if(af===("ip")||af===("ip4")||af===("ip6")){$s=2;continue;}$s=3;continue;case 2:ag=$substring(p,(u+1>>0));ah=JZ(ag);ai=ah[0];aj=ah[1];ak=ah[2];if(!ak||!((aj===ag.length))){$s=4;continue;}$s=5;continue;case 4:am=ID(o,ag);$s=6;case 6:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;ai=al[0];t=al[1];if(!($interfaceIsEqual(t,$ifaceNil))){an="";ao=0;ap=t;r=an;s=ao;t=ap;$s=-1;return[r,s,t];}case 5:aq=r;ar=ai;as=$ifaceNil;r=aq;s=ar;t=as;$s=-1;return[r,s,t];case 3:case 1:at="";au=0;av=new JB((p));r=at;s=au;t=av;$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:BF};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.ptr.prototype.resolveAddrList=function(o,p,q,r,s){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:t=this;v=BF(o,q,true);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[2];if(!($interfaceIsEqual(x,$ifaceNil))){$s=-1;return[GX.nil,x];}if(p==="dial"&&r===""){$s=-1;return[GX.nil,IQ];}y=w;if(y===("unix")||y===("unixgram")||y===("unixpacket")){$s=3;continue;}$s=4;continue;case 3:z=NB(w,r);aa=z[0];ab=z[1];if(!($interfaceIsEqual(ab,$ifaceNil))){$s=-1;return[GX.nil,ab];}if(!(p==="dial"&&!($interfaceIsEqual(s,$ifaceNil)))){ac=false;$s=7;continue s;}ad=s.Network();$s=8;case 8:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=!(aa.Network()===ad);case 7:if(ac){$s=5;continue;}$s=6;continue;case 5:ae=s.String();$s=9;case 9:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$s=-1;return[GX.nil,new JA.ptr("mismatched local address type",ae)];case 6:$s=-1;return[new GX([aa]),$ifaceNil];case 4:case 2:ag=t.internetAddrList(o,w,r);$s=10;case 10:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=af[0];x=af[1];if(!($interfaceIsEqual(x,$ifaceNil))||!(p==="dial")||$interfaceIsEqual(s,$ifaceNil)){$s=-1;return[ah,x];}ai=OI.nil;aj=OF.nil;ak=OJ.nil;al=false;am=s;if($assertType(am,OI,true)[1]){an=am.$val;ai=an;al=ai.isWildcard();}else if($assertType(am,OF,true)[1]){ao=am.$val;aj=ao;al=aj.isWildcard();}else if($assertType(am,OJ,true)[1]){ap=am.$val;ak=ap;al=ak.isWildcard();}aq=$subslice(ah,0,0);ar=ah;as=0;case 11:if(!(as<ar.$length)){$s=12;continue;}at=((as<0||as>=ar.$length)?($throwRuntimeError("index out of range"),undefined):ar.$array[ar.$offset+as]);au=at.Network();$s=15;case 15:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=s.Network();$s=16;case 16:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(!(au===av)){$s=13;continue;}$s=14;continue;case 13:aw=s.String();$s=17;case 17:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$s=-1;return[GX.nil,new JA.ptr("mismatched local address type",aw)];case 14:ax=at;if($assertType(ax,OI,true)[1]){$s=18;continue;}if($assertType(ax,OF,true)[1]){$s=19;continue;}if($assertType(ax,OJ,true)[1]){$s=20;continue;}$s=21;continue;case 18:ay=ax.$val;if(!al&&!ay.isWildcard()&&!ay.IP.matchAddrFamily(ai.IP)){as++;$s=11;continue;}aq=$append(aq,ay);$s=21;continue;case 19:az=ax.$val;if(!al&&!az.isWildcard()&&!az.IP.matchAddrFamily(aj.IP)){as++;$s=11;continue;}aq=$append(aq,az);$s=21;continue;case 20:ba=ax.$val;if(!al&&!ba.isWildcard()&&!ba.IP.matchAddrFamily(ak.IP)){as++;$s=11;continue;}aq=$append(aq,ba);case 21:as++;$s=11;continue;case 12:if(aq.$length===0){$s=22;continue;}$s=23;continue;case 22:bb=IP.Error();$s=24;case 24:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=s.String();$s=25;case 25:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}$s=-1;return[GX.nil,new JA.ptr(bb,bc)];case 23:$s=-1;return[aq,$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.resolveAddrList};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.resolveAddrList=function(o,p,q,r,s){return this.$val.resolveAddrList(o,p,q,r,s);};BC.ptr.prototype.DialContext=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);r=[r];s=[s];t=[t];u=[u];v=this;if($interfaceIsEqual(o,$ifaceNil)){$panic(new $String("nil context"));}w=v.deadline(o,$clone(K.Now(),K.Time));$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=$clone(w,K.Time);if(!$clone(x,K.Time).IsZero()){$s=2;continue;}$s=3;continue;case 2:z=o.Deadline();$s=4;case 4:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=$clone(y[0],K.Time);ab=y[1];if(!ab||$clone(x,K.Time).Before($clone(aa,K.Time))){$s=5;continue;}$s=6;continue;case 5:ad=E.WithDeadline(o,$clone(x,K.Time));$s=7;case 7:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];$deferred.push([af,[]]);o=ae;case 6:case 3:s[0]=v.Cancel;if(!(s[0]===$chanNil)){$s=8;continue;}$s=9;continue;case 8:ah=E.WithCancel(o);$s=10;case 10:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;u[0]=ag[0];r[0]=ag[1];$deferred.push([r[0],[]]);$go((function(r,s,t,u){return function $b(){var ai,aj,ak,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ai=$f.ai;aj=$f.aj;ak=$f.ak;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=u[0].Done();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=$select([[s[0]],[aj]]);$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ai=ak;if(ai[0]===0){$s=3;continue;}if(ai[0]===1){$s=4;continue;}$s=5;continue;case 3:$r=r[0]();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 4:case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.$s=$s;$f.$r=$r;return $f;};})(r,s,t,u),[]);o=u[0];case 9:ai=o;al=o.Value((ak=new I.TraceKey.ptr(),new ak.constructor.elem(ak)));$s=11;case 11:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}aj=$assertType(al,OK,true);am=aj[0];if(!(am===OK.nil)){$s=12;continue;}$s=13;continue;case 12:t[0]=$clone(am,I.Trace);t[0].ConnectStart=$throwNilPointerError;t[0].ConnectDone=$throwNilPointerError;ao=E.WithValue(ai,(an=new I.TraceKey.ptr(),new an.constructor.elem(an)),t[0]);$s=14;case 14:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ai=ao;case 13:aq=v.resolver().resolveAddrList(ai,"dial",p,q,v.LocalAddr);$s=15;case 15:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[0];as=ap[1];if(!($interfaceIsEqual(as,$ifaceNil))){$s=-1;return[$ifaceNil,new IT.ptr("dial",p,$ifaceNil,$ifaceNil,as)];}at=new BI.ptr($clone(v,BC),p,q);au=GX.nil;av=GX.nil;aw=au;ax=av;if(v.DualStack&&p==="tcp"){$s=16;continue;}$s=17;continue;case 16:az=ar.partition(GY);$s=19;case 19:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;aw=ay[0];ax=ay[1];$s=18;continue;case 17:aw=ar;case 18:ba=$ifaceNil;if(ax.$length>0){$s=20;continue;}$s=21;continue;case 20:bc=BJ(o,at,aw,ax);$s=23;case 23:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bb=bc;ba=bb[0];as=bb[1];$s=22;continue;case 21:be=BK(o,at,aw);$s=24;case 24:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bd=be;ba=bd[0];as=bd[1];case 22:if(!($interfaceIsEqual(as,$ifaceNil))){$s=-1;return[$ifaceNil,as];}bf=$assertType(ba,OL,true);bg=bf[0];bh=bf[1];if(bh&&(bi=v.KeepAlive,(bi.$high>0||(bi.$high===0&&bi.$low>0)))){$s=25;continue;}$s=26;continue;case 25:bj=LQ(bg.conn.fd,true);$s=27;case 27:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bj;bk=MM(bg.conn.fd,v.KeepAlive);$s=28;case 28:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bk;$r=EE();$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 26:$s=-1;return[ba,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BC.ptr.prototype.DialContext};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BC.prototype.DialContext=function(o,p,q){return this.$val.DialContext(o,p,q);};BJ=function(o,p,q,r){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=[p];q=[q];r=[r];s=[s];t=[t];if(r[0].$length===0){$s=1;continue;}$s=2;continue;case 1:u=BK(o,p[0],q[0]);$s=3;case 3:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return u;case 2:t[0]=new $Chan(NZ,0);$deferred.push([function(v){$close(v);},[t[0]]]);s[0]=new $Chan(OM,0);w=(function(p,q,r,s,t){return function $b(w,x){var aa,ab,ac,ad,ae,af,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=q[0];if(!x){y=r[0];}aa=BK(w,p[0],y);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[1];ae=$select([[s[0],new OM.ptr(ab,ac,x,true)],[t[0]]]);$s=2;case 2:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;if(ad[0]===0){$s=3;continue;}if(ad[0]===1){$s=4;continue;}$s=5;continue;case 3:$s=5;continue;case 4:if(!($interfaceIsEqual(ab,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:af=ab.Close();$s=8;case 8:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;case 7:case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(p,q,r,s,t);x=new OM.ptr($ifaceNil,$ifaceNil,false,false);y=new OM.ptr($ifaceNil,$ifaceNil,false,false);z=$clone(x,OM);aa=$clone(y,OM);ac=E.WithCancel(o);$s=4;case 4:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];$deferred.push([ae,[]]);$go(w,[ad,true]);af=K.NewTimer(p[0].Dialer.fallbackDelay());$deferred.push([$methodVal(af,"Stop"),[]]);case 5:ah=$select([[af.C],[s[0]]]);$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;if(ag[0]===0){$s=8;continue;}if(ag[0]===1){$s=9;continue;}$s=10;continue;case 8:aj=E.WithCancel(o);$s=11;case 11:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=ai[0];al=ai[1];$deferred.push([al,[]]);$go(w,[ak,false]);$s=10;continue;case 9:am=$clone(ag[1][0],OM);if($interfaceIsEqual(am.error,$ifaceNil)){$s=-1;return[am.Conn,$ifaceNil];}if(am.primary){OM.copy(z,am);}else{OM.copy(aa,am);}if(z.done&&aa.done){$s=-1;return[$ifaceNil,z.error];}if(am.primary&&af.Stop()){af.Reset(new K.Duration(0,0));}case 10:$s=5;continue;case 6:$s=-1;return[$ifaceNil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BJ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BK=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);r=$ifaceNil;s=q;t=0;case 1:if(!(t<s.$length)){$s=2;continue;}u=t;v=((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]);x=o.Done();$s=3;case 3:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=$select([[x],[]]);if(w[0]===0){$s=4;continue;}if(w[0]===1){$s=5;continue;}$s=6;continue;case 4:y=o.Err();$s=7;case 7:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=IS(y);$s=8;case 8:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$s=-1;return[$ifaceNil,new IT.ptr("dial",p.network,p.Dialer.LocalAddr,v,z)];case 5:case 6:ab=o.Deadline();$s=9;case 9:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=$clone(aa[0],K.Time);ad=BE($clone(K.Now(),K.Time),$clone(ac,K.Time),q.$length-u>>0);ae=$clone(ad[0],K.Time);af=ad[1];if(!($interfaceIsEqual(af,$ifaceNil))){if($interfaceIsEqual(r,$ifaceNil)){r=new IT.ptr("dial",p.network,p.Dialer.LocalAddr,v,af);}$s=2;continue;}ag=o;if($clone(ae,K.Time).Before($clone(ac,K.Time))){$s=10;continue;}$s=11;continue;case 10:ah=$throwNilPointerError;aj=E.WithDeadline(o,$clone(ae,K.Time));$s=12;case 12:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ag=ai[0];ah=ai[1];$deferred.push([ah,[]]);case 11:al=BL(ag,p,v);$s=13;case 13:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;am=ak[0];af=ak[1];if($interfaceIsEqual(af,$ifaceNil)){$s=-1;return[am,$ifaceNil];}if($interfaceIsEqual(r,$ifaceNil)){r=af;}t++;$s=1;continue;case 2:if($interfaceIsEqual(r,$ifaceNil)){r=new IT.ptr("dial",p.network,$ifaceNil,$ifaceNil,IQ);}$s=-1;return[$ifaceNil,r];}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BL=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=[p];r=[r];s=[s];t=[t];u=$ifaceNil;r[0]=$ifaceNil;x=o.Value((w=new I.TraceKey.ptr(),new w.constructor.elem(w)));$s=1;case 1:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}v=$assertType(x,OK,true);t[0]=v[0];if(!(t[0]===OK.nil)){$s=2;continue;}$s=3;continue;case 2:y=q.String();$s=4;case 4:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}s[0]=y;if(!(t[0].ConnectStart===$throwNilPointerError)){$s=5;continue;}$s=6;continue;case 5:$r=t[0].ConnectStart(p[0].network,s[0]);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:if(!(t[0].ConnectDone===$throwNilPointerError)){$s=8;continue;}$s=9;continue;case 8:$deferred.push([(function(p,r,s,t){return function $b(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=t[0].ConnectDone(p[0].network,s[0],r[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$s=$s;$f.$r=$r;return $f;};})(p,r,s,t),[]]);case 9:case 3:z=p[0].Dialer.LocalAddr;aa=q;if($assertType(aa,OI,true)[1]){$s=10;continue;}if($assertType(aa,OF,true)[1]){$s=11;continue;}if($assertType(aa,OJ,true)[1]){$s=12;continue;}if($assertType(aa,ON,true)[1]){$s=13;continue;}$s=14;continue;case 10:ab=aa.$val;ag=$assertType(z,OI,true);ah=ag[0];aj=MG(o,p[0].network,ah,ab);$s=16;case 16:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;u=ai[0];r[0]=ai[1];$s=15;continue;case 11:ac=aa.$val;ak=$assertType(z,OF,true);al=ak[0];an=MV(o,p[0].network,al,ac);$s=17;case 17:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;u=am[0];r[0]=am[1];$s=15;continue;case 12:ad=aa.$val;ao=$assertType(z,OJ,true);ap=ao[0];ar=GQ(o,p[0].network,ap,ad);$s=18;case 18:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}aq=ar;u=aq[0];r[0]=aq[1];$s=15;continue;case 13:ae=aa.$val;as=$assertType(z,ON,true);at=as[0];av=NN(o,p[0].network,at,ae);$s=19;case 19:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}au=av;u=au[0];r[0]=au[1];$s=15;continue;case 14:af=aa;aw=$ifaceNil;ax=new IT.ptr("dial",p[0].network,z,af,new JA.ptr("unexpected address type",p[0].address));u=aw;r[0]=ax;$s=-1;return[u,r[0]];case 15:if(!($interfaceIsEqual(r[0],$ifaceNil))){ay=$ifaceNil;az=new IT.ptr("dial",p[0].network,z,q,r[0]);u=ay;r[0]=az;$s=-1;return[u,r[0]];}ba=u;bb=$ifaceNil;u=ba;r[0]=bb;$s=-1;return[u,r[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[u,r[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:BL};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BN=function(o){var aa,o,p,q,r,s,t,u,v,w,x,y,z;p="";q=$ifaceNil;r=GG(o);if(r===FO.nil){s="";t=new JF.ptr("unrecognized address",o,"",false,false);p=s;q=t;return[p,q];}if(!(r.To4()===FO.nil)){u=KD((((15>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+15])>>>0)))+"."+KD((((14>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+14])>>>0)))+"."+KD((((13>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+13])>>>0)))+"."+KD((((12>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+12])>>>0)))+".in-addr.arpa.";v=$ifaceNil;p=u;q=v;return[p,q];}w=$makeSlice(NY,0,(($imul(r.$length,4))+9>>0));x=r.$length-1>>0;while(true){if(!(x>=0)){break;}y=((x<0||x>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+x]);w=$append(w,"0123456789abcdef".charCodeAt(((y&15)>>>0)));w=$append(w,46);w=$append(w,"0123456789abcdef".charCodeAt((y>>>4<<24>>>24)));w=$append(w,46);x=x-(1)>>0;}w=$appendSlice(w,"ip6.arpa.");z=($bytesToString(w));aa=$ifaceNil;p=z;q=aa;return[p,q];};BO=function(o,p,q,r){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s="";t=OO.nil;u=$ifaceNil;t=$makeSlice(OO,0,q.answer.$length);if(q.dnsMsgHdr.rcode===3){$s=1;continue;}$s=2;continue;case 1:v="";w=OO.nil;y=JE.Error();$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=new JF.ptr(y,o,p,false,false);s=v;t=w;u=x;$s=-1;return[s,t,u];case 2:if(!((q.dnsMsgHdr.rcode===0))){z=new JF.ptr("server misbehaving",o,p,false,false);if(q.dnsMsgHdr.rcode===2){z.IsTemporary=true;}aa="";ab=OO.nil;ac=z;s=aa;t=ab;u=ac;$s=-1;return[s,t,u];}ad=0;case 4:if(!(ad<10)){$s=5;continue;}t=$subslice(t,0,0);ae=q.answer;af=0;case 6:if(!(af<ae.$length)){$s=7;continue;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);ah=$assertType(ag,OP,true);ai=ah[1];if(ai){af++;$s=6;continue;}aj=ag.Header();$s=8;case 8:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;if((ak.Class===1)&&BP(ak.Name,o)){al=ak.Rrtype;if(al===(r)){t=$append(t,ag);}else if(al===(5)){o=$assertType(ag,OQ).Cname;ad=ad+(1)>>0;$s=4;continue s;}}af++;$s=6;continue;case 7:if(t.$length===0){$s=9;continue;}$s=10;continue;case 9:am="";an=OO.nil;ap=JE.Error();$s=11;case 11:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=new JF.ptr(ap,o,p,false,false);s=am;t=an;u=ao;$s=-1;return[s,t,u];case 10:aq=o;ar=t;as=$ifaceNil;s=aq;t=ar;u=as;$s=-1;return[s,t,u];$s=4;continue;case 5:at="";au=OO.nil;av=new JF.ptr("too many redirects",o,p,false,false);s=at;t=au;u=av;$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:BO};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BP=function(o,p){var o,p,q,r,s;if(!((o.length===p.length))){return false;}q=0;while(true){if(!(q<o.length)){break;}r=o.charCodeAt(q);s=p.charCodeAt(q);if(65<=r&&r<=90){r=r+(32)<<24>>>24;}if(65<=s&&s<=90){s=s+(32)<<24>>>24;}if(!((r===s))){return false;}q=q+(1)>>0;}return true;};BQ=function(o){var o,p,q,r,s,t,u;p=o.length;if((p===0)||p>254||(p===254)&&!((o.charCodeAt((p-1>>0))===46))){return false;}q=46;r=false;s=0;t=0;while(true){if(!(t<o.length)){break;}u=o.charCodeAt(t);if(97<=u&&u<=122||65<=u&&u<=90||(u===95)){r=true;s=s+(1)>>0;}else if(48<=u&&u<=57){s=s+(1)>>0;}else if((u===45)){if(q===46){return false;}s=s+(1)>>0;}else if((u===46)){if((q===46)||(q===45)){return false;}if(s>63||(s===0)){return false;}s=0;}else{return false;}q=u;t=t+(1)>>0;}if((q===45)||s>63){return false;}return r;};BR=function(o){var o,p,q,r,s,t;p=false;q=o;r=0;while(true){if(!(r<q.$length)){break;}s=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(s===46){p=true;break;}r++;}if(p&&!(((t=o.$length-1>>0,((t<0||t>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+t]))===46))){o=$append(o,46);}return($bytesToString(o));};BT.prototype.Len=function(){var o;o=this;return o.$length;};$ptrType(BT).prototype.Len=function(){return this.$get().Len();};BT.prototype.Less=function(o,p){var o,p,q;q=this;return((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]).Priority<((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]).Priority||((((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]).Priority===((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]).Priority)&&((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]).Weight<((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]).Weight);};$ptrType(BT).prototype.Less=function(o,p){return this.$get().Less(o,p);};BT.prototype.Swap=function(o,p){var o,p,q,r,s;q=this;r=((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]);s=((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]);((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]=r);((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]=s);};$ptrType(BT).prototype.Swap=function(o,p){return this.$get().Swap(o,p);};BT.prototype.shuffleByWeight=function(){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=0;q=o;r=0;while(true){if(!(r<q.$length)){break;}s=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);p=p+(((s.Weight>>0)))>>0;r++;}case 1:if(!(p>0&&o.$length>1)){$s=2;continue;}t=0;u=L.Intn(p);$s=3;case 3:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;w=o;x=0;while(true){if(!(x<w.$length)){break;}y=x;t=t+(((((y<0||y>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+y]).Weight>>0)))>>0;if(t>v){if(y>0){z=((y<0||y>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+y]);aa=(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]);(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]=z);((y<0||y>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+y]=aa);}break;}x++;}p=p-((((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]).Weight>>0)))>>0;o=$subslice(o,1);$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BT.prototype.shuffleByWeight};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BT).prototype.shuffleByWeight=function(){return this.$get().shuffleByWeight();};BT.prototype.sort=function(){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;$r=D.Sort(o);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=0;q=1;case 2:if(!(q<o.$length)){$s=3;continue;}if(!((((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]).Priority===((q<0||q>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+q]).Priority))){$s=4;continue;}$s=5;continue;case 4:$r=$subslice(o,p,q).shuffleByWeight();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=q;case 5:q=q+(1)>>0;$s=2;continue;case 3:$r=$subslice(o,p).shuffleByWeight();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BT.prototype.sort};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BT).prototype.sort=function(){return this.$get().sort();};BV.prototype.Len=function(){var o;o=this;return o.$length;};$ptrType(BV).prototype.Len=function(){return this.$get().Len();};BV.prototype.Less=function(o,p){var o,p,q;q=this;return((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]).Pref<((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]).Pref;};$ptrType(BV).prototype.Less=function(o,p){return this.$get().Less(o,p);};BV.prototype.Swap=function(o,p){var o,p,q,r,s;q=this;r=((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]);s=((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]);((o<0||o>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+o]=r);((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p]=s);};$ptrType(BV).prototype.Swap=function(o,p){return this.$get().Swap(o,p);};BV.prototype.sort=function(){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=o;q=0;case 1:if(!(q<p.$length)){$s=2;continue;}r=q;s=L.Intn(r+1>>0);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;u=((t<0||t>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+t]);v=((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]);((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]=u);((t<0||t>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+t]=v);q++;$s=1;continue;case 2:$r=D.Sort(o);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BV.prototype.sort};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BV).prototype.sort=function(){return this.$get().sort();};BY.ptr.prototype.dnsRoundTrip=function(o){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=o.Pack();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!t){$s=-1;return[OR.nil,A.New("cannot marshal DNS message")];}v=p.Conn.Write(s);$s=2;case 2:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[1];if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return[OR.nil,w];}s=$makeSlice(NY,512);case 3:y=p.Conn.Read(s);$s=5;case 5:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=x[0];aa=x[1];if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return[OR.nil,aa];}ab=new DL.ptr(new DK.ptr(0,false,0,false,false,false,false,0),OS.nil,OO.nil,OO.nil,OO.nil);ac=ab.Unpack($subslice(s,0,z));$s=8;case 8:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}if(!ac||!ab.IsResponseTo(o)){$s=6;continue;}$s=7;continue;case 6:$s=3;continue;case 7:$s=-1;return[ab,$ifaceNil];$s=3;continue;case 4:$s=-1;return[OR.nil,$ifaceNil];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.dnsRoundTrip};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.dnsRoundTrip=function(o){return this.$val.dnsRoundTrip(o);};BZ.ptr.prototype.dnsRoundTrip=function(o){var aa,ab,ac,ad,ae,af,ag,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=o.Pack();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!t){$s=-1;return[OR.nil,A.New("cannot marshal DNS message")];}u=s.$length;s=$appendSlice(new NY([(((u>>8>>0)<<24>>>24)),((u<<24>>>24))]),s);w=p.Conn.Write(s);$s=2;case 2:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[1];if(!($interfaceIsEqual(x,$ifaceNil))){$s=-1;return[OR.nil,x];}s=$makeSlice(NY,1280);z=M.ReadFull(p,$subslice(s,0,2));$s=3;case 3:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[1];if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return[OR.nil,aa];}u=((((0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])>>0))<<8>>0)|(((1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1])>>0));if(u>s.$length){s=$makeSlice(NY,u);}ac=M.ReadFull(p,$subslice(s,0,u));$s=4;case 4:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(!($interfaceIsEqual(ae,$ifaceNil))){$s=-1;return[OR.nil,ae];}af=new DL.ptr(new DK.ptr(0,false,0,false,false,false,false,0),OS.nil,OO.nil,OO.nil,OO.nil);ag=af.Unpack($subslice(s,0,ad));$s=7;case 7:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}if(!ag){$s=5;continue;}$s=6;continue;case 5:$s=-1;return[OR.nil,A.New("cannot unmarshal DNS message")];case 6:if(!af.IsResponseTo(o)){$s=-1;return[OR.nil,A.New("invalid DNS response")];}$s=-1;return[af,$ifaceNil];}return;}if($f===undefined){$f={$blk:BZ.ptr.prototype.dnsRoundTrip};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BZ.prototype.dnsRoundTrip=function(o){return this.$val.dnsRoundTrip(o);};HO.ptr.prototype.exchange=function(o,p,q,r,s){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);t=[t];u=this;t[0]=new DL.ptr(new DK.ptr(0,false,0,false,false,true,false,0),new OS([new CQ.ptr(q,r,1)]),OO.nil,OO.nil,OO.nil);v=new NT(["udp","tcp"]);w=0;case 1:if(!(w<v.$length)){$s=2;continue;}x=((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]);z=E.WithDeadline(o,$clone($clone(K.Now(),K.Time).Add(s),K.Time));$s=3;case 3:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[0];ab=y[1];$deferred.push([ab,[]]);ad=u.dial(aa,x,p);$s=4;case 4:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[OR.nil,af];}$deferred.push([$methodVal(ae,"Close"),[]]);ah=aa.Deadline();$s=5;case 5:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=$clone(ag[0],K.Time);aj=ag[1];if(aj&&!$clone(ai,K.Time).IsZero()){$s=6;continue;}$s=7;continue;case 6:ak=ae.SetDeadline($clone(ai,K.Time));$s=8;case 8:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ak;case 7:al=L.Int();$s=9;case 9:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}t[0].dnsMsgHdr.id=(((al<<16>>>16))^(($clone(K.Now(),K.Time).UnixNano().$low<<16>>>16)))<<16>>>16;an=ae.dnsRoundTrip(t[0]);$s=10;case 10:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;ao=am[0];af=am[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[OR.nil,IS(af)];}if(ao.dnsMsgHdr.truncated){w++;$s=1;continue;}$s=-1;return[ao,$ifaceNil];$s=1;continue;case 2:$s=-1;return[OR.nil,A.New("no answer from DNS server")];}return;}}catch(err){$err=err;$s=-1;return[OR.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:HO.ptr.prototype.exchange};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};HO.prototype.exchange=function(o,p,q,r,s){return this.$val.exchange(o,p,q,r,s);};HO.ptr.prototype.tryOneName=function(o,p,q,r){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s=this;t=$ifaceNil;u=p.serverOffset();v=((p.servers.$length>>>0));w=0;case 1:if(!(w<p.attempts)){$s=2;continue;}x=0;case 3:if(!(x<v)){$s=4;continue;}ab=(y=p.servers,z=(aa=((u+x>>>0))%v,aa===aa?aa:$throwRuntimeError("integer divide by zero")),((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z]));ad=s.exchange(o,ab,q,r,p.timeout);$s=5;case 5:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:ag=af.Error();$s=8;case 8:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}t=new JF.ptr(ag,q,ab,false,false);ah=$assertType(af,IO,true);ai=ah[0];aj=ah[1];if(!(aj)){ak=false;$s=11;continue s;}al=ai.Timeout();$s=12;case 12:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;case 11:if(ak){$s=9;continue;}$s=10;continue;case 9:$assertType(t,OT).IsTimeout=true;case 10:am=$assertType(af,OU,true);an=am[1];if(an){$assertType(t,OT).IsTemporary=true;}x=x+(1)>>>0;$s=3;continue;case 7:if((ae.dnsMsgHdr.rcode===0)&&!ae.dnsMsgHdr.authoritative&&!ae.dnsMsgHdr.recursion_available&&(ae.answer.$length===0)&&(ae.extra.$length===0)){$s=13;continue;}$s=14;continue;case 13:t=new JF.ptr("lame referral",q,ab,false,false);x=x+(1)>>>0;$s=3;continue;case 14:ap=BO(q,ab,ae,r);$s=15;case 15:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=ao[0];ar=ao[1];af=ao[2];if($interfaceIsEqual(af,$ifaceNil)||(ae.dnsMsgHdr.rcode===0)||(ae.dnsMsgHdr.rcode===3)){$s=-1;return[aq,ar,af];}t=af;x=x+(1)>>>0;$s=3;continue;case 4:w=w+(1)>>0;$s=1;continue;case 2:$s=-1;return["",OO.nil,t];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.tryOneName};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.tryOneName=function(o,p,q,r){return this.$val.tryOneName(o,p,q,r);};CA=function(o){var o,p,q,r,s,t,u,v,w;p=$makeSlice(OD,0,4);q=o;r=0;while(true){if(!(r<q.$length)){break;}s=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);t=s;if($assertType(t,OV,true)[1]){u=t.$val;p=$append(p,new GI.ptr(FR((((u.A>>>24>>>0)<<24>>>24)),(((u.A>>>16>>>0)<<24>>>24)),(((u.A>>>8>>>0)<<24>>>24)),((u.A<<24>>>24))),""));}else if($assertType(t,OW,true)[1]){v=t.$val;w=$makeSlice(FO,16);$copySlice(w,new NY(v.AAAA));p=$append(p,new GI.ptr(w,""));}r++;}return p;};CB.ptr.prototype.init=function(){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=AX();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o.dnsConfig=p.resolv;if(o.dnsConfig===NR.nil){$s=2;continue;}$s=3;continue;case 2:q=CK("/etc/resolv.conf");$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o.dnsConfig=q;case 3:K.Time.copy(o.lastChecked,K.Now());o.ch=new $Chan(NZ,1);$s=-1;return;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.init};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.init=function(){return this.$val.init();};CB.ptr.prototype.tryUpdate=function(o){var o,p,q,r,s,t,u,v,w,x,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=this;$r=p.initOnce.Do($methodVal(p,"init"));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!p.tryAcquireSema()){$s=-1;return;}$deferred.push([$methodVal(p,"releaseSema"),[]]);q=$clone(K.Now(),K.Time);if($clone(p.lastChecked,K.Time).After($clone($clone(q,K.Time).Add(new K.Duration(-2,3589934592)),K.Time))){$s=-1;return;}K.Time.copy(p.lastChecked,q);r=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);s=F.Stat(o);t=s[0];u=s[1];if($interfaceIsEqual(u,$ifaceNil)){$s=2;continue;}$s=3;continue;case 2:v=t.ModTime();$s=4;case 4:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}K.Time.copy(r,v);case 3:if($clone(r,K.Time).Equal($clone(p.dnsConfig.mtime,K.Time))){$s=-1;return;}w=CK(o);$s=5;case 5:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$r=p.mu.Lock();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p.dnsConfig=x;$r=p.mu.Unlock();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CB.ptr.prototype.tryUpdate};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CB.prototype.tryUpdate=function(o){return this.$val.tryUpdate(o);};CB.ptr.prototype.tryAcquireSema=function(){var o,p,$r;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$r=$f.$r;}o=this;p=$select([[o.ch,new NZ.ptr()],[]]);if(p[0]===0){return true;}else if(p[0]===1){return false;}if($f===undefined){$f={$blk:CB.ptr.prototype.tryAcquireSema};}$f.o=o;$f.p=p;$f.$r=$r;return $f;};CB.prototype.tryAcquireSema=function(){return this.$val.tryAcquireSema();};CB.ptr.prototype.releaseSema=function(){var o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=$recv(o.ch);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p[0];$s=-1;return;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.releaseSema};}$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.releaseSema=function(){return this.$val.releaseSema();};HO.ptr.prototype.lookup=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r="";s=OO.nil;t=$ifaceNil;u=this;if(!BQ(p)){$s=1;continue;}$s=2;continue;case 1:v="";w=OO.nil;y=JE.Error();$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=new JF.ptr(y,p,"",false,false);r=v;s=w;t=x;$s=-1;return[r,s,t];case 2:$r=CC.tryUpdate("/etc/resolv.conf");$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CC.mu.RLock();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}z=CC.dnsConfig;$r=CC.mu.RUnlock();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=z.nameList(p);ab=0;case 7:if(!(ab<aa.$length)){$s=8;continue;}ac=((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]);ae=u.tryOneName(o,z,ac,q);$s=9;case 9:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;r=ad[0];s=ad[1];t=ad[2];if($interfaceIsEqual(t,$ifaceNil)){$s=8;continue;}af=$assertType(t,IO,true);ag=af[0];ah=af[1];if(!(ah)){ai=false;$s=12;continue s;}aj=ag.Temporary();$s=13;case 13:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;case 12:if(ai&&u.StrictErrors){$s=10;continue;}$s=11;continue;case 10:$s=8;continue;case 11:ab++;$s=7;continue;case 8:ak=$assertType(t,OT,true);al=ak[0];am=ak[1];if(am){al.Name=p;}$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookup};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookup=function(o,p,q){return this.$val.lookup(o,p,q);};CD=function(o){var o;if(o===""){return true;}if(o.charCodeAt((o.length-1>>0))===46){o=$substring(o,0,(o.length-1>>0));}return KP(o,".onion");};CJ.ptr.prototype.nameList=function(o){var o,p,q,r,s,t,u,v,w;p=this;if(CD(o)){return NT.nil;}q=o.length;r=q>0&&(o.charCodeAt((q-1>>0))===46);if(q>254||(q===254)&&r){return NT.nil;}if(r){return new NT([o]);}s=KF(o,46)>=p.ndots;o=o+(".");q=q+(1)>>0;t=$makeSlice(NT,0,(1+p.search.$length>>0));if(s){t=$append(t,o);}u=p.search;v=0;while(true){if(!(v<u.$length)){break;}w=((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]);if((q+w.length>>0)<=254){t=$append(t,o+w);}v++;}if(!s){t=$append(t,o);}return t;};CJ.prototype.nameList=function(o){return this.$val.nameList(o);};CE.prototype.String=function(){var o,p,q,r,s;o=this.$val;p=(q=CF[CE.keyFor(o)],q!==undefined?[q.v,true]:["",false]);r=p[0];s=p[1];if(s){return r;}return"hostLookupOrder="+KC(((o>>0)))+"??";};$ptrType(CE).prototype.String=function(){return new CE(this.$get()).String();};HO.ptr.prototype.goLookupHostOrder=function(o,p,q){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=NT.nil;s=$ifaceNil;t=this;if((q===1)||(q===3)){$s=1;continue;}$s=2;continue;case 1:u=EO(p);$s=3;case 3:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}r=u;if(r.$length>0||(q===3)){$s=-1;return[r,s];}case 2:w=t.goLookupIPCNAMEOrder(o,p,q);$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];s=v[2];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[r,s];}r=$makeSlice(NT,0,x.$length);y=x;z=0;while(true){if(!(z<y.$length)){break;}aa=$clone(((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z]),GI);r=$append(r,aa.String());z++;}$s=-1;return[r,s];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.goLookupHostOrder};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.goLookupHostOrder=function(o,p,q){return this.$val.goLookupHostOrder(o,p,q);};CG=function(o){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=OD.nil;r=EO(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=0;case 2:if(!(s<q.$length)){$s=3;continue;}t=((s<0||s>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+s]);u=HE(t);v=u[0];w=u[1];x=GG(v);if(!(x===FO.nil)){y=new GI.ptr(x,w);p=$append(p,y);}s++;$s=2;continue;case 3:$r=Y(p);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return p;}return;}if($f===undefined){$f={$blk:CG};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};HO.ptr.prototype.goLookupIP=function(o,p){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=OD.nil;r=$ifaceNil;s=this;t=AX();$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t.hostLookupOrder(p);$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;x=s.goLookupIPCNAMEOrder(o,p,v);$s=3;case 3:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;q=w[0];r=w[2];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.goLookupIP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.goLookupIP=function(o,p){return this.$val.goLookupIP(o,p);};HO.ptr.prototype.goLookupIPCNAMEOrder=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=[o];r=[r];s=[s];t=[t];u=[u];v=OD.nil;w="";x=$ifaceNil;u[0]=this;if((q===1)||(q===3)){$s=1;continue;}$s=2;continue;case 1:y=CG(p);$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}v=y;if(v.$length>0||(q===3)){z=v;aa=p;ab=$ifaceNil;v=z;w=aa;x=ab;$s=-1;return[v,w,x];}case 2:if(!BQ(p)){$s=4;continue;}$s=5;continue;case 4:ac=OD.nil;ad="";af=JE.Error();$s=6;case 6:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=new JF.ptr(af,p,"",false,false);v=ac;w=ad;x=ae;$s=-1;return[v,w,x];case 5:$r=CC.tryUpdate("/etc/resolv.conf");$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CC.mu.RLock();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r[0]=CC.dnsConfig;$r=CC.mu.RUnlock();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t[0]=new $Chan(OX,1);ag=$toNativeArray($kindUint16,[1,28]);ah=$ifaceNil;ai=r[0].nameList(p);aj=0;case 10:if(!(aj<ai.$length)){$s=11;continue;}s[0]=((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);ak=ag;al=0;case 12:if(!(al<2)){$s=13;continue;}am=((al<0||al>=ak.length)?($throwRuntimeError("index out of range"),undefined):ak[al]);$go((function(o,r,s,t,u){return function $b(an){var an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=u[0].tryOneName(o[0],r[0],s[0],an);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=ao[0];ar=ao[1];as=ao[2];$r=$send(t[0],$clone(new OX.ptr(aq,ar,as),OX));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};})(o,r,s,t,u),[am]);al++;$s=12;continue;case 13:an=false;ao=ag;ap=0;case 14:if(!(ap<2)){$s=15;continue;}aq=$recv(t[0]);$s=16;case 16:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=$clone(aq[0],OX);if(!($interfaceIsEqual(ar.error,$ifaceNil))){$s=17;continue;}$s=18;continue;case 17:as=$assertType(ar.error,IO,true);at=as[0];au=as[1];if(!(au)){av=false;$s=22;continue s;}aw=at.Temporary();$s=23;case 23:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}av=aw;case 22:if(av&&u[0].StrictErrors){$s=19;continue;}if($interfaceIsEqual(ah,$ifaceNil)||s[0]===p+"."){$s=20;continue;}$s=21;continue;case 19:an=true;ah=ar.error;$s=21;continue;case 20:ah=ar.error;case 21:ap++;$s=14;continue;case 18:v=$appendSlice(v,CA(ar.rrs));if(w===""){w=ar.cname;}ap++;$s=14;continue;case 15:if(an){v=OD.nil;$s=11;continue;}if(v.$length>0){$s=11;continue;}aj++;$s=10;continue;case 11:ax=$assertType(ah,OT,true);ay=ax[0];az=ax[1];if(az){ay.Name=p;}$r=Y(v);$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(v.$length===0){$s=25;continue;}$s=26;continue;case 25:if(q===2){$s=27;continue;}$s=28;continue;case 27:ba=CG(p);$s=29;case 29:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}v=ba;case 28:if((v.$length===0)&&!($interfaceIsEqual(ah,$ifaceNil))){bb=OD.nil;bc="";bd=ah;v=bb;w=bc;x=bd;$s=-1;return[v,w,x];}case 26:be=v;bf=w;bg=$ifaceNil;v=be;w=bf;x=bg;$s=-1;return[v,w,x];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.goLookupIPCNAMEOrder};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.goLookupIPCNAMEOrder=function(o,p,q){return this.$val.goLookupIPCNAMEOrder(o,p,q);};HO.ptr.prototype.goLookupCNAME=function(o,p){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q="";r=$ifaceNil;s=this;t=AX();$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t.hostLookupOrder(p);$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;x=s.goLookupIPCNAMEOrder(o,p,v);$s=3;case 3:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;q=w[1];r=w[2];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.goLookupCNAME};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.goLookupCNAME=function(o,p){return this.$val.goLookupCNAME(o,p);};HO.ptr.prototype.goLookupPTR=function(o,p){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;r=EP(p);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;if(s.$length>0){$s=-1;return[s,$ifaceNil];}t=BN(p);u=t[0];v=t[1];if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[NT.nil,v];}x=q.lookup(o,u,12);$s=2;case 2:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[1];v=w[2];if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[NT.nil,v];}z=$makeSlice(NT,y.$length);aa=y;ab=0;while(true){if(!(ab<aa.$length)){break;}ac=ab;ad=((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]);((ac<0||ac>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+ac]=$assertType(ad,OY).Ptr);ab++;}$s=-1;return[z,$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.goLookupPTR};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.goLookupPTR=function(o,p){return this.$val.goLookupPTR(o,p);};CK=function(o){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=new CJ.ptr(NT.nil,NT.nil,1,new K.Duration(1,705032704),2,false,false,NT.nil,$ifaceNil,new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),0);q=JU(o);r=q[0];s=q[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:p.servers=CH;t=CL();$s=3;case 3:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}p.search=t;p.err=s;$s=-1;return p;case 2:$deferred.push([$methodVal(r,"close"),[]]);v=r.file.Stat();$s=4;case 4:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];if($interfaceIsEqual(x,$ifaceNil)){$s=5;continue;}$s=6;continue;case 5:y=w.ModTime();$s=8;case 8:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}K.Time.copy(p.mtime,y);$s=7;continue;case 6:p.servers=CH;z=CL();$s=9;case 9:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}p.search=z;p.err=x;$s=-1;return p;case 7:ab=r.readLine();$s=10;case 10:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];case 11:if(!(ad)){$s=12;continue;}if(ac.length>0&&((ac.charCodeAt(0)===59)||(ac.charCodeAt(0)===35))){$s=13;continue;}$s=14;continue;case 13:af=r.readLine();$s=15;case 15:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ac=ae[0];ad=ae[1];$s=11;continue;case 14:ag=JY(ac);if(ag.$length<1){$s=16;continue;}$s=17;continue;case 16:ai=r.readLine();$s=18;case 18:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;ac=ah[0];ad=ah[1];$s=11;continue;case 17:aj=(0>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+0]);if(aj===("nameserver")){if(ag.$length>1&&p.servers.$length<3){if(!(GE((1>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+1]))===FO.nil)){p.servers=$append(p.servers,HF((1>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+1]),"53"));}else{ak=GF((1>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+1]),true);al=ak[0];if(!(al===FO.nil)){p.servers=$append(p.servers,HF((1>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+1]),"53"));}}}}else if(aj===("domain")){if(ag.$length>1){p.search=new NT([CN((1>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+1]))]);}}else if(aj===("search")){p.search=$makeSlice(NT,(ag.$length-1>>0));am=0;while(true){if(!(am<p.search.$length)){break;}(ao=p.search,((am<0||am>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+am]=CN((an=am+1>>0,((an<0||an>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+an])))));am=am+(1)>>0;}}else if(aj===("options")){ap=$subslice(ag,1);aq=0;while(true){if(!(aq<ap.$length)){break;}ar=((aq<0||aq>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+aq]);if(CM(ar,"ndots:")){as=JZ($substring(ar,6));at=as[0];if(at<0){at=0;}else if(at>15){at=15;}p.ndots=at;}else if(CM(ar,"timeout:")){au=JZ($substring(ar,8));av=au[0];if(av<1){av=1;}p.timeout=$mul64((new K.Duration(0,av)),new K.Duration(0,1000000000));}else if(CM(ar,"attempts:")){aw=JZ($substring(ar,9));ax=aw[0];if(ax<1){ax=1;}p.attempts=ax;}else if(ar==="rotate"){p.rotate=true;}else{p.unknownOpt=true;}aq++;}}else if(aj===("lookup")){p.lookup=$subslice(ag,1);}else{p.unknownOpt=true;}az=r.readLine();$s=19;case 19:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;ac=ay[0];ad=ay[1];$s=11;continue;case 12:if(p.servers.$length===0){p.servers=CH;}if(p.search.$length===0){$s=20;continue;}$s=21;continue;case 20:ba=CL();$s=22;case 22:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}p.search=ba;case 21:$s=-1;return p;}return;}}catch(err){$err=err;$s=-1;return NR.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CJ.ptr.prototype.serverOffset=function(){var o;o=this;if(o.rotate){return N.AddUint32((o.$ptr_soffset||(o.$ptr_soffset=new OZ(function(){return this.$target.soffset;},function($v){this.$target.soffset=$v;},o))),1)-1>>>0;}return 0;};CJ.prototype.serverOffset=function(){return this.$val.serverOffset();};CL=function(){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=CI();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];r=o[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return NT.nil;}s=V(q,46);if(s>=0&&s<(q.length-1>>0)){$s=-1;return new NT([CN($substring(q,(s+1>>0)))]);}$s=-1;return NT.nil;}return;}if($f===undefined){$f={$blk:CL};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};CM=function(o,p){var o,p;return o.length>=p.length&&$substring(o,0,p.length)===p;};CN=function(o){var o;if(o.length>0&&(o.charCodeAt((o.length-1>>0))===46)){return o;}return o+".";};CP.ptr.prototype.Walk=function(o){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;v=o((p.$ptr_Id||(p.$ptr_Id=new PA(function(){return this.$target.Id;},function($v){this.$target.Id=$v;},p))),"Id","");$s=6;case 6:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}if(!(v)){u=false;$s=5;continue s;}w=o((p.$ptr_Bits||(p.$ptr_Bits=new PA(function(){return this.$target.Bits;},function($v){this.$target.Bits=$v;},p))),"Bits","");$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}u=w;case 5:if(!(u)){t=false;$s=4;continue s;}x=o((p.$ptr_Qdcount||(p.$ptr_Qdcount=new PA(function(){return this.$target.Qdcount;},function($v){this.$target.Qdcount=$v;},p))),"Qdcount","");$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}t=x;case 4:if(!(t)){s=false;$s=3;continue s;}y=o((p.$ptr_Ancount||(p.$ptr_Ancount=new PA(function(){return this.$target.Ancount;},function($v){this.$target.Ancount=$v;},p))),"Ancount","");$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}s=y;case 3:if(!(s)){r=false;$s=2;continue s;}z=o((p.$ptr_Nscount||(p.$ptr_Nscount=new PA(function(){return this.$target.Nscount;},function($v){this.$target.Nscount=$v;},p))),"Nscount","");$s=10;case 10:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}r=z;case 2:if(!(r)){q=false;$s=1;continue s;}aa=o((p.$ptr_Arcount||(p.$ptr_Arcount=new PA(function(){return this.$target.Arcount;},function($v){this.$target.Arcount=$v;},p))),"Arcount","");$s=11;case 11:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}q=aa;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CP.ptr.prototype.Walk};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CP.prototype.Walk=function(o){return this.$val.Walk(o);};CQ.ptr.prototype.Walk=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;s=o((p.$ptr_Name||(p.$ptr_Name=new PB(function(){return this.$target.Name;},function($v){this.$target.Name=$v;},p))),"Name","domain");$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(!(s)){r=false;$s=2;continue s;}t=o((p.$ptr_Qtype||(p.$ptr_Qtype=new PA(function(){return this.$target.Qtype;},function($v){this.$target.Qtype=$v;},p))),"Qtype","");$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=t;case 2:if(!(r)){q=false;$s=1;continue s;}u=o((p.$ptr_Qclass||(p.$ptr_Qclass=new PA(function(){return this.$target.Qclass;},function($v){this.$target.Qclass=$v;},p))),"Qclass","");$s=5;case 5:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}q=u;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CQ.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};CQ.prototype.Walk=function(o){return this.$val.Walk(o);};CR.ptr.prototype.Header=function(){var o;o=this;return o;};CR.prototype.Header=function(){return this.$val.Header();};CR.ptr.prototype.Walk=function(o){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;u=o((p.$ptr_Name||(p.$ptr_Name=new PB(function(){return this.$target.Name;},function($v){this.$target.Name=$v;},p))),"Name","domain");$s=5;case 5:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}if(!(u)){t=false;$s=4;continue s;}v=o((p.$ptr_Rrtype||(p.$ptr_Rrtype=new PA(function(){return this.$target.Rrtype;},function($v){this.$target.Rrtype=$v;},p))),"Rrtype","");$s=6;case 6:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}t=v;case 4:if(!(t)){s=false;$s=3;continue s;}w=o((p.$ptr_Class||(p.$ptr_Class=new PA(function(){return this.$target.Class;},function($v){this.$target.Class=$v;},p))),"Class","");$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}s=w;case 3:if(!(s)){r=false;$s=2;continue s;}x=o((p.$ptr_Ttl||(p.$ptr_Ttl=new OZ(function(){return this.$target.Ttl;},function($v){this.$target.Ttl=$v;},p))),"Ttl","");$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}r=x;case 2:if(!(r)){q=false;$s=1;continue s;}y=o((p.$ptr_Rdlength||(p.$ptr_Rdlength=new PA(function(){return this.$target.Rdlength;},function($v){this.$target.Rdlength=$v;},p))),"Rdlength","");$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}q=y;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CR.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};CR.prototype.Walk=function(o){return this.$val.Walk(o);};CT.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};CT.prototype.Header=function(){return this.$val.Header();};CT.ptr.prototype.Walk=function(o){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=p.Hdr.Walk(o);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(r)){q=false;$s=1;continue s;}s=o((p.$ptr_Cname||(p.$ptr_Cname=new PB(function(){return this.$target.Cname;},function($v){this.$target.Cname=$v;},p))),"Cname","domain");$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CT.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};CT.prototype.Walk=function(o){return this.$val.Walk(o);};CU.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};CU.prototype.Header=function(){return this.$val.Header();};CU.ptr.prototype.Walk=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;s=p.Hdr.Walk(o);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(!(s)){r=false;$s=2;continue s;}t=o((p.$ptr_Pref||(p.$ptr_Pref=new PA(function(){return this.$target.Pref;},function($v){this.$target.Pref=$v;},p))),"Pref","");$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=t;case 2:if(!(r)){q=false;$s=1;continue s;}u=o((p.$ptr_Mx||(p.$ptr_Mx=new PB(function(){return this.$target.Mx;},function($v){this.$target.Mx=$v;},p))),"Mx","domain");$s=5;case 5:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}q=u;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CU.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};CU.prototype.Walk=function(o){return this.$val.Walk(o);};CV.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};CV.prototype.Header=function(){return this.$val.Header();};CV.ptr.prototype.Walk=function(o){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=p.Hdr.Walk(o);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(r)){q=false;$s=1;continue s;}s=o((p.$ptr_Ns||(p.$ptr_Ns=new PB(function(){return this.$target.Ns;},function($v){this.$target.Ns=$v;},p))),"Ns","domain");$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CV.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};CV.prototype.Walk=function(o){return this.$val.Walk(o);};CW.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};CW.prototype.Header=function(){return this.$val.Header();};CW.ptr.prototype.Walk=function(o){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=p.Hdr.Walk(o);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(r)){q=false;$s=1;continue s;}s=o((p.$ptr_Ptr||(p.$ptr_Ptr=new PB(function(){return this.$target.Ptr;},function($v){this.$target.Ptr=$v;},p))),"Ptr","domain");$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.Walk=function(o){return this.$val.Walk(o);};CX.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};CX.prototype.Header=function(){return this.$val.Header();};CX.ptr.prototype.Walk=function(o){var aa,ab,ac,ad,ae,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;x=p.Hdr.Walk(o);$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(!(x)){w=false;$s=7;continue s;}y=o((p.$ptr_Ns||(p.$ptr_Ns=new PB(function(){return this.$target.Ns;},function($v){this.$target.Ns=$v;},p))),"Ns","domain");$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w=y;case 7:if(!(w)){v=false;$s=6;continue s;}z=o((p.$ptr_Mbox||(p.$ptr_Mbox=new PB(function(){return this.$target.Mbox;},function($v){this.$target.Mbox=$v;},p))),"Mbox","domain");$s=10;case 10:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}v=z;case 6:if(!(v)){u=false;$s=5;continue s;}aa=o((p.$ptr_Serial||(p.$ptr_Serial=new OZ(function(){return this.$target.Serial;},function($v){this.$target.Serial=$v;},p))),"Serial","");$s=11;case 11:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}u=aa;case 5:if(!(u)){t=false;$s=4;continue s;}ab=o((p.$ptr_Refresh||(p.$ptr_Refresh=new OZ(function(){return this.$target.Refresh;},function($v){this.$target.Refresh=$v;},p))),"Refresh","");$s=12;case 12:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}t=ab;case 4:if(!(t)){s=false;$s=3;continue s;}ac=o((p.$ptr_Retry||(p.$ptr_Retry=new OZ(function(){return this.$target.Retry;},function($v){this.$target.Retry=$v;},p))),"Retry","");$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}s=ac;case 3:if(!(s)){r=false;$s=2;continue s;}ad=o((p.$ptr_Expire||(p.$ptr_Expire=new OZ(function(){return this.$target.Expire;},function($v){this.$target.Expire=$v;},p))),"Expire","");$s=14;case 14:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}r=ad;case 2:if(!(r)){q=false;$s=1;continue s;}ae=o((p.$ptr_Minttl||(p.$ptr_Minttl=new OZ(function(){return this.$target.Minttl;},function($v){this.$target.Minttl=$v;},p))),"Minttl","");$s=15;case 15:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}q=ae;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CX.ptr.prototype.Walk};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CX.prototype.Walk=function(o){return this.$val.Walk(o);};CY.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};CY.prototype.Header=function(){return this.$val.Header();};CY.ptr.prototype.Walk=function(o){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;q=p.Hdr.Walk(o);$s=3;case 3:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(!q){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:r=0;case 4:if(!(r<p.Hdr.Rdlength)){$s=5;continue;}s=[s];s[0]="";t=o((s.$ptr||(s.$ptr=new PB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},s))),"Txt","");$s=8;case 8:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(!t){$s=6;continue;}$s=7;continue;case 6:$s=-1;return false;case 7:if((p.Hdr.Rdlength-r<<16>>>16)<(((s[0].length<<16>>>16))+1<<16>>>16)){$s=-1;return false;}r=r+((((s[0].length<<16>>>16))+1<<16>>>16))<<16>>>16;p.Txt=p.Txt+(s[0]);$s=4;continue;case 5:$s=-1;return true;}return;}if($f===undefined){$f={$blk:CY.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};CY.prototype.Walk=function(o){return this.$val.Walk(o);};CZ.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};CZ.prototype.Header=function(){return this.$val.Header();};CZ.ptr.prototype.Walk=function(o){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;u=p.Hdr.Walk(o);$s=5;case 5:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}if(!(u)){t=false;$s=4;continue s;}v=o((p.$ptr_Priority||(p.$ptr_Priority=new PA(function(){return this.$target.Priority;},function($v){this.$target.Priority=$v;},p))),"Priority","");$s=6;case 6:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}t=v;case 4:if(!(t)){s=false;$s=3;continue s;}w=o((p.$ptr_Weight||(p.$ptr_Weight=new PA(function(){return this.$target.Weight;},function($v){this.$target.Weight=$v;},p))),"Weight","");$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}s=w;case 3:if(!(s)){r=false;$s=2;continue s;}x=o((p.$ptr_Port||(p.$ptr_Port=new PA(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},p))),"Port","");$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}r=x;case 2:if(!(r)){q=false;$s=1;continue s;}y=o((p.$ptr_Target||(p.$ptr_Target=new PB(function(){return this.$target.Target;},function($v){this.$target.Target=$v;},p))),"Target","domain");$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}q=y;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:CZ.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};CZ.prototype.Walk=function(o){return this.$val.Walk(o);};DA.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};DA.prototype.Header=function(){return this.$val.Header();};DA.ptr.prototype.Walk=function(o){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=p.Hdr.Walk(o);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(r)){q=false;$s=1;continue s;}s=o((p.$ptr_A||(p.$ptr_A=new OZ(function(){return this.$target.A;},function($v){this.$target.A=$v;},p))),"A","ipv4");$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:DA.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};DA.prototype.Walk=function(o){return this.$val.Walk(o);};DB.ptr.prototype.Header=function(){var o;o=this;return o.Hdr;};DB.prototype.Header=function(){return this.$val.Header();};DB.ptr.prototype.Walk=function(o){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=p.Hdr.Walk(o);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(r)){q=false;$s=1;continue s;}s=o(new NY(p.AAAA),"AAAA","ipv6");$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:DB.ptr.prototype.Walk};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};DB.prototype.Walk=function(o){return this.$val.Walk(o);};DD=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,o,p,q,r,s,t,u,v,w,x,y,z;r=0;s=false;t=o.length;if((t===0)||!((o.charCodeAt((t-1>>0))===46))){o=o+(".");}if(o==="."){((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]=0);q=q+(1)>>0;u=q;v=true;r=u;s=v;return[r,s];}w=o.length+1>>0;if((q+w>>0)>p.$length){x=p.$length;y=false;r=x;s=y;return[r,s];}z=0;aa=0;while(true){if(!(aa<o.length)){break;}if(o.charCodeAt(aa)===46){if((aa-z>>0)>=64){ab=p.$length;ac=false;r=ab;s=ac;return[r,s];}if((aa-z>>0)===0){ad=p.$length;ae=false;r=ad;s=ae;return[r,s];}((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]=(((aa-z>>0)<<24>>>24)));q=q+(1)>>0;af=z;while(true){if(!(af<aa)){break;}((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]=o.charCodeAt(af));q=q+(1)>>0;af=af+(1)>>0;}z=aa+1>>0;}aa=aa+(1)>>0;}((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]=0);q=q+(1)>>0;ag=q;ah=true;r=ag;s=ah;return[r,s];};DE=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,o,p,q,r,s,t,u,v,w,x,y,z;q="";r=0;s=false;q="";t=0;Loop:while(true){if(p>=o.$length){u="";v=o.$length;w=false;q=u;r=v;s=w;return[q,r,s];}x=((((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p])>>0));p=p+(1)>>0;y=x&192;if(y===(0)){if(x===0){break Loop;}if((p+x>>0)>o.$length){z="";aa=o.$length;ab=false;q=z;r=aa;s=ab;return[q,r,s];}q=q+(($bytesToString($subslice(o,p,(p+x>>0))))+".");p=p+(x)>>0;}else if(y===(192)){if(p>=o.$length){ac="";ad=o.$length;ae=false;q=ac;r=ad;s=ae;return[q,r,s];}af=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);p=p+(1)>>0;if(t===0){r=p;}t=t+(1)>>0;if(t>10){ag="";ah=o.$length;ai=false;q=ag;r=ah;s=ai;return[q,r,s];}p=((((x^192)>>0))<<8>>0)|((af>>0));}else{aj="";ak=o.$length;al=false;q=aj;r=ak;s=al;return[q,r,s];}}if(q.length===0){q=".";}if(t===0){r=p;}am=q;an=r;ao=true;q=am;r=an;s=ao;return[q,r,s];};DF=function(o,p,q){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];q=[q];r=[r];s=0;r[0]=false;t=o.Walk((function(p,q,r){return function(t,u,v){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,t,u,v,w,x,y,z;w=t;if($assertType(w,PA,true)[1]){y=w.$val;ac=y.$get();if((q[0]+2>>0)>p[0].$length){return false;}((q[0]<0||q[0]>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+q[0]]=(((ac>>>8<<16>>>16)<<24>>>24)));(ad=q[0]+1>>0,((ad<0||ad>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+ad]=((ac<<24>>>24))));q[0]=q[0]+(2)>>0;}else if($assertType(w,OZ,true)[1]){z=w.$val;ae=z.$get();((q[0]<0||q[0]>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+q[0]]=(((ae>>>24>>>0)<<24>>>24)));(af=q[0]+1>>0,((af<0||af>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+af]=(((ae>>>16>>>0)<<24>>>24))));(ag=q[0]+2>>0,((ag<0||ag>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+ag]=(((ae>>>8>>>0)<<24>>>24))));(ah=q[0]+3>>0,((ah<0||ah>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+ah]=((ae<<24>>>24))));q[0]=q[0]+(4)>>0;}else if($assertType(w,NY,true)[1]){aa=w.$val;ai=aa.$length;if((q[0]+ai>>0)>p[0].$length){return false;}$copySlice($subslice(p[0],q[0],(q[0]+ai>>0)),aa);q[0]=q[0]+(ai)>>0;}else if($assertType(w,PB,true)[1]){ab=w.$val;aj=ab.$get();ak=v;if(ak===("domain")){al=DD(aj,p[0],q[0]);q[0]=al[0];r[0]=al[1];if(!r[0]){return false;}}else if(ak===("")){if(aj.length>255||((q[0]+1>>0)+aj.length>>0)>p[0].$length){return false;}((q[0]<0||q[0]>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+q[0]]=((aj.length<<24>>>24)));q[0]=q[0]+(1)>>0;q[0]=q[0]+($copyString($subslice(p[0],q[0]),aj))>>0;}else{console.log("net: dns: unknown string tag",v);return false;}}else{x=w;console.log("net: dns: unknown packing type");return false;}return true;};})(p,q,r));$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r[0]=t;if(!r[0]){u=p[0].$length;v=false;s=u;r[0]=v;$s=-1;return[s,r[0]];}w=q[0];x=true;s=w;r[0]=x;$s=-1;return[s,r[0]];}return;}if($f===undefined){$f={$blk:DF};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};DG=function(o,p,q){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];q=[q];r=[r];s=0;r[0]=false;t=o.Walk((function(p,q,r){return function(t,u,v){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,t,u,v,w,x,y,z;w=t;if($assertType(w,PA,true)[1]){y=w.$val;if((q[0]+2>>0)>p[0].$length){return false;}y.$set(((((((q[0]<0||q[0]>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+q[0]])<<16>>>16))<<8<<16>>>16)|(((ac=q[0]+1>>0,((ac<0||ac>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+ac]))<<16>>>16)))>>>0);q[0]=q[0]+(2)>>0;}else if($assertType(w,OZ,true)[1]){z=w.$val;if((q[0]+4>>0)>p[0].$length){return false;}z.$set(((((((((((q[0]<0||q[0]>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+q[0]])>>>0))<<24>>>0)|((((ad=q[0]+1>>0,((ad<0||ad>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+ad]))>>>0))<<16>>>0))>>>0)|((((ae=q[0]+2>>0,((ae<0||ae>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+ae]))>>>0))<<8>>>0))>>>0)|(((af=q[0]+3>>0,((af<0||af>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+af]))>>>0)))>>>0);q[0]=q[0]+(4)>>0;}else if($assertType(w,NY,true)[1]){aa=w.$val;ag=aa.$length;if((q[0]+ag>>0)>p[0].$length){return false;}$copySlice(aa,$subslice(p[0],q[0],(q[0]+ag>>0)));q[0]=q[0]+(ag)>>0;}else if($assertType(w,PB,true)[1]){ab=w.$val;ah="";ai=v;if(ai===("domain")){aj=DE(p[0],q[0]);ah=aj[0];q[0]=aj[1];r[0]=aj[2];if(!r[0]){return false;}}else if(ai===("")){if(q[0]>=p[0].$length||((q[0]+1>>0)+((((q[0]<0||q[0]>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+q[0]])>>0))>>0)>p[0].$length){return false;}ak=((((q[0]<0||q[0]>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+q[0]])>>0));q[0]=q[0]+(1)>>0;al=$makeSlice(NY,ak);am=0;while(true){if(!(am<ak)){break;}((am<0||am>=al.$length)?($throwRuntimeError("index out of range"),undefined):al.$array[al.$offset+am]=(an=q[0]+am>>0,((an<0||an>=p[0].$length)?($throwRuntimeError("index out of range"),undefined):p[0].$array[p[0].$offset+an])));am=am+(1)>>0;}q[0]=q[0]+(ak)>>0;ah=($bytesToString(al));}else{console.log("net: dns: unknown string tag",v);return false;}ab.$set(ah);}else{x=w;console.log("net: dns: unknown packing type");return false;}return true;};})(p,q,r));$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r[0]=t;if(!r[0]){u=p[0].$length;v=false;s=u;r[0]=v;$s=-1;return[s,r[0]];}w=q[0];x=true;s=w;r[0]=x;$s=-1;return[s,r[0]];}return;}if($f===undefined){$f={$blk:DG};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};DH=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];q=[q];q[0]="{";p[0]=0;r=o.Walk((function(p,q){return function(r,s,t){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,r,s,t,u,v,w,x,y,z;p[0]=p[0]+(1)>>0;if(p[0]>1){q[0]=q[0]+(", ");}q[0]=q[0]+(s+"=");u=t;if(u===("ipv4")){v=$assertType(r,OZ).$get();q[0]=q[0]+(FR((((v>>>24>>>0)<<24>>>24)),(((v>>>16>>>0)<<24>>>24)),(((v>>>8>>>0)<<24>>>24)),((v<<24>>>24))).String());}else if(u===("ipv6")){w=$assertType(r,NY);q[0]=q[0]+(($subslice(new FO(w.$array),w.$offset,w.$offset+w.$length)).String());}else{x=new $Int64(0,0);y=r;if($assertType(y,PB,true)[1]){aa=y.$val;q[0]=q[0]+(aa.$get());return true;}else if($assertType(y,NY,true)[1]){ab=y.$val;q[0]=q[0]+(($bytesToString(ab)));return true;}else if($assertType(y,PC,true)[1]){ac=y.$val;if(ac.$get()){q[0]=q[0]+("true");}else{q[0]=q[0]+("false");}return true;}else if($assertType(y,PD,true)[1]){ad=y.$val;x=(new $Int64(0,ad.$get()));}else if($assertType(y,PE,true)[1]){ae=y.$val;x=(new $Int64(0,ae.$get()));}else if($assertType(y,PF,true)[1]){af=y.$val;x=(new $Int64(0,af.$get()));}else if($assertType(y,PA,true)[1]){ag=y.$val;x=(new $Int64(0,ag.$get()));}else if($assertType(y,OZ,true)[1]){ah=y.$val;x=(new $Int64(0,ah.$get()));}else if($assertType(y,PG,true)[1]){ai=y.$val;x=((ak=ai.$get(),new $Int64(ak.$high,ak.$low)));}else if($assertType(y,PH,true)[1]){aj=y.$val;x=((al=aj.$get(),new $Int64(0,al.constructor===Number?al:1)));}else{z=y;q[0]=q[0]+("<unknown type>");return true;}q[0]=q[0]+(KC((((x.$low+((x.$high>>31)*4294967296))>>0))));}return true;};})(p,q));$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;q[0]=q[0]+("}");$s=-1;return q[0];}return;}if($f===undefined){$f={$blk:DH};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};DI=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=false;t=0;v=o.Header();$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=DF(v,p,q);$s=2;case 2:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}u=w;t=u[0];s=u[1];if(!s){x=p.$length;y=false;r=x;s=y;$s=-1;return[r,s];}aa=DF(o,p,q);$s=3;case 3:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;r=z[0];s=z[1];if(!s){ab=p.$length;ac=false;r=ab;s=ac;$s=-1;return[r,s];}ad=o.Header();$s=4;case 4:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad.Rdlength=(((r-t>>0)<<16>>>16));ae=o.Header();$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=DF(ae,p,q);$s=6;case 6:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;ag=r;ah=true;r=ag;s=ah;$s=-1;return[r,s];}return;}if($f===undefined){$f={$blk:DI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DJ=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=[q];r=$ifaceNil;s=0;t=false;q[0]=new CR.ptr("",0,0,0,0);u=p;w=DG(q[0],o,p);$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;p=v[0];t=v[1];if(!t){x=$ifaceNil;y=o.$length;z=false;r=x;s=y;t=z;$s=-1;return[r,s,t];}aa=p+((q[0].Rdlength>>0))>>0;ab=(ac=DC[$Int.keyFor(((q[0].Rrtype>>0)))],ac!==undefined?[ac.v,true]:[$throwNilPointerError,false]);ad=ab[0];ae=ab[1];if(!ae){af=q[0];ag=aa;ah=true;r=af;s=ag;t=ah;$s=-1;return[r,s,t];}ai=ad();$s=2;case 2:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}r=ai;ak=DG(r,o,u);$s=3;case 3:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;p=aj[0];t=aj[1];if(!((p===aa))){al=q[0];am=aa;an=true;r=al;s=am;t=an;$s=-1;return[r,s,t];}ao=r;ap=p;aq=t;r=ao;s=ap;t=aq;$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:DJ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DK.ptr.prototype.Walk=function(o){var aa,ab,ac,ad,ae,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;x=o((p.$ptr_id||(p.$ptr_id=new PA(function(){return this.$target.id;},function($v){this.$target.id=$v;},p))),"id","");$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(!(x)){w=false;$s=7;continue s;}y=o((p.$ptr_response||(p.$ptr_response=new PC(function(){return this.$target.response;},function($v){this.$target.response=$v;},p))),"response","");$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w=y;case 7:if(!(w)){v=false;$s=6;continue s;}z=o((p.$ptr_opcode||(p.$ptr_opcode=new PD(function(){return this.$target.opcode;},function($v){this.$target.opcode=$v;},p))),"opcode","");$s=10;case 10:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}v=z;case 6:if(!(v)){u=false;$s=5;continue s;}aa=o((p.$ptr_authoritative||(p.$ptr_authoritative=new PC(function(){return this.$target.authoritative;},function($v){this.$target.authoritative=$v;},p))),"authoritative","");$s=11;case 11:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}u=aa;case 5:if(!(u)){t=false;$s=4;continue s;}ab=o((p.$ptr_truncated||(p.$ptr_truncated=new PC(function(){return this.$target.truncated;},function($v){this.$target.truncated=$v;},p))),"truncated","");$s=12;case 12:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}t=ab;case 4:if(!(t)){s=false;$s=3;continue s;}ac=o((p.$ptr_recursion_desired||(p.$ptr_recursion_desired=new PC(function(){return this.$target.recursion_desired;},function($v){this.$target.recursion_desired=$v;},p))),"recursion_desired","");$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}s=ac;case 3:if(!(s)){r=false;$s=2;continue s;}ad=o((p.$ptr_recursion_available||(p.$ptr_recursion_available=new PC(function(){return this.$target.recursion_available;},function($v){this.$target.recursion_available=$v;},p))),"recursion_available","");$s=14;case 14:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}r=ad;case 2:if(!(r)){q=false;$s=1;continue s;}ae=o((p.$ptr_rcode||(p.$ptr_rcode=new PD(function(){return this.$target.rcode;},function($v){this.$target.rcode=$v;},p))),"rcode","");$s=15;case 15:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}q=ae;case 1:$s=-1;return q;}return;}if($f===undefined){$f={$blk:DK.ptr.prototype.Walk};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DK.prototype.Walk=function(o){return this.$val.Walk(o);};DL.ptr.prototype.Pack=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=[o];p=NY.nil;q=false;r=this;o[0]=new CP.ptr(0,0,0,0,0,0);o[0].Id=r.dnsMsgHdr.id;o[0].Bits=((((r.dnsMsgHdr.opcode<<16>>>16))<<11<<16>>>16)|((r.dnsMsgHdr.rcode<<16>>>16)))>>>0;if(r.dnsMsgHdr.recursion_available){o[0].Bits=(o[0].Bits|(128))>>>0;}if(r.dnsMsgHdr.recursion_desired){o[0].Bits=(o[0].Bits|(256))>>>0;}if(r.dnsMsgHdr.truncated){o[0].Bits=(o[0].Bits|(512))>>>0;}if(r.dnsMsgHdr.authoritative){o[0].Bits=(o[0].Bits|(1024))>>>0;}if(r.dnsMsgHdr.response){o[0].Bits=(o[0].Bits|(32768))>>>0;}s=r.question;t=r.answer;u=r.ns;v=r.extra;o[0].Qdcount=((s.$length<<16>>>16));o[0].Ancount=((t.$length<<16>>>16));o[0].Nscount=((u.$length<<16>>>16));o[0].Arcount=((v.$length<<16>>>16));p=$makeSlice(NY,2000);w=0;y=DF(o[0],p,w);$s=1;case 1:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;w=x[0];q=x[1];if(!q){z=NY.nil;aa=false;p=z;q=aa;$s=-1;return[p,q];}ab=0;case 2:if(!(ab<s.$length)){$s=3;continue;}ad=DF(((ab<0||ab>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+ab]),p,w);$s=4;case 4:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;w=ac[0];q=ac[1];if(!q){ae=NY.nil;af=false;p=ae;q=af;$s=-1;return[p,q];}ab=ab+(1)>>0;$s=2;continue;case 3:ag=0;case 5:if(!(ag<t.$length)){$s=6;continue;}ai=DI(((ag<0||ag>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+ag]),p,w);$s=7;case 7:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;w=ah[0];q=ah[1];if(!q){aj=NY.nil;ak=false;p=aj;q=ak;$s=-1;return[p,q];}ag=ag+(1)>>0;$s=5;continue;case 6:al=0;case 8:if(!(al<u.$length)){$s=9;continue;}an=DI(((al<0||al>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+al]),p,w);$s=10;case 10:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;w=am[0];q=am[1];if(!q){ao=NY.nil;ap=false;p=ao;q=ap;$s=-1;return[p,q];}al=al+(1)>>0;$s=8;continue;case 9:aq=0;case 11:if(!(aq<v.$length)){$s=12;continue;}as=DI(((aq<0||aq>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+aq]),p,w);$s=13;case 13:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;w=ar[0];q=ar[1];if(!q){at=NY.nil;au=false;p=at;q=au;$s=-1;return[p,q];}aq=aq+(1)>>0;$s=11;continue;case 12:av=$subslice(p,0,w);aw=true;p=av;q=aw;$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:DL.ptr.prototype.Pack};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DL.prototype.Pack=function(){return this.$val.Pack();};DL.ptr.prototype.Unpack=function(o){var aa,ab,ac,ad,ae,af,ag,ah,ai,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];q=this;p[0]=new CP.ptr(0,0,0,0,0,0);r=0;s=false;u=DG(p[0],o,r);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;r=t[0];s=t[1];if(!s){$s=-1;return false;}q.dnsMsgHdr.id=p[0].Id;q.dnsMsgHdr.response=!(((((p[0].Bits&32768)>>>0))===0));q.dnsMsgHdr.opcode=(((p[0].Bits>>>11<<16>>>16)>>0))&15;q.dnsMsgHdr.authoritative=!(((((p[0].Bits&1024)>>>0))===0));q.dnsMsgHdr.truncated=!(((((p[0].Bits&512)>>>0))===0));q.dnsMsgHdr.recursion_desired=!(((((p[0].Bits&256)>>>0))===0));q.dnsMsgHdr.recursion_available=!(((((p[0].Bits&128)>>>0))===0));q.dnsMsgHdr.rcode=((((p[0].Bits&15)>>>0)>>0));q.question=$makeSlice(OS,p[0].Qdcount);q.answer=$makeSlice(OO,0,p[0].Ancount);q.ns=$makeSlice(OO,0,p[0].Nscount);q.extra=$makeSlice(OO,0,p[0].Arcount);v=$ifaceNil;w=0;case 2:if(!(w<q.question.$length)){$s=3;continue;}z=DG((y=q.question,((w<0||w>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+w])),o,r);$s=4;case 4:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}x=z;r=x[0];s=x[1];if(!s){$s=-1;return false;}w=w+(1)>>0;$s=2;continue;case 3:aa=0;case 5:if(!(aa<((p[0].Ancount>>0)))){$s=6;continue;}ac=DJ(o,r);$s=7;case 7:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;v=ab[0];r=ab[1];s=ab[2];if(!s){$s=-1;return false;}q.answer=$append(q.answer,v);aa=aa+(1)>>0;$s=5;continue;case 6:ad=0;case 8:if(!(ad<((p[0].Nscount>>0)))){$s=9;continue;}af=DJ(o,r);$s=10;case 10:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;v=ae[0];r=ae[1];s=ae[2];if(!s){$s=-1;return false;}q.ns=$append(q.ns,v);ad=ad+(1)>>0;$s=8;continue;case 9:ag=0;case 11:if(!(ag<((p[0].Arcount>>0)))){$s=12;continue;}ai=DJ(o,r);$s=13;case 13:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;v=ah[0];r=ah[1];s=ah[2];if(!s){$s=-1;return false;}q.extra=$append(q.extra,v);ag=ag+(1)>>0;$s=11;continue;case 12:$s=-1;return true;}return;}if($f===undefined){$f={$blk:DL.ptr.prototype.Unpack};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DL.prototype.Unpack=function(o){return this.$val.Unpack(o);};DL.ptr.prototype.String=function(){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=DH(o.dnsMsgHdr);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q="DNS: "+p+"\n";if(o.question.$length>0){$s=2;continue;}$s=3;continue;case 2:q=q+("-- Questions\n");r=0;case 4:if(!(r<o.question.$length)){$s=5;continue;}t=DH((s=o.question,((r<0||r>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+r])));$s=6;case 6:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}q=q+(t+"\n");r=r+(1)>>0;$s=4;continue;case 5:case 3:if(o.answer.$length>0){$s=7;continue;}$s=8;continue;case 7:q=q+("-- Answers\n");u=0;case 9:if(!(u<o.answer.$length)){$s=10;continue;}w=DH((v=o.answer,((u<0||u>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+u])));$s=11;case 11:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}q=q+(w+"\n");u=u+(1)>>0;$s=9;continue;case 10:case 8:if(o.ns.$length>0){$s=12;continue;}$s=13;continue;case 12:q=q+("-- Name servers\n");x=0;case 14:if(!(x<o.ns.$length)){$s=15;continue;}z=DH((y=o.ns,((x<0||x>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+x])));$s=16;case 16:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}q=q+(z+"\n");x=x+(1)>>0;$s=14;continue;case 15:case 13:if(o.extra.$length>0){$s=17;continue;}$s=18;continue;case 17:q=q+("-- Extra\n");aa=0;case 19:if(!(aa<o.extra.$length)){$s=20;continue;}ac=DH((ab=o.extra,((aa<0||aa>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+aa])));$s=21;case 21:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}q=q+(ac+"\n");aa=aa+(1)>>0;$s=19;continue;case 20:case 18:$s=-1;return q;}return;}if($f===undefined){$f={$blk:DL.ptr.prototype.String};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DL.prototype.String=function(){return this.$val.String();};DL.ptr.prototype.IsResponseTo=function(o){var o,p,q,r,s,t,u,v;p=this;if(!p.dnsMsgHdr.response){return false;}if(!((p.dnsMsgHdr.id===o.dnsMsgHdr.id))){return false;}if(!((p.question.$length===o.question.$length))){return false;}q=p.question;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=$clone(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]),CQ);v=$clone((u=o.question,((s<0||s>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+s])),CQ);if(!BP(t.Name,v.Name)||!((t.Qtype===v.Qtype))||!((t.Qclass===v.Qclass))){return false;}r++;}return true;};DL.prototype.IsResponseTo=function(o){return this.$val.IsResponseTo(o);};DM=function(o,p){var o,p,q,r;q=$assertType(p,B.Errno,true);r=q[1];if(r){p=F.NewSyscallError(o,p);}return p;};DO=function(o,p,q,r){var o,p,q,r,s;s=new DN.ptr(new J.FD.ptr(new J.fdMutex.ptr(new $Uint64(0,0),0,0),o,new J.pollDesc.ptr(false),PJ.nil,q===1,!((q===2))&&!((q===3)),false),p,q,false,r,$ifaceNil,$ifaceNil);return[s,$ifaceNil];};DN.ptr.prototype.init=function(){var o;o=this;return o.pfd.Init(o.net,true);};DN.prototype.init=function(){return this.$val.init();};DN.ptr.prototype.setAddr=function(o,p){var o,p,q;q=this;q.laddr=o;q.raddr=p;G.SetFinalizer(q,new PL($methodExpr(PK,"Close")));};DN.prototype.setAddr=function(o,p){return this.$val.setAddr(o,p);};DN.ptr.prototype.name=function(){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p="";q="";r=p;s=q;if(!($interfaceIsEqual(o.laddr,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:t=o.laddr.String();$s=3;case 3:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=t;case 2:if(!($interfaceIsEqual(o.raddr,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:u=o.raddr.String();$s=6;case 6:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}s=u;case 5:$s=-1;return o.net+":"+r+"->"+s;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.name};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.name=function(){return this.$val.name();};DN.ptr.prototype.connect=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);o=[o];r=[r];s=[s];t=[t];u=[u];v=$ifaceNil;u[0]=$ifaceNil;s[0]=this;w=EI(s[0].pfd.Sysfd,q);$s=2;case 2:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;y=x;if($interfaceIsEqual(y,new B.Errno((115)))||$interfaceIsEqual(y,new B.Errno((114)))||$interfaceIsEqual(y,new B.Errno((4)))){$s=3;continue;}if($interfaceIsEqual(y,$ifaceNil)||$interfaceIsEqual(y,new B.Errno((106)))){$s=4;continue;}if($interfaceIsEqual(y,new B.Errno((22)))){$s=5;continue;}$s=6;continue;case 3:$s=7;continue;case 4:aa=o[0].Done();$s=8;case 8:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=$select([[aa],[]]);if(z[0]===0){$s=9;continue;}if(z[0]===1){$s=10;continue;}$s=11;continue;case 9:ab=$ifaceNil;ad=o[0].Err();$s=12;case 12:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=IS(ad);$s=13;case 13:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ac=ae;v=ab;u[0]=ac;$s=-1;return[v,u[0]];case 10:case 11:af=s[0].pfd.Init(s[0].net,true);if(!($interfaceIsEqual(af,$ifaceNil))){ag=$ifaceNil;ah=af;v=ag;u[0]=ah;$s=-1;return[v,u[0]];}G.KeepAlive(s[0]);ai=$ifaceNil;aj=$ifaceNil;v=ai;u[0]=aj;$s=-1;return[v,u[0]];case 5:if(false){ak=$ifaceNil;al=$ifaceNil;v=ak;u[0]=al;$s=-1;return[v,u[0]];}am=$ifaceNil;an=F.NewSyscallError("connect",x);v=am;u[0]=an;$s=-1;return[v,u[0]];case 6:ao=$ifaceNil;ap=F.NewSyscallError("connect",x);v=ao;u[0]=ap;$s=-1;return[v,u[0]];case 7:case 1:aq=s[0].pfd.Init(s[0].net,true);if(!($interfaceIsEqual(aq,$ifaceNil))){ar=$ifaceNil;as=aq;v=ar;u[0]=as;$s=-1;return[v,u[0]];}au=o[0].Deadline();$s=14;case 14:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;av=$clone(at[0],K.Time);if(!$clone(av,K.Time).IsZero()){s[0].pfd.SetWriteDeadline($clone(av,K.Time));$deferred.push([$methodVal(s[0].pfd,"SetWriteDeadline"),[$clone(IV,K.Time)]]);}if(!($interfaceIsEqual(o[0],E.Background()))){$s=15;continue;}$s=16;continue;case 15:r[0]=new $Chan(NZ,0);t[0]=new $Chan($error,0);$deferred.push([(function(o,r,s,t,u){return function $b(){var aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$close(r[0]);aw=$recv(t[0]);$s=1;case 1:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw[0];if(!($interfaceIsEqual(ax,$ifaceNil))&&$interfaceIsEqual(u[0],$ifaceNil)){$s=2;continue;}$s=3;continue;case 2:u[0]=ax;ay=s[0].Close();$s=4;case 4:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ay;case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};})(o,r,s,t,u),[]]);$go((function(o,r,s,t,u){return function $b(){var aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ax=o[0].Done();$s=1;case 1:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=$select([[ax],[r[0]]]);$s=2;case 2:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}aw=ay;if(aw[0]===0){$s=3;continue;}if(aw[0]===1){$s=4;continue;}$s=5;continue;case 3:s[0].pfd.SetWriteDeadline($clone(IU,K.Time));$r=EG();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}az=o[0].Err();$s=7;case 7:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}$r=$send(t[0],az);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 4:$r=$send(t[0],$ifaceNil);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};})(o,r,s,t,u),[]);case 16:case 17:aw=s[0].pfd.WaitWrite();if(!($interfaceIsEqual(aw,$ifaceNil))){$s=19;continue;}$s=20;continue;case 19:ay=o[0].Done();$s=21;case 21:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=$select([[ay],[]]);if(ax[0]===0){$s=22;continue;}if(ax[0]===1){$s=23;continue;}$s=24;continue;case 22:az=$ifaceNil;bb=o[0].Err();$s=25;case 25:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=IS(bb);$s=26;case 26:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}ba=bc;v=az;u[0]=ba;$s=-1;return[v,u[0]];case 23:case 24:bd=$ifaceNil;be=aw;v=bd;u[0]=be;$s=-1;return[v,u[0]];case 20:bg=EK(s[0].pfd.Sysfd,1,4);$s=27;case 27:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bf=bg;bh=bf[0];bi=bf[1];if(!($interfaceIsEqual(bi,$ifaceNil))){bj=$ifaceNil;bk=F.NewSyscallError("getsockopt",bi);v=bj;u[0]=bk;$s=-1;return[v,u[0]];}bl=((bh>>>0));bm=bl;if((bm===(115))||(bm===(114))||(bm===(4))){}else if(bm===(106)){bn=$ifaceNil;bo=$ifaceNil;v=bn;u[0]=bo;$s=-1;return[v,u[0]];}else if(bm===(0)){bp=B.Getpeername(s[0].pfd.Sysfd);bq=bp[0];br=bp[1];if($interfaceIsEqual(br,$ifaceNil)){bs=bq;bt=$ifaceNil;v=bs;u[0]=bt;$s=-1;return[v,u[0]];}}else{bu=$ifaceNil;bv=F.NewSyscallError("getsockopt",new B.Errno(bl));v=bu;u[0]=bv;$s=-1;return[v,u[0]];}G.KeepAlive(s[0]);$s=17;continue;case 18:$s=-1;return[v,u[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[v,u[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:DN.ptr.prototype.connect};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DN.prototype.connect=function(o,p,q){return this.$val.connect(o,p,q);};DN.ptr.prototype.Close=function(){var o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;G.SetFinalizer(o,$ifaceNil);p=o.pfd.Close();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return p;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.Close};}$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.Close=function(){return this.$val.Close();};DN.ptr.prototype.shutdown=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;q=p.pfd.Shutdown(o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(p);$s=-1;return DM("shutdown",r);}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.shutdown};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.shutdown=function(o){return this.$val.shutdown(o);};DN.ptr.prototype.closeRead=function(){var o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=o.shutdown(0);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return p;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.closeRead};}$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.closeRead=function(){return this.$val.closeRead();};DN.ptr.prototype.closeWrite=function(){var o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=o.shutdown(1);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return p;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.closeWrite};}$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.closeWrite=function(){return this.$val.closeWrite();};DN.ptr.prototype.Read=function(o){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=0;q=$ifaceNil;r=this;t=r.pfd.Read(o);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;p=s[0];q=s[1];G.KeepAlive(r);u=p;v=DM("read",q);p=u;q=v;$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.Read};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.Read=function(o){return this.$val.Read(o);};DN.ptr.prototype.readFrom=function(o){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=0;q=$ifaceNil;r=$ifaceNil;s=this;u=s.pfd.ReadFrom(o);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;p=t[0];q=t[1];r=t[2];G.KeepAlive(s);v=p;w=q;x=DM("recvfrom",r);p=v;q=w;r=x;$s=-1;return[p,q,r];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.readFrom};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.readFrom=function(o){return this.$val.readFrom(o);};DN.ptr.prototype.readMsg=function(o,p){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=0;s=0;t=$ifaceNil;u=$ifaceNil;v=this;x=v.pfd.ReadMsg(o,p);$s=1;case 1:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;q=w[0];r=w[1];s=w[2];t=w[3];u=w[4];G.KeepAlive(v);y=q;z=r;aa=s;ab=t;ac=DM("recvmsg",u);q=y;r=z;s=aa;t=ab;u=ac;$s=-1;return[q,r,s,t,u];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.readMsg};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.readMsg=function(o,p){return this.$val.readMsg(o,p);};DN.ptr.prototype.Write=function(o){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=0;q=$ifaceNil;r=this;t=r.pfd.Write(o);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;p=s[0];q=s[1];G.KeepAlive(r);u=p;v=DM("write",q);p=u;q=v;$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.Write};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.Write=function(o){return this.$val.Write(o);};DN.ptr.prototype.writeTo=function(o,p){var o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=$ifaceNil;s=this;u=s.pfd.WriteTo(o,p);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;q=t[0];r=t[1];G.KeepAlive(s);v=q;w=DM("sendto",r);q=v;r=w;$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.writeTo};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.writeTo=function(o,p){return this.$val.writeTo(o,p);};DN.ptr.prototype.writeMsg=function(o,p,q){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=$ifaceNil;u=this;w=u.pfd.WriteMsg(o,p,q);$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;r=v[0];s=v[1];t=v[2];G.KeepAlive(u);x=r;y=s;z=DM("sendmsg",t);r=x;s=y;t=z;$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.writeMsg};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.writeMsg=function(o,p,q){return this.$val.writeMsg(o,p,q);};DQ=function(o){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=0;q=$ifaceNil;if(N.LoadInt32((NS||(NS=new PM(function(){return DP;},function($v){DP=$v;}))))===1){r=B.Syscall(72,((o>>>0)),1030,0);s=r[0];t=r[2];if(false&&(t===9)){t=22;}u=t;if(u===(0)){v=((s>>0));w=$ifaceNil;p=v;q=w;$s=-1;return[p,q];}else if(u===(22)){N.StoreInt32((NS||(NS=new PM(function(){return DP;},function($v){DP=$v;}))),0);}else{x=-1;y=F.NewSyscallError("fcntl",new B.Errno(t));p=x;q=y;$s=-1;return[p,q];}}aa=DR(o);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;p=z[0];q=z[1];$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:DQ};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DR=function(o){var o,p,q,r,s,t,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=0;q=$ifaceNil;$r=B.ForkLock.RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(B.ForkLock,"RUnlock"),[]]);r=B.Dup(o);p=r[0];q=r[1];if(!($interfaceIsEqual(q,$ifaceNil))){s=-1;t=F.NewSyscallError("dup",q);p=s;q=t;$s=-1;return[p,q];}B.CloseOnExec(p);$s=-1;return[p,q];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[p,q];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:DR};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DN.ptr.prototype.dup=function(){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=PN.nil;p=$ifaceNil;q=this;s=DQ(q.pfd.Sysfd);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];p=r[1];if(!($interfaceIsEqual(p,$ifaceNil))){u=PN.nil;v=p;o=u;p=v;$s=-1;return[o,p];}p=B.SetNonblock(t,false);if(!($interfaceIsEqual(p,$ifaceNil))){w=PN.nil;x=F.NewSyscallError("setnonblock",p);o=w;p=x;$s=-1;return[o,p];}z=((t>>>0));aa=q.name();$s=2;case 2:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac=F.NewFile(z,ab);$s=3;case 3:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}y=ac;ad=$ifaceNil;o=y;p=ad;$s=-1;return[o,p];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.dup};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.dup=function(){return this.$val.dup();};EL=function(o){var o,p,q,r;p=FO.nil;q="";p=GE(o);if(p===FO.nil){r=GF(o,true);p=r[0];q=r[1];}if(p===FO.nil){return"";}if(q===""){return p.String();}return p.String()+"%"+q;};EN=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$clone(K.Now(),K.Time);p=EC;if($clone(o,K.Time).Before($clone(EM.expire,K.Time))&&EM.path===p&&$keys(EM.byName).length>0){$s=-1;return;}r=JV(p);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=$clone(q[0],K.Time);t=q[1];u=q[2];if($interfaceIsEqual(u,$ifaceNil)&&EM.path===p&&$clone(EM.mtime,K.Time).Equal($clone(s,K.Time))&&(v=EM.size,(v.$high===t.$high&&v.$low===t.$low))){K.Time.copy(EM.expire,$clone(o,K.Time).Add(new K.Duration(1,705032704)));$s=-1;return;}w={};x={};y=PR.nil;z=JU(p);y=z[0];if(y===PR.nil){$s=-1;return;}ab=y.readLine();$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];case 3:if(!(ad)){$s=4;continue;}ae=V(ac,35);if(ae>=0){ac=$substring(ac,0,ae);}af=JY(ac);if(af.$length<2){$s=5;continue;}$s=6;continue;case 5:ah=y.readLine();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ac=ag[0];ad=ag[1];$s=3;continue;case 6:ai=EL((0>=af.$length?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+0]));if(ai===""){$s=8;continue;}$s=9;continue;case 8:ak=y.readLine();$s=10;case 10:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;ac=aj[0];ad=aj[1];$s=3;continue;case 9:al=1;while(true){if(!(al<af.$length)){break;}am=BR((new NY($stringToBytes(((al<0||al>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+al])))));an=(new NY($stringToBytes(((al<0||al>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+al]))));KH(an);ao=BR(an);ap=ao;(w||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ap)]={k:ap,v:$append((aq=w[$String.keyFor(ao)],aq!==undefined?aq.v:NT.nil),ai)};ar=ai;(x||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ar)]={k:ar,v:$append((as=x[$String.keyFor(ai)],as!==undefined?as.v:NT.nil),am)};al=al+(1)>>0;}au=y.readLine();$s=11;case 11:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;ac=at[0];ad=at[1];$s=3;continue;case 4:K.Time.copy(EM.expire,$clone(o,K.Time).Add(new K.Duration(1,705032704)));EM.path=p;EM.byName=w;EM.byAddr=x;K.Time.copy(EM.mtime,s);EM.size=t;$r=y.close();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EO=function(o){var o,p,q,r,s,t,u,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$r=EM.Mutex.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(EM.Mutex,"Unlock"),[]]);$r=EN();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(($keys(EM.byName).length===0))){p=(new NY($stringToBytes(o)));KH(p);q=(r=EM.byName[$String.keyFor(BR(p))],r!==undefined?[r.v,true]:[NT.nil,false]);s=q[0];t=q[1];if(t){u=$makeSlice(NT,s.$length);$copySlice(u,s);$s=-1;return u;}}$s=-1;return NT.nil;}return;}}catch(err){$err=err;$s=-1;return NT.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EO};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EP=function(o){var o,p,q,r,s,t,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$r=EM.Mutex.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(EM.Mutex,"Unlock"),[]]);$r=EN();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=EL(o);if(o===""){$s=-1;return NT.nil;}if(!(($keys(EM.byAddr).length===0))){p=(q=EM.byAddr[$String.keyFor(o)],q!==undefined?[q.v,true]:[NT.nil,false]);r=p[0];s=p[1];if(s){t=$makeSlice(NT,r.$length);$copySlice(t,r);$s=-1;return t;}}$s=-1;return NT.nil;}return;}}catch(err){$err=err;$s=-1;return NT.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EW.prototype.String=function(){var o,p,q,r,s,t,u;o=this.$val;p="";q=EX;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(!((((o&(((u=((s>>>0)),u<32?(1<<u):0)>>>0)))>>>0)===0))){if(!(p==="")){p=p+("|");}p=p+(t);}r++;}if(p===""){p="0";}return p;};$ptrType(EW).prototype.String=function(){return new EW(this.$get()).String();};EV.ptr.prototype.Addrs=function(){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(o===PS.nil){$s=-1;return[PT.nil,new IT.ptr("route","ip+net",$ifaceNil,$ifaceNil,EQ)];}q=FI(o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if(!($interfaceIsEqual(s,$ifaceNil))){s=new IT.ptr("route","ip+net",$ifaceNil,$ifaceNil,s);}$s=-1;return[r,s];}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.Addrs};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.Addrs=function(){return this.$val.Addrs();};EV.ptr.prototype.MulticastAddrs=function(){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(o===PS.nil){$s=-1;return[PT.nil,new IT.ptr("route","ip+net",$ifaceNil,$ifaceNil,EQ)];}q=FL(o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if(!($interfaceIsEqual(s,$ifaceNil))){s=new IT.ptr("route","ip+net",$ifaceNil,$ifaceNil,s);}$s=-1;return[r,s];}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.MulticastAddrs};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.MulticastAddrs=function(){return this.$val.MulticastAddrs();};FB=function(o,p){var o,p,q,r,s;q=o;r=0;while(true){if(!(r<q.$length)){break;}s=$clone(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]),EV);if(p===s.Index){return[s,$ifaceNil];}r++;}return[PS.nil,ET];};FD.ptr.prototype.update=function(o){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=this;$r=p.RWMutex.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(p.RWMutex,"Unlock"),[]]);q=$clone(K.Now(),K.Time);if($clone(p.lastFetched,K.Time).After($clone($clone(q,K.Time).Add(new K.Duration(-14,129542144)),K.Time))){$s=-1;return;}K.Time.copy(p.lastFetched,q);if(o.$length===0){$s=2;continue;}$s=3;continue;case 2:r=$ifaceNil;t=FF(0);$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;o=s[0];r=s[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return;}case 3:p.toIndex=(u=o.$length,((u<0||u>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));p.toName=(v=o.$length,((v<0||v>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));w=o;x=0;while(true){if(!(x<w.$length)){break;}y=$clone(((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]),EV);z=y.Name;(p.toIndex||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(z)]={k:z,v:y.Index};aa=(ab=p.toName[$Int.keyFor(y.Index)],ab!==undefined?[ab.v,true]:["",false]);ac=aa[1];if(!ac){ad=y.Index;(p.toName||$throwRuntimeError("assignment to entry in nil map"))[$Int.keyFor(ad)]={k:ad,v:y.Name};}x++;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:FD.ptr.prototype.update};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};FD.prototype.update=function(o){return this.$val.update(o);};FD.ptr.prototype.name=function(o){var o,p,q,r,s,t,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=this;if(o===0){$s=-1;return"";}$r=FE.update(PU.nil);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=FE.RWMutex.RLock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(FE.RWMutex,"RUnlock"),[]]);q=(r=FE.toName[$Int.keyFor(o)],r!==undefined?[r.v,true]:["",false]);s=q[0];t=q[1];if(!t){s=KD(((o>>>0)));}$s=-1;return s;}return;}}catch(err){$err=err;$s=-1;return"";}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:FD.ptr.prototype.name};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};FD.prototype.name=function(o){return this.$val.name(o);};FD.ptr.prototype.index=function(o){var o,p,q,r,s,t,u,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=this;if(o===""){$s=-1;return 0;}$r=FE.update(PU.nil);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=FE.RWMutex.RLock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(FE.RWMutex,"RUnlock"),[]]);q=(r=FE.toIndex[$String.keyFor(o)],r!==undefined?[r.v,true]:[0,false]);s=q[0];t=q[1];if(!t){u=JZ(o);s=u[0];}$s=-1;return s;}return;}}catch(err){$err=err;$s=-1;return 0;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:FD.ptr.prototype.index};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};FD.prototype.index=function(o){return this.$val.index(o);};FF=function(o){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];r=B.NetlinkRIB(18,0);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[PU.nil,F.NewSyscallError("netlinkrib",t)];}u=B.ParseNetlinkMessage(s);v=u[0];t=u[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[PU.nil,F.NewSyscallError("parsenetlinkmessage",t)];}w=PU.nil;x=v;y=0;loop:while(true){if(!(y<x.$length)){break;}p[0]=$clone(((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]),B.NetlinkMessage);z=p[0].Header.Type;if(z===(3)){break loop;}else if(z===(16)){aa=($pointerOfStructConversion(($sliceToArray(p[0].Data)),PV));if((o===0)||(o===((aa.Index>>0)))){ab=B.ParseNetlinkRouteAttr(p[0]);ac=ab[0];ad=ab[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=-1;return[PU.nil,F.NewSyscallError("parsenetlinkrouteattr",ad)];}w=$append(w,FG(aa,ac));if(o===((aa.Index>>0))){break loop;}}}y++;}$s=-1;return[w,$ifaceNil];}return;}if($f===undefined){$f={$blk:FF};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FG=function(o,p){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z;q=new EV.ptr(((o.Index>>0)),0,"",IE.nil,FH(o.Flags));r=p;s=0;while(true){if(!(s<r.$length)){break;}t=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),B.NetlinkRouteAttr);u=t.Attr.Type;if(u===(1)){v=t.Value.$length;if(v===(4)){w=o.Type;if((w===(768))||(w===(778))||(w===(776))){s++;continue;}}else if(v===(16)){x=o.Type;if((x===(769))||(x===(823))){s++;continue;}}y=false;z=t.Value;aa=0;while(true){if(!(aa<z.$length)){break;}ab=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]);if(!((ab===0))){y=true;break;}aa++;}if(y){q.HardwareAddr=(ac=t.Value,$subslice(new IE(ac.$array),ac.$offset,ac.$offset+ac.$length));}}else if(u===(3)){q.Name=($bytesToString($subslice(t.Value,0,(t.Value.$length-1>>0))));}else if(u===(4)){q.MTU=(((ad=$subslice(t.Value,0,4),(0>=ad.$length?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+0]))>>0));}s++;}return q;};FH=function(o){var o,p;p=0;if(!((((o&1)>>>0)===0))){p=(p|(1))>>>0;}if(!((((o&2)>>>0)===0))){p=(p|(2))>>>0;}if(!((((o&8)>>>0)===0))){p=(p|(4))>>>0;}if(!((((o&16)>>>0)===0))){p=(p|(8))>>>0;}if(!((((o&4096)>>>0)===0))){p=(p|(16))>>>0;}return p;};FI=function(o){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=B.NetlinkRIB(22,0);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[PT.nil,F.NewSyscallError("netlinkrib",s)];}t=B.ParseNetlinkMessage(r);u=t[0];s=t[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[PT.nil,F.NewSyscallError("parsenetlinkmessage",s)];}v=PU.nil;if(o===PS.nil){$s=2;continue;}$s=3;continue;case 2:w=$ifaceNil;y=FF(0);$s=4;case 4:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;v=x[0];w=x[1];if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return[PT.nil,w];}case 3:z=FJ(v,o,u);aa=z[0];s=z[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[PT.nil,s];}$s=-1;return[aa,$ifaceNil];}return;}if($f===undefined){$f={$blk:FI};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FJ=function(o,p,q){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z;r=PT.nil;s=q;t=0;loop:while(true){if(!(t<s.$length)){break;}u=$clone(((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]),B.NetlinkMessage);v=u.Header.Type;if(v===(3)){break loop;}else if(v===(20)){w=($pointerOfStructConversion(($sliceToArray(u.Data)),PW));if(!((o.$length===0))||(p.Index===((w.Index>>0)))){if(!((o.$length===0))){x=$ifaceNil;y=FB(o,((w.Index>>0)));p=y[0];x=y[1];if(!($interfaceIsEqual(x,$ifaceNil))){return[PT.nil,x];}}z=B.ParseNetlinkRouteAttr(u);aa=z[0];ab=z[1];if(!($interfaceIsEqual(ab,$ifaceNil))){return[PT.nil,F.NewSyscallError("parsenetlinkrouteattr",ab)];}ac=FK(w,aa);if(!($interfaceIsEqual(ac,$ifaceNil))){r=$append(r,ac);}}}t++;}return[r,$ifaceNil];};FK=function(o,p){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z;q=false;r=p;s=0;while(true){if(!(s<r.$length)){break;}t=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),B.NetlinkRouteAttr);if(t.Attr.Type===2){q=true;break;}s++;}u=p;v=0;while(true){if(!(v<u.$length)){break;}w=$clone(((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]),B.NetlinkRouteAttr);if(q&&(w.Attr.Type===1)){v++;continue;}x=o.Family;if(x===(2)){return new FQ.ptr(FR((y=w.Value,(0>=y.$length?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+0])),(z=w.Value,(1>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+1])),(aa=w.Value,(2>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+2])),(ab=w.Value,(3>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+3]))),FU(((o.Prefixlen>>0)),32));}else if(x===(10)){ac=new FQ.ptr($makeSlice(FO,16),FU(((o.Prefixlen>>0)),128));$copySlice(ac.IP,w.Value);return ac;}v++;}return $ifaceNil;};FL=function(o){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=FM("/proc/net/igmp",o);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=FN("/proc/net/igmp6",o);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=-1;return[$appendSlice(q,s),$ifaceNil];}return;}if($f===undefined){$f={$blk:FL};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};FM=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);q=JU(o);r=q[0];s=q[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return PT.nil;}$deferred.push([$methodVal(r,"close"),[]]);t=PT.nil;u="";v=r.readLine();$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;w=$makeSlice(NY,4);y=r.readLine();$s=2;case 2:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=x[0];aa=x[1];case 3:if(!(aa)){$s=4;continue;}ab=JX(z," :\r\t\n");if(ab.$length<4){$s=5;continue;}$s=6;continue;case 5:ad=r.readLine();$s=7;case 7:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;z=ac[0];aa=ac[1];$s=3;continue;case 6:if(!((z.charCodeAt(0)===32))&&!((z.charCodeAt(0)===9))){u=(1>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+1]);}else if(((0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]).length===8)){if(p===PS.nil||u===p.Name){ae=0;while(true){if(!((ae+1>>0)<(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]).length)){break;}af=KB($substring((0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]),ae,(ae+2>>0)),0);(ag=(ah=ae/2,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>0:$throwRuntimeError("integer divide by zero")),((ag<0||ag>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+ag]=af[0]));ae=ae+(2)>>0;}aj=(ai=$subslice(w,0,4),(0>=ai.$length?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+0]));ak=new GI.ptr(FR((((aj>>>24>>>0)<<24>>>24)),(((aj>>>16>>>0)<<24>>>24)),(((aj>>>8>>>0)<<24>>>24)),((aj<<24>>>24))),"");t=$append(t,ak);}}am=r.readLine();$s=8;case 8:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;z=al[0];aa=al[1];$s=3;continue;case 4:$s=-1;return t;}return;}}catch(err){$err=err;$s=-1;return PT.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:FM};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};FN=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);q=JU(o);r=q[0];s=q[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return PT.nil;}$deferred.push([$methodVal(r,"close"),[]]);t=PT.nil;u=$makeSlice(NY,16);w=r.readLine();$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];y=v[1];case 2:if(!(y)){$s=3;continue;}z=JX(x," \r\t\n");if(z.$length<6){$s=4;continue;}$s=5;continue;case 4:ab=r.readLine();$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;x=aa[0];y=aa[1];$s=2;continue;case 5:if(p===PS.nil||(1>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+1])===p.Name){ac=0;while(true){if(!((ac+1>>0)<(2>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+2]).length)){break;}ad=KB($substring((2>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+2]),ac,(ac+2>>0)),0);(ae=(af=ac/2,(af===af&&af!==1/0&&af!==-1/0)?af>>0:$throwRuntimeError("integer divide by zero")),((ae<0||ae>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+ae]=ad[0]));ac=ac+(2)>>0;}ag=new GI.ptr(new FO([(0>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+0]),(1>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+1]),(2>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+2]),(3>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+3]),(4>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+4]),(5>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+5]),(6>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+6]),(7>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+7]),(8>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+8]),(9>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+9]),(10>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+10]),(11>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+11]),(12>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+12]),(13>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+13]),(14>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+14]),(15>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+15])]),"");t=$append(t,ag);}ai=r.readLine();$s=7;case 7:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;x=ah[0];y=ah[1];$s=2;continue;case 3:$s=-1;return t;}return;}}catch(err){$err=err;$s=-1;return PT.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:FN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};FR=function(o,p,q,r){var o,p,q,r,s;s=$makeSlice(FO,16);$copySlice(s,FS);(12>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+12]=o);(13>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+13]=p);(14>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+14]=q);(15>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+15]=r);return s;};$pkg.IPv4=FR;FT=function(o,p,q,r){var o,p,q,r,s;s=$makeSlice(FP,4);(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0]=o);(1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1]=p);(2>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+2]=q);(3>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+3]=r);return s;};$pkg.IPv4Mask=FT;FU=function(o,p){var o,p,q,r,s,t,u,v;if(!((p===32))&&!((p===128))){return FP.nil;}if(o<0||o>p){return FP.nil;}r=(q=p/8,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"));s=$makeSlice(FP,r);t=((o>>>0));u=0;while(true){if(!(u<r)){break;}if(t>=8){((u<0||u>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+u]=255);t=t-(8)>>>0;u=u+(1)>>0;continue;}((u<0||u>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+u]=(~(((v=t,v<32?(255>>>v):0)<<24>>>24))<<24>>>24));t=0;u=u+(1)>>0;}return s;};$pkg.CIDRMask=FU;FO.prototype.IsUnspecified=function(){var o;o=this;return o.Equal($pkg.IPv4zero)||o.Equal($pkg.IPv6unspecified);};$ptrType(FO).prototype.IsUnspecified=function(){return this.$get().IsUnspecified();};FO.prototype.IsLoopback=function(){var o,p;o=this;p=o.To4();if(!(p===FO.nil)){return(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])===127;}return o.Equal($pkg.IPv6loopback);};$ptrType(FO).prototype.IsLoopback=function(){return this.$get().IsLoopback();};FO.prototype.IsMulticast=function(){var o,p;o=this;p=o.To4();if(!(p===FO.nil)){return(((0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])&240)>>>0)===224;}return(o.$length===16)&&((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===255);};$ptrType(FO).prototype.IsMulticast=function(){return this.$get().IsMulticast();};FO.prototype.IsInterfaceLocalMulticast=function(){var o;o=this;return(o.$length===16)&&((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===255)&&((((1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1])&15)>>>0)===1);};$ptrType(FO).prototype.IsInterfaceLocalMulticast=function(){return this.$get().IsInterfaceLocalMulticast();};FO.prototype.IsLinkLocalMulticast=function(){var o,p;o=this;p=o.To4();if(!(p===FO.nil)){return((0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])===224)&&((1>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+1])===0)&&((2>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+2])===0);}return(o.$length===16)&&((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===255)&&((((1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1])&15)>>>0)===2);};$ptrType(FO).prototype.IsLinkLocalMulticast=function(){return this.$get().IsLinkLocalMulticast();};FO.prototype.IsLinkLocalUnicast=function(){var o,p;o=this;p=o.To4();if(!(p===FO.nil)){return((0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])===169)&&((1>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+1])===254);}return(o.$length===16)&&((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===254)&&((((1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1])&192)>>>0)===128);};$ptrType(FO).prototype.IsLinkLocalUnicast=function(){return this.$get().IsLinkLocalUnicast();};FO.prototype.IsGlobalUnicast=function(){var o;o=this;return((o.$length===4)||(o.$length===16))&&!o.Equal($pkg.IPv4bcast)&&!o.IsUnspecified()&&!o.IsLoopback()&&!o.IsMulticast()&&!o.IsLinkLocalUnicast();};$ptrType(FO).prototype.IsGlobalUnicast=function(){return this.$get().IsGlobalUnicast();};FV=function(o){var o,p;p=0;while(true){if(!(p<o.$length)){break;}if(!((((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p])===0))){return false;}p=p+(1)>>0;}return true;};FO.prototype.To4=function(){var o;o=this;if(o.$length===4){return o;}if((o.$length===16)&&FV($subslice(o,0,10))&&((10>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+10])===255)&&((11>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+11])===255)){return $subslice(o,12,16);}return FO.nil;};$ptrType(FO).prototype.To4=function(){return this.$get().To4();};FO.prototype.To16=function(){var o;o=this;if(o.$length===4){return FR((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]),(1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1]),(2>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+2]),(3>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+3]));}if(o.$length===16){return o;}return FO.nil;};$ptrType(FO).prototype.To16=function(){return this.$get().To16();};FO.prototype.DefaultMask=function(){var o,p;o=this;o=o.To4();if(o===FO.nil){return FP.nil;}p=true;if(p===((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])<128)){return FW;}else if(p===((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])<192)){return FX;}else{return FY;}};$ptrType(FO).prototype.DefaultMask=function(){return this.$get().DefaultMask();};FZ=function(o){var o,p,q,r;p=o;q=0;while(true){if(!(q<p.$length)){break;}r=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(!((r===255))){return false;}q++;}return true;};FO.prototype.Mask=function(o){var o,p,q,r,s,t,u;p=this;if((o.$length===16)&&(p.$length===4)&&FZ((q=$subslice(o,0,12),$subslice(new NY(q.$array),q.$offset,q.$offset+q.$length)))){o=$subslice(o,12);}if((o.$length===4)&&(p.$length===16)&&W((r=$subslice(p,0,12),$subslice(new NY(r.$array),r.$offset,r.$offset+r.$length)),FS)){p=$subslice(p,12);}s=p.$length;if(!((s===o.$length))){return FO.nil;}t=$makeSlice(FO,s);u=0;while(true){if(!(u<s)){break;}((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]=((((u<0||u>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+u])&((u<0||u>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+u]))>>>0));u=u+(1)>>0;}return t;};$ptrType(FO).prototype.Mask=function(o){return this.$get().Mask(o);};FO.prototype.String=function(){var o,p,q,r,s,t,u,v,w,x,y;o=this;p=o;if(o.$length===0){return"<nil>";}q=p.To4();if(q.$length===4){return KD((((0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])>>>0)))+"."+KD((((1>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+1])>>>0)))+"."+KD((((2>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+2])>>>0)))+"."+KD((((3>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+3])>>>0)));}if(!((p.$length===16))){return"?"+GA($subslice(new NY(o.$array),o.$offset,o.$offset+o.$length));}r=-1;s=-1;t=0;while(true){if(!(t<16)){break;}u=t;while(true){if(!(u<16&&(((u<0||u>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+u])===0)&&((v=u+1>>0,((v<0||v>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+v]))===0))){break;}u=u+(2)>>0;}if(u>t&&(u-t>>0)>(s-r>>0)){r=t;s=u;t=u;}t=t+(2)>>0;}if((s-r>>0)<=2){r=-1;s=-1;}w=$makeSlice(NY,0,39);x=0;while(true){if(!(x<16)){break;}if(x===r){w=$append(w,58,58);x=s;if(x>=16){break;}}else if(x>0){w=$append(w,58);}w=KE(w,(((((((x<0||x>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+x])>>>0))<<8>>>0))|(((y=x+1>>0,((y<0||y>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+y]))>>>0)))>>>0);x=x+(2)>>0;}return($bytesToString(w));};$ptrType(FO).prototype.String=function(){return this.$get().String();};GA=function(o){var o,p,q,r,s,t,u,v,w,x;p=$makeSlice(NY,($imul(o.$length,2)));q=o;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);u="0123456789abcdef".charCodeAt((t>>>4<<24>>>24));v="0123456789abcdef".charCodeAt(((t&15)>>>0));(w=$imul(s,2),((w<0||w>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+w]=u));(x=($imul(s,2))+1>>0,((x<0||x>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+x]=v));r++;}return($bytesToString(p));};GB=function(o){var o;if(o.$length===0){return"";}return o.String();};FO.prototype.MarshalText=function(){var o;o=this;if(o.$length===0){return[(new NY($stringToBytes(""))),$ifaceNil];}if(!((o.$length===4))&&!((o.$length===16))){return[NY.nil,new JA.ptr("invalid IP address",GA($subslice(new NY(o.$array),o.$offset,o.$offset+o.$length)))];}return[(new NY($stringToBytes(o.String()))),$ifaceNil];};$ptrType(FO).prototype.MarshalText=function(){return this.$get().MarshalText();};$ptrType(FO).prototype.UnmarshalText=function(o){var o,p,q,r;p=this;if(o.$length===0){p.$set(FO.nil);return $ifaceNil;}q=($bytesToString(o));r=GG(q);if(r===FO.nil){return new IZ.ptr("IP address",q);}p.$set(r);return $ifaceNil;};FO.prototype.Equal=function(o){var o,p,q,r,s,t;p=this;if(p.$length===o.$length){return W($subslice(new NY(p.$array),p.$offset,p.$offset+p.$length),$subslice(new NY(o.$array),o.$offset,o.$offset+o.$length));}if((p.$length===4)&&(o.$length===16)){return W((q=$subslice(o,0,12),$subslice(new NY(q.$array),q.$offset,q.$offset+q.$length)),FS)&&W($subslice(new NY(p.$array),p.$offset,p.$offset+p.$length),(r=$subslice(o,12),$subslice(new NY(r.$array),r.$offset,r.$offset+r.$length)));}if((p.$length===16)&&(o.$length===4)){return W((s=$subslice(p,0,12),$subslice(new NY(s.$array),s.$offset,s.$offset+s.$length)),FS)&&W((t=$subslice(p,12),$subslice(new NY(t.$array),t.$offset,t.$offset+t.$length)),$subslice(new NY(o.$array),o.$offset,o.$offset+o.$length));}return false;};$ptrType(FO).prototype.Equal=function(o){return this.$get().Equal(o);};FO.prototype.matchAddrFamily=function(o){var o,p;p=this;return!(p.To4()===FO.nil)&&!(o.To4()===FO.nil)||!(p.To16()===FO.nil)&&p.To4()===FO.nil&&!(o.To16()===FO.nil)&&o.To4()===FO.nil;};$ptrType(FO).prototype.matchAddrFamily=function(o){return this.$get().matchAddrFamily(o);};GC=function(o){var o,p,q,r,s,t,u;p=0;q=o;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(t===255){p=p+(8)>>0;r++;continue;}while(true){if(!(!((((t&128)>>>0)===0)))){break;}p=p+(1)>>0;t=(u=(1),u<32?(t<<u):0)<<24>>>24;}if(!((t===0))){return-1;}s=s+(1)>>0;while(true){if(!(s<o.$length)){break;}if(!((((s<0||s>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+s])===0))){return-1;}s=s+(1)>>0;}break;}return p;};FP.prototype.Size=function(){var o,p,q,r,s,t,u;o=0;p=0;q=this;r=GC(q);s=$imul(q.$length,8);o=r;p=s;if(o===-1){t=0;u=0;o=t;p=u;return[o,p];}return[o,p];};$ptrType(FP).prototype.Size=function(){return this.$get().Size();};FP.prototype.String=function(){var o;o=this;if(o.$length===0){return"<nil>";}return GA($subslice(new NY(o.$array),o.$offset,o.$offset+o.$length));};$ptrType(FP).prototype.String=function(){return this.$get().String();};GD=function(o){var o,p,q,r,s,t,u,v,w,x;p=FO.nil;q=FP.nil;p=o.IP.To4();if(p===FO.nil){p=o.IP;if(!((p.$length===16))){r=FO.nil;s=FP.nil;p=r;q=s;return[p,q];}}q=o.Mask;t=q.$length;if(t===(4)){if(!((p.$length===4))){u=FO.nil;v=FP.nil;p=u;q=v;return[p,q];}}else if(t===(16)){if(p.$length===4){q=$subslice(q,12);}}else{w=FO.nil;x=FP.nil;p=w;q=x;return[p,q];}return[p,q];};FQ.ptr.prototype.Contains=function(o){var o,p,q,r,s,t,u,v;p=this;q=GD(p);r=q[0];s=q[1];t=o.To4();if(!(t===FO.nil)){o=t;}u=o.$length;if(!((u===r.$length))){return false;}v=0;while(true){if(!(v<u)){break;}if(!((((((v<0||v>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+v])&((v<0||v>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+v]))>>>0)===((((v<0||v>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+v])&((v<0||v>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+v]))>>>0)))){return false;}v=v+(1)>>0;}return true;};FQ.prototype.Contains=function(o){return this.$val.Contains(o);};FQ.ptr.prototype.Network=function(){var o;o=this;return"ip+net";};FQ.prototype.Network=function(){return this.$val.Network();};FQ.ptr.prototype.String=function(){var o,p,q,r,s;o=this;p=GD(o);q=p[0];r=p[1];if(q===FO.nil||r===FP.nil){return"<nil>";}s=GC(r);if(s===-1){return q.String()+"/"+r.String();}return q.String()+"/"+KD(((s>>>0)));};FQ.prototype.String=function(){return this.$val.String();};GE=function(o){var o,p,q,r,s,t,u;p=PX.zero();q=0;while(true){if(!(q<4)){break;}if(o.length===0){return FO.nil;}if(q>0){if(!((o.charCodeAt(0)===46))){return FO.nil;}o=$substring(o,1);}r=JZ(o);s=r[0];t=r[1];u=r[2];if(!u||s>255){return FO.nil;}o=$substring(o,t);((q<0||q>=p.length)?($throwRuntimeError("index out of range"),undefined):p[q]=((s<<24>>>24)));q=q+(1)>>0;}if(!((o.length===0))){return FO.nil;}return FR(p[0],p[1],p[2],p[3]);};GF=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,o,p,q,r,s,t,u,v,w,x,y,z;q=FO.nil;r="";q=$makeSlice(FO,16);s=-1;if(p){t=HE(o);o=t[0];r=t[1];}if(o.length>=2&&(o.charCodeAt(0)===58)&&(o.charCodeAt(1)===58)){s=0;o=$substring(o,2);if(o.length===0){u=q;v=r;q=u;r=v;return[q,r];}}w=0;while(true){if(!(w<16)){break;}x=KA(o);y=x[0];z=x[1];aa=x[2];if(!aa||y>65535){ab=FO.nil;ac=r;q=ab;r=ac;return[q,r];}if(z<o.length&&(o.charCodeAt(z)===46)){if(s<0&&!((w===12))){ad=FO.nil;ae=r;q=ad;r=ae;return[q,r];}if((w+4>>0)>16){af=FO.nil;ag=r;q=af;r=ag;return[q,r];}ah=GE(o);if(ah===FO.nil){ai=FO.nil;aj=r;q=ai;r=aj;return[q,r];}((w<0||w>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+w]=(12>=ah.$length?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+12]));(ak=w+1>>0,((ak<0||ak>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ak]=(13>=ah.$length?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+13])));(al=w+2>>0,((al<0||al>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+al]=(14>=ah.$length?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+14])));(am=w+3>>0,((am<0||am>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+am]=(15>=ah.$length?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+15])));o="";w=w+(4)>>0;break;}((w<0||w>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+w]=(((y>>8>>0)<<24>>>24)));(an=w+1>>0,((an<0||an>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+an]=((y<<24>>>24))));w=w+(2)>>0;o=$substring(o,z);if(o.length===0){break;}if(!((o.charCodeAt(0)===58))||(o.length===1)){ao=FO.nil;ap=r;q=ao;r=ap;return[q,r];}o=$substring(o,1);if(o.charCodeAt(0)===58){if(s>=0){aq=FO.nil;ar=r;q=aq;r=ar;return[q,r];}s=w;o=$substring(o,1);if(o.length===0){break;}}}if(!((o.length===0))){as=FO.nil;at=r;q=as;r=at;return[q,r];}if(w<16){if(s<0){au=FO.nil;av=r;q=au;r=av;return[q,r];}aw=16-w>>0;ax=w-1>>0;while(true){if(!(ax>=s)){break;}(ay=ax+aw>>0,((ay<0||ay>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ay]=((ax<0||ax>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ax])));ax=ax-(1)>>0;}az=(s+aw>>0)-1>>0;while(true){if(!(az>=s)){break;}((az<0||az>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+az]=0);az=az-(1)>>0;}}else if(s>=0){ba=FO.nil;bb=r;q=ba;r=bb;return[q,r];}bc=q;bd=r;q=bc;r=bd;return[q,r];};GG=function(o){var o,p,q,r,s;p=0;while(true){if(!(p<o.length)){break;}q=o.charCodeAt(p);if(q===(46)){return GE(o);}else if(q===(58)){r=GF(o,false);s=r[0];return s;}p=p+(1)>>0;}return FO.nil;};$pkg.ParseIP=GG;GH=function(o){var aa,o,p,q,r,s,t,u,v,w,x,y,z;p=V(o,47);if(p<0){return[FO.nil,OB.nil,new IZ.ptr("CIDR address",o)];}q=$substring(o,0,p);r=$substring(o,(p+1>>0));s=q;t=r;u=4;v=GE(s);if(v===FO.nil){u=16;w=GF(s,false);v=w[0];}x=JZ(t);y=x[0];p=x[1];z=x[2];if(v===FO.nil||!z||!((p===t.length))||y<0||y>($imul(8,u))){return[FO.nil,OB.nil,new IZ.ptr("CIDR address",o)];}aa=FU(y,$imul(8,u));return[v,new FQ.ptr(v.Mask(aa),aa),$ifaceNil];};$pkg.ParseCIDR=GH;GI.ptr.prototype.Network=function(){var o;o=this;return"ip";};GI.prototype.Network=function(){return this.$val.Network();};GI.ptr.prototype.String=function(){var o,p;o=this;if(o===OJ.nil){return"<nil>";}p=GB(o.IP);if(!(o.Zone==="")){return p+"%"+o.Zone;}return p;};GI.prototype.String=function(){return this.$val.String();};GI.ptr.prototype.isWildcard=function(){var o;o=this;if(o===OJ.nil||o.IP===FO.nil){return true;}return o.IP.IsUnspecified();};GI.prototype.isWildcard=function(){return this.$val.isWildcard();};GI.ptr.prototype.opAddr=function(){var o;o=this;if(o===OJ.nil){return $ifaceNil;}return o;};GI.prototype.opAddr=function(){return this.$val.opAddr();};GK.ptr.prototype.SyscallConn=function(){var o,p;o=this;if(!o.conn.ok()){return[$ifaceNil,new B.Errno(22)];}p=LC(o.conn.fd);return[p[0],p[1]];};GK.prototype.SyscallConn=function(){return this.$val.SyscallConn();};GK.ptr.prototype.ReadFromIP=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return[0,OJ.nil,new B.Errno(22)];}r=p.readFrom(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,u);}$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.ReadFromIP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.ReadFromIP=function(o){return this.$val.ReadFromIP(o);};GK.ptr.prototype.ReadFrom=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return[0,$ifaceNil,new B.Errno(22)];}r=p.readFrom(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,u);}if(t===OJ.nil){$s=-1;return[s,$ifaceNil,u];}$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.ReadFrom};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.ReadFrom=function(o){return this.$val.ReadFrom(o);};GK.ptr.prototype.ReadMsgIP=function(o,p){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=0;s=0;t=OJ.nil;u=$ifaceNil;v=this;if(!v.conn.ok()){w=0;x=0;y=0;z=OJ.nil;aa=new B.Errno(22);q=w;r=x;s=y;t=z;u=aa;$s=-1;return[q,r,s,t,u];}ac=v.readMsg(o,p);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;q=ab[0];r=ab[1];s=ab[2];t=ab[3];u=ab[4];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",v.conn.fd.net,v.conn.fd.laddr,v.conn.fd.raddr,u);}$s=-1;return[q,r,s,t,u];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.ReadMsgIP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.ReadMsgIP=function(o,p){return this.$val.ReadMsgIP(o,p);};GK.ptr.prototype.WriteToIP=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!q.conn.ok()){$s=-1;return[0,new B.Errno(22)];}s=q.writeTo(o,p);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,p.opAddr(),u);}$s=-1;return[t,u];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.WriteToIP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.WriteToIP=function(o,p){return this.$val.WriteToIP(o,p);};GK.ptr.prototype.WriteTo=function(o,p){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!q.conn.ok()){$s=-1;return[0,new B.Errno(22)];}r=$assertType(p,OJ,true);s=r[0];t=r[1];if(!t){$s=-1;return[0,new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,p,new B.Errno(22))];}v=q.writeTo(o,s);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];if(!($interfaceIsEqual(x,$ifaceNil))){x=new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,s.opAddr(),x);}$s=-1;return[w,x];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.WriteTo};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.WriteTo=function(o,p){return this.$val.WriteTo(o,p);};GK.ptr.prototype.WriteMsgIP=function(o,p,q){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=$ifaceNil;u=this;if(!u.conn.ok()){v=0;w=0;x=new B.Errno(22);r=v;s=w;t=x;$s=-1;return[r,s,t];}z=u.writeMsg(o,p,q);$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;r=y[0];s=y[1];t=y[2];if(!($interfaceIsEqual(t,$ifaceNil))){t=new IT.ptr("write",u.conn.fd.net,u.conn.fd.laddr,q.opAddr(),t);}$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.WriteMsgIP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.WriteMsgIP=function(o,p,q){return this.$val.WriteMsgIP(o,p,q);};GL=function(o){var o;return new GK.ptr(new IK.ptr(o));};GO=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=o;if($assertType(p,PO,true)[1]){$s=1;continue;}if($assertType(p,PP,true)[1]){$s=2;continue;}$s=3;continue;case 1:q=p.$val;$s=-1;return new GI.ptr((s=$subslice(new NY(q.Addr),0),$subslice(new FO(s.$array),s.$offset,s.$offset+s.$length)),"");case 2:r=p.$val;u=FE.name(((r.ZoneId>>0)));$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return new GI.ptr((t=$subslice(new NY(r.Addr),0),$subslice(new FO(t.$array),t.$offset,t.$offset+t.$length)),u);case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:GO};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};GI.ptr.prototype.family=function(){var o;o=this;if(o===OJ.nil||o.IP.$length<=4){return 2;}if(!(o.IP.To4()===FO.nil)){return 2;}return 10;};GI.prototype.family=function(){return this.$val.family();};GI.ptr.prototype.sockaddr=function(o){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(p===OJ.nil){$s=-1;return[$ifaceNil,$ifaceNil];}q=HJ(o,p.IP,0,p.Zone);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=-1;return q;}return;}if($f===undefined){$f={$blk:GI.ptr.prototype.sockaddr};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};GI.prototype.sockaddr=function(o){return this.$val.sockaddr(o);};GI.ptr.prototype.toLocal=function(o){var o,p;p=this;return new GI.ptr(HG(o),p.Zone);};GI.prototype.toLocal=function(o){return this.$val.toLocal(o);};GK.ptr.prototype.readFrom=function(o){var aa,ab,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;q=OJ.nil;s=p.conn.fd.readFrom(o);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=u;if($assertType(w,PO,true)[1]){$s=2;continue;}if($assertType(w,PP,true)[1]){$s=3;continue;}$s=4;continue;case 2:x=w.$val;q=new GI.ptr((z=$subslice(new NY(x.Addr),0),$subslice(new FO(z.$array),z.$offset,z.$offset+z.$length)),"");t=GP(t,o);$s=4;continue;case 3:y=w.$val;ab=FE.name(((y.ZoneId>>0)));$s=5;case 5:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}q=new GI.ptr((aa=$subslice(new NY(y.Addr),0),$subslice(new FO(aa.$array),aa.$offset,aa.$offset+aa.$length)),ab);case 4:$s=-1;return[t,q,v];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.readFrom};}$f.aa=aa;$f.ab=ab;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.readFrom=function(o){return this.$val.readFrom(o);};GP=function(o,p){var o,p,q;if(p.$length<20){return o;}q=(((((0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])&15)>>>0)>>0))<<2>>0;if(20>q||q>p.$length){return o;}if(!((((0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])>>>4<<24>>>24)===4))){return o;}$copySlice(p,$subslice(p,q));return o-q>>0;};GK.ptr.prototype.readMsg=function(o,p){var aa,ab,ac,ad,ae,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=0;s=0;t=OJ.nil;u=$ifaceNil;v=this;w=$ifaceNil;y=v.conn.fd.readMsg(o,p);$s=1;case 1:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;q=x[0];r=x[1];s=x[2];w=x[3];u=x[4];z=w;if($assertType(z,PO,true)[1]){$s=2;continue;}if($assertType(z,PP,true)[1]){$s=3;continue;}$s=4;continue;case 2:aa=z.$val;t=new GI.ptr((ac=$subslice(new NY(aa.Addr),0),$subslice(new FO(ac.$array),ac.$offset,ac.$offset+ac.$length)),"");$s=4;continue;case 3:ab=z.$val;ae=FE.name(((ab.ZoneId>>0)));$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}t=new GI.ptr((ad=$subslice(new NY(ab.Addr),0),$subslice(new FO(ad.$array),ad.$offset,ad.$offset+ad.$length)),ae);case 4:$s=-1;return[q,r,s,t,u];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.readMsg};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.readMsg=function(o,p){return this.$val.readMsg(o,p);};GK.ptr.prototype.writeTo=function(o,p){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(q.conn.fd.isConnected){$s=-1;return[0,$pkg.ErrWriteToConnected];}if(p===OJ.nil){$s=-1;return[0,IQ];}s=p.sockaddr(q.conn.fd.family);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return[0,u];}v=q.conn.fd.writeTo(o,t);$s=2;case 2:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$s=-1;return v;}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.writeTo};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.writeTo=function(o,p){return this.$val.writeTo(o,p);};GK.ptr.prototype.writeMsg=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=$ifaceNil;u=this;if(u.conn.fd.isConnected){v=0;w=0;x=$pkg.ErrWriteToConnected;r=v;s=w;t=x;$s=-1;return[r,s,t];}if(q===OJ.nil){y=0;z=0;aa=IQ;r=y;s=z;t=aa;$s=-1;return[r,s,t];}ac=q.sockaddr(u.conn.fd.family);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];t=ab[1];if(!($interfaceIsEqual(t,$ifaceNil))){ae=0;af=0;ag=t;r=ae;s=af;t=ag;$s=-1;return[r,s,t];}ai=u.conn.fd.writeMsg(o,p,ad);$s=2;case 2:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;r=ah[0];s=ah[1];t=ah[2];$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:GK.ptr.prototype.writeMsg};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GK.prototype.writeMsg=function(o,p,q){return this.$val.writeMsg(o,p,q);};GQ=function(o,p,q,r){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:t=BF(o,p,true);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];w=s[2];if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return[PY.nil,w];}x=u;if(x===("ip")||x===("ip4")||x===("ip6")){}else{$s=-1;return[PY.nil,new JB((p))];}if(r===OJ.nil){$s=-1;return[PY.nil,IQ];}z=HI(o,u,q,r,3,v,"dial");$s=2;case 2:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[0];w=y[1];if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return[PY.nil,w];}$s=-1;return[GL(aa),$ifaceNil];}return;}if($f===undefined){$f={$blk:GQ};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GU=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=GT.Once.Do($methodVal(GT,"probe"));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return GT.ipv4Enabled;}return;}if($f===undefined){$f={$blk:GU};}$f.$s=$s;$f.$r=$r;return $f;};GW=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=GT.Once.Do($methodVal(GT,"probe"));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return GT.ipv4MappedIPv6Enabled;}return;}if($f===undefined){$f={$blk:GW};}$f.$s=$s;$f.$r=$r;return $f;};GY=function(o){var o,p,q,r,s;p=o;if($assertType(p,OI,true)[1]){q=p.$val;return!(q.IP.To4()===FO.nil);}else if($assertType(p,OF,true)[1]){r=p.$val;return!(r.IP.To4()===FO.nil);}else if($assertType(p,OJ,true)[1]){s=p.$val;return!(s.IP.To4()===FO.nil);}return false;};GX.prototype.partition=function(o){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=GX.nil;q=GX.nil;r=this;s=false;t=r;u=0;case 1:if(!(u<t.$length)){$s=2;continue;}v=u;w=((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]);x=o(w);$s=3;case 3:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;if((v===0)||y===s){s=y;p=$append(p,w);}else{q=$append(q,w);}u++;$s=1;continue;case 2:$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:GX.prototype.partition};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(GX).prototype.partition=function(o){return this.$get().partition(o);};HA=function(o,p,q,r){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s=GX.nil;t=p;u=0;case 1:if(!(u<t.$length)){$s=2;continue;}v=$clone(((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),GI);if(o===$throwNilPointerError){w=true;$s=5;continue s;}x=o($clone(v,GI));$s=6;case 6:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;case 5:if(w){$s=3;continue;}$s=4;continue;case 3:y=q($clone(v,GI));$s=7;case 7:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}s=$append(s,y);case 4:u++;$s=1;continue;case 2:if(s.$length===0){$s=8;continue;}$s=9;continue;case 8:z=IP.Error();$s=10;case 10:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$s=-1;return[GX.nil,new JA.ptr(z,r)];case 9:$s=-1;return[s,$ifaceNil];}return;}if($f===undefined){$f={$blk:HA};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HB=function(o){var o;return!(o.IP.To4()===FO.nil);};HC=function(o){var o;return(o.IP.$length===16)&&o.IP.To4()===FO.nil;};HD=function(o){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p="";q="";r=$ifaceNil;s=(function(s,t){var s,t,u,v,w,x,y,z;u="";v="";w=$ifaceNil;x="";y="";z=new JA.ptr(t,s);u=x;v=y;w=z;return[u,v,w];});t=0;u=0;v=t;w=u;x=KG(o,58);if(x<0){$s=1;continue;}$s=2;continue;case 1:z=s(o,"missing port in address");$s=3;case 3:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;p=y[0];q=y[1];r=y[2];$s=-1;return[p,q,r];case 2:if(o.charCodeAt(0)===91){$s=4;continue;}$s=5;continue;case 4:aa=V(o,93);if(aa<0){$s=7;continue;}$s=8;continue;case 7:ac=s(o,"missing ']' in address");$s=9;case 9:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;p=ab[0];q=ab[1];r=ab[2];$s=-1;return[p,q,r];case 8:ad=aa+1>>0;if(ad===(o.length)){$s=11;continue;}if(ad===(x)){$s=12;continue;}$s=13;continue;case 11:af=s(o,"missing port in address");$s=15;case 15:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;p=ae[0];q=ae[1];r=ae[2];$s=-1;return[p,q,r];case 12:$s=14;continue;case 13:if(o.charCodeAt((aa+1>>0))===58){$s=16;continue;}$s=17;continue;case 16:ah=s(o,"too many colons in address");$s=18;case 18:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;p=ag[0];q=ag[1];r=ag[2];$s=-1;return[p,q,r];case 17:aj=s(o,"missing port in address");$s=19;case 19:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;p=ai[0];q=ai[1];r=ai[2];$s=-1;return[p,q,r];case 14:case 10:p=$substring(o,1,aa);ak=1;al=aa+1>>0;v=ak;w=al;$s=6;continue;case 5:p=$substring(o,0,x);if(V(p,58)>=0){$s=20;continue;}$s=21;continue;case 20:an=s(o,"too many colons in address");$s=22;case 22:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;p=am[0];q=am[1];r=am[2];$s=-1;return[p,q,r];case 21:case 6:if(V($substring(o,v),91)>=0){$s=23;continue;}$s=24;continue;case 23:ap=s(o,"unexpected '[' in address");$s=25;case 25:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;p=ao[0];q=ao[1];r=ao[2];$s=-1;return[p,q,r];case 24:if(V($substring(o,w),93)>=0){$s=26;continue;}$s=27;continue;case 26:ar=s(o,"unexpected ']' in address");$s=28;case 28:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}aq=ar;p=aq[0];q=aq[1];r=aq[2];$s=-1;return[p,q,r];case 27:q=$substring(o,(x+1>>0));as=p;at=q;au=$ifaceNil;p=as;q=at;r=au;$s=-1;return[p,q,r];}return;}if($f===undefined){$f={$blk:HD};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SplitHostPort=HD;HE=function(o){var o,p,q,r,s,t;p="";q="";r=KG(o,37);if(r>0){s=$substring(o,0,r);t=$substring(o,(r+1>>0));p=s;q=t;}else{p=o;}return[p,q];};HF=function(o,p){var o,p;if(V(o,58)>=0){return"["+o+"]:"+p;}return o+":"+p;};$pkg.JoinHostPort=HF;HO.ptr.prototype.internetAddrList=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];r=[r];s=this;t=$ifaceNil;u="";v="";w=u;x=v;r[0]=0;y=p[0];if(y===("tcp")||y===("tcp4")||y===("tcp6")||y===("udp")||y===("udp4")||y===("udp6")){$s=2;continue;}if(y===("ip")||y===("ip4")||y===("ip6")){$s=3;continue;}$s=4;continue;case 2:if(!(q==="")){$s=6;continue;}$s=7;continue;case 6:aa=HD(q);$s=8;case 8:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;w=z[0];x=z[1];t=z[2];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[GX.nil,t];}ac=s.LookupPort(o,p[0],x);$s=9;case 9:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;r[0]=ab[0];t=ab[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[GX.nil,t];}case 7:$s=5;continue;case 3:if(!(q==="")){w=q;}$s=5;continue;case 4:$s=-1;return[GX.nil,new JB((p[0]))];case 5:case 1:ad=(function(p,r){return function(ad){var ad,ae;ae=p[0];if(ae===("tcp")||ae===("tcp4")||ae===("tcp6")){return new LY.ptr(ad.IP,r[0],ad.Zone);}else if(ae===("udp")||ae===("udp4")||ae===("udp6")){return new MN.ptr(ad.IP,r[0],ad.Zone);}else if(ae===("ip")||ae===("ip4")||ae===("ip6")){return new GI.ptr(ad.IP,ad.Zone);}else{$panic(new $String("unexpected network: "+p[0]));}};})(p,r);if(w===""){$s=10;continue;}$s=11;continue;case 10:ae=ad(new GI.ptr(FO.nil,""));$s=12;case 12:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$s=-1;return[new GX([ae]),$ifaceNil];case 11:af=OD.nil;ag=GE(w);if(!(ag===FO.nil)){$s=13;continue;}$s=14;continue;case 13:af=new OD([new GI.ptr(ag,"")]);$s=15;continue;case 14:ah=GF(w,true);ai=ah[0];aj=ah[1];if(!(ai===FO.nil)){$s=16;continue;}$s=17;continue;case 16:af=new OD([new GI.ptr(ai,aj)]);if(ai.Equal($pkg.IPv6unspecified)){af=$append(af,new GI.ptr($pkg.IPv4zero,""));}$s=18;continue;case 17:al=s.LookupIPAddr(o,w);$s=19;case 19:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;af=ak[0];t=ak[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[GX.nil,t];}case 18:case 15:am=$throwNilPointerError;if(!(p[0]==="")&&(p[0].charCodeAt((p[0].length-1>>0))===52)){am=HB;}if(!(p[0]==="")&&(p[0].charCodeAt((p[0].length-1>>0))===54)){am=HC;}an=HA(am,af,ad,w);$s=20;case 20:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$s=-1;return an;}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.internetAddrList};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.internetAddrList=function(o,p,q){return this.$val.internetAddrList(o,p,q);};HG=function(o){var o;if(!(o==="")&&(o.charCodeAt((o.length-1>>0))===54)){return $pkg.IPv6loopback;}return new FO([127,0,0,1]);};GS.ptr.prototype.probe=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);o=this;q=EH(2,1,6);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];t=s;if($interfaceIsEqual(t,new B.Errno((97)))||$interfaceIsEqual(t,new B.Errno((93)))){$s=3;continue;}if($interfaceIsEqual(t,$ifaceNil)){$s=4;continue;}$s=5;continue;case 3:$s=5;continue;case 4:u=J.CloseFunc(r);$s=6;case 6:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;o.ipv4Enabled=true;case 5:case 2:v=new QA([new PZ.ptr(new LY.ptr(GG("::1"),0,""),1),new PZ.ptr(new LY.ptr(FR(127,0,0,1),0,""),0)]);w="linux";if(w===("dragonfly")||w===("openbsd")){v=$subslice(v,0,1);}x=v;y=0;case 7:if(!(y<x.$length)){$s=8;continue;}z=y;ab=EH(10,1,6);$s=9;case 9:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:y++;$s=7;continue;case 11:$deferred.push([J.CloseFunc,[ac]]);B.SetsockoptInt(ac,41,26,((z<0||z>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+z]).value);af=((z<0||z>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+z]).laddr.sockaddr(10);$s=12;case 12:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ag=ae[0];ad=ae[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=13;continue;}$s=14;continue;case 13:y++;$s=7;continue;case 14:ah=B.Bind(ac,ag);$s=15;case 15:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if(!($interfaceIsEqual(ai,$ifaceNil))){y++;$s=7;continue;}if(z===0){o.ipv6Enabled=true;}else{o.ipv4MappedIPv6Enabled=true;}y++;$s=7;continue;case 8:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:GS.ptr.prototype.probe};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};GS.prototype.probe=function(){return this.$val.probe();};HH=function(o,p,q,r){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s=0;t=false;u=o.charCodeAt((o.length-1>>0));if(u===(52)){v=2;w=false;s=v;t=w;$s=-1;return[s,t];}else if(u===(54)){x=10;y=true;s=x;t=y;$s=-1;return[s,t];}if(!(r==="listen")){z=false;$s=3;continue s;}if($interfaceIsEqual(p,$ifaceNil)){aa=true;$s=4;continue s;}ab=p.isWildcard();$s=5;case 5:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 4:z=aa;case 3:if(z){$s=1;continue;}$s=2;continue;case 1:ad=GW();$s=9;case 9:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad){ac=true;$s=8;continue s;}ae=GU();$s=10;case 10:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ac=!ae;case 8:if(ac){$s=6;continue;}$s=7;continue;case 6:af=10;ag=false;s=af;t=ag;$s=-1;return[s,t];case 7:if($interfaceIsEqual(p,$ifaceNil)){ah=2;ai=false;s=ah;t=ai;$s=-1;return[s,t];}ak=p.family();$s=11;case 11:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;al=false;s=aj;t=al;$s=-1;return[s,t];case 2:if($interfaceIsEqual(p,$ifaceNil)){an=true;$s=15;continue s;}ao=p.family();$s=16;case 16:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao===2;case 15:if(!(an)){am=false;$s=14;continue s;}if($interfaceIsEqual(q,$ifaceNil)){ap=true;$s=17;continue s;}aq=q.family();$s=18;case 18:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq===2;case 17:am=ap;case 14:if(am){$s=12;continue;}$s=13;continue;case 12:ar=2;as=false;s=ar;t=as;$s=-1;return[s,t];case 13:at=10;au=false;s=at;t=au;$s=-1;return[s,t];}return;}if($f===undefined){$f={$blk:HH};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HI=function(o,p,q,r,s,t,u){var aa,ab,ac,ad,ae,af,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:v=PK.nil;w=$ifaceNil;if(!(false&&u==="dial")){x=false;$s=3;continue s;}y=r.isWildcard();$s=4;case 4:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;case 3:if(x){$s=1;continue;}$s=2;continue;case 1:z=r.toLocal(p);$s=5;case 5:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}r=z;case 2:ab=HH(p,q,r,u);$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];af=LG(o,p,ac,s,t,ad,q,r);$s=7;case 7:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;v=ae[0];w=ae[1];$s=-1;return[v,w];}return;}if($f===undefined){$f={$blk:HI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HJ=function(o,p,q,r){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s=o;if(s===(2)){$s=2;continue;}if(s===(10)){$s=3;continue;}$s=4;continue;case 2:if(p.$length===0){p=$pkg.IPv4zero;}t=p.To4();if(t===FO.nil){$s=-1;return[$ifaceNil,new JA.ptr("non-IPv4 address",p.String())];}u=new B.SockaddrInet4.ptr(q,PX.zero(),new B.RawSockaddrInet4.ptr(0,0,PX.zero(),QB.zero()));$copySlice(new NY(u.Addr),t);$s=-1;return[u,$ifaceNil];case 3:if((p.$length===0)||p.Equal($pkg.IPv4zero)){p=$pkg.IPv6zero;}v=p.To16();if(v===FO.nil){$s=-1;return[$ifaceNil,new JA.ptr("non-IPv6 address",p.String())];}w=FE.index(r);$s=5;case 5:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=new B.SockaddrInet6.ptr(q,((w>>>0)),NX.zero(),new B.RawSockaddrInet6.ptr(0,0,0,NX.zero(),0));$copySlice(new NY(x.Addr),v);$s=-1;return[x,$ifaceNil];case 4:case 1:$s=-1;return[$ifaceNil,new JA.ptr("invalid address family",p.String())];}return;}if($f===undefined){$f={$blk:HJ};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};HM=function(o){var o,p,q,r,s,t,u;p=QC.zero();q=$copyString(new NY(p),o);KH($subslice(new NY(p),0,q));r=(s=HK[$String.keyFor(($bytesToString($subslice(new NY(p),0,q))))],s!==undefined?[s.v,true]:[0,false]);t=r[0];u=r[1];if(!u||!((q===o.length))){return[0,new JA.ptr("unknown IP protocol specified",o)];}return[t,$ifaceNil];};HN=function(o,p){var aa,ab,ac,ad,ae,af,ag,o,p,q,r,s,t,u,v,w,x,y,z;q=0;r=$ifaceNil;s=o;if(s===("tcp4")||s===("tcp6")){o="tcp";}else if(s===("udp4")||s===("udp6")){o="udp";}t=(u=HL[$String.keyFor(o)],u!==undefined?[u.v,true]:[false,false]);v=t[0];w=t[1];if(w){x=QC.zero();y=$copyString(new NY(x),p);KH($subslice(new NY(x),0,y));z=(aa=v[$String.keyFor(($bytesToString($subslice(new NY(x),0,y))))],aa!==undefined?[aa.v,true]:[0,false]);ab=z[0];ac=z[1];if(ac&&(y===p.length)){ad=ab;ae=$ifaceNil;q=ad;r=ae;return[q,r];}}af=0;ag=new JA.ptr("unknown port",o+"/"+p);q=af;r=ag;return[q,r];};HP=function(o){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=NT.nil;q=$ifaceNil;s=$pkg.DefaultResolver.LookupHost(E.Background(),o);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;p=r[0];q=r[1];$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:HP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$pkg.LookupHost=HP;HO.ptr.prototype.LookupHost=function(o,p){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=NT.nil;r=$ifaceNil;s=this;if(p===""){$s=1;continue;}$s=2;continue;case 1:t=NT.nil;v=JE.Error();$s=3;case 3:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=new JF.ptr(v,p,"",false,false);q=t;r=u;$s=-1;return[q,r];case 2:w=GG(p);if(!(w===FO.nil)){x=new NT([p]);y=$ifaceNil;q=x;r=y;$s=-1;return[q,r];}aa=s.lookupHost(o,p);$s=4;case 4:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;q=z[0];r=z[1];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupHost};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupHost=function(o,p){return this.$val.LookupHost(o,p);};HO.ptr.prototype.LookupIPAddr=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=[o];p=[p];q=[q];r=this;if(p[0]===""){$s=1;continue;}$s=2;continue;case 1:s=JE.Error();$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$s=-1;return[OD.nil,new JF.ptr(s,p[0],"",false,false)];case 2:t=GG(p[0]);if(!(t===FO.nil)){$s=-1;return[new OD([new GI.ptr(t,"")]),$ifaceNil];}w=o[0].Value((v=new I.TraceKey.ptr(),new v.constructor.elem(v)));$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}u=$assertType(w,OK,true);x=u[0];if(!(x===OK.nil)&&!(x.DNSStart===$throwNilPointerError)){$s=5;continue;}$s=6;continue;case 5:$r=x.DNSStart(p[0]);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:q[0]=$methodVal(r,"lookupIP");aa=o[0].Value((z=new I.LookupIPAltResolverKey.ptr(),new z.constructor.elem(z)));$s=8;case 8:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}y=$assertType(aa,QD,true);ab=y[0];if(!(ab===$throwNilPointerError)){q[0]=ab;}ac=HR.DoChan(p[0],(function(o,p,q){return function $b(){var ac,ad,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ac=$f.ac;ad=$f.ad;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=ED(o[0],q[0],p[0]);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;$s=-1;return[ad[0],ad[1]];}return;}if($f===undefined){$f={$blk:$b};}$f.ac=ac;$f.ad=ad;$f.$s=$s;$f.$r=$r;return $f;};})(o,p,q));$s=9;case 9:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;af=o[0].Done();$s=10;case 10:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=$select([[af],[ad]]);$s=11;case 11:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ae=ag;if(ae[0]===0){$s=12;continue;}if(ae[0]===1){$s=13;continue;}$s=14;continue;case 12:ah=o[0].Err();$s=15;case 15:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if($interfaceIsEqual(ai,E.DeadlineExceeded)){$s=16;continue;}$s=17;continue;case 16:$r=HR.Forget(p[0]);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:aj=IS(ai);if(!(x===OK.nil)&&!(x.DNSDone===$throwNilPointerError)){$s=19;continue;}$s=20;continue;case 19:$r=x.DNSDone(QE.nil,false,aj);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 20:$s=-1;return[OD.nil,aj];case 13:ak=$clone(ae[1][0],O.Result);if(!(x===OK.nil)&&!(x.DNSDone===$throwNilPointerError)){$s=22;continue;}$s=23;continue;case 22:al=$assertType(ak.Val,OD,true);am=al[0];$r=x.DNSDone(HT(am),ak.Shared,ak.Err);$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 23:$s=-1;return HS(ak.Val,ak.Err,ak.Shared);case 14:$s=-1;return[OD.nil,$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupIPAddr};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupIPAddr=function(o,p){return this.$val.LookupIPAddr(o,p);};HS=function(o,p,q){var o,p,q,r,s;if(!($interfaceIsEqual(p,$ifaceNil))){return[OD.nil,p];}r=$assertType(o,OD);if(q){s=$makeSlice(OD,r.$length);$copySlice(s,r);r=s;}return[r,$ifaceNil];};HT=function(o){var o,p,q,r,s,t;p=$makeSlice(QE,o.$length);q=o;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=$clone(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]),GI);((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s]=new t.constructor.elem(t));r++;}return p;};HO.ptr.prototype.LookupPort=function(o,p,q){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=$ifaceNil;t=this;u=KX(q);r=u[0];v=u[1];if(v){$s=1;continue;}$s=2;continue;case 1:x=t.lookupPort(o,p,q);$s=3;case 3:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;r=w[0];s=w[1];if(!($interfaceIsEqual(s,$ifaceNil))){y=0;z=s;r=y;s=z;$s=-1;return[r,s];}case 2:if(0>r||r>65535){aa=0;ab=new JA.ptr("invalid port",q);r=aa;s=ab;$s=-1;return[r,s];}ac=r;ad=$ifaceNil;r=ac;s=ad;$s=-1;return[r,s];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupPort};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupPort=function(o,p,q){return this.$val.LookupPort(o,p,q);};HO.ptr.prototype.LookupCNAME=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q="";r=$ifaceNil;s=this;u=s.lookupCNAME(o,p);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;q=t[0];r=t[1];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupCNAME};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupCNAME=function(o,p){return this.$val.LookupCNAME(o,p);};HO.ptr.prototype.LookupSRV=function(o,p,q,r){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s="";t=QG.nil;u=$ifaceNil;v=this;x=v.lookupSRV(o,p,q,r);$s=1;case 1:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;s=w[0];t=w[1];u=w[2];$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupSRV};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupSRV=function(o,p,q,r){return this.$val.LookupSRV(o,p,q,r);};HO.ptr.prototype.LookupMX=function(o,p){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;r=q.lookupMX(o,p);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$s=-1;return r;}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupMX};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupMX=function(o,p){return this.$val.LookupMX(o,p);};HO.ptr.prototype.LookupNS=function(o,p){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;r=q.lookupNS(o,p);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$s=-1;return r;}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupNS};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupNS=function(o,p){return this.$val.LookupNS(o,p);};HO.ptr.prototype.LookupTXT=function(o,p){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;r=q.lookupTXT(o,p);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$s=-1;return r;}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupTXT};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupTXT=function(o,p){return this.$val.LookupTXT(o,p);};HO.ptr.prototype.LookupAddr=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=NT.nil;r=$ifaceNil;s=this;u=s.lookupAddr(o,p);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;q=t[0];r=t[1];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.LookupAddr};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.LookupAddr=function(o,p){return this.$val.LookupAddr(o,p);};IC=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);o=JU("/etc/protocols");p=o[0];q=o[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return;}$deferred.push([$methodVal(p,"close"),[]]);s=p.readLine();$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];case 2:if(!(u)){$s=3;continue;}v=V(t,35);if(v>=0){t=$substring(t,0,v);}w=JY(t);if(w.$length<2){$s=4;continue;}$s=5;continue;case 4:y=p.readLine();$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;t=x[0];u=x[1];$s=2;continue;case 5:z=JZ((1>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+1]));aa=z[0];ab=z[2];if(ab){ac=(ad=HK[$String.keyFor((0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0]))],ad!==undefined?[ad.v,true]:[0,false]);ae=ac[1];if(!ae){af=(0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0]);(HK||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(af)]={k:af,v:aa};}ag=$subslice(w,2);ah=0;while(true){if(!(ah<ag.$length)){break;}ai=((ah<0||ah>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+ah]);aj=(ak=HK[$String.keyFor(ai)],ak!==undefined?[ak.v,true]:[0,false]);al=aj[1];if(!al){am=ai;(HK||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(am)]={k:am,v:aa};}ah++;}}ao=p.readLine();$s=7;case 7:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;t=an[0];u=an[1];$s=2;continue;case 3:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:IC};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};ID=function(o,p){var o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=IB.Do(IC);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return HM(p);}return;}if($f===undefined){$f={$blk:ID};}$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};HO.ptr.prototype.dial=function(o,p,q){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=this;s=$ifaceNil;t=$ifaceNil;if(!(r.Dial===$throwNilPointerError)){$s=1;continue;}$s=2;continue;case 1:v=r.Dial(o,p,q);$s=4;case 4:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;s=u[0];t=u[1];$s=3;continue;case 2:w=new BC.ptr(new K.Duration(0,0),new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),$ifaceNil,false,new K.Duration(0,0),new K.Duration(0,0),OH.nil,$chanNil);y=w.DialContext(o,p,q);$s=5;case 5:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;s=x[0];t=x[1];case 3:if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[$ifaceNil,IS(t)];}z=$assertType(s,IL,true);aa=z[1];if(aa){$s=-1;return[new BY.ptr(s),$ifaceNil];}$s=-1;return[new BZ.ptr(s),$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.dial};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.dial=function(o,p,q){return this.$val.dial(o,p,q);};HO.ptr.prototype.lookupHost=function(o,p){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=NT.nil;r=$ifaceNil;s=this;t=AX();$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t.hostLookupOrder(p);$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;if(!s.PreferGo&&(v===0)){w=AP(o,p);x=w[0];y=w[1];z=w[2];if(z){aa=x;ab=y;q=aa;r=ab;$s=-1;return[q,r];}v=1;}ad=s.goLookupHostOrder(o,p,v);$s=3;case 3:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;q=ac[0];r=ac[1];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupHost};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupHost=function(o,p){return this.$val.lookupHost(o,p);};HO.ptr.prototype.lookupIP=function(o,p){var aa,ab,ac,ad,ae,af,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=OD.nil;r=$ifaceNil;s=this;if(s.PreferGo){$s=1;continue;}$s=2;continue;case 1:u=s.goLookupIP(o,p);$s=3;case 3:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;q=t[0];r=t[1];$s=-1;return[q,r];case 2:v=AX();$s=4;case 4:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v.hostLookupOrder(p);$s=5;case 5:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;if(x===0){y=AR(o,p);z=y[0];aa=y[1];ab=y[2];if(ab){ac=z;ad=aa;q=ac;r=ad;$s=-1;return[q,r];}x=1;}af=s.goLookupIPCNAMEOrder(o,p,x);$s=6;case 6:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;q=ae[0];r=ae[2];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupIP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupIP=function(o,p){return this.$val.lookupIP(o,p);};HO.ptr.prototype.lookupPort=function(o,p,q){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=this;if(!(!r.PreferGo)){s=false;$s=3;continue s;}t=AX();$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t.canUseCgo();$s=5;case 5:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}s=u;case 3:if(s){$s=1;continue;}$s=2;continue;case 1:v=AQ(o,p,q);w=v[0];x=v[1];y=v[2];if(y){$s=6;continue;}$s=7;continue;case 6:if(!($interfaceIsEqual(x,$ifaceNil))){$s=8;continue;}$s=9;continue;case 8:aa=LA(p,q);$s=10;case 10:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[1];if($interfaceIsEqual(ac,$ifaceNil)){$s=-1;return[ab,$ifaceNil];}case 9:$s=-1;return[w,x];case 7:case 2:ad=LA(p,q);$s=11;case 11:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$s=-1;return ad;}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupPort};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupPort=function(o,p,q){return this.$val.lookupPort(o,p,q);};HO.ptr.prototype.lookupCNAME=function(o,p){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!(!q.PreferGo)){r=false;$s=3;continue s;}s=AX();$s=4;case 4:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s.canUseCgo();$s=5;case 5:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=t;case 3:if(r){$s=1;continue;}$s=2;continue;case 1:u=AS(o,p);v=u[0];w=u[1];x=u[2];if(x){$s=-1;return[v,w];}case 2:y=q.goLookupCNAME(o,p);$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$s=-1;return y;}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupCNAME};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupCNAME=function(o,p){return this.$val.lookupCNAME(o,p);};HO.ptr.prototype.lookupSRV=function(o,p,q,r){var aa,ab,ac,ad,ae,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s=this;t="";if(p===""&&q===""){t=r;}else{t="_"+p+"._"+q+"."+r;}v=s.lookup(o,t,33);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];y=u[2];if(!($interfaceIsEqual(y,$ifaceNil))){$s=-1;return["",QG.nil,y];}z=$makeSlice(QG,x.$length);aa=x;ab=0;while(true){if(!(ab<aa.$length)){break;}ac=ab;ad=((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]);ae=$assertType(ad,QH);((ac<0||ac>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+ac]=new BS.ptr(ae.Target,ae.Port,ae.Priority,ae.Weight));ab++;}$r=($subslice(new BT(z.$array),z.$offset,z.$offset+z.$length)).sort();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[w,z,$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupSRV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupSRV=function(o,p,q,r){return this.$val.lookupSRV(o,p,q,r);};HO.ptr.prototype.lookupMX=function(o,p){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;s=q.lookup(o,p,15);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[1];u=r[2];if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return[QJ.nil,u];}v=$makeSlice(QJ,t.$length);w=t;x=0;while(true){if(!(x<w.$length)){break;}y=x;z=((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]);aa=$assertType(z,QK);((y<0||y>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+y]=new BU.ptr(aa.Mx,aa.Pref));x++;}$r=($subslice(new BV(v.$array),v.$offset,v.$offset+v.$length)).sort();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[v,$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupMX};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupMX=function(o,p){return this.$val.lookupMX(o,p);};HO.ptr.prototype.lookupNS=function(o,p){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;s=q.lookup(o,p,2);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[1];u=r[2];if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return[QM.nil,u];}v=$makeSlice(QM,t.$length);w=t;x=0;while(true){if(!(x<w.$length)){break;}y=x;z=((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]);((y<0||y>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+y]=new BW.ptr($assertType(z,QN).Ns));x++;}$s=-1;return[v,$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupNS};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupNS=function(o,p){return this.$val.lookupNS(o,p);};HO.ptr.prototype.lookupTXT=function(o,p){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;s=q.lookup(o,p,16);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[1];u=r[2];if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return[NT.nil,u];}v=$makeSlice(NT,t.$length);w=t;x=0;while(true){if(!(x<w.$length)){break;}y=x;z=((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]);((y<0||y>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+y]=$assertType(z,QO).Txt);x++;}$s=-1;return[v,$ifaceNil];}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupTXT};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupTXT=function(o,p){return this.$val.lookupTXT(o,p);};HO.ptr.prototype.lookupAddr=function(o,p){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!(!q.PreferGo)){r=false;$s=3;continue s;}s=AX();$s=4;case 4:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s.canUseCgo();$s=5;case 5:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=t;case 3:if(r){$s=1;continue;}$s=2;continue;case 1:u=AT(o,p);v=u[0];w=u[1];x=u[2];if(x){$s=-1;return[v,w];}case 2:y=q.goLookupPTR(o,p);$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$s=-1;return y;}return;}if($f===undefined){$f={$blk:HO.ptr.prototype.lookupAddr};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};HO.prototype.lookupAddr=function(o,p){return this.$val.lookupAddr(o,p);};IE.prototype.String=function(){var o,p,q,r,s,t;o=this;if(o.$length===0){return"";}p=$makeSlice(NY,0,(($imul(o.$length,3))-1>>0));q=o;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(s>0){p=$append(p,58);}p=$append(p,"0123456789abcdef".charCodeAt((t>>>4<<24>>>24)));p=$append(p,"0123456789abcdef".charCodeAt(((t&15)>>>0)));r++;}return($bytesToString(p));};$ptrType(IE).prototype.String=function(){return this.$get().String();};IK.ptr.prototype.ok=function(){var o;o=this;return!(o===QP.nil)&&!(o.fd===PK.nil);};IK.prototype.ok=function(){return this.$val.ok();};IK.ptr.prototype.Read=function(o){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return[0,new B.Errno(22)];}r=p.fd.Read(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))&&!($interfaceIsEqual(t,M.EOF))){t=new IT.ptr("read",p.fd.net,p.fd.laddr,p.fd.raddr,t);}$s=-1;return[s,t];}return;}if($f===undefined){$f={$blk:IK.ptr.prototype.Read};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};IK.prototype.Read=function(o){return this.$val.Read(o);};IK.ptr.prototype.Write=function(o){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return[0,new B.Errno(22)];}r=p.fd.Write(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))){t=new IT.ptr("write",p.fd.net,p.fd.laddr,p.fd.raddr,t);}$s=-1;return[s,t];}return;}if($f===undefined){$f={$blk:IK.ptr.prototype.Write};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};IK.prototype.Write=function(o){return this.$val.Write(o);};IK.ptr.prototype.Close=function(){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(!o.ok()){$s=-1;return new B.Errno(22);}p=o.fd.Close();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(!($interfaceIsEqual(q,$ifaceNil))){q=new IT.ptr("close",o.fd.net,o.fd.laddr,o.fd.raddr,q);}$s=-1;return q;}return;}if($f===undefined){$f={$blk:IK.ptr.prototype.Close};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};IK.prototype.Close=function(){return this.$val.Close();};IK.ptr.prototype.LocalAddr=function(){var o;o=this;if(!o.ok()){return $ifaceNil;}return o.fd.laddr;};IK.prototype.LocalAddr=function(){return this.$val.LocalAddr();};IK.ptr.prototype.RemoteAddr=function(){var o;o=this;if(!o.ok()){return $ifaceNil;}return o.fd.raddr;};IK.prototype.RemoteAddr=function(){return this.$val.RemoteAddr();};IK.ptr.prototype.SetDeadline=function(o){var o,p,q;p=this;if(!p.ok()){return new B.Errno(22);}q=p.fd.pfd.SetDeadline($clone(o,K.Time));if(!($interfaceIsEqual(q,$ifaceNil))){return new IT.ptr("set",p.fd.net,$ifaceNil,p.fd.laddr,q);}return $ifaceNil;};IK.prototype.SetDeadline=function(o){return this.$val.SetDeadline(o);};IK.ptr.prototype.SetReadDeadline=function(o){var o,p,q;p=this;if(!p.ok()){return new B.Errno(22);}q=p.fd.pfd.SetReadDeadline($clone(o,K.Time));if(!($interfaceIsEqual(q,$ifaceNil))){return new IT.ptr("set",p.fd.net,$ifaceNil,p.fd.laddr,q);}return $ifaceNil;};IK.prototype.SetReadDeadline=function(o){return this.$val.SetReadDeadline(o);};IK.ptr.prototype.SetWriteDeadline=function(o){var o,p,q;p=this;if(!p.ok()){return new B.Errno(22);}q=p.fd.pfd.SetWriteDeadline($clone(o,K.Time));if(!($interfaceIsEqual(q,$ifaceNil))){return new IT.ptr("set",p.fd.net,$ifaceNil,p.fd.laddr,q);}return $ifaceNil;};IK.prototype.SetWriteDeadline=function(o){return this.$val.SetWriteDeadline(o);};IK.ptr.prototype.SetReadBuffer=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return new B.Errno(22);}q=LO(p.fd,o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return new IT.ptr("set",p.fd.net,$ifaceNil,p.fd.laddr,r);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:IK.ptr.prototype.SetReadBuffer};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};IK.prototype.SetReadBuffer=function(o){return this.$val.SetReadBuffer(o);};IK.ptr.prototype.SetWriteBuffer=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return new B.Errno(22);}q=LP(p.fd,o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return new IT.ptr("set",p.fd.net,$ifaceNil,p.fd.laddr,r);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:IK.ptr.prototype.SetWriteBuffer};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};IK.prototype.SetWriteBuffer=function(o){return this.$val.SetWriteBuffer(o);};IK.ptr.prototype.File=function(){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=PN.nil;p=$ifaceNil;q=this;s=q.fd.dup();$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;o=r[0];p=r[1];if(!($interfaceIsEqual(p,$ifaceNil))){p=new IT.ptr("file",q.fd.net,q.fd.laddr,q.fd.raddr,p);}$s=-1;return[o,p];}return;}if($f===undefined){$f={$blk:IK.ptr.prototype.File};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};IK.prototype.File=function(){return this.$val.File();};IS=function(o){var o,p;p=o;if($interfaceIsEqual(p,(E.Canceled))){return IR;}else if($interfaceIsEqual(p,(E.DeadlineExceeded))){return J.ErrTimeout;}else{return o;}};IT.ptr.prototype.Error=function(){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(o===OU.nil){$s=-1;return"<nil>";}p=o.Op;if(!(o.Net==="")){p=p+(" "+o.Net);}if(!($interfaceIsEqual(o.Source,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:q=o.Source.String();$s=3;case 3:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=p+(" "+q);case 2:if(!($interfaceIsEqual(o.Addr,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:if(!($interfaceIsEqual(o.Source,$ifaceNil))){p=p+("->");}else{p=p+(" ");}r=o.Addr.String();$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}p=p+(r);case 5:s=o.Err.Error();$s=7;case 7:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}p=p+(": "+s);$s=-1;return p;}return;}if($f===undefined){$f={$blk:IT.ptr.prototype.Error};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};IT.prototype.Error=function(){return this.$val.Error();};IT.ptr.prototype.Timeout=function(){var aa,ab,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=$assertType(o.Err,QQ,true);q=p[0];r=p[1];if(r){$s=1;continue;}$s=2;continue;case 1:s=$assertType(q.Err,IX,true);t=s[0];u=s[1];if(!(u)){v=false;$s=3;continue s;}w=t.Timeout();$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;case 3:$s=-1;return v;case 2:x=$assertType(o.Err,IX,true);y=x[0];z=x[1];if(!(z)){aa=false;$s=5;continue s;}ab=y.Timeout();$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 5:$s=-1;return aa;}return;}if($f===undefined){$f={$blk:IT.ptr.prototype.Timeout};}$f.aa=aa;$f.ab=ab;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};IT.prototype.Timeout=function(){return this.$val.Timeout();};IT.ptr.prototype.Temporary=function(){var aa,ab,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=$assertType(o.Err,QQ,true);q=p[0];r=p[1];if(r){$s=1;continue;}$s=2;continue;case 1:s=$assertType(q.Err,IY,true);t=s[0];u=s[1];if(!(u)){v=false;$s=3;continue s;}w=t.Temporary();$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;case 3:$s=-1;return v;case 2:x=$assertType(o.Err,IY,true);y=x[0];z=x[1];if(!(z)){aa=false;$s=5;continue s;}ab=y.Temporary();$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 5:$s=-1;return aa;}return;}if($f===undefined){$f={$blk:IT.ptr.prototype.Temporary};}$f.aa=aa;$f.ab=ab;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};IT.prototype.Temporary=function(){return this.$val.Temporary();};IZ.ptr.prototype.Error=function(){var o;o=this;return"invalid "+o.Type+": "+o.Text;};IZ.prototype.Error=function(){return this.$val.Error();};JA.ptr.prototype.Error=function(){var o,p;o=this;if(o===QR.nil){return"<nil>";}p=o.Err;if(!(o.Addr==="")){p="address "+o.Addr+": "+p;}return p;};JA.prototype.Error=function(){return this.$val.Error();};JA.ptr.prototype.Timeout=function(){var o;o=this;return false;};JA.prototype.Timeout=function(){return this.$val.Timeout();};JA.ptr.prototype.Temporary=function(){var o;o=this;return false;};JA.prototype.Temporary=function(){return this.$val.Temporary();};JB.prototype.Error=function(){var o;o=this.$val;return"unknown network "+(o);};$ptrType(JB).prototype.Error=function(){return new JB(this.$get()).Error();};JB.prototype.Timeout=function(){var o;o=this.$val;return false;};$ptrType(JB).prototype.Timeout=function(){return new JB(this.$get()).Timeout();};JB.prototype.Temporary=function(){var o;o=this.$val;return false;};$ptrType(JB).prototype.Temporary=function(){return new JB(this.$get()).Temporary();};JF.ptr.prototype.Error=function(){var o,p;o=this;if(o===OT.nil){return"<nil>";}p="lookup "+o.Name;if(!(o.Server==="")){p=p+(" on "+o.Server);}p=p+(": "+o.Err);return p;};JF.prototype.Error=function(){return this.$val.Error();};JF.ptr.prototype.Timeout=function(){var o;o=this;return o.IsTimeout;};JF.prototype.Timeout=function(){return this.$val.Timeout();};JF.ptr.prototype.Temporary=function(){var o;o=this;return o.IsTimeout||o.IsTemporary;};JF.prototype.Temporary=function(){return this.$val.Temporary();};JH=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=new $Int64(0,0);r=$ifaceNil;u=M.Copy((t=new JG.ptr(o),new t.constructor.elem(t)),p);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}s=u;q=s[0];r=s[1];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:JH};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(JM).prototype.WriteTo=function(o){var aa,ab,ac,ad,ae,af,ag,ah,ai,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=new $Int64(0,0);q=$ifaceNil;r=this;s=$assertType(o,JL,true);t=s[0];u=s[1];if(u){$s=1;continue;}$s=2;continue;case 1:w=t.writeBuffers(r);$s=3;case 3:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;p=v[0];q=v[1];$s=-1;return[p,q];case 2:x=r.$get();y=0;case 4:if(!(y<x.$length)){$s=5;continue;}z=((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]);ab=o.Write(z);$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];p=(ae=(new $Int64(0,ac)),new $Int64(p.$high+ae.$high,p.$low+ae.$low));if(!($interfaceIsEqual(ad,$ifaceNil))){r.consume(p);af=p;ag=ad;p=af;q=ag;$s=-1;return[p,q];}y++;$s=4;continue;case 5:r.consume(p);ah=p;ai=$ifaceNil;p=ah;q=ai;$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:$ptrType(JM).prototype.WriteTo};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(JM).prototype.Read=function(o){var o,p,q,r,s,t;p=0;q=$ifaceNil;r=this;while(true){if(!(o.$length>0&&r.$get().$length>0)){break;}t=$copySlice(o,(s=r.$get(),(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])));r.consume((new $Int64(0,t)));o=$subslice(o,t);p=p+(t)>>0;}if(r.$get().$length===0){q=M.EOF;}return[p,q];};$ptrType(JM).prototype.consume=function(o){var o,p,q,r,s,t,u;p=this;while(true){if(!(p.$get().$length>0)){break;}r=(new $Int64(0,(q=p.$get(),(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])).$length));if((r.$high>o.$high||(r.$high===o.$high&&r.$low>o.$low))){(t=p.$get(),(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0]=$subslice((s=p.$get(),(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])),$flatten64(o))));return;}o=(u=r,new $Int64(o.$high-u.$high,o.$low-u.$low));p.$set($subslice((p.$get()),1));}};JO.ptr.prototype.standardCriteria=function(){var o,p,q,r,s;o=this;p=o.criteria;q=0;while(true){if(!(q<p.$length)){break;}r=q;s=$clone(((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]),JP);if(!$clone(s,JP).standardStatusAction(r===(o.criteria.$length-1>>0))){return false;}q++;}return true;};JO.prototype.standardCriteria=function(){return this.$val.standardCriteria();};JP.ptr.prototype.standardStatusAction=function(o){var o,p,q,r;p=this;if(p.negate){return false;}q="";r=p.status;if(r===("success")){q="return";}else if(r===("notfound")||r===("unavail")||r===("tryagain")){q="continue";}else{return false;}if(o&&p.action==="return"){return true;}return p.action===q;};JP.prototype.standardStatusAction=function(o){return this.$val.standardStatusAction(o);};JQ=function(o){var o,p,q,r,s,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);p=F.Open(o);q=p[0];r=p[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return new JN.ptr(r,false);}$deferred.push([$methodVal(q,"Close"),[]]);s=JR(q);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$s=-1;return s;}return;}}catch(err){$err=err;$s=-1;return NW.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:JQ};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};JR=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];r=KS(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return new JN.ptr(t,false);}p[0]=new JN.ptr($ifaceNil,false);u=KM(s,(function(p){return function $b(u){var aa,ab,ac,ad,ae,af,ag,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:u=KJ(KL(u));if(u.$length===0){$s=-1;return $ifaceNil;}v=X(u,58);if(v===-1){$s=-1;return A.New("no colon on line");}w=($bytesToString(KJ($subslice(u,0,v))));x=$subslice(u,(v+1>>0));case 1:x=KJ(x);if(x.$length===0){$s=2;continue;}y=X(x,32);z="";if(y===-1){z=($bytesToString(x));x=NY.nil;}else{z=($bytesToString($subslice(x,0,y)));x=KJ($subslice(x,(y+1>>0)));}aa=QS.nil;if(x.$length>0&&((0>=x.$length?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+0])===91)){$s=3;continue;}$s=4;continue;case 3:ab=X(x,93);if(ab===-1){$s=-1;return A.New("unclosed criterion bracket");}ac=$ifaceNil;ae=JS($subslice(x,1,ab));$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;aa=ad[0];ac=ad[1];if(!($interfaceIsEqual(ac,$ifaceNil))){$s=-1;return A.New("invalid criteria: "+($bytesToString($subslice(x,1,ab))));}x=$subslice(x,(ab+1>>0));case 4:if(p[0].sources===false){p[0].sources={};}af=w;(p[0].sources||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(af)]={k:af,v:$append((ag=p[0].sources[$String.keyFor(w)],ag!==undefined?ag.v:OG.nil),new JO.ptr(z,aa))};$s=1;continue;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(p));$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}p[0].err=u;$s=-1;return p[0];}return;}if($f===undefined){$f={$blk:JR};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};JS=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];p[0]=QS.nil;q=$ifaceNil;r=KN(o,(function(p){return function(r){var r,s,t;s=false;if(r.$length>0&&((0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0])===33)){s=true;r=$subslice(r,1);}if(r.$length<3){return A.New("criterion too short");}t=X(r,61);if(t===-1){return A.New("criterion lacks equal sign");}KH(r);p[0]=$append(p[0],new JP.ptr(s,($bytesToString($subslice(r,0,t))),($bytesToString($subslice(r,(t+1>>0))))));return $ifaceNil;};})(p));$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;$s=-1;return[p[0],q];}return;}if($f===undefined){$f={$blk:JS};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};JT.ptr.prototype.close=function(){var o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=o.file.Close();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=-1;return;}return;}if($f===undefined){$f={$blk:JT.ptr.prototype.close};}$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};JT.prototype.close=function(){return this.$val.close();};JT.ptr.prototype.getLineFromData=function(){var o,p,q,r,s,t;o="";p=false;q=this;r=q.data;s=0;s=0;while(true){if(!(s<r.$length)){break;}if(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s])===10){o=($bytesToString($subslice(r,0,s)));p=true;s=s+(1)>>0;t=r.$length-s>>0;$copySlice($subslice(r,0),$subslice(r,s));q.data=$subslice(r,0,t);return[o,p];}s=s+(1)>>0;}if(q.atEOF&&q.data.$length>0){o=($bytesToString(r));q.data=$subslice(q.data,0,0);p=true;}return[o,p];};JT.prototype.getLineFromData=function(){return this.$val.getLineFromData();};JT.ptr.prototype.readLine=function(){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o="";p=false;q=this;r=q.getLineFromData();o=r[0];p=r[1];if(p){$s=-1;return[o,p];}if(q.data.$length<q.data.$capacity){$s=1;continue;}$s=2;continue;case 1:s=q.data.$length;u=M.ReadFull(q.file,$subslice(q.data,s,q.data.$capacity));$s=3;case 3:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(v>=0){q.data=$subslice(q.data,0,(s+v>>0));}if($interfaceIsEqual(w,M.EOF)||$interfaceIsEqual(w,M.ErrUnexpectedEOF)){q.atEOF=true;}case 2:x=q.getLineFromData();o=x[0];p=x[1];$s=-1;return[o,p];}return;}if($f===undefined){$f={$blk:JT.ptr.prototype.readLine};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};JT.prototype.readLine=function(){return this.$val.readLine();};JU=function(o){var o,p,q,r;p=F.Open(o);q=p[0];r=p[1];if(!($interfaceIsEqual(r,$ifaceNil))){return[PR.nil,r];}return[new JT.ptr(q,$makeSlice(NY,0,F.Getpagesize()),false),$ifaceNil];};JV=function(o){var aa,ab,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);q=new $Int64(0,0);r=$ifaceNil;s=F.Stat(o);t=s[0];r=s[1];if(!($interfaceIsEqual(r,$ifaceNil))){u=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);v=new $Int64(0,0);w=r;K.Time.copy(p,u);q=v;r=w;$s=-1;return[p,q,r];}y=t.ModTime();$s=1;case 1:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=$clone(y,K.Time);aa=t.Size();$s=2;case 2:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=$ifaceNil;K.Time.copy(p,x);q=z;r=ab;$s=-1;return[p,q,r];}return;}if($f===undefined){$f={$blk:JV};}$f.aa=aa;$f.ab=ab;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};JW=function(o,p){var o,p,q,r;q=0;r=0;while(true){if(!(r<o.length)){break;}if(V(p,o.charCodeAt(r))>=0){q=q+(1)>>0;}r=r+(1)>>0;}return q;};JX=function(o,p){var o,p,q,r,s,t;q=$makeSlice(NT,(1+JW(o,p)>>0));r=0;s=0;t=0;while(true){if(!(t<o.length)){break;}if(V(p,o.charCodeAt(t))>=0){if(s<t){((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]=$substring(o,s,t));r=r+(1)>>0;}s=t+1>>0;}t=t+(1)>>0;}if(s<o.length){((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]=$substring(o,s));r=r+(1)>>0;}return $subslice(q,0,r);};JY=function(o){var o;return JX(o," \r\t\n");};JZ=function(o){var aa,o,p,q,r,s,t,u,v,w,x,y,z;p=0;q=0;r=false;p=0;q=0;while(true){if(!(q<o.length&&48<=o.charCodeAt(q)&&o.charCodeAt(q)<=57)){break;}p=($imul(p,10))+(((o.charCodeAt(q)-48<<24>>>24)>>0))>>0;if(p>=16777215){s=16777215;t=q;u=false;p=s;q=t;r=u;return[p,q,r];}q=q+(1)>>0;}if(q===0){v=0;w=0;x=false;p=v;q=w;r=x;return[p,q,r];}y=p;z=q;aa=true;p=y;q=z;r=aa;return[p,q,r];};KA=function(o){var aa,o,p,q,r,s,t,u,v,w,x,y,z;p=0;q=0;r=false;p=0;q=0;while(true){if(!(q<o.length)){break;}if(48<=o.charCodeAt(q)&&o.charCodeAt(q)<=57){p=$imul(p,(16));p=p+((((o.charCodeAt(q)-48<<24>>>24)>>0)))>>0;}else if(97<=o.charCodeAt(q)&&o.charCodeAt(q)<=102){p=$imul(p,(16));p=p+(((((o.charCodeAt(q)-97<<24>>>24)>>0))+10>>0))>>0;}else if(65<=o.charCodeAt(q)&&o.charCodeAt(q)<=70){p=$imul(p,(16));p=p+(((((o.charCodeAt(q)-65<<24>>>24)>>0))+10>>0))>>0;}else{break;}if(p>=16777215){s=0;t=q;u=false;p=s;q=t;r=u;return[p,q,r];}q=q+(1)>>0;}if(q===0){v=0;w=q;x=false;p=v;q=w;r=x;return[p,q,r];}y=p;z=q;aa=true;p=y;q=z;r=aa;return[p,q,r];};KB=function(o,p){var o,p,q,r,s,t;if(o.length>2&&!((o.charCodeAt(2)===p))){return[0,false];}q=KA($substring(o,0,2));r=q[0];s=q[1];t=q[2];return[((r<<24>>>24)),t&&(s===2)];};KC=function(o){var o;if(o<0){return"-"+KD(((-o>>>0)));}return KD(((o>>>0)));};KD=function(o){var o,p,q,r,s;if(o===0){return"0";}p=QT.zero();q=19;while(true){if(!(o>=10)){break;}s=(r=o/10,(r===r&&r!==1/0&&r!==-1/0)?r>>>0:$throwRuntimeError("integer divide by zero"));((q<0||q>=p.length)?($throwRuntimeError("index out of range"),undefined):p[q]=((((48+o>>>0)-(s*10>>>0)>>>0)<<24>>>24)));q=q-(1)>>0;o=s;}((q<0||q>=p.length)?($throwRuntimeError("index out of range"),undefined):p[q]=(((48+o>>>0)<<24>>>24)));return($bytesToString($subslice(new NY(p),q)));};KE=function(o,p){var o,p,q,r,s;if(p===0){return $append(o,48);}q=7;while(true){if(!(q>=0)){break;}s=(r=((($imul(q,4))>>>0)),r<32?(p>>>r):0)>>>0;if(s>0){o=$append(o,"0123456789abcdef".charCodeAt(((s&15)>>>0)));}q=q-(1)>>0;}return o;};KF=function(o,p){var o,p,q,r;q=0;r=0;while(true){if(!(r<o.length)){break;}if(o.charCodeAt(r)===p){q=q+(1)>>0;}r=r+(1)>>0;}return q;};KG=function(o,p){var o,p,q;q=o.length;q=q-(1)>>0;while(true){if(!(q>=0)){break;}if(o.charCodeAt(q)===p){break;}q=q-(1)>>0;}return q;};KH=function(o){var o,p,q,r,s;p=o;q=0;while(true){if(!(q<p.$length)){break;}r=q;s=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(65<=s&&s<=90){((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]=(((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r])+(32)<<24>>>24));}q++;}};KI=function(o){var o;if(65<=o&&o<=90){return o+32<<24>>>24;}return o;};KJ=function(o){var o,p;while(true){if(!(o.$length>0&&KK((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])))){break;}o=$subslice(o,1);}while(true){if(!(o.$length>0&&KK((p=o.$length-1>>0,((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]))))){break;}o=$subslice(o,0,(o.$length-1>>0));}return o;};KK=function(o){var o;return(o===32)||(o===9)||(o===10)||(o===13);};KL=function(o){var o,p;p=X(o,35);if(!((p===-1))){return $subslice(o,0,p);}return o;};KM=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(!(o.$length>0)){$s=2;continue;}q=X(o,10);if(q===-1){$s=3;continue;}$s=4;continue;case 3:r=p(o);$s=5;case 5:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$s=-1;return r;case 4:s=$subslice(o,0,(q+1>>0));o=$subslice(o,(q+1>>0));t=p(s);$s=6;case 6:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return u;}$s=1;continue;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:KM};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};KN=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=KJ(o);case 1:if(!(o.$length>0)){$s=2;continue;}q=X(o,32);if(q===-1){$s=3;continue;}$s=4;continue;case 3:r=p(o);$s=5;case 5:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$s=-1;return r;case 4:s=KJ($subslice(o,0,q));if(s.$length>0){$s=6;continue;}$s=7;continue;case 6:t=p(s);$s=8;case 8:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return u;}case 7:o=KJ($subslice(o,(q+1>>0)));$s=1;continue;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:KN};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};KO=function(o,p){var o,p;return o.length>=p.length&&$substring(o,(o.length-p.length>>0))===p;};KP=function(o,p){var o,p;return o.length>=p.length&&KR($substring(o,(o.length-p.length>>0)),p);};KQ=function(o,p){var o,p;return o.length>=p.length&&$substring(o,0,p.length)===p;};KR=function(o,p){var o,p,q;if(!((o.length===p.length))){return false;}q=0;while(true){if(!(q<o.length)){break;}if(!((KI(o.charCodeAt(q))===KI(p.charCodeAt(q))))){return false;}q=q+(1)>>0;}return true;};KS=function(o){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=NY.nil;q=$ifaceNil;r=$makeSlice(NY,1024);case 1:t=o.Read(r);$s=3;case 3:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];p=$appendSlice(p,$subslice(r,0,u));if($interfaceIsEqual(v,M.EOF)){w=p;x=$ifaceNil;p=w;q=x;$s=-1;return[p,q];}if(!($interfaceIsEqual(v,$ifaceNil))){y=NY.nil;z=v;p=y;q=z;$s=-1;return[p,q];}$s=1;continue;case 2:$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:KS};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};KT=function(o){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=F.Getenv("GODEBUG");$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=0;while(true){if(!(r<((q.length-o.length>>0)-1>>0))){break;}if(r>0&&!((q.charCodeAt((r-1>>0))===44))){r=r+(1)>>0;continue;}s=$substring(q,(r+o.length>>0));if(!((s.charCodeAt(0)===61))||!($substring(q,r,(r+o.length>>0))===o)){r=r+(1)>>0;continue;}t=$substring(s,1);u=t;v=0;while(true){if(!(v<u.length)){break;}w=$decodeRune(u,v);x=v;y=w[0];if(y===44){$s=-1;return $substring(t,0,x);}v+=w[1];}$s=-1;return t;}$s=-1;return"";}return;}if($f===undefined){$f={$blk:KT};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};KX=function(o){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z;p=0;q=false;if(o===""){r=0;s=false;p=r;q=s;return[p,q];}t=false;if(o.charCodeAt(0)===43){o=$substring(o,1);}else if(o.charCodeAt(0)===45){t=true;o=$substring(o,1);}u=0;v=o;w=0;while(true){if(!(w<v.length)){break;}x=$decodeRune(v,w);y=x[0];if(48<=y&&y<=57){y=y-(48)>>0;}else{z=0;aa=true;p=z;q=aa;return[p,q];}if(u>=1073741824){u=4294967295;break;}u=$imul(u,(10))>>>0;ab=u+((y>>>0))>>>0;if(ab<u||ab>4294967295){u=4294967295;break;}u=ab;w+=x[1];}if(!t&&u>=1073741824){p=1073741823;}else if(t&&u>1073741824){p=1073741824;}else{p=((u>>0));}if(t){p=-p;}ac=p;ad=false;p=ac;q=ad;return[p,q];};KZ=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);o=JU("/etc/services");p=o[0];q=o[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return;}$deferred.push([$methodVal(p,"close"),[]]);s=p.readLine();$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];case 2:if(!(u)){$s=3;continue;}v=V(t,35);if(v>=0){t=$substring(t,0,v);}w=JY(t);if(w.$length<2){$s=4;continue;}$s=5;continue;case 4:y=p.readLine();$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;t=x[0];u=x[1];$s=2;continue;case 5:z=(1>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+1]);aa=JZ(z);ab=aa[0];ac=aa[1];ad=aa[2];if(!ad||ab<=0||ac>=z.length||!((z.charCodeAt(ac)===47))){$s=7;continue;}$s=8;continue;case 7:af=p.readLine();$s=9;case 9:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;t=ae[0];u=ae[1];$s=2;continue;case 8:ag=$substring(z,(ac+1>>0));ah=(ai=HL[$String.keyFor(ag)],ai!==undefined?[ai.v,true]:[false,false]);aj=ah[0];ak=ah[1];if(!ak){aj={};al=ag;(HL||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(al)]={k:al,v:aj};}am=0;while(true){if(!(am<w.$length)){break;}if(!((am===1))){an=((am<0||am>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+am]);(aj||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(an)]={k:an,v:ab};}am=am+(1)>>0;}ap=p.readLine();$s=10;case 10:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;t=ao[0];u=ao[1];$s=2;continue;case 3:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:KZ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};LA=function(o,p){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=$ifaceNil;$r=KY.Do(KZ);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s=HN(o,p);q=s[0];r=s[1];$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:LA};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};LB.ptr.prototype.ok=function(){var o;o=this;return!(o===QU.nil)&&!(o.fd===PK.nil);};LB.prototype.ok=function(){return this.$val.ok();};LB.ptr.prototype.Control=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return new B.Errno(22);}q=p.fd.pfd.RawControl(o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(p.fd);if(!($interfaceIsEqual(r,$ifaceNil))){r=new IT.ptr("raw-control",p.fd.net,$ifaceNil,p.fd.laddr,r);}$s=-1;return r;}return;}if($f===undefined){$f={$blk:LB.ptr.prototype.Control};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};LB.prototype.Control=function(o){return this.$val.Control(o);};LB.ptr.prototype.Read=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return new B.Errno(22);}q=p.fd.pfd.RawRead(o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(p.fd);if(!($interfaceIsEqual(r,$ifaceNil))){r=new IT.ptr("raw-read",p.fd.net,p.fd.laddr,p.fd.raddr,r);}$s=-1;return r;}return;}if($f===undefined){$f={$blk:LB.ptr.prototype.Read};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};LB.prototype.Read=function(o){return this.$val.Read(o);};LB.ptr.prototype.Write=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return new B.Errno(22);}q=p.fd.pfd.RawWrite(o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(p.fd);if(!($interfaceIsEqual(r,$ifaceNil))){r=new IT.ptr("raw-write",p.fd.net,p.fd.laddr,p.fd.raddr,r);}$s=-1;return r;}return;}if($f===undefined){$f={$blk:LB.ptr.prototype.Write};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};LB.prototype.Write=function(o){return this.$val.Write(o);};LC=function(o){var o;return[new LB.ptr(o),$ifaceNil];};LD=function(o,p){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=new $Int64(0,0);r=$ifaceNil;s=false;t=new $Int64(1073741824,0);u=$assertType(p,QV,true);v=u[0];w=u[1];if(w){x=v.N;y=v.R;t=x;p=y;if((t.$high<0||(t.$high===0&&t.$low<=0))){z=new $Int64(0,0);aa=$ifaceNil;ab=true;q=z;r=aa;s=ab;$s=-1;return[q,r,s];}}ac=$assertType(p,PN,true);ad=ac[0];w=ac[1];if(!w){ae=new $Int64(0,0);af=$ifaceNil;ag=false;q=ae;r=af;s=ag;$s=-1;return[q,r,s];}ai=J.SendFile(o.pfd,((ad.Fd()>>0)),t);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;q=ah[0];r=ah[1];if(!(v===QV.nil)){v.N=new $Int64(t.$high-q.$high,t.$low-q.$low);}aj=q;ak=DM("sendfile",r);al=(q.$high>0||(q.$high===0&&q.$low>0));q=aj;r=ak;s=al;$s=-1;return[q,r,s];}return;}if($f===undefined){$f={$blk:LD};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};LE=function(o,p,q){var o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s=EH(o,(p|2048)|524288,q);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=u;if($interfaceIsEqual(v,$ifaceNil)){$s=-1;return[t,$ifaceNil];}else if($interfaceIsEqual(v,new B.Errno((93)))||$interfaceIsEqual(v,new B.Errno((22)))){}else{$s=-1;return[-1,F.NewSyscallError("socket",u)];}$r=B.ForkLock.RLock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}x=EH(o,p,q);$s=3;case 3:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;t=w[0];u=w[1];if($interfaceIsEqual(u,$ifaceNil)){B.CloseOnExec(t);}$r=B.ForkLock.RUnlock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return[-1,F.NewSyscallError("socket",u)];}u=B.SetNonblock(t,true);if(!($interfaceIsEqual(u,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:y=J.CloseFunc(t);$s=7;case 7:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;$s=-1;return[-1,F.NewSyscallError("setnonblock",u)];case 6:$s=-1;return[t,$ifaceNil];}return;}if($f===undefined){$f={$blk:LE};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};LG=function(o,p,q,r,s,t,u,v){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:w=PK.nil;x=$ifaceNil;z=LE(q,r,s);$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[0];x=y[1];if(!($interfaceIsEqual(x,$ifaceNil))){ab=PK.nil;ac=x;w=ab;x=ac;$s=-1;return[w,x];}x=LH(aa,q,r,t);if(!($interfaceIsEqual(x,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:ad=J.CloseFunc(aa);$s=4;case 4:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;ae=PK.nil;af=x;w=ae;x=af;$s=-1;return[w,x];case 3:ag=DO(aa,q,r,p);w=ag[0];x=ag[1];if(!($interfaceIsEqual(x,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:ah=J.CloseFunc(aa);$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ah;ai=PK.nil;aj=x;w=ai;x=aj;$s=-1;return[w,x];case 6:if(!($interfaceIsEqual(u,$ifaceNil))&&$interfaceIsEqual(v,$ifaceNil)){$s=8;continue;}$s=9;continue;case 8:ak=r;if((ak===(1))||(ak===(5))){$s=11;continue;}if(ak===(2)){$s=12;continue;}$s=13;continue;case 11:al=w.listenStream(u,IM);$s=14;case 14:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;if(!($interfaceIsEqual(am,$ifaceNil))){$s=15;continue;}$s=16;continue;case 15:an=w.Close();$s=17;case 17:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}an;ao=PK.nil;ap=am;w=ao;x=ap;$s=-1;return[w,x];case 16:aq=w;ar=$ifaceNil;w=aq;x=ar;$s=-1;return[w,x];case 12:as=w.listenDatagram(u);$s=18;case 18:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;if(!($interfaceIsEqual(at,$ifaceNil))){$s=19;continue;}$s=20;continue;case 19:au=w.Close();$s=21;case 21:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}au;av=PK.nil;aw=at;w=av;x=aw;$s=-1;return[w,x];case 20:ax=w;ay=$ifaceNil;w=ax;x=ay;$s=-1;return[w,x];case 13:case 10:case 9:az=w.dial(o,u,v);$s=22;case 22:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;if(!($interfaceIsEqual(ba,$ifaceNil))){$s=23;continue;}$s=24;continue;case 23:bb=w.Close();$s=25;case 25:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bb;bc=PK.nil;bd=ba;w=bc;x=bd;$s=-1;return[w,x];case 24:be=w;bf=$ifaceNil;w=be;x=bf;$s=-1;return[w,x];}return;}if($f===undefined){$f={$blk:LG};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DN.ptr.prototype.addrFunc=function(){var o,p,q,r;o=this;p=o.family;if((p===(2))||(p===(10))){q=o.sotype;if(q===(1)){return MF;}else if(q===(2)){return MU;}else if(q===(3)){return GO;}}else if(p===(1)){r=o.sotype;if(r===(1)){return NJ;}else if(r===(2)){return NK;}else if(r===(5)){return NL;}}return(function(s){var s;return $ifaceNil;});};DN.prototype.addrFunc=function(){return this.$val.addrFunc();};DN.ptr.prototype.dial=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=this;s=$ifaceNil;t=$ifaceNil;if(!($interfaceIsEqual(p,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:v=p.sockaddr(r.family);$s=3;case 3:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;t=u[0];s=u[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=4;continue;}if(!($interfaceIsEqual(t,$ifaceNil))){$s=5;continue;}$s=6;continue;case 4:$s=-1;return s;case 5:w=B.Bind(r.pfd.Sysfd,t);$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;if(!($interfaceIsEqual(x,$ifaceNil))){$s=-1;return F.NewSyscallError("bind",x);}case 6:case 2:y=$ifaceNil;z=$ifaceNil;if(!($interfaceIsEqual(q,$ifaceNil))){$s=8;continue;}$s=9;continue;case 8:ab=q.sockaddr(r.family);$s=11;case 11:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;y=aa[0];s=aa[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return s;}ad=r.connect(o,t,y);$s=12;case 12:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;z=ac[0];s=ac[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return s;}r.isConnected=true;$s=10;continue;case 9:ae=r.init();if(!($interfaceIsEqual(ae,$ifaceNil))){$s=-1;return ae;}case 10:af=B.Getsockname(r.pfd.Sysfd);t=af[0];if(!($interfaceIsEqual(z,$ifaceNil))){$s=13;continue;}$s=14;continue;case 13:ag=r.addrFunc()(t);$s=16;case 16:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;ai=r.addrFunc()(z);$s=17;case 17:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;$r=r.setAddr(ah,aj);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=15;continue;case 14:ak=B.Getpeername(r.pfd.Sysfd);y=ak[0];if(!($interfaceIsEqual(y,$ifaceNil))){$s=19;continue;}$s=20;continue;case 19:al=r.addrFunc()(t);$s=22;case 22:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;an=r.addrFunc()(y);$s=23;case 23:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;$r=r.setAddr(am,ao);$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=21;continue;case 20:ap=r.addrFunc()(t);$s=25;case 25:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$r=r.setAddr(ap,q);$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 21:case 15:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.dial};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.dial=function(o,p,q){return this.$val.dial(o,p,q);};DN.ptr.prototype.listenStream=function(o,p){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;r=LI(q.pfd.Sysfd);if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return r;}t=o.sockaddr(q.family);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];if(!($interfaceIsEqual(v,$ifaceNil))){$s=2;continue;}if(!($interfaceIsEqual(u,$ifaceNil))){$s=3;continue;}$s=4;continue;case 2:$s=-1;return v;case 3:w=B.Bind(q.pfd.Sysfd,u);$s=5;case 5:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;if(!($interfaceIsEqual(x,$ifaceNil))){$s=-1;return F.NewSyscallError("bind",x);}case 4:y=EJ(q.pfd.Sysfd,p);$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;if(!($interfaceIsEqual(z,$ifaceNil))){$s=-1;return F.NewSyscallError("listen",z);}aa=q.init();if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return aa;}ab=B.Getsockname(q.pfd.Sysfd);ac=ab[0];ad=q.addrFunc()(ac);$s=7;case 7:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$r=q.setAddr(ad,$ifaceNil);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.listenStream};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.listenStream=function(o,p){return this.$val.listenStream(o,p);};DN.ptr.prototype.listenDatagram=function(o){var aa,ab,ac,ad,ae,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];q=this;r=o;if($assertType(r,OF,true)[1]){s=r.$val;if(!(s.IP===FO.nil)&&s.IP.IsMulticast()){t=LJ(q.pfd.Sysfd);if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return t;}p[0]=$clone(s,MN);u=q.family;if(u===(2)){p[0].IP=$pkg.IPv4zero;}else if(u===(10)){p[0].IP=$pkg.IPv6unspecified;}o=p[0];}}w=o.sockaddr(q.family);$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];y=v[1];if(!($interfaceIsEqual(y,$ifaceNil))){$s=2;continue;}if(!($interfaceIsEqual(x,$ifaceNil))){$s=3;continue;}$s=4;continue;case 2:$s=-1;return y;case 3:z=B.Bind(q.pfd.Sysfd,x);$s=5;case 5:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return F.NewSyscallError("bind",aa);}case 4:ab=q.init();if(!($interfaceIsEqual(ab,$ifaceNil))){$s=-1;return ab;}ac=B.Getsockname(q.pfd.Sysfd);ad=ac[0];ae=q.addrFunc()(ad);$s=6;case 6:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$r=q.setAddr(ae,$ifaceNil);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.listenDatagram};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.listenDatagram=function(o){return this.$val.listenDatagram(o);};LH=function(o,p,q,r){var o,p,q,r;if((p===10)&&!((q===3))){B.SetsockoptInt(o,41,26,LK(r));}return F.NewSyscallError("setsockopt",B.SetsockoptInt(o,1,6,1));};LI=function(o){var o;return F.NewSyscallError("setsockopt",B.SetsockoptInt(o,1,2,1));};LJ=function(o){var o;return F.NewSyscallError("setsockopt",B.SetsockoptInt(o,1,2,1));};LK=function(o){var o;if(o){return 1;}return 0;};LO=function(o,p){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=o.pfd.SetsockoptInt(1,8,p);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(o);$s=-1;return DM("setsockopt",r);}return;}if($f===undefined){$f={$blk:LO};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};LP=function(o,p){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=o.pfd.SetsockoptInt(1,7,p);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(o);$s=-1;return DM("setsockopt",r);}return;}if($f===undefined){$f={$blk:LP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};LQ=function(o,p){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=o.pfd.SetsockoptInt(1,9,LK(p));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(o);$s=-1;return DM("setsockopt",r);}return;}if($f===undefined){$f={$blk:LQ};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};LR=function(o,p){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=[q];q[0]=new B.Linger.ptr(0,0);if(p>=0){q[0].Onoff=1;q[0].Linger=((p>>0));}else{q[0].Onoff=0;q[0].Linger=0;}r=o.pfd.SetsockoptLinger(1,13,q[0]);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;G.KeepAlive(o);$s=-1;return DM("setsockopt",s);}return;}if($f===undefined){$f={$blk:LR};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};LY.ptr.prototype.Network=function(){var o;o=this;return"tcp";};LY.prototype.Network=function(){return this.$val.Network();};LY.ptr.prototype.String=function(){var o,p;o=this;if(o===OI.nil){return"<nil>";}p=GB(o.IP);if(!(o.Zone==="")){return HF(p+"%"+o.Zone,KC(o.Port));}return HF(p,KC(o.Port));};LY.prototype.String=function(){return this.$val.String();};LY.ptr.prototype.isWildcard=function(){var o;o=this;if(o===OI.nil||o.IP===FO.nil){return true;}return o.IP.IsUnspecified();};LY.prototype.isWildcard=function(){return this.$val.isWildcard();};LY.ptr.prototype.opAddr=function(){var o;o=this;if(o===OI.nil){return $ifaceNil;}return o;};LY.prototype.opAddr=function(){return this.$val.opAddr();};MA.ptr.prototype.SyscallConn=function(){var o,p;o=this;if(!o.conn.ok()){return[$ifaceNil,new B.Errno(22)];}p=LC(o.conn.fd);return[p[0],p[1]];};MA.prototype.SyscallConn=function(){return this.$val.SyscallConn();};MA.ptr.prototype.ReadFrom=function(o){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return[new $Int64(0,0),new B.Errno(22)];}r=p.readFrom(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))&&!($interfaceIsEqual(t,M.EOF))){t=new IT.ptr("readfrom",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,t);}$s=-1;return[s,t];}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.ReadFrom};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.ReadFrom=function(o){return this.$val.ReadFrom(o);};MA.ptr.prototype.CloseRead=function(){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(!o.conn.ok()){$s=-1;return new B.Errno(22);}p=o.conn.fd.closeRead();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return new IT.ptr("close",o.conn.fd.net,o.conn.fd.laddr,o.conn.fd.raddr,q);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.CloseRead};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.CloseRead=function(){return this.$val.CloseRead();};MA.ptr.prototype.CloseWrite=function(){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(!o.conn.ok()){$s=-1;return new B.Errno(22);}p=o.conn.fd.closeWrite();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return new IT.ptr("close",o.conn.fd.net,o.conn.fd.laddr,o.conn.fd.raddr,q);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.CloseWrite};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.CloseWrite=function(){return this.$val.CloseWrite();};MA.ptr.prototype.SetLinger=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return new B.Errno(22);}q=LR(p.conn.fd,o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return new IT.ptr("set",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,r);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.SetLinger};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.SetLinger=function(o){return this.$val.SetLinger(o);};MA.ptr.prototype.SetKeepAlive=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return new B.Errno(22);}q=LQ(p.conn.fd,o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return new IT.ptr("set",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,r);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.SetKeepAlive};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.SetKeepAlive=function(o){return this.$val.SetKeepAlive(o);};MA.ptr.prototype.SetKeepAlivePeriod=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return new B.Errno(22);}q=MM(p.conn.fd,o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return new IT.ptr("set",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,r);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.SetKeepAlivePeriod};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.SetKeepAlivePeriod=function(o){return this.$val.SetKeepAlivePeriod(o);};MA.ptr.prototype.SetNoDelay=function(o){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return new B.Errno(22);}q=ML(p.conn.fd,o);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return new IT.ptr("set",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,r);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.SetNoDelay};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.SetNoDelay=function(o){return this.$val.SetNoDelay(o);};MB=function(o){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=new MA.ptr(new IK.ptr(o));q=ML(p.conn.fd,true);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;$s=-1;return p;}return;}if($f===undefined){$f={$blk:MB};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};MF=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=o;if($assertType(p,PO,true)[1]){$s=1;continue;}if($assertType(p,PP,true)[1]){$s=2;continue;}$s=3;continue;case 1:q=p.$val;$s=-1;return new LY.ptr((s=$subslice(new NY(q.Addr),0),$subslice(new FO(s.$array),s.$offset,s.$offset+s.$length)),q.Port,"");case 2:r=p.$val;u=FE.name(((r.ZoneId>>0)));$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return new LY.ptr((t=$subslice(new NY(r.Addr),0),$subslice(new FO(t.$array),t.$offset,t.$offset+t.$length)),r.Port,u);case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MF};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};LY.ptr.prototype.family=function(){var o;o=this;if(o===OI.nil||o.IP.$length<=4){return 2;}if(!(o.IP.To4()===FO.nil)){return 2;}return 10;};LY.prototype.family=function(){return this.$val.family();};LY.ptr.prototype.sockaddr=function(o){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(p===OI.nil){$s=-1;return[$ifaceNil,$ifaceNil];}q=HJ(o,p.IP,p.Port,p.Zone);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=-1;return q;}return;}if($f===undefined){$f={$blk:LY.ptr.prototype.sockaddr};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};LY.prototype.sockaddr=function(o){return this.$val.sockaddr(o);};LY.ptr.prototype.toLocal=function(o){var o,p;p=this;return new LY.ptr(HG(o),p.Port,p.Zone);};LY.prototype.toLocal=function(o){return this.$val.toLocal(o);};MA.ptr.prototype.readFrom=function(o){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;r=LD(p.conn.fd,o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];if(u){$s=-1;return[s,t];}v=JH(p,o);$s=2;case 2:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$s=-1;return v;}return;}if($f===undefined){$f={$blk:MA.ptr.prototype.readFrom};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};MA.prototype.readFrom=function(o){return this.$val.readFrom(o);};MG=function(o,p,q,r){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(EB===$throwNilPointerError)){$s=1;continue;}$s=2;continue;case 1:s=EB(o,p,q,r);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$s=-1;return s;case 2:t=MH(o,p,q,r);$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$s=-1;return t;}return;}if($f===undefined){$f={$blk:MG};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};MH=function(o,p,q,r){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:t=HI(o,p,q,r,1,0,"dial");$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];w=0;case 2:if(!(w<2&&(q===OI.nil||(q.Port===0))&&(MI(u,v)||MJ(v)))){$s=3;continue;}if($interfaceIsEqual(v,$ifaceNil)){$s=4;continue;}$s=5;continue;case 4:x=u.Close();$s=6;case 6:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;case 5:z=HI(o,p,q,r,1,0,"dial");$s=7;case 7:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;u=y[0];v=y[1];w=w+(1)>>0;$s=2;continue;case 3:if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[OL.nil,v];}aa=MB(u);$s=8;case 8:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}$s=-1;return[aa,$ifaceNil];}return;}if($f===undefined){$f={$blk:MH};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};MI=function(o,p){var o,p,q,r;if(!($interfaceIsEqual(p,$ifaceNil))){return false;}if($interfaceIsEqual(o.laddr,$ifaceNil)||$interfaceIsEqual(o.raddr,$ifaceNil)){return true;}q=$assertType(o.laddr,OI);r=$assertType(o.raddr,OI);return(q.Port===r.Port)&&q.IP.Equal(r.IP);};MJ=function(o){var o,p,q,r,s,t,u;p=$assertType(o,OU,true);q=p[0];r=p[1];if(r){o=q.Err;}s=$assertType(o,QQ,true);t=s[0];u=s[1];if(u){o=t.Err;}return $interfaceIsEqual(o,new B.Errno(99));};ML=function(o,p){var o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=o.pfd.SetsockoptInt(6,1,LK(p));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;G.KeepAlive(o);$s=-1;return DM("setsockopt",r);}return;}if($f===undefined){$f={$blk:ML};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};MM=function(o,p){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=(q=new K.Duration(0,999999999),new K.Duration(p.$high+q.$high,p.$low+q.$low));r=((p.Seconds()>>0));s=o.pfd.SetsockoptInt(6,5,r);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return DM("setsockopt",t);}u=o.pfd.SetsockoptInt(6,4,r);$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;G.KeepAlive(o);$s=-1;return DM("setsockopt",v);}return;}if($f===undefined){$f={$blk:MM};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};MN.ptr.prototype.Network=function(){var o;o=this;return"udp";};MN.prototype.Network=function(){return this.$val.Network();};MN.ptr.prototype.String=function(){var o,p;o=this;if(o===OF.nil){return"<nil>";}p=GB(o.IP);if(!(o.Zone==="")){return HF(p+"%"+o.Zone,KC(o.Port));}return HF(p,KC(o.Port));};MN.prototype.String=function(){return this.$val.String();};MN.ptr.prototype.isWildcard=function(){var o;o=this;if(o===OF.nil||o.IP===FO.nil){return true;}return o.IP.IsUnspecified();};MN.prototype.isWildcard=function(){return this.$val.isWildcard();};MN.ptr.prototype.opAddr=function(){var o;o=this;if(o===OF.nil){return $ifaceNil;}return o;};MN.prototype.opAddr=function(){return this.$val.opAddr();};MP.ptr.prototype.SyscallConn=function(){var o,p;o=this;if(!o.conn.ok()){return[$ifaceNil,new B.Errno(22)];}p=LC(o.conn.fd);return[p[0],p[1]];};MP.prototype.SyscallConn=function(){return this.$val.SyscallConn();};MP.ptr.prototype.ReadFromUDP=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return[0,OF.nil,new B.Errno(22)];}r=p.readFrom(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,u);}$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.ReadFromUDP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.ReadFromUDP=function(o){return this.$val.ReadFromUDP(o);};MP.ptr.prototype.ReadFrom=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return[0,$ifaceNil,new B.Errno(22)];}r=p.readFrom(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,u);}if(t===OF.nil){$s=-1;return[s,$ifaceNil,u];}$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.ReadFrom};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.ReadFrom=function(o){return this.$val.ReadFrom(o);};MP.ptr.prototype.ReadMsgUDP=function(o,p){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=0;s=0;t=OF.nil;u=$ifaceNil;v=this;if(!v.conn.ok()){w=0;x=0;y=0;z=OF.nil;aa=new B.Errno(22);q=w;r=x;s=y;t=z;u=aa;$s=-1;return[q,r,s,t,u];}ac=v.readMsg(o,p);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;q=ab[0];r=ab[1];s=ab[2];t=ab[3];u=ab[4];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",v.conn.fd.net,v.conn.fd.laddr,v.conn.fd.raddr,u);}$s=-1;return[q,r,s,t,u];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.ReadMsgUDP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.ReadMsgUDP=function(o,p){return this.$val.ReadMsgUDP(o,p);};MP.ptr.prototype.WriteToUDP=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!q.conn.ok()){$s=-1;return[0,new B.Errno(22)];}s=q.writeTo(o,p);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,p.opAddr(),u);}$s=-1;return[t,u];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.WriteToUDP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.WriteToUDP=function(o,p){return this.$val.WriteToUDP(o,p);};MP.ptr.prototype.WriteTo=function(o,p){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!q.conn.ok()){$s=-1;return[0,new B.Errno(22)];}r=$assertType(p,OF,true);s=r[0];t=r[1];if(!t){$s=-1;return[0,new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,p,new B.Errno(22))];}v=q.writeTo(o,s);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];if(!($interfaceIsEqual(x,$ifaceNil))){x=new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,s.opAddr(),x);}$s=-1;return[w,x];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.WriteTo};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.WriteTo=function(o,p){return this.$val.WriteTo(o,p);};MP.ptr.prototype.WriteMsgUDP=function(o,p,q){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=$ifaceNil;u=this;if(!u.conn.ok()){v=0;w=0;x=new B.Errno(22);r=v;s=w;t=x;$s=-1;return[r,s,t];}z=u.writeMsg(o,p,q);$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;r=y[0];s=y[1];t=y[2];if(!($interfaceIsEqual(t,$ifaceNil))){t=new IT.ptr("write",u.conn.fd.net,u.conn.fd.laddr,q.opAddr(),t);}$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.WriteMsgUDP};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.WriteMsgUDP=function(o,p,q){return this.$val.WriteMsgUDP(o,p,q);};MQ=function(o){var o;return new MP.ptr(new IK.ptr(o));};MR=function(o,p,q){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=o;if(r===("udp")||r===("udp4")||r===("udp6")){}else{$s=-1;return[QX.nil,new IT.ptr("dial",o,p.opAddr(),q.opAddr(),new JB((o)))];}if(q===OF.nil){$s=-1;return[QX.nil,new IT.ptr("dial",o,p.opAddr(),$ifaceNil,IQ)];}t=MV(E.Background(),o,p,q);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[QX.nil,new IT.ptr("dial",o,p.opAddr(),q.opAddr(),v)];}$s=-1;return[u,$ifaceNil];}return;}if($f===undefined){$f={$blk:MR};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DialUDP=MR;MU=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=o;if($assertType(p,PO,true)[1]){$s=1;continue;}if($assertType(p,PP,true)[1]){$s=2;continue;}$s=3;continue;case 1:q=p.$val;$s=-1;return new MN.ptr((s=$subslice(new NY(q.Addr),0),$subslice(new FO(s.$array),s.$offset,s.$offset+s.$length)),q.Port,"");case 2:r=p.$val;u=FE.name(((r.ZoneId>>0)));$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return new MN.ptr((t=$subslice(new NY(r.Addr),0),$subslice(new FO(t.$array),t.$offset,t.$offset+t.$length)),r.Port,u);case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:MU};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};MN.ptr.prototype.family=function(){var o;o=this;if(o===OF.nil||o.IP.$length<=4){return 2;}if(!(o.IP.To4()===FO.nil)){return 2;}return 10;};MN.prototype.family=function(){return this.$val.family();};MN.ptr.prototype.sockaddr=function(o){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(p===OF.nil){$s=-1;return[$ifaceNil,$ifaceNil];}q=HJ(o,p.IP,p.Port,p.Zone);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=-1;return q;}return;}if($f===undefined){$f={$blk:MN.ptr.prototype.sockaddr};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};MN.prototype.sockaddr=function(o){return this.$val.sockaddr(o);};MN.ptr.prototype.toLocal=function(o){var o,p;p=this;return new MN.ptr(HG(o),p.Port,p.Zone);};MN.prototype.toLocal=function(o){return this.$val.toLocal(o);};MP.ptr.prototype.readFrom=function(o){var aa,ab,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;q=OF.nil;s=p.conn.fd.readFrom(o);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=u;if($assertType(w,PO,true)[1]){$s=2;continue;}if($assertType(w,PP,true)[1]){$s=3;continue;}$s=4;continue;case 2:x=w.$val;q=new MN.ptr((z=$subslice(new NY(x.Addr),0),$subslice(new FO(z.$array),z.$offset,z.$offset+z.$length)),x.Port,"");$s=4;continue;case 3:y=w.$val;ab=FE.name(((y.ZoneId>>0)));$s=5;case 5:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}q=new MN.ptr((aa=$subslice(new NY(y.Addr),0),$subslice(new FO(aa.$array),aa.$offset,aa.$offset+aa.$length)),y.Port,ab);case 4:$s=-1;return[t,q,v];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.readFrom};}$f.aa=aa;$f.ab=ab;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.readFrom=function(o){return this.$val.readFrom(o);};MP.ptr.prototype.readMsg=function(o,p){var aa,ab,ac,ad,ae,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=0;s=0;t=OF.nil;u=$ifaceNil;v=this;w=$ifaceNil;y=v.conn.fd.readMsg(o,p);$s=1;case 1:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;q=x[0];r=x[1];s=x[2];w=x[3];u=x[4];z=w;if($assertType(z,PO,true)[1]){$s=2;continue;}if($assertType(z,PP,true)[1]){$s=3;continue;}$s=4;continue;case 2:aa=z.$val;t=new MN.ptr((ac=$subslice(new NY(aa.Addr),0),$subslice(new FO(ac.$array),ac.$offset,ac.$offset+ac.$length)),aa.Port,"");$s=4;continue;case 3:ab=z.$val;ae=FE.name(((ab.ZoneId>>0)));$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}t=new MN.ptr((ad=$subslice(new NY(ab.Addr),0),$subslice(new FO(ad.$array),ad.$offset,ad.$offset+ad.$length)),ab.Port,ae);case 4:$s=-1;return[q,r,s,t,u];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.readMsg};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.readMsg=function(o,p){return this.$val.readMsg(o,p);};MP.ptr.prototype.writeTo=function(o,p){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(q.conn.fd.isConnected){$s=-1;return[0,$pkg.ErrWriteToConnected];}if(p===OF.nil){$s=-1;return[0,IQ];}s=p.sockaddr(q.conn.fd.family);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];if(!($interfaceIsEqual(u,$ifaceNil))){$s=-1;return[0,u];}v=q.conn.fd.writeTo(o,t);$s=2;case 2:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$s=-1;return v;}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.writeTo};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.writeTo=function(o,p){return this.$val.writeTo(o,p);};MP.ptr.prototype.writeMsg=function(o,p,q){var aa,ab,ac,ad,ae,af,ag,ah,ai,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=$ifaceNil;u=this;if(u.conn.fd.isConnected&&!(q===OF.nil)){v=0;w=0;x=$pkg.ErrWriteToConnected;r=v;s=w;t=x;$s=-1;return[r,s,t];}if(!u.conn.fd.isConnected&&q===OF.nil){y=0;z=0;aa=IQ;r=y;s=z;t=aa;$s=-1;return[r,s,t];}ac=q.sockaddr(u.conn.fd.family);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];t=ab[1];if(!($interfaceIsEqual(t,$ifaceNil))){ae=0;af=0;ag=t;r=ae;s=af;t=ag;$s=-1;return[r,s,t];}ai=u.conn.fd.writeMsg(o,p,ad);$s=2;case 2:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;r=ah[0];s=ah[1];t=ah[2];$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:MP.ptr.prototype.writeMsg};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};MP.prototype.writeMsg=function(o,p,q){return this.$val.writeMsg(o,p,q);};MV=function(o,p,q,r){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:t=HI(o,p,q,r,2,0,"dial");$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[QX.nil,v];}$s=-1;return[MQ(u),$ifaceNil];}return;}if($f===undefined){$f={$blk:MV};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};NA.ptr.prototype.Network=function(){var o;o=this;return o.Net;};NA.prototype.Network=function(){return this.$val.Network();};NA.ptr.prototype.String=function(){var o;o=this;if(o===ON.nil){return"<nil>";}return o.Name;};NA.prototype.String=function(){return this.$val.String();};NA.ptr.prototype.isWildcard=function(){var o;o=this;return o===ON.nil||o.Name==="";};NA.prototype.isWildcard=function(){return this.$val.isWildcard();};NA.ptr.prototype.opAddr=function(){var o;o=this;if(o===ON.nil){return $ifaceNil;}return o;};NA.prototype.opAddr=function(){return this.$val.opAddr();};NB=function(o,p){var o,p,q;q=o;if(q===("unix")||q===("unixgram")||q===("unixpacket")){return[new NA.ptr(p,o),$ifaceNil];}else{return[ON.nil,new JB((o))];}};$pkg.ResolveUnixAddr=NB;NC.ptr.prototype.SyscallConn=function(){var o,p;o=this;if(!o.conn.ok()){return[$ifaceNil,new B.Errno(22)];}p=LC(o.conn.fd);return[p[0],p[1]];};NC.prototype.SyscallConn=function(){return this.$val.SyscallConn();};NC.ptr.prototype.CloseRead=function(){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(!o.conn.ok()){$s=-1;return new B.Errno(22);}p=o.conn.fd.closeRead();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return new IT.ptr("close",o.conn.fd.net,o.conn.fd.laddr,o.conn.fd.raddr,q);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.CloseRead};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.CloseRead=function(){return this.$val.CloseRead();};NC.ptr.prototype.CloseWrite=function(){var o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;if(!o.conn.ok()){$s=-1;return new B.Errno(22);}p=o.conn.fd.closeWrite();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return new IT.ptr("close",o.conn.fd.net,o.conn.fd.laddr,o.conn.fd.raddr,q);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.CloseWrite};}$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.CloseWrite=function(){return this.$val.CloseWrite();};NC.ptr.prototype.ReadFromUnix=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return[0,ON.nil,new B.Errno(22)];}r=p.readFrom(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,u);}$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.ReadFromUnix};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.ReadFromUnix=function(o){return this.$val.ReadFromUnix(o);};NC.ptr.prototype.ReadFrom=function(o){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.conn.ok()){$s=-1;return[0,$ifaceNil,new B.Errno(22)];}r=p.readFrom(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",p.conn.fd.net,p.conn.fd.laddr,p.conn.fd.raddr,u);}if(t===ON.nil){$s=-1;return[s,$ifaceNil,u];}$s=-1;return[s,t,u];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.ReadFrom};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.ReadFrom=function(o){return this.$val.ReadFrom(o);};NC.ptr.prototype.ReadMsgUnix=function(o,p){var aa,ab,ac,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=0;s=0;t=ON.nil;u=$ifaceNil;v=this;if(!v.conn.ok()){w=0;x=0;y=0;z=ON.nil;aa=new B.Errno(22);q=w;r=x;s=y;t=z;u=aa;$s=-1;return[q,r,s,t,u];}ac=v.readMsg(o,p);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;q=ab[0];r=ab[1];s=ab[2];t=ab[3];u=ab[4];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("read",v.conn.fd.net,v.conn.fd.laddr,v.conn.fd.raddr,u);}$s=-1;return[q,r,s,t,u];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.ReadMsgUnix};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.ReadMsgUnix=function(o,p){return this.$val.ReadMsgUnix(o,p);};NC.ptr.prototype.WriteToUnix=function(o,p){var o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!q.conn.ok()){$s=-1;return[0,new B.Errno(22)];}s=q.writeTo(o,p);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];if(!($interfaceIsEqual(u,$ifaceNil))){u=new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,p.opAddr(),u);}$s=-1;return[t,u];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.WriteToUnix};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.WriteToUnix=function(o,p){return this.$val.WriteToUnix(o,p);};NC.ptr.prototype.WriteTo=function(o,p){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(!q.conn.ok()){$s=-1;return[0,new B.Errno(22)];}r=$assertType(p,ON,true);s=r[0];t=r[1];if(!t){$s=-1;return[0,new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,p,new B.Errno(22))];}v=q.writeTo(o,s);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];if(!($interfaceIsEqual(x,$ifaceNil))){x=new IT.ptr("write",q.conn.fd.net,q.conn.fd.laddr,s.opAddr(),x);}$s=-1;return[w,x];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.WriteTo};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.WriteTo=function(o,p){return this.$val.WriteTo(o,p);};NC.ptr.prototype.WriteMsgUnix=function(o,p,q){var o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=$ifaceNil;u=this;if(!u.conn.ok()){v=0;w=0;x=new B.Errno(22);r=v;s=w;t=x;$s=-1;return[r,s,t];}z=u.writeMsg(o,p,q);$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;r=y[0];s=y[1];t=y[2];if(!($interfaceIsEqual(t,$ifaceNil))){t=new IT.ptr("write",u.conn.fd.net,u.conn.fd.laddr,q.opAddr(),t);}$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.WriteMsgUnix};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.WriteMsgUnix=function(o,p,q){return this.$val.WriteMsgUnix(o,p,q);};ND=function(o){var o;return new NC.ptr(new IK.ptr(o));};NI=function(o,p,q,r,s){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:t=0;u=p;if(u===("unix")){t=1;}else if(u===("unixgram")){t=2;}else if(u===("unixpacket")){t=5;}else{$s=-1;return[PK.nil,new JB((p))];}v=s;if(v===("dial")){$s=2;continue;}if(v===("listen")){$s=3;continue;}$s=4;continue;case 2:if(!(!($interfaceIsEqual(q,$ifaceNil)))){w=false;$s=8;continue s;}x=q.isWildcard();$s=9;case 9:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;case 8:if(w){$s=6;continue;}$s=7;continue;case 6:q=$ifaceNil;case 7:if(!(!($interfaceIsEqual(r,$ifaceNil)))){y=false;$s=12;continue s;}z=r.isWildcard();$s=13;case 13:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;case 12:if(y){$s=10;continue;}$s=11;continue;case 10:r=$ifaceNil;case 11:if($interfaceIsEqual(r,$ifaceNil)&&(!((t===2))||$interfaceIsEqual(q,$ifaceNil))){$s=-1;return[PK.nil,IQ];}$s=5;continue;case 3:$s=5;continue;case 4:$s=-1;return[PK.nil,A.New("unknown mode: "+s)];case 5:case 1:ab=LG(o,p,1,t,0,false,q,r);$s=14;case 14:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=-1;return[PK.nil,ad];}$s=-1;return[ac,$ifaceNil];}return;}if($f===undefined){$f={$blk:NI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};NJ=function(o){var o,p,q,r;p=$assertType(o,PQ,true);q=p[0];r=p[1];if(r){return new NA.ptr(q.Name,"unix");}return $ifaceNil;};NK=function(o){var o,p,q,r;p=$assertType(o,PQ,true);q=p[0];r=p[1];if(r){return new NA.ptr(q.Name,"unixgram");}return $ifaceNil;};NL=function(o){var o,p,q,r;p=$assertType(o,PQ,true);q=p[0];r=p[1];if(r){return new NA.ptr(q.Name,"unixpacket");}return $ifaceNil;};NM=function(o){var o,p;p=o;if(p===(1)){return"unix";}else if(p===(2)){return"unixgram";}else if(p===(5)){return"unixpacket";}else{$panic(new $String("sotypeToNet unknown socket type"));}};NA.ptr.prototype.family=function(){var o;o=this;return 1;};NA.prototype.family=function(){return this.$val.family();};NA.ptr.prototype.sockaddr=function(o){var o,p;p=this;if(p===ON.nil){return[$ifaceNil,$ifaceNil];}return[new B.SockaddrUnix.ptr(p.Name,new B.RawSockaddrUnix.ptr(0,RA.zero())),$ifaceNil];};NA.prototype.sockaddr=function(o){return this.$val.sockaddr(o);};NA.ptr.prototype.toLocal=function(o){var o,p;p=this;return p;};NA.prototype.toLocal=function(o){return this.$val.toLocal(o);};NC.ptr.prototype.readFrom=function(o){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;q=ON.nil;s=p.conn.fd.readFrom(o);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=u;if($assertType(w,PQ,true)[1]){x=w.$val;if(!(x.Name==="")){q=new NA.ptr(x.Name,NM(p.conn.fd.sotype));}}$s=-1;return[t,q,v];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.readFrom};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.readFrom=function(o){return this.$val.readFrom(o);};NC.ptr.prototype.readMsg=function(o,p){var aa,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=0;s=0;t=ON.nil;u=$ifaceNil;v=this;w=$ifaceNil;y=v.conn.fd.readMsg(o,p);$s=1;case 1:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;q=x[0];r=x[1];s=x[2];w=x[3];u=x[4];z=w;if($assertType(z,PQ,true)[1]){aa=z.$val;if(!(aa.Name==="")){t=new NA.ptr(aa.Name,NM(v.conn.fd.sotype));}}$s=-1;return[q,r,s,t,u];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.readMsg};}$f.aa=aa;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.readMsg=function(o,p){return this.$val.readMsg(o,p);};NC.ptr.prototype.writeTo=function(o,p){var o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=this;if(q.conn.fd.isConnected){$s=-1;return[0,$pkg.ErrWriteToConnected];}if(p===ON.nil){$s=-1;return[0,IQ];}if(!(p.Net===NM(q.conn.fd.sotype))){$s=-1;return[0,new B.Errno(97)];}r=new B.SockaddrUnix.ptr(p.Name,new B.RawSockaddrUnix.ptr(0,RA.zero()));s=q.conn.fd.writeTo(o,r);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$s=-1;return s;}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.writeTo};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.writeTo=function(o,p){return this.$val.writeTo(o,p);};NC.ptr.prototype.writeMsg=function(o,p,q){var aa,ab,ac,ad,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=$ifaceNil;u=this;if((u.conn.fd.sotype===2)&&u.conn.fd.isConnected){v=0;w=0;x=$pkg.ErrWriteToConnected;r=v;s=w;t=x;$s=-1;return[r,s,t];}y=$ifaceNil;if(!(q===ON.nil)){if(!(q.Net===NM(u.conn.fd.sotype))){z=0;aa=0;ab=new B.Errno(97);r=z;s=aa;t=ab;$s=-1;return[r,s,t];}y=new B.SockaddrUnix.ptr(q.Name,new B.RawSockaddrUnix.ptr(0,RA.zero()));}ad=u.conn.fd.writeMsg(o,p,y);$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;r=ac[0];s=ac[1];t=ac[2];$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:NC.ptr.prototype.writeMsg};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};NC.prototype.writeMsg=function(o,p,q){return this.$val.writeMsg(o,p,q);};NN=function(o,p,q,r){var o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:t=NI(o,p,q,r,"dial");$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[QY.nil,v];}$s=-1;return[ND(u),$ifaceNil];}return;}if($f===undefined){$f={$blk:NN};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};IK.ptr.prototype.writeBuffers=function(o){var o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!p.ok()){$s=-1;return[new $Int64(0,0),new B.Errno(22)];}r=p.fd.writeBuffers(o);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[s,new IT.ptr("writev",p.fd.net,p.fd.laddr,p.fd.raddr,t)];}$s=-1;return[s,$ifaceNil];}return;}if($f===undefined){$f={$blk:IK.ptr.prototype.writeBuffers};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};IK.prototype.writeBuffers=function(o){return this.$val.writeBuffers(o);};DN.ptr.prototype.writeBuffers=function(o){var o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=new $Int64(0,0);q=$ifaceNil;r=this;v=r.pfd.Writev(((t=o,new RC(function(){return(u=t.$get(),$subslice(new RB(u.$array),u.$offset,u.$offset+u.$length));},function($v){t.$set($subslice(new JM($v.$array),$v.$offset,$v.$offset+$v.$length));},t.$target))));$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}s=v;p=s[0];q=s[1];G.KeepAlive(r);w=p;x=DM("writev",q);p=w;q=x;$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.writeBuffers};}$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.writeBuffers=function(o){return this.$val.writeBuffers(o);};RD.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];AF.methods=[{prop:"Classify",name:"Classify",pkg:"",typ:$funcType([FO],[AE],false)}];AI.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];RE.methods=[{prop:"canUseCgo",name:"canUseCgo",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"hostLookupOrder",name:"hostLookupOrder",pkg:"net",typ:$funcType([$String],[CE],false)}];RF.methods=[{prop:"Dial",name:"Dial",pkg:"",typ:$funcType([$String,$String],[IJ,$error],false)},{prop:"deadline",name:"deadline",pkg:"net",typ:$funcType([E.Context,K.Time],[K.Time],false)},{prop:"resolver",name:"resolver",pkg:"net",typ:$funcType([],[OH],false)},{prop:"fallbackDelay",name:"fallbackDelay",pkg:"net",typ:$funcType([],[K.Duration],false)},{prop:"DialContext",name:"DialContext",pkg:"",typ:$funcType([E.Context,$String,$String],[IJ,$error],false)}];BT.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"shuffleByWeight",name:"shuffleByWeight",pkg:"net",typ:$funcType([],[],false)},{prop:"sort",name:"sort",pkg:"net",typ:$funcType([],[],false)}];BV.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"sort",name:"sort",pkg:"net",typ:$funcType([],[],false)}];RH.methods=[{prop:"dnsRoundTrip",name:"dnsRoundTrip",pkg:"net",typ:$funcType([OR],[OR,$error],false)}];RI.methods=[{prop:"dnsRoundTrip",name:"dnsRoundTrip",pkg:"net",typ:$funcType([OR],[OR,$error],false)}];RJ.methods=[{prop:"init",name:"init",pkg:"net",typ:$funcType([],[],false)},{prop:"tryUpdate",name:"tryUpdate",pkg:"net",typ:$funcType([$String],[],false)},{prop:"tryAcquireSema",name:"tryAcquireSema",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"releaseSema",name:"releaseSema",pkg:"net",typ:$funcType([],[],false)}];CE.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];NR.methods=[{prop:"nameList",name:"nameList",pkg:"net",typ:$funcType([$String],[NT],false)},{prop:"serverOffset",name:"serverOffset",pkg:"net",typ:$funcType([],[$Uint32],false)}];RM.methods=[{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];RN.methods=[{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];OP.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];OQ.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];QK.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];QN.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];OY.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];RO.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];QO.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];QH.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];OV.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];OW.methods=[{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];RP.methods=[{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}];OR.methods=[{prop:"Pack",name:"Pack",pkg:"",typ:$funcType([],[NY,$Bool],false)},{prop:"Unpack",name:"Unpack",pkg:"",typ:$funcType([NY],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsResponseTo",name:"IsResponseTo",pkg:"",typ:$funcType([OR],[$Bool],false)}];PK.methods=[{prop:"init",name:"init",pkg:"net",typ:$funcType([],[$error],false)},{prop:"setAddr",name:"setAddr",pkg:"net",typ:$funcType([II,II],[],false)},{prop:"name",name:"name",pkg:"net",typ:$funcType([],[$String],false)},{prop:"connect",name:"connect",pkg:"net",typ:$funcType([E.Context,B.Sockaddr,B.Sockaddr],[B.Sockaddr,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"shutdown",name:"shutdown",pkg:"net",typ:$funcType([$Int],[$error],false)},{prop:"closeRead",name:"closeRead",pkg:"net",typ:$funcType([],[$error],false)},{prop:"closeWrite",name:"closeWrite",pkg:"net",typ:$funcType([],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([NY],[$Int,$error],false)},{prop:"readFrom",name:"readFrom",pkg:"net",typ:$funcType([NY],[$Int,B.Sockaddr,$error],false)},{prop:"readMsg",name:"readMsg",pkg:"net",typ:$funcType([NY,NY],[$Int,$Int,$Int,B.Sockaddr,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([NY],[$Int,$error],false)},{prop:"writeTo",name:"writeTo",pkg:"net",typ:$funcType([NY,B.Sockaddr],[$Int,$error],false)},{prop:"writeMsg",name:"writeMsg",pkg:"net",typ:$funcType([NY,NY,B.Sockaddr],[$Int,$Int,$error],false)},{prop:"accept",name:"accept",pkg:"net",typ:$funcType([],[PK,$error],false)},{prop:"dup",name:"dup",pkg:"net",typ:$funcType([],[PN,$error],false)},{prop:"addrFunc",name:"addrFunc",pkg:"net",typ:$funcType([],[RQ],false)},{prop:"dial",name:"dial",pkg:"net",typ:$funcType([E.Context,LF,LF],[$error],false)},{prop:"listenStream",name:"listenStream",pkg:"net",typ:$funcType([LF,$Int],[$error],false)},{prop:"listenDatagram",name:"listenDatagram",pkg:"net",typ:$funcType([LF],[$error],false)},{prop:"writeBuffers",name:"writeBuffers",pkg:"net",typ:$funcType([OA],[$Int64,$error],false)}];PS.methods=[{prop:"Addrs",name:"Addrs",pkg:"",typ:$funcType([],[PT,$error],false)},{prop:"MulticastAddrs",name:"MulticastAddrs",pkg:"",typ:$funcType([],[PT,$error],false)}];EW.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];RR.methods=[{prop:"update",name:"update",pkg:"net",typ:$funcType([PU],[],false)},{prop:"name",name:"name",pkg:"net",typ:$funcType([$Int],[$String],false)},{prop:"index",name:"index",pkg:"net",typ:$funcType([$String],[$Int],false)}];FO.methods=[{prop:"IsUnspecified",name:"IsUnspecified",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsLoopback",name:"IsLoopback",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsMulticast",name:"IsMulticast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsInterfaceLocalMulticast",name:"IsInterfaceLocalMulticast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsLinkLocalMulticast",name:"IsLinkLocalMulticast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsLinkLocalUnicast",name:"IsLinkLocalUnicast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsGlobalUnicast",name:"IsGlobalUnicast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"To4",name:"To4",pkg:"",typ:$funcType([],[FO],false)},{prop:"To16",name:"To16",pkg:"",typ:$funcType([],[FO],false)},{prop:"DefaultMask",name:"DefaultMask",pkg:"",typ:$funcType([],[FP],false)},{prop:"Mask",name:"Mask",pkg:"",typ:$funcType([FP],[FO],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[NY,$error],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([FO],[$Bool],false)},{prop:"matchAddrFamily",name:"matchAddrFamily",pkg:"net",typ:$funcType([FO],[$Bool],false)}];RU.methods=[{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([NY],[$error],false)}];FP.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];OB.methods=[{prop:"Contains",name:"Contains",pkg:"",typ:$funcType([FO],[$Bool],false)},{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];OJ.methods=[{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"isWildcard",name:"isWildcard",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"opAddr",name:"opAddr",pkg:"net",typ:$funcType([],[II],false)},{prop:"family",name:"family",pkg:"net",typ:$funcType([],[$Int],false)},{prop:"sockaddr",name:"sockaddr",pkg:"net",typ:$funcType([$Int],[B.Sockaddr,$error],false)},{prop:"toLocal",name:"toLocal",pkg:"net",typ:$funcType([$String],[LF],false)}];PY.methods=[{prop:"SyscallConn",name:"SyscallConn",pkg:"",typ:$funcType([],[B.RawConn,$error],false)},{prop:"ReadFromIP",name:"ReadFromIP",pkg:"",typ:$funcType([NY],[$Int,OJ,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([NY],[$Int,II,$error],false)},{prop:"ReadMsgIP",name:"ReadMsgIP",pkg:"",typ:$funcType([NY,NY],[$Int,$Int,$Int,OJ,$error],false)},{prop:"WriteToIP",name:"WriteToIP",pkg:"",typ:$funcType([NY,OJ],[$Int,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([NY,II],[$Int,$error],false)},{prop:"WriteMsgIP",name:"WriteMsgIP",pkg:"",typ:$funcType([NY,NY,OJ],[$Int,$Int,$error],false)},{prop:"readFrom",name:"readFrom",pkg:"net",typ:$funcType([NY],[$Int,OJ,$error],false)},{prop:"readMsg",name:"readMsg",pkg:"net",typ:$funcType([NY,NY],[$Int,$Int,$Int,OJ,$error],false)},{prop:"writeTo",name:"writeTo",pkg:"net",typ:$funcType([NY,OJ],[$Int,$error],false)},{prop:"writeMsg",name:"writeMsg",pkg:"net",typ:$funcType([NY,NY,OJ],[$Int,$Int,$error],false)}];RV.methods=[{prop:"probe",name:"probe",pkg:"net",typ:$funcType([],[],false)}];GX.methods=[{prop:"forResolve",name:"forResolve",pkg:"net",typ:$funcType([$String,$String],[II],false)},{prop:"first",name:"first",pkg:"net",typ:$funcType([RW],[II],false)},{prop:"partition",name:"partition",pkg:"net",typ:$funcType([RW],[GX,GX],false)}];OH.methods=[{prop:"resolveAddrList",name:"resolveAddrList",pkg:"net",typ:$funcType([E.Context,$String,$String,$String,II],[GX,$error],false)},{prop:"exchange",name:"exchange",pkg:"net",typ:$funcType([E.Context,$String,$String,$Uint16,K.Duration],[OR,$error],false)},{prop:"tryOneName",name:"tryOneName",pkg:"net",typ:$funcType([E.Context,NR,$String,$Uint16],[$String,OO,$error],false)},{prop:"lookup",name:"lookup",pkg:"net",typ:$funcType([E.Context,$String,$Uint16],[$String,OO,$error],false)},{prop:"goLookupHost",name:"goLookupHost",pkg:"net",typ:$funcType([E.Context,$String],[NT,$error],false)},{prop:"goLookupHostOrder",name:"goLookupHostOrder",pkg:"net",typ:$funcType([E.Context,$String,CE],[NT,$error],false)},{prop:"goLookupIP",name:"goLookupIP",pkg:"net",typ:$funcType([E.Context,$String],[OD,$error],false)},{prop:"goLookupIPCNAMEOrder",name:"goLookupIPCNAMEOrder",pkg:"net",typ:$funcType([E.Context,$String,CE],[OD,$String,$error],false)},{prop:"goLookupCNAME",name:"goLookupCNAME",pkg:"net",typ:$funcType([E.Context,$String],[$String,$error],false)},{prop:"goLookupPTR",name:"goLookupPTR",pkg:"net",typ:$funcType([E.Context,$String],[NT,$error],false)},{prop:"internetAddrList",name:"internetAddrList",pkg:"net",typ:$funcType([E.Context,$String,$String],[GX,$error],false)},{prop:"LookupHost",name:"LookupHost",pkg:"",typ:$funcType([E.Context,$String],[NT,$error],false)},{prop:"LookupIPAddr",name:"LookupIPAddr",pkg:"",typ:$funcType([E.Context,$String],[OD,$error],false)},{prop:"LookupPort",name:"LookupPort",pkg:"",typ:$funcType([E.Context,$String,$String],[$Int,$error],false)},{prop:"LookupCNAME",name:"LookupCNAME",pkg:"",typ:$funcType([E.Context,$String],[$String,$error],false)},{prop:"LookupSRV",name:"LookupSRV",pkg:"",typ:$funcType([E.Context,$String,$String,$String],[$String,QG,$error],false)},{prop:"LookupMX",name:"LookupMX",pkg:"",typ:$funcType([E.Context,$String],[QJ,$error],false)},{prop:"LookupNS",name:"LookupNS",pkg:"",typ:$funcType([E.Context,$String],[QM,$error],false)},{prop:"LookupTXT",name:"LookupTXT",pkg:"",typ:$funcType([E.Context,$String],[NT,$error],false)},{prop:"LookupAddr",name:"LookupAddr",pkg:"",typ:$funcType([E.Context,$String],[NT,$error],false)},{prop:"dial",name:"dial",pkg:"net",typ:$funcType([E.Context,$String,$String],[BX,$error],false)},{prop:"lookupHost",name:"lookupHost",pkg:"net",typ:$funcType([E.Context,$String],[NT,$error],false)},{prop:"lookupIP",name:"lookupIP",pkg:"net",typ:$funcType([E.Context,$String],[OD,$error],false)},{prop:"lookupPort",name:"lookupPort",pkg:"net",typ:$funcType([E.Context,$String,$String],[$Int,$error],false)},{prop:"lookupCNAME",name:"lookupCNAME",pkg:"net",typ:$funcType([E.Context,$String],[$String,$error],false)},{prop:"lookupSRV",name:"lookupSRV",pkg:"net",typ:$funcType([E.Context,$String,$String,$String],[$String,QG,$error],false)},{prop:"lookupMX",name:"lookupMX",pkg:"net",typ:$funcType([E.Context,$String],[QJ,$error],false)},{prop:"lookupNS",name:"lookupNS",pkg:"net",typ:$funcType([E.Context,$String],[QM,$error],false)},{prop:"lookupTXT",name:"lookupTXT",pkg:"net",typ:$funcType([E.Context,$String],[NT,$error],false)},{prop:"lookupAddr",name:"lookupAddr",pkg:"net",typ:$funcType([E.Context,$String],[NT,$error],false)}];IE.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];QP.methods=[{prop:"ok",name:"ok",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([NY],[$Int,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([NY],[$Int,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[II],false)},{prop:"RemoteAddr",name:"RemoteAddr",pkg:"",typ:$funcType([],[II],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"SetReadBuffer",name:"SetReadBuffer",pkg:"",typ:$funcType([$Int],[$error],false)},{prop:"SetWriteBuffer",name:"SetWriteBuffer",pkg:"",typ:$funcType([$Int],[$error],false)},{prop:"File",name:"File",pkg:"",typ:$funcType([],[PN,$error],false)},{prop:"writeBuffers",name:"writeBuffers",pkg:"net",typ:$funcType([OA],[$Int64,$error],false)}];OU.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];RY.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];QR.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];JB.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];OT.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];OA.methods=[{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([M.Writer],[$Int64,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([NY],[$Int,$error],false)},{prop:"consume",name:"consume",pkg:"net",typ:$funcType([$Int64],[],false)}];JO.methods=[{prop:"standardCriteria",name:"standardCriteria",pkg:"net",typ:$funcType([],[$Bool],false)}];JP.methods=[{prop:"standardStatusAction",name:"standardStatusAction",pkg:"net",typ:$funcType([$Bool],[$Bool],false)}];PR.methods=[{prop:"close",name:"close",pkg:"net",typ:$funcType([],[],false)},{prop:"getLineFromData",name:"getLineFromData",pkg:"net",typ:$funcType([],[$String,$Bool],false)},{prop:"readLine",name:"readLine",pkg:"net",typ:$funcType([],[$String,$Bool],false)}];QU.methods=[{prop:"ok",name:"ok",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"Control",name:"Control",pkg:"",typ:$funcType([SE],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([SF],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([SF],[$error],false)}];OI.methods=[{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"isWildcard",name:"isWildcard",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"opAddr",name:"opAddr",pkg:"net",typ:$funcType([],[II],false)},{prop:"family",name:"family",pkg:"net",typ:$funcType([],[$Int],false)},{prop:"sockaddr",name:"sockaddr",pkg:"net",typ:$funcType([$Int],[B.Sockaddr,$error],false)},{prop:"toLocal",name:"toLocal",pkg:"net",typ:$funcType([$String],[LF],false)}];OL.methods=[{prop:"SyscallConn",name:"SyscallConn",pkg:"",typ:$funcType([],[B.RawConn,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([M.Reader],[$Int64,$error],false)},{prop:"CloseRead",name:"CloseRead",pkg:"",typ:$funcType([],[$error],false)},{prop:"CloseWrite",name:"CloseWrite",pkg:"",typ:$funcType([],[$error],false)},{prop:"SetLinger",name:"SetLinger",pkg:"",typ:$funcType([$Int],[$error],false)},{prop:"SetKeepAlive",name:"SetKeepAlive",pkg:"",typ:$funcType([$Bool],[$error],false)},{prop:"SetKeepAlivePeriod",name:"SetKeepAlivePeriod",pkg:"",typ:$funcType([K.Duration],[$error],false)},{prop:"SetNoDelay",name:"SetNoDelay",pkg:"",typ:$funcType([$Bool],[$error],false)},{prop:"readFrom",name:"readFrom",pkg:"net",typ:$funcType([M.Reader],[$Int64,$error],false)}];OF.methods=[{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"isWildcard",name:"isWildcard",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"opAddr",name:"opAddr",pkg:"net",typ:$funcType([],[II],false)},{prop:"family",name:"family",pkg:"net",typ:$funcType([],[$Int],false)},{prop:"sockaddr",name:"sockaddr",pkg:"net",typ:$funcType([$Int],[B.Sockaddr,$error],false)},{prop:"toLocal",name:"toLocal",pkg:"net",typ:$funcType([$String],[LF],false)}];QX.methods=[{prop:"SyscallConn",name:"SyscallConn",pkg:"",typ:$funcType([],[B.RawConn,$error],false)},{prop:"ReadFromUDP",name:"ReadFromUDP",pkg:"",typ:$funcType([NY],[$Int,OF,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([NY],[$Int,II,$error],false)},{prop:"ReadMsgUDP",name:"ReadMsgUDP",pkg:"",typ:$funcType([NY,NY],[$Int,$Int,$Int,OF,$error],false)},{prop:"WriteToUDP",name:"WriteToUDP",pkg:"",typ:$funcType([NY,OF],[$Int,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([NY,II],[$Int,$error],false)},{prop:"WriteMsgUDP",name:"WriteMsgUDP",pkg:"",typ:$funcType([NY,NY,OF],[$Int,$Int,$error],false)},{prop:"readFrom",name:"readFrom",pkg:"net",typ:$funcType([NY],[$Int,OF,$error],false)},{prop:"readMsg",name:"readMsg",pkg:"net",typ:$funcType([NY,NY],[$Int,$Int,$Int,OF,$error],false)},{prop:"writeTo",name:"writeTo",pkg:"net",typ:$funcType([NY,OF],[$Int,$error],false)},{prop:"writeMsg",name:"writeMsg",pkg:"net",typ:$funcType([NY,NY,OF],[$Int,$Int,$error],false)}];ON.methods=[{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"isWildcard",name:"isWildcard",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"opAddr",name:"opAddr",pkg:"net",typ:$funcType([],[II],false)},{prop:"family",name:"family",pkg:"net",typ:$funcType([],[$Int],false)},{prop:"sockaddr",name:"sockaddr",pkg:"net",typ:$funcType([$Int],[B.Sockaddr,$error],false)},{prop:"toLocal",name:"toLocal",pkg:"net",typ:$funcType([$String],[LF],false)}];QY.methods=[{prop:"SyscallConn",name:"SyscallConn",pkg:"",typ:$funcType([],[B.RawConn,$error],false)},{prop:"CloseRead",name:"CloseRead",pkg:"",typ:$funcType([],[$error],false)},{prop:"CloseWrite",name:"CloseWrite",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadFromUnix",name:"ReadFromUnix",pkg:"",typ:$funcType([NY],[$Int,ON,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([NY],[$Int,II,$error],false)},{prop:"ReadMsgUnix",name:"ReadMsgUnix",pkg:"",typ:$funcType([NY,NY],[$Int,$Int,$Int,ON,$error],false)},{prop:"WriteToUnix",name:"WriteToUnix",pkg:"",typ:$funcType([NY,ON],[$Int,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([NY,II],[$Int,$error],false)},{prop:"WriteMsgUnix",name:"WriteMsgUnix",pkg:"",typ:$funcType([NY,NY,ON],[$Int,$Int,$error],false)},{prop:"readFrom",name:"readFrom",pkg:"net",typ:$funcType([NY],[$Int,ON,$error],false)},{prop:"readMsg",name:"readMsg",pkg:"net",typ:$funcType([NY,NY],[$Int,$Int,$Int,ON,$error],false)},{prop:"writeTo",name:"writeTo",pkg:"net",typ:$funcType([NY,ON],[$Int,$error],false)},{prop:"writeMsg",name:"writeMsg",pkg:"net",typ:$funcType([NY,NY,ON],[$Int,$Int,$error],false)}];AB.init("",[{prop:"Scope",name:"Scope",anonymous:false,exported:true,typ:AK,tag:""},{prop:"Precedence",name:"Precedence",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Label",name:"Label",anonymous:false,exported:true,typ:$Uint8,tag:""}]);AD.init("net",[{prop:"addrs",name:"addrs",anonymous:false,exported:false,typ:OD,tag:""},{prop:"addrAttr",name:"addrAttr",anonymous:false,exported:false,typ:OC,tag:""},{prop:"srcs",name:"srcs",anonymous:false,exported:false,typ:OE,tag:""},{prop:"srcAttr",name:"srcAttr",anonymous:false,exported:false,typ:OC,tag:""}]);AE.init("",[{prop:"Prefix",name:"Prefix",anonymous:false,exported:true,typ:OB,tag:""},{prop:"Precedence",name:"Precedence",anonymous:false,exported:true,typ:$Uint8,tag:""},{prop:"Label",name:"Label",anonymous:false,exported:true,typ:$Uint8,tag:""}]);AF.init(AE);AI.init(AE);AU.init("net",[{prop:"forceCgoLookupHost",name:"forceCgoLookupHost",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"netGo",name:"netGo",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"netCgo",name:"netCgo",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"hasMDNSAllow",name:"hasMDNSAllow",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"goos",name:"goos",anonymous:false,exported:false,typ:$String,tag:""},{prop:"dnsDebugLevel",name:"dnsDebugLevel",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"nss",name:"nss",anonymous:false,exported:false,typ:NW,tag:""},{prop:"resolv",name:"resolv",anonymous:false,exported:false,typ:NR,tag:""}]);BC.init("",[{prop:"Timeout",name:"Timeout",anonymous:false,exported:true,typ:K.Duration,tag:""},{prop:"Deadline",name:"Deadline",anonymous:false,exported:true,typ:K.Time,tag:""},{prop:"LocalAddr",name:"LocalAddr",anonymous:false,exported:true,typ:II,tag:""},{prop:"DualStack",name:"DualStack",anonymous:false,exported:true,typ:$Bool,tag:""},{prop:"FallbackDelay",name:"FallbackDelay",anonymous:false,exported:true,typ:K.Duration,tag:""},{prop:"KeepAlive",name:"KeepAlive",anonymous:false,exported:true,typ:K.Duration,tag:""},{prop:"Resolver",name:"Resolver",anonymous:false,exported:true,typ:OH,tag:""},{prop:"Cancel",name:"Cancel",anonymous:false,exported:true,typ:RG,tag:""}]);BI.init("net",[{prop:"Dialer",name:"Dialer",anonymous:true,exported:true,typ:BC,tag:""},{prop:"network",name:"network",anonymous:false,exported:false,typ:$String,tag:""},{prop:"address",name:"address",anonymous:false,exported:false,typ:$String,tag:""}]);BS.init("",[{prop:"Target",name:"Target",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Priority",name:"Priority",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Weight",name:"Weight",anonymous:false,exported:true,typ:$Uint16,tag:""}]);BT.init(QF);BU.init("",[{prop:"Host",name:"Host",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Pref",name:"Pref",anonymous:false,exported:true,typ:$Uint16,tag:""}]);BV.init(QI);BW.init("",[{prop:"Host",name:"Host",anonymous:false,exported:true,typ:$String,tag:""}]);BX.init([{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"dnsRoundTrip",name:"dnsRoundTrip",pkg:"net",typ:$funcType([OR],[OR,$error],false)}]);BY.init("",[{prop:"Conn",name:"Conn",anonymous:true,exported:true,typ:IJ,tag:""}]);BZ.init("",[{prop:"Conn",name:"Conn",anonymous:true,exported:true,typ:IJ,tag:""}]);CB.init("net",[{prop:"initOnce",name:"initOnce",anonymous:false,exported:false,typ:H.Once,tag:""},{prop:"ch",name:"ch",anonymous:false,exported:false,typ:RK,tag:""},{prop:"lastChecked",name:"lastChecked",anonymous:false,exported:false,typ:K.Time,tag:""},{prop:"mu",name:"mu",anonymous:false,exported:false,typ:H.RWMutex,tag:""},{prop:"dnsConfig",name:"dnsConfig",anonymous:false,exported:false,typ:NR,tag:""}]);CJ.init("net",[{prop:"servers",name:"servers",anonymous:false,exported:false,typ:NT,tag:""},{prop:"search",name:"search",anonymous:false,exported:false,typ:NT,tag:""},{prop:"ndots",name:"ndots",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"timeout",name:"timeout",anonymous:false,exported:false,typ:K.Duration,tag:""},{prop:"attempts",name:"attempts",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"rotate",name:"rotate",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"unknownOpt",name:"unknownOpt",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"lookup",name:"lookup",anonymous:false,exported:false,typ:NT,tag:""},{prop:"err",name:"err",anonymous:false,exported:false,typ:$error,tag:""},{prop:"mtime",name:"mtime",anonymous:false,exported:false,typ:K.Time,tag:""},{prop:"soffset",name:"soffset",anonymous:false,exported:false,typ:$Uint32,tag:""}]);CP.init("",[{prop:"Id",name:"Id",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Bits",name:"Bits",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Qdcount",name:"Qdcount",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Ancount",name:"Ancount",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Nscount",name:"Nscount",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Arcount",name:"Arcount",anonymous:false,exported:true,typ:$Uint16,tag:""}]);CQ.init("",[{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Qtype",name:"Qtype",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Qclass",name:"Qclass",anonymous:false,exported:true,typ:$Uint16,tag:""}]);CR.init("",[{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Rrtype",name:"Rrtype",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Class",name:"Class",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Ttl",name:"Ttl",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Rdlength",name:"Rdlength",anonymous:false,exported:true,typ:$Uint16,tag:""}]);CS.init([{prop:"Header",name:"Header",pkg:"",typ:$funcType([],[OP],false)},{prop:"Walk",name:"Walk",pkg:"",typ:$funcType([RL],[$Bool],false)}]);CT.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"Cname",name:"Cname",anonymous:false,exported:true,typ:$String,tag:""}]);CU.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"Pref",name:"Pref",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Mx",name:"Mx",anonymous:false,exported:true,typ:$String,tag:""}]);CV.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"Ns",name:"Ns",anonymous:false,exported:true,typ:$String,tag:""}]);CW.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"Ptr",name:"Ptr",anonymous:false,exported:true,typ:$String,tag:""}]);CX.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"Ns",name:"Ns",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Mbox",name:"Mbox",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Serial",name:"Serial",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Refresh",name:"Refresh",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Retry",name:"Retry",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Expire",name:"Expire",anonymous:false,exported:true,typ:$Uint32,tag:""},{prop:"Minttl",name:"Minttl",anonymous:false,exported:true,typ:$Uint32,tag:""}]);CY.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"Txt",name:"Txt",anonymous:false,exported:true,typ:$String,tag:""}]);CZ.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"Priority",name:"Priority",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Weight",name:"Weight",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Uint16,tag:""},{prop:"Target",name:"Target",anonymous:false,exported:true,typ:$String,tag:""}]);DA.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"A",name:"A",anonymous:false,exported:true,typ:$Uint32,tag:""}]);DB.init("",[{prop:"Hdr",name:"Hdr",anonymous:false,exported:true,typ:CR,tag:""},{prop:"AAAA",name:"AAAA",anonymous:false,exported:true,typ:NX,tag:""}]);DK.init("net",[{prop:"id",name:"id",anonymous:false,exported:false,typ:$Uint16,tag:""},{prop:"response",name:"response",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"opcode",name:"opcode",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"authoritative",name:"authoritative",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"truncated",name:"truncated",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"recursion_desired",name:"recursion_desired",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"recursion_available",name:"recursion_available",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"rcode",name:"rcode",anonymous:false,exported:false,typ:$Int,tag:""}]);DL.init("net",[{prop:"dnsMsgHdr",name:"dnsMsgHdr",anonymous:true,exported:false,typ:DK,tag:""},{prop:"question",name:"question",anonymous:false,exported:false,typ:OS,tag:""},{prop:"answer",name:"answer",anonymous:false,exported:false,typ:OO,tag:""},{prop:"ns",name:"ns",anonymous:false,exported:false,typ:OO,tag:""},{prop:"extra",name:"extra",anonymous:false,exported:false,typ:OO,tag:""}]);DN.init("net",[{prop:"pfd",name:"pfd",anonymous:false,exported:false,typ:J.FD,tag:""},{prop:"family",name:"family",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"sotype",name:"sotype",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"isConnected",name:"isConnected",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"net",name:"net",anonymous:false,exported:false,typ:$String,tag:""},{prop:"laddr",name:"laddr",anonymous:false,exported:false,typ:II,tag:""},{prop:"raddr",name:"raddr",anonymous:false,exported:false,typ:II,tag:""}]);EV.init("",[{prop:"Index",name:"Index",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"MTU",name:"MTU",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""},{prop:"HardwareAddr",name:"HardwareAddr",anonymous:false,exported:true,typ:IE,tag:""},{prop:"Flags",name:"Flags",anonymous:false,exported:true,typ:EW,tag:""}]);FD.init("net",[{prop:"RWMutex",name:"RWMutex",anonymous:true,exported:true,typ:H.RWMutex,tag:""},{prop:"lastFetched",name:"lastFetched",anonymous:false,exported:false,typ:K.Time,tag:""},{prop:"toIndex",name:"toIndex",anonymous:false,exported:false,typ:RS,tag:""},{prop:"toName",name:"toName",anonymous:false,exported:false,typ:RT,tag:""}]);FO.init($Uint8);FP.init($Uint8);FQ.init("",[{prop:"IP",name:"IP",anonymous:false,exported:true,typ:FO,tag:""},{prop:"Mask",name:"Mask",anonymous:false,exported:true,typ:FP,tag:""}]);GI.init("",[{prop:"IP",name:"IP",anonymous:false,exported:true,typ:FO,tag:""},{prop:"Zone",name:"Zone",anonymous:false,exported:true,typ:$String,tag:""}]);GK.init("net",[{prop:"conn",name:"conn",anonymous:true,exported:false,typ:IK,tag:""}]);GS.init("net",[{prop:"Once",name:"Once",anonymous:true,exported:true,typ:H.Once,tag:""},{prop:"ipv4Enabled",name:"ipv4Enabled",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"ipv6Enabled",name:"ipv6Enabled",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"ipv4MappedIPv6Enabled",name:"ipv4MappedIPv6Enabled",anonymous:false,exported:false,typ:$Bool,tag:""}]);GX.init(II);HO.init("",[{prop:"PreferGo",name:"PreferGo",anonymous:false,exported:true,typ:$Bool,tag:""},{prop:"StrictErrors",name:"StrictErrors",anonymous:false,exported:true,typ:$Bool,tag:""},{prop:"Dial",name:"Dial",anonymous:false,exported:true,typ:RX,tag:""}]);IE.init($Uint8);II.init([{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}]);IJ.init([{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[II],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([NY],[$Int,$error],false)},{prop:"RemoteAddr",name:"RemoteAddr",pkg:"",typ:$funcType([],[II],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([NY],[$Int,$error],false)}]);IK.init("net",[{prop:"fd",name:"fd",anonymous:false,exported:false,typ:PK,tag:""}]);IL.init([{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[II],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([NY],[$Int,II,$error],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([K.Time],[$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([NY,II],[$Int,$error],false)}]);IO.init([{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}]);IT.init("",[{prop:"Op",name:"Op",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Net",name:"Net",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Source",name:"Source",anonymous:false,exported:true,typ:II,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:II,tag:""},{prop:"Err",name:"Err",anonymous:false,exported:true,typ:$error,tag:""}]);IX.init([{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}]);IY.init([{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}]);IZ.init("",[{prop:"Type",name:"Type",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Text",name:"Text",anonymous:false,exported:true,typ:$String,tag:""}]);JA.init("",[{prop:"Err",name:"Err",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Addr",name:"Addr",anonymous:false,exported:true,typ:$String,tag:""}]);JF.init("",[{prop:"Err",name:"Err",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Server",name:"Server",anonymous:false,exported:true,typ:$String,tag:""},{prop:"IsTimeout",name:"IsTimeout",anonymous:false,exported:true,typ:$Bool,tag:""},{prop:"IsTemporary",name:"IsTemporary",anonymous:false,exported:true,typ:$Bool,tag:""}]);JG.init("",[{prop:"Writer",name:"Writer",anonymous:true,exported:true,typ:M.Writer,tag:""}]);JL.init([{prop:"writeBuffers",name:"writeBuffers",pkg:"net",typ:$funcType([OA],[$Int64,$error],false)}]);JM.init(NY);JN.init("net",[{prop:"err",name:"err",anonymous:false,exported:false,typ:$error,tag:""},{prop:"sources",name:"sources",anonymous:false,exported:false,typ:SA,tag:""}]);JO.init("net",[{prop:"source",name:"source",anonymous:false,exported:false,typ:$String,tag:""},{prop:"criteria",name:"criteria",anonymous:false,exported:false,typ:QS,tag:""}]);JP.init("net",[{prop:"negate",name:"negate",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"status",name:"status",anonymous:false,exported:false,typ:$String,tag:""},{prop:"action",name:"action",anonymous:false,exported:false,typ:$String,tag:""}]);JT.init("net",[{prop:"file",name:"file",anonymous:false,exported:false,typ:PN,tag:""},{prop:"data",name:"data",anonymous:false,exported:false,typ:NY,tag:""},{prop:"atEOF",name:"atEOF",anonymous:false,exported:false,typ:$Bool,tag:""}]);LB.init("net",[{prop:"fd",name:"fd",anonymous:false,exported:false,typ:PK,tag:""}]);LF.init([{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"family",name:"family",pkg:"net",typ:$funcType([],[$Int],false)},{prop:"isWildcard",name:"isWildcard",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"sockaddr",name:"sockaddr",pkg:"net",typ:$funcType([$Int],[B.Sockaddr,$error],false)},{prop:"toLocal",name:"toLocal",pkg:"net",typ:$funcType([$String],[LF],false)}]);LY.init("",[{prop:"IP",name:"IP",anonymous:false,exported:true,typ:FO,tag:""},{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Zone",name:"Zone",anonymous:false,exported:true,typ:$String,tag:""}]);MA.init("net",[{prop:"conn",name:"conn",anonymous:true,exported:false,typ:IK,tag:""}]);MN.init("",[{prop:"IP",name:"IP",anonymous:false,exported:true,typ:FO,tag:""},{prop:"Port",name:"Port",anonymous:false,exported:true,typ:$Int,tag:""},{prop:"Zone",name:"Zone",anonymous:false,exported:true,typ:$String,tag:""}]);MP.init("net",[{prop:"conn",name:"conn",anonymous:true,exported:false,typ:IK,tag:""}]);NA.init("",[{prop:"Name",name:"Name",anonymous:false,exported:true,typ:$String,tag:""},{prop:"Net",name:"Net",anonymous:false,exported:true,typ:$String,tag:""}]);NC.init("net",[{prop:"conn",name:"conn",anonymous:true,exported:false,typ:IK,tag:""}]);OM.init("net",[{prop:"Conn",name:"Conn",anonymous:true,exported:true,typ:IJ,tag:""},{prop:"error",name:"error",anonymous:true,exported:false,typ:$error,tag:""},{prop:"primary",name:"primary",anonymous:false,exported:false,typ:$Bool,tag:""},{prop:"done",name:"done",anonymous:false,exported:false,typ:$Bool,tag:""}]);OX.init("net",[{prop:"cname",name:"cname",anonymous:false,exported:false,typ:$String,tag:""},{prop:"rrs",name:"rrs",anonymous:false,exported:false,typ:OO,tag:""},{prop:"error",name:"error",anonymous:true,exported:false,typ:$error,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AV=new H.Once.ptr(new H.Mutex.ptr(0,0),0);CC=new CB.ptr(new H.Once.ptr(new H.Mutex.ptr(0,0),0),$chanNil,new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),new H.RWMutex.ptr(new H.Mutex.ptr(0,0),0,0,0,0),NR.nil);EB=$throwNilPointerError;EM=new NV.ptr(new H.Mutex.ptr(0,0),false,false,new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),"",new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),new $Int64(0,0));GT=new GS.ptr(new H.Once.ptr(new H.Mutex.ptr(0,0),0),false,false,false);HR=new O.Group.ptr(new H.Mutex.ptr(0,0),false);IB=new H.Once.ptr(new H.Mutex.ptr(0,0),0);IG=false;IH=false;KY=new H.Once.ptr(new H.Mutex.ptr(0,0),0);AW=new AU.ptr(false,false,false,false,"linux",0,NW.nil,NR.nil);CF=$makeMap(CE.keyFor,[{k:0,v:"cgo"},{k:1,v:"files,dns"},{k:2,v:"dns,files"},{k:3,v:"files"},{k:4,v:"dns"}]);CH=new NT(["127.0.0.1:53","[::1]:53"]);CI=F.Hostname;DC=$makeMap($Int.keyFor,[{k:5,v:(function(){return new CT.ptr(new CR.ptr("",0,0,0,0),"");})},{k:15,v:(function(){return new CU.ptr(new CR.ptr("",0,0,0,0),0,"");})},{k:2,v:(function(){return new CV.ptr(new CR.ptr("",0,0,0,0),"");})},{k:12,v:(function(){return new CW.ptr(new CR.ptr("",0,0,0,0),"");})},{k:6,v:(function(){return new CX.ptr(new CR.ptr("",0,0,0,0),"","",0,0,0,0,0);})},{k:16,v:(function(){return new CY.ptr(new CR.ptr("",0,0,0,0),"");})},{k:33,v:(function(){return new CZ.ptr(new CR.ptr("",0,0,0,0),0,0,0,"");})},{k:1,v:(function(){return new DA.ptr(new CR.ptr("",0,0,0,0),0);})},{k:28,v:(function(){return new DB.ptr(new CR.ptr("",0,0,0,0),NX.zero());})}]);DP=1;EC="/etc/hosts";ED=(function $b(f,g,h){var f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=g(f,h);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;}return;}if($f===undefined){$f={$blk:$b};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;});EE=(function(){});EG=(function(){});EH=B.Socket;EI=B.Connect;EJ=B.Listen;EK=B.GetsockoptInt;EQ=A.New("invalid network interface");ER=A.New("invalid network interface index");ES=A.New("invalid network interface name");ET=A.New("no such network interface");EU=A.New("no such multicast network interface");EX=new NT(["up","broadcast","loopback","pointtopoint","multicast"]);FE=new FD.ptr(new H.RWMutex.ptr(new H.Mutex.ptr(0,0),0,0,0,0),new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil),{},{});FS=new NY([0,0,0,0,0,0,0,0,0,0,255,255]);$pkg.IPv4bcast=FR(255,255,255,255);$pkg.IPv4allsys=FR(224,0,0,1);$pkg.IPv4allrouter=FR(224,0,0,2);$pkg.IPv4zero=FR(0,0,0,0);$pkg.IPv6zero=new FO([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);$pkg.IPv6unspecified=new FO([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);$pkg.IPv6loopback=new FO([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]);FW=FT(255,0,0,0);FX=FT(255,255,0,0);FY=FT(255,255,255,0);HK=$makeMap($String.keyFor,[{k:"icmp",v:1},{k:"igmp",v:2},{k:"tcp",v:6},{k:"udp",v:17},{k:"ipv6-icmp",v:58}]);HL=$makeMap($String.keyFor,[{k:"udp",v:$makeMap($String.keyFor,[{k:"domain",v:53}])},{k:"tcp",v:$makeMap($String.keyFor,[{k:"ftp",v:21},{k:"ftps",v:990},{k:"gopher",v:70},{k:"http",v:80},{k:"https",v:443},{k:"imap2",v:143},{k:"imap3",v:220},{k:"imaps",v:993},{k:"pop3",v:110},{k:"pop3s",v:995},{k:"smtp",v:25},{k:"ssh",v:22},{k:"telnet",v:23}])}]);$pkg.DefaultResolver=new HO.ptr(false,false,$throwNilPointerError);IM=U();IP=A.New("no suitable address found");IQ=A.New("missing address");IR=A.New("operation was canceled");$pkg.ErrWriteToConnected=A.New("use of WriteTo with pre-connected connection");IU=$clone(K.Unix(new $Int64(0,1),new $Int64(0,0)),K.Time);IV=new K.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NQ.nil);JE=A.New("no such host");JI=new $Chan(NZ,500);f=AJ("::1/128");$s=16;case 16:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=AJ("::/0");$s=17;case 17:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=AJ("::ffff:0:0/96");$s=18;case 18:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=AJ("2002::/16");$s=19;case 19:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=AJ("2001::/32");$s=20;case 20:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=AJ("fc00::/7");$s=21;case 21:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=AJ("::/96");$s=22;case 22:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=AJ("fec0::/10");$s=23;case 23:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=AJ("3ffe::/16");$s=24;case 24:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}AG=new AF([new AE.ptr(f,50,0),new AE.ptr(g,40,1),new AE.ptr(h,35,4),new AE.ptr(i,30,2),new AE.ptr(j,5,5),new AE.ptr(k,3,13),new AE.ptr(l,1,3),new AE.ptr(m,1,11),new AE.ptr(n,1,12)]);$r=AH();$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AN();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/satori/go.uuid"]=(function(){var $pkg={},$init,A,B,C,D,E,F,G,H,I,J,K,L,M,AC,AT,AU,AV,AW,AX,T,U,V,W,a,b,c,d,e,f,g,h,AG,AJ,AQ,AR;A=$packages["bytes"];B=$packages["crypto/md5"];C=$packages["crypto/rand"];D=$packages["crypto/sha1"];E=$packages["database/sql/driver"];F=$packages["encoding/binary"];G=$packages["encoding/hex"];H=$packages["fmt"];I=$packages["hash"];J=$packages["net"];K=$packages["os"];L=$packages["sync"];M=$packages["time"];AC=$pkg.UUID=$newType(16,$kindArray,"uuid.UUID",true,"github.com/satori/go.uuid",true,null);AT=$sliceType($Uint8);AU=$sliceType($Int);AV=$arrayType($Uint8,16);AW=$sliceType($emptyInterface);AX=$ptrType(AC);AG=function(i,j){var i,j;return A.Equal(new AT(i),new AT(j));};$pkg.Equal=AG;AC.prototype.Version=function(){var i;i=this.$val;return(((i[6]>>>4<<24>>>24)>>>0));};$ptrType(AC).prototype.Version=function(){return new AC(this.$get()).Version();};AC.prototype.Variant=function(){var i;i=this.$val;if(((((i[8]&128)>>>0))===0)){return 0;}else if(((((((i[8]&192)>>>0))|128)>>>0)===128)){return 1;}else if(((((((i[8]&224)>>>0))|192)>>>0)===192)){return 2;}return 3;};$ptrType(AC).prototype.Variant=function(){return new AC(this.$get()).Variant();};AC.prototype.Bytes=function(){var i;i=this.$val;return new AT(i);};$ptrType(AC).prototype.Bytes=function(){return new AC(this.$get()).Bytes();};AC.prototype.String=function(){var i,j;i=this.$val;j=$makeSlice(AT,36);G.Encode($subslice(j,0,8),$subslice(new AT(i),0,4));(8>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+8]=45);G.Encode($subslice(j,9,13),$subslice(new AT(i),4,6));(13>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+13]=45);G.Encode($subslice(j,14,18),$subslice(new AT(i),6,8));(18>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+18]=45);G.Encode($subslice(j,19,23),$subslice(new AT(i),8,10));(23>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+23]=45);G.Encode($subslice(j,24),$subslice(new AT(i),10));return($bytesToString(j));};$ptrType(AC).prototype.String=function(){return new AC(this.$get()).String();};AC.prototype.SetVersion=function(i){var i,j;j=this.$val;j.nilCheck,j[6]=((((((j.nilCheck,j[6])&15)>>>0))|((i<<4<<24>>>24)))>>>0);};$ptrType(AC).prototype.SetVersion=function(i){return(new AC(this.$get())).SetVersion(i);};AC.prototype.SetVariant=function(){var i;i=this.$val;i.nilCheck,i[8]=((((((i.nilCheck,i[8])&191)>>>0))|128)>>>0);};$ptrType(AC).prototype.SetVariant=function(){return(new AC(this.$get())).SetVariant();};AC.prototype.MarshalText=function(){var i,j,k;i=AT.nil;j=$ifaceNil;k=this.$val;i=(new AT($stringToBytes(new AC($clone(k,AC)).String())));return[i,j];};$ptrType(AC).prototype.MarshalText=function(){return new AC(this.$get()).MarshalText();};AC.prototype.UnmarshalText=function(i){var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=$ifaceNil;k=this.$val;if(i.$length<32){$s=1;continue;}$s=2;continue;case 1:l=H.Errorf("uuid: UUID string too short: %s",new AW([i]));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=l;$s=-1;return j;case 2:m=i;n=false;if(A.Equal($subslice(m,0,9),V)){m=$subslice(m,9);}else if((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===123){n=true;m=$subslice(m,1);}o=new AT(k);p=W;q=0;case 4:if(!(q<p.$length)){$s=5;continue;}r=q;s=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(r>0){$s=6;continue;}$s=7;continue;case 6:if(!(((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===45))){$s=8;continue;}$s=9;continue;case 8:t=H.Errorf("uuid: invalid string format",new AW([]));$s=10;case 10:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}j=t;$s=-1;return j;case 9:m=$subslice(m,1);case 7:if(m.$length<s){$s=11;continue;}$s=12;continue;case 11:u=H.Errorf("uuid: UUID string too short: %s",new AW([i]));$s=13;case 13:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}j=u;$s=-1;return j;case 12:if((r===4)&&m.$length>s&&((n&&!((((s<0||s>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+s])===125)))||$subslice(m,s).$length>1||!n)){$s=14;continue;}$s=15;continue;case 14:v=H.Errorf("uuid: UUID string too long: %s",new AW([i]));$s=16;case 16:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}j=v;$s=-1;return j;case 15:w=G.Decode($subslice(o,0,(x=s/2,(x===x&&x!==1/0&&x!==-1/0)?x>>0:$throwRuntimeError("integer divide by zero"))),$subslice(m,0,s));j=w[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return j;}m=$subslice(m,s);o=$subslice(o,(y=s/2,(y===y&&y!==1/0&&y!==-1/0)?y>>0:$throwRuntimeError("integer divide by zero")));q++;$s=4;continue;case 5:$s=-1;return j;}return;}if($f===undefined){$f={$blk:AC.prototype.UnmarshalText};}$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AC).prototype.UnmarshalText=function(i){return(new AC(this.$get())).UnmarshalText(i);};AC.prototype.MarshalBinary=function(){var i,j,k;i=AT.nil;j=$ifaceNil;k=this.$val;i=new AC($clone(k,AC)).Bytes();return[i,j];};$ptrType(AC).prototype.MarshalBinary=function(){return new AC(this.$get()).MarshalBinary();};AC.prototype.UnmarshalBinary=function(i){var i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=$ifaceNil;k=this.$val;if(!((i.$length===16))){$s=1;continue;}$s=2;continue;case 1:l=H.Errorf("uuid: UUID must be exactly 16 bytes long, got %d bytes",new AW([new $Int(i.$length)]));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=l;$s=-1;return j;case 2:$copySlice(new AT(k),i);$s=-1;return j;}return;}if($f===undefined){$f={$blk:AC.prototype.UnmarshalBinary};}$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AC).prototype.UnmarshalBinary=function(i){return(new AC(this.$get())).UnmarshalBinary(i);};AC.prototype.Value=function(){var i;i=this.$val;return[new $String(new AC($clone(i,AC)).String()),$ifaceNil];};$ptrType(AC).prototype.Value=function(){return new AC(this.$get()).Value();};AC.prototype.Scan=function(i){var i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this.$val;k=i;if($assertType(k,AT,true)[1]){$s=1;continue;}if($assertType(k,$String,true)[1]){$s=2;continue;}$s=3;continue;case 1:l=k.$val;if(l.$length===16){$s=4;continue;}$s=5;continue;case 4:n=new AX(j).UnmarshalBinary(l);$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return n;case 5:o=new AX(j).UnmarshalText(l);$s=7;case 7:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$s=-1;return o;case 2:m=k.$val;p=new AX(j).UnmarshalText((new AT($stringToBytes(m))));$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$s=-1;return p;case 3:q=H.Errorf("uuid: cannot convert %T to UUID",new AW([i]));$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=-1;return q;}return;}if($f===undefined){$f={$blk:AC.prototype.Scan};}$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AC).prototype.Scan=function(i){return(new AC(this.$get())).Scan(i);};AJ=function(i){var i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=AV.zero();k=$ifaceNil;l=new AX(j).UnmarshalText((new AT($stringToBytes(i))));$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;$s=-1;return[j,k];}return;}if($f===undefined){$f={$blk:AJ};}$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.FromString=AJ;AQ=function(i,j){var i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=AR(D.New(),$clone(i,AC),j);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AC);new AX(l).SetVersion(5);new AX(l).SetVariant();$s=-1;return l;}return;}if($f===undefined){$f={$blk:AQ};}$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewV5=AQ;AR=function(i,j,k){var i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=AV.zero();m=i.Write(new AT(j));$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;n=i.Write((new AT($stringToBytes(k))));$s=2;case 2:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;o=i.Sum(AT.nil);$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$copySlice(new AT(l),o);$s=-1;return l;}return;}if($f===undefined){$f={$blk:AR};}$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AC.methods=[{prop:"Version",name:"Version",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"Variant",name:"Variant",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[AT],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[AT,$error],false)},{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[AT,$error],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([],[E.Value,$error],false)}];AX.methods=[{prop:"SetVersion",name:"SetVersion",pkg:"",typ:$funcType([$Uint8],[],false)},{prop:"SetVariant",name:"SetVariant",pkg:"",typ:$funcType([],[],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([AT],[$error],false)},{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([AT],[$error],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([$emptyInterface],[$error],false)}];AC.init($Uint8,16);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}T=((K.Getuid()>>>0));U=((K.Getgid()>>>0));V=(new AT($stringToBytes("urn:uuid:")));W=new AU([8,4,4,4,12]);$pkg.Nil=AV.zero();b=AJ("6ba7b810-9dad-11d1-80b4-00c04fd430c8");$s=14;case 14:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a=b;$pkg.NamespaceDNS=$clone(a[0],AC);d=AJ("6ba7b811-9dad-11d1-80b4-00c04fd430c8");$s=15;case 15:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;$pkg.NamespaceURL=$clone(c[0],AC);f=AJ("6ba7b812-9dad-11d1-80b4-00c04fd430c8");$s=16;case 16:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;$pkg.NamespaceOID=$clone(e[0],AC);h=AJ("6ba7b814-9dad-11d1-80b4-00c04fd430c8");$s=17;case 17:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;$pkg.NamespaceX500=$clone(g[0],AC);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["crypto/sha256"]=(function(){var $pkg={},$init,A,B,D,L,M,N,O,P,R,S,I,K,C,E,F,J;A=$packages["crypto"];B=$packages["hash"];D=$pkg.digest=$newType(0,$kindStruct,"sha256.digest",true,"crypto/sha256",false,function(h_,x_,nx_,len_,is224_){this.$val=this;if(arguments.length===0){this.h=M.zero();this.x=N.zero();this.nx=0;this.len=new $Uint64(0,0);this.is224=false;return;}this.h=h_;this.x=x_;this.nx=nx_;this.len=len_;this.is224=is224_;});L=$sliceType($Uint32);M=$arrayType($Uint32,8);N=$arrayType($Uint8,64);O=$sliceType($Uint8);P=$arrayType($Uint8,32);R=$arrayType($Uint32,64);S=$ptrType(D);C=function(){A.RegisterHash(4,F);A.RegisterHash(5,E);};D.ptr.prototype.Reset=function(){var a;a=this;if(!a.is224){a.h[0]=1779033703;a.h[1]=3144134277;a.h[2]=1013904242;a.h[3]=2773480762;a.h[4]=1359893119;a.h[5]=2600822924;a.h[6]=528734635;a.h[7]=1541459225;}else{a.h[0]=3238371032;a.h[1]=914150663;a.h[2]=812702999;a.h[3]=4144912697;a.h[4]=4290775857;a.h[5]=1750603025;a.h[6]=1694076839;a.h[7]=3204075428;}a.nx=0;a.len=new $Uint64(0,0);};D.prototype.Reset=function(){return this.$val.Reset();};E=function(){var a;a=new D.ptr(M.zero(),N.zero(),0,new $Uint64(0,0),false);a.Reset();return a;};$pkg.New=E;F=function(){var a;a=new D.ptr(M.zero(),N.zero(),0,new $Uint64(0,0),false);a.is224=true;a.Reset();return a;};$pkg.New224=F;D.ptr.prototype.Size=function(){var a;a=this;if(!a.is224){return 32;}return 28;};D.prototype.Size=function(){return this.$val.Size();};D.ptr.prototype.BlockSize=function(){var a;a=this;return 64;};D.prototype.BlockSize=function(){return this.$val.BlockSize();};D.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;d.len=(e=d.len,f=(new $Uint64(0,b)),new $Uint64(e.$high+f.$high,e.$low+f.$low));if(d.nx>0){$s=1;continue;}$s=2;continue;case 1:g=$copySlice($subslice(new O(d.x),d.nx),a);d.nx=d.nx+(g)>>0;if(d.nx===64){$s=3;continue;}$s=4;continue;case 3:$r=K(d,new O(d.x));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.nx=0;case 4:a=$subslice(a,g);case 2:if(a.$length>=64){$s=6;continue;}$s=7;continue;case 6:h=(a.$length&~63)>>0;$r=K(d,$subslice(a,0,h));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=$subslice(a,h);case 7:if(a.$length>0){d.nx=$copySlice(new O(d.x),a);}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Write=function(a){return this.$val.Write(a);};D.ptr.prototype.Sum=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b,D);d=c.checkSum();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,P);if(c.is224){$s=-1;return $appendSlice(a,$subslice(new O(e),0,28));}$s=-1;return $appendSlice(a,new O(e));}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Sum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Sum=function(a){return this.$val.Sum(a);};D.ptr.prototype.checkSum=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.len;c=N.zero();c[0]=128;if((d=$div64(b,new $Uint64(0,64),true),(d.$high<0||(d.$high===0&&d.$low<56)))){$s=1;continue;}$s=2;continue;case 1:f=a.Write($subslice(new O(c),0,$flatten64((e=$div64(b,new $Uint64(0,64),true),new $Uint64(0-e.$high,56-e.$low)))));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=3;continue;case 2:h=a.Write($subslice(new O(c),0,$flatten64((g=$div64(b,new $Uint64(0,64),true),new $Uint64(0-g.$high,120-g.$low)))));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 3:b=$shiftLeft64(b,(3));i=0;while(true){if(!(i<8)){break;}((i<0||i>=c.length)?($throwRuntimeError("index out of range"),undefined):c[i]=(($shiftRightUint64(b,((56-(8*i>>>0)>>>0))).$low<<24>>>24)));i=i+(1)>>>0;}j=a.Write($subslice(new O(c),0,8));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;if(!((a.nx===0))){$panic(new $String("d.nx != 0"));}k=new L(a.h);if(a.is224){k=$subslice(new L(a.h),0,7);}l=P.zero();m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);(q=$imul(o,4),((q<0||q>=l.length)?($throwRuntimeError("index out of range"),undefined):l[q]=(((p>>>24>>>0)<<24>>>24))));(r=($imul(o,4))+1>>0,((r<0||r>=l.length)?($throwRuntimeError("index out of range"),undefined):l[r]=(((p>>>16>>>0)<<24>>>24))));(s=($imul(o,4))+2>>0,((s<0||s>=l.length)?($throwRuntimeError("index out of range"),undefined):l[s]=(((p>>>8>>>0)<<24>>>24))));(t=($imul(o,4))+3>>0,((t<0||t>=l.length)?($throwRuntimeError("index out of range"),undefined):l[t]=((p<<24>>>24))));n++;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.checkSum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.checkSum=function(){return this.$val.checkSum();};J=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=R.zero();d=a.h[0];e=a.h[1];f=a.h[2];g=a.h[3];h=a.h[4];i=a.h[5];j=a.h[6];k=a.h[7];l=d;m=e;n=f;o=g;p=h;q=i;r=j;s=k;while(true){if(!(b.$length>=64)){break;}t=0;while(true){if(!(t<16)){break;}u=$imul(t,4);((t<0||t>=c.length)?($throwRuntimeError("index out of range"),undefined):c[t]=(((((((((((u<0||u>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+u])>>>0))<<24>>>0)|((((v=u+1>>0,((v<0||v>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+v]))>>>0))<<16>>>0))>>>0)|((((w=u+2>>0,((w<0||w>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+w]))>>>0))<<8>>>0))>>>0)|(((x=u+3>>0,((x<0||x>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+x]))>>>0)))>>>0));t=t+(1)>>0;}y=16;while(true){if(!(y<64)){break;}aa=(z=y-2>>0,((z<0||z>=c.length)?($throwRuntimeError("index out of range"),undefined):c[z]));ab=(((((((aa>>>17>>>0)|(aa<<15>>>0))>>>0))^((((aa>>>19>>>0)|(aa<<13>>>0))>>>0)))>>>0)^((aa>>>10>>>0)))>>>0;ad=(ac=y-15>>0,((ac<0||ac>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ac]));ae=(((((((ad>>>7>>>0)|(ad<<25>>>0))>>>0))^((((ad>>>18>>>0)|(ad<<14>>>0))>>>0)))>>>0)^((ad>>>3>>>0)))>>>0;((y<0||y>=c.length)?($throwRuntimeError("index out of range"),undefined):c[y]=(((ab+(af=y-7>>0,((af<0||af>=c.length)?($throwRuntimeError("index out of range"),undefined):c[af]))>>>0)+ae>>>0)+(ag=y-16>>0,((ag<0||ag>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ag]))>>>0));y=y+(1)>>0;}ah=l;ai=m;aj=n;ak=o;al=p;am=q;an=r;ao=s;ap=ah;aq=ai;ar=aj;as=ak;at=al;au=am;av=an;aw=ao;ax=0;while(true){if(!(ax<64)){break;}ay=(((aw+(((((((((at>>>6>>>0)|(at<<26>>>0))>>>0))^((((at>>>11>>>0)|(at<<21>>>0))>>>0)))>>>0)^((((at>>>25>>>0)|(at<<7>>>0))>>>0)))>>>0))>>>0)+((((((at&au)>>>0))^((((~at>>>0)&av)>>>0)))>>>0))>>>0)+((ax<0||ax>=I.$length)?($throwRuntimeError("index out of range"),undefined):I.$array[I.$offset+ax])>>>0)+((ax<0||ax>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ax])>>>0;az=(((((((((ap>>>2>>>0)|(ap<<30>>>0))>>>0))^((((ap>>>13>>>0)|(ap<<19>>>0))>>>0)))>>>0)^((((ap>>>22>>>0)|(ap<<10>>>0))>>>0)))>>>0))+((((((((ap&aq)>>>0))^(((ap&ar)>>>0)))>>>0)^(((aq&ar)>>>0)))>>>0))>>>0;aw=av;av=au;au=at;at=as+ay>>>0;as=ar;ar=aq;aq=ap;ap=ay+az>>>0;ax=ax+(1)>>0;}l=l+(ap)>>>0;m=m+(aq)>>>0;n=n+(ar)>>>0;o=o+(as)>>>0;p=p+(at)>>>0;q=q+(au)>>>0;r=r+(av)>>>0;s=s+(aw)>>>0;b=$subslice(b,64);}ba=l;bb=m;bc=n;bd=o;be=p;bf=q;bg=r;bh=s;a.h[0]=ba;a.h[1]=bb;a.h[2]=bc;a.h[3]=bd;a.h[4]=be;a.h[5]=bf;a.h[6]=bg;a.h[7]=bh;};S.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([O],[$Int,$error],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([O],[O],false)},{prop:"checkSum",name:"checkSum",pkg:"crypto/sha256",typ:$funcType([],[P],false)}];D.init("crypto/sha256",[{prop:"h",name:"h",anonymous:false,exported:false,typ:M,tag:""},{prop:"x",name:"x",anonymous:false,exported:false,typ:N,tag:""},{prop:"nx",name:"nx",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"len",name:"len",anonymous:false,exported:false,typ:$Uint64,tag:""},{prop:"is224",name:"is224",anonymous:false,exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}I=new L([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);K=J;C();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
-$packages["crypto/sha512"]=(function(){var $pkg={},$init,A,B,D,P,Q,R,S,T,X,Y,M,O,C,E,F,G,H,I,N;A=$packages["crypto"];B=$packages["hash"];D=$pkg.digest=$newType(0,$kindStruct,"sha512.digest",true,"crypto/sha512",false,function(h_,x_,nx_,len_,function$4_){this.$val=this;if(arguments.length===0){this.h=Q.zero();this.x=R.zero();this.nx=0;this.len=new $Uint64(0,0);this.function$4=0;return;}this.h=h_;this.x=x_;this.nx=nx_;this.len=len_;this.function$4=function$4_;});P=$sliceType($Uint64);Q=$arrayType($Uint64,8);R=$arrayType($Uint8,128);S=$sliceType($Uint8);T=$arrayType($Uint8,64);X=$arrayType($Uint64,80);Y=$ptrType(D);C=function(){A.RegisterHash(6,H);A.RegisterHash(7,E);A.RegisterHash(14,F);A.RegisterHash(15,G);};D.ptr.prototype.Reset=function(){var a,b;a=this;b=a.function$4;if(b===(6)){a.h[0]=new $Uint64(3418070365,3238371032);a.h[1]=new $Uint64(1654270250,914150663);a.h[2]=new $Uint64(2438529370,812702999);a.h[3]=new $Uint64(355462360,4144912697);a.h[4]=new $Uint64(1731405415,4290775857);a.h[5]=new $Uint64(2394180231,1750603025);a.h[6]=new $Uint64(3675008525,1694076839);a.h[7]=new $Uint64(1203062813,3204075428);}else if(b===(14)){a.h[0]=new $Uint64(2352822216,424955298);a.h[1]=new $Uint64(1944164710,2312950998);a.h[2]=new $Uint64(502970286,855612546);a.h[3]=new $Uint64(1738396948,1479516111);a.h[4]=new $Uint64(258812777,2077511080);a.h[5]=new $Uint64(2011393907,79989058);a.h[6]=new $Uint64(1067287976,1780299464);a.h[7]=new $Uint64(286451373,2446758561);}else if(b===(15)){a.h[0]=new $Uint64(573645204,4230739756);a.h[1]=new $Uint64(2673172387,3360449730);a.h[2]=new $Uint64(596883563,1867755857);a.h[3]=new $Uint64(2520282905,1497426621);a.h[4]=new $Uint64(2519219938,2827943907);a.h[5]=new $Uint64(3193839141,1401305490);a.h[6]=new $Uint64(721525244,746961066);a.h[7]=new $Uint64(246885852,2177182882);}else{a.h[0]=new $Uint64(1779033703,4089235720);a.h[1]=new $Uint64(3144134277,2227873595);a.h[2]=new $Uint64(1013904242,4271175723);a.h[3]=new $Uint64(2773480762,1595750129);a.h[4]=new $Uint64(1359893119,2917565137);a.h[5]=new $Uint64(2600822924,725511199);a.h[6]=new $Uint64(528734635,4215389547);a.h[7]=new $Uint64(1541459225,327033209);}a.nx=0;a.len=new $Uint64(0,0);};D.prototype.Reset=function(){return this.$val.Reset();};E=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),7);a.Reset();return a;};$pkg.New=E;F=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),14);a.Reset();return a;};$pkg.New512_224=F;G=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),15);a.Reset();return a;};$pkg.New512_256=G;H=function(){var a;a=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),6);a.Reset();return a;};$pkg.New384=H;D.ptr.prototype.Size=function(){var a,b;a=this;b=a.function$4;if(b===(14)){return 28;}else if(b===(15)){return 32;}else if(b===(6)){return 48;}else{return 64;}};D.prototype.Size=function(){return this.$val.Size();};D.ptr.prototype.BlockSize=function(){var a;a=this;return 128;};D.prototype.BlockSize=function(){return this.$val.BlockSize();};D.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;d.len=(e=d.len,f=(new $Uint64(0,b)),new $Uint64(e.$high+f.$high,e.$low+f.$low));if(d.nx>0){$s=1;continue;}$s=2;continue;case 1:g=$copySlice($subslice(new S(d.x),d.nx),a);d.nx=d.nx+(g)>>0;if(d.nx===128){$s=3;continue;}$s=4;continue;case 3:$r=O(d,new S(d.x));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.nx=0;case 4:a=$subslice(a,g);case 2:if(a.$length>=128){$s=6;continue;}$s=7;continue;case 6:h=(a.$length&~127)>>0;$r=O(d,$subslice(a,0,h));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=$subslice(a,h);case 7:if(a.$length>0){d.nx=$copySlice(new S(d.x),a);}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Write=function(a){return this.$val.Write(a);};D.ptr.prototype.Sum=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),0);D.copy(c,b);d=c.checkSum();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,T);f=c.function$4;if(f===(6)){$s=-1;return $appendSlice(a,$subslice(new S(e),0,48));}else if(f===(14)){$s=-1;return $appendSlice(a,$subslice(new S(e),0,28));}else if(f===(15)){$s=-1;return $appendSlice(a,$subslice(new S(e),0,32));}else{$s=-1;return $appendSlice(a,new S(e));}$s=-1;return S.nil;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Sum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Sum=function(a){return this.$val.Sum(a);};D.ptr.prototype.checkSum=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.len;c=R.zero();c[0]=128;if((d=$div64(b,new $Uint64(0,128),true),(d.$high<0||(d.$high===0&&d.$low<112)))){$s=1;continue;}$s=2;continue;case 1:f=a.Write($subslice(new S(c),0,$flatten64((e=$div64(b,new $Uint64(0,128),true),new $Uint64(0-e.$high,112-e.$low)))));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=3;continue;case 2:h=a.Write($subslice(new S(c),0,$flatten64((g=$div64(b,new $Uint64(0,128),true),new $Uint64(0-g.$high,240-g.$low)))));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 3:b=$shiftLeft64(b,(3));i=0;while(true){if(!(i<16)){break;}((i<0||i>=c.length)?($throwRuntimeError("index out of range"),undefined):c[i]=(($shiftRightUint64(b,((120-(8*i>>>0)>>>0))).$low<<24>>>24)));i=i+(1)>>>0;}j=a.Write($subslice(new S(c),0,16));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;if(!((a.nx===0))){$panic(new $String("d.nx != 0"));}k=new P(a.h);if(a.function$4===6){k=$subslice(new P(a.h),0,6);}l=T.zero();m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);(q=$imul(o,8),((q<0||q>=l.length)?($throwRuntimeError("index out of range"),undefined):l[q]=(($shiftRightUint64(p,56).$low<<24>>>24))));(r=($imul(o,8))+1>>0,((r<0||r>=l.length)?($throwRuntimeError("index out of range"),undefined):l[r]=(($shiftRightUint64(p,48).$low<<24>>>24))));(s=($imul(o,8))+2>>0,((s<0||s>=l.length)?($throwRuntimeError("index out of range"),undefined):l[s]=(($shiftRightUint64(p,40).$low<<24>>>24))));(t=($imul(o,8))+3>>0,((t<0||t>=l.length)?($throwRuntimeError("index out of range"),undefined):l[t]=(($shiftRightUint64(p,32).$low<<24>>>24))));(u=($imul(o,8))+4>>0,((u<0||u>=l.length)?($throwRuntimeError("index out of range"),undefined):l[u]=(($shiftRightUint64(p,24).$low<<24>>>24))));(v=($imul(o,8))+5>>0,((v<0||v>=l.length)?($throwRuntimeError("index out of range"),undefined):l[v]=(($shiftRightUint64(p,16).$low<<24>>>24))));(w=($imul(o,8))+6>>0,((w<0||w>=l.length)?($throwRuntimeError("index out of range"),undefined):l[w]=(($shiftRightUint64(p,8).$low<<24>>>24))));(x=($imul(o,8))+7>>0,((x<0||x>=l.length)?($throwRuntimeError("index out of range"),undefined):l[x]=((p.$low<<24>>>24))));n++;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.checkSum};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.checkSum=function(){return this.$val.checkSum();};I=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new D.ptr(Q.zero(),R.zero(),0,new $Uint64(0,0),7);b.Reset();c=b.Write(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}c;d=b.checkSum();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sum512=I;N=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,e,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=X.zero();d=a.h[0];e=a.h[1];f=a.h[2];g=a.h[3];h=a.h[4];i=a.h[5];j=a.h[6];k=a.h[7];l=d;m=e;n=f;o=g;p=h;q=i;r=j;s=k;while(true){if(!(b.$length>=128)){break;}t=0;while(true){if(!(t<16)){break;}u=$imul(t,8);((t<0||t>=c.length)?($throwRuntimeError("index out of range"),undefined):c[t]=(v=(w=(x=(y=(z=(aa=(ab=$shiftLeft64((new $Uint64(0,((u<0||u>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+u]))),56),ac=$shiftLeft64((new $Uint64(0,(ad=u+1>>0,((ad<0||ad>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ad])))),48),new $Uint64(ab.$high|ac.$high,(ab.$low|ac.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(af=u+2>>0,((af<0||af>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+af])))),40),new $Uint64(aa.$high|ae.$high,(aa.$low|ae.$low)>>>0)),ag=$shiftLeft64((new $Uint64(0,(ah=u+3>>0,((ah<0||ah>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ah])))),32),new $Uint64(z.$high|ag.$high,(z.$low|ag.$low)>>>0)),ai=$shiftLeft64((new $Uint64(0,(aj=u+4>>0,((aj<0||aj>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+aj])))),24),new $Uint64(y.$high|ai.$high,(y.$low|ai.$low)>>>0)),ak=$shiftLeft64((new $Uint64(0,(al=u+5>>0,((al<0||al>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+al])))),16),new $Uint64(x.$high|ak.$high,(x.$low|ak.$low)>>>0)),am=$shiftLeft64((new $Uint64(0,(an=u+6>>0,((an<0||an>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+an])))),8),new $Uint64(w.$high|am.$high,(w.$low|am.$low)>>>0)),ao=(new $Uint64(0,(ap=u+7>>0,((ap<0||ap>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ap])))),new $Uint64(v.$high|ao.$high,(v.$low|ao.$low)>>>0)));t=t+(1)>>0;}aq=16;while(true){if(!(aq<80)){break;}as=(ar=aq-2>>0,((ar<0||ar>=c.length)?($throwRuntimeError("index out of range"),undefined):c[ar]));bb=(at=(au=(av=$shiftRightUint64(as,19),aw=$shiftLeft64(as,45),new $Uint64(av.$high|aw.$high,(av.$low|aw.$low)>>>0)),ax=(ay=$shiftRightUint64(as,61),az=$shiftLeft64(as,3),new $Uint64(ay.$high|az.$high,(ay.$low|az.$low)>>>0)),new $Uint64(au.$high^ax.$high,(au.$low^ax.$low)>>>0)),ba=$shiftRightUint64(as,6),new $Uint64(at.$high^ba.$high,(at.$low^ba.$low)>>>0));bd=(bc=aq-15>>0,((bc<0||bc>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bc]));bm=(be=(bf=(bg=$shiftRightUint64(bd,1),bh=$shiftLeft64(bd,63),new $Uint64(bg.$high|bh.$high,(bg.$low|bh.$low)>>>0)),bi=(bj=$shiftRightUint64(bd,8),bk=$shiftLeft64(bd,56),new $Uint64(bj.$high|bk.$high,(bj.$low|bk.$low)>>>0)),new $Uint64(bf.$high^bi.$high,(bf.$low^bi.$low)>>>0)),bl=$shiftRightUint64(bd,7),new $Uint64(be.$high^bl.$high,(be.$low^bl.$low)>>>0));((aq<0||aq>=c.length)?($throwRuntimeError("index out of range"),undefined):c[aq]=(bn=(bo=(bp=(bq=aq-7>>0,((bq<0||bq>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bq])),new $Uint64(bb.$high+bp.$high,bb.$low+bp.$low)),new $Uint64(bo.$high+bm.$high,bo.$low+bm.$low)),br=(bs=aq-16>>0,((bs<0||bs>=c.length)?($throwRuntimeError("index out of range"),undefined):c[bs])),new $Uint64(bn.$high+br.$high,bn.$low+br.$low)));aq=aq+(1)>>0;}bt=l;bu=m;bv=n;bw=o;bx=p;by=q;bz=r;ca=s;cb=bt;cc=bu;cd=bv;ce=bw;cf=bx;cg=by;ch=bz;ci=ca;cj=0;while(true){if(!(cj<80)){break;}de=(ck=(cl=(cm=(cn=(co=(cp=(cq=$shiftRightUint64(cf,14),cr=$shiftLeft64(cf,50),new $Uint64(cq.$high|cr.$high,(cq.$low|cr.$low)>>>0)),cs=(ct=$shiftRightUint64(cf,18),cu=$shiftLeft64(cf,46),new $Uint64(ct.$high|cu.$high,(ct.$low|cu.$low)>>>0)),new $Uint64(cp.$high^cs.$high,(cp.$low^cs.$low)>>>0)),cv=(cw=$shiftRightUint64(cf,41),cx=$shiftLeft64(cf,23),new $Uint64(cw.$high|cx.$high,(cw.$low|cx.$low)>>>0)),new $Uint64(co.$high^cv.$high,(co.$low^cv.$low)>>>0)),new $Uint64(ci.$high+cn.$high,ci.$low+cn.$low)),cy=(cz=new $Uint64(cf.$high&cg.$high,(cf.$low&cg.$low)>>>0),da=(db=new $Uint64(~cf.$high,~cf.$low>>>0),new $Uint64(db.$high&ch.$high,(db.$low&ch.$low)>>>0)),new $Uint64(cz.$high^da.$high,(cz.$low^da.$low)>>>0)),new $Uint64(cm.$high+cy.$high,cm.$low+cy.$low)),dc=((cj<0||cj>=M.$length)?($throwRuntimeError("index out of range"),undefined):M.$array[M.$offset+cj]),new $Uint64(cl.$high+dc.$high,cl.$low+dc.$low)),dd=((cj<0||cj>=c.length)?($throwRuntimeError("index out of range"),undefined):c[cj]),new $Uint64(ck.$high+dd.$high,ck.$low+dd.$low));dw=(df=(dg=(dh=(di=$shiftRightUint64(cb,28),dj=$shiftLeft64(cb,36),new $Uint64(di.$high|dj.$high,(di.$low|dj.$low)>>>0)),dk=(dl=$shiftRightUint64(cb,34),dm=$shiftLeft64(cb,30),new $Uint64(dl.$high|dm.$high,(dl.$low|dm.$low)>>>0)),new $Uint64(dh.$high^dk.$high,(dh.$low^dk.$low)>>>0)),dn=(dp=$shiftRightUint64(cb,39),dq=$shiftLeft64(cb,25),new $Uint64(dp.$high|dq.$high,(dp.$low|dq.$low)>>>0)),new $Uint64(dg.$high^dn.$high,(dg.$low^dn.$low)>>>0)),dr=(ds=(dt=new $Uint64(cb.$high&cc.$high,(cb.$low&cc.$low)>>>0),du=new $Uint64(cb.$high&cd.$high,(cb.$low&cd.$low)>>>0),new $Uint64(dt.$high^du.$high,(dt.$low^du.$low)>>>0)),dv=new $Uint64(cc.$high&cd.$high,(cc.$low&cd.$low)>>>0),new $Uint64(ds.$high^dv.$high,(ds.$low^dv.$low)>>>0)),new $Uint64(df.$high+dr.$high,df.$low+dr.$low));ci=ch;ch=cg;cg=cf;cf=new $Uint64(ce.$high+de.$high,ce.$low+de.$low);ce=cd;cd=cc;cc=cb;cb=new $Uint64(de.$high+dw.$high,de.$low+dw.$low);cj=cj+(1)>>0;}l=(dx=cb,new $Uint64(l.$high+dx.$high,l.$low+dx.$low));m=(dy=cc,new $Uint64(m.$high+dy.$high,m.$low+dy.$low));n=(dz=cd,new $Uint64(n.$high+dz.$high,n.$low+dz.$low));o=(ea=ce,new $Uint64(o.$high+ea.$high,o.$low+ea.$low));p=(eb=cf,new $Uint64(p.$high+eb.$high,p.$low+eb.$low));q=(ec=cg,new $Uint64(q.$high+ec.$high,q.$low+ec.$low));r=(ed=ch,new $Uint64(r.$high+ed.$high,r.$low+ed.$low));s=(ee=ci,new $Uint64(s.$high+ee.$high,s.$low+ee.$low));b=$subslice(b,128);}ef=l;eg=m;eh=n;ei=o;ej=p;ek=q;el=r;em=s;a.h[0]=ef;a.h[1]=eg;a.h[2]=eh;a.h[3]=ei;a.h[4]=ej;a.h[5]=ek;a.h[6]=el;a.h[7]=em;};Y.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([S],[$Int,$error],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([S],[S],false)},{prop:"checkSum",name:"checkSum",pkg:"crypto/sha512",typ:$funcType([],[T],false)}];D.init("crypto/sha512",[{prop:"h",name:"h",anonymous:false,exported:false,typ:Q,tag:""},{prop:"x",name:"x",anonymous:false,exported:false,typ:R,tag:""},{prop:"nx",name:"nx",anonymous:false,exported:false,typ:$Int,tag:""},{prop:"len",name:"len",anonymous:false,exported:false,typ:$Uint64,tag:""},{prop:"function$4",name:"function",anonymous:false,exported:false,typ:A.Hash,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}M=new P([new $Uint64(1116352408,3609767458),new $Uint64(1899447441,602891725),new $Uint64(3049323471,3964484399),new $Uint64(3921009573,2173295548),new $Uint64(961987163,4081628472),new $Uint64(1508970993,3053834265),new $Uint64(2453635748,2937671579),new $Uint64(2870763221,3664609560),new $Uint64(3624381080,2734883394),new $Uint64(310598401,1164996542),new $Uint64(607225278,1323610764),new $Uint64(1426881987,3590304994),new $Uint64(1925078388,4068182383),new $Uint64(2162078206,991336113),new $Uint64(2614888103,633803317),new $Uint64(3248222580,3479774868),new $Uint64(3835390401,2666613458),new $Uint64(4022224774,944711139),new $Uint64(264347078,2341262773),new $Uint64(604807628,2007800933),new $Uint64(770255983,1495990901),new $Uint64(1249150122,1856431235),new $Uint64(1555081692,3175218132),new $Uint64(1996064986,2198950837),new $Uint64(2554220882,3999719339),new $Uint64(2821834349,766784016),new $Uint64(2952996808,2566594879),new $Uint64(3210313671,3203337956),new $Uint64(3336571891,1034457026),new $Uint64(3584528711,2466948901),new $Uint64(113926993,3758326383),new $Uint64(338241895,168717936),new $Uint64(666307205,1188179964),new $Uint64(773529912,1546045734),new $Uint64(1294757372,1522805485),new $Uint64(1396182291,2643833823),new $Uint64(1695183700,2343527390),new $Uint64(1986661051,1014477480),new $Uint64(2177026350,1206759142),new $Uint64(2456956037,344077627),new $Uint64(2730485921,1290863460),new $Uint64(2820302411,3158454273),new $Uint64(3259730800,3505952657),new $Uint64(3345764771,106217008),new $Uint64(3516065817,3606008344),new $Uint64(3600352804,1432725776),new $Uint64(4094571909,1467031594),new $Uint64(275423344,851169720),new $Uint64(430227734,3100823752),new $Uint64(506948616,1363258195),new $Uint64(659060556,3750685593),new $Uint64(883997877,3785050280),new $Uint64(958139571,3318307427),new $Uint64(1322822218,3812723403),new $Uint64(1537002063,2003034995),new $Uint64(1747873779,3602036899),new $Uint64(1955562222,1575990012),new $Uint64(2024104815,1125592928),new $Uint64(2227730452,2716904306),new $Uint64(2361852424,442776044),new $Uint64(2428436474,593698344),new $Uint64(2756734187,3733110249),new $Uint64(3204031479,2999351573),new $Uint64(3329325298,3815920427),new $Uint64(3391569614,3928383900),new $Uint64(3515267271,566280711),new $Uint64(3940187606,3454069534),new $Uint64(4118630271,4000239992),new $Uint64(116418474,1914138554),new $Uint64(174292421,2731055270),new $Uint64(289380356,3203993006),new $Uint64(460393269,320620315),new $Uint64(685471733,587496836),new $Uint64(852142971,1086792851),new $Uint64(1017036298,365543100),new $Uint64(1126000580,2618297676),new $Uint64(1288033470,3409855158),new $Uint64(1501505948,4234509866),new $Uint64(1607167915,987167468),new $Uint64(1816402316,1246189591)]);O=N;C();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();