diff --git a/_docs/example.tmpl.html b/_docs/example.tmpl.html index 4cc7ce82c..32888544d 100644 --- a/_docs/example.tmpl.html +++ b/_docs/example.tmpl.html @@ -1,3 +1,25 @@ {{comment .License}} - + + +{{with .Example}} +

{{.Name}}

+ +
{{.Source}}
+{{end}} + + diff --git a/_docs/examplecontent.tmpl.html b/_docs/examplecontent.tmpl.html new file mode 100644 index 000000000..4cc7ce82c --- /dev/null +++ b/_docs/examplecontent.tmpl.html @@ -0,0 +1,3 @@ + +{{comment .License}} + diff --git a/_docs/gen.go b/_docs/gen.go index 862e89651..d7af23a07 100644 --- a/_docs/gen.go +++ b/_docs/gen.go @@ -4,7 +4,7 @@ // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, @@ -26,6 +26,7 @@ import ( "path/filepath" "regexp" "strings" + "time" ) var license = "" @@ -40,6 +41,12 @@ func init() { // TODO: Year check } +var copyright = "" + +func init() { + copyright = fmt.Sprintf("© %d Hajime Hoshi", time.Now().Year()) +} + var stableVersion = "" var devVersion = "" @@ -73,20 +80,28 @@ type example struct { Name string } -func (e *example) Width() int { +func (e *example) ThumbWidth() int { if e.Name == "blocks" { return 256 } return 320 } -func (e *example) Height() int { +func (e *example) ThumbHeight() int { if e.Name == "blocks" { return 240 } return 240 } +func (e *example) Width() int { + return e.ThumbWidth() * 2 +} + +func (e *example) Height() int { + return e.ThumbHeight() * 2 +} + func (e *example) Source() string { if e.Name == "blocks" { return "// Please read example/blocks/main.go and example/blocks/blocks/*.go" @@ -107,15 +122,39 @@ func versions() string { } var examples = []example{ - {Name: "blocks"}, {Name: "hue"}, + {Name: "keyboard"}, {Name: "mosaic"}, {Name: "perspective"}, {Name: "rotate"}, + {Name: "blocks"}, } func clear() error { - // TODO: favicon? + if err := filepath.Walk("public", func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + // Remove auto-generated html files. + m, err := regexp.MatchString(".html$", path) + if err != nil { + return err + } + if !m { + return nil + } + // Remove example resources that are copied. + m, err = regexp.MatchString("public/example/images", path) + if err != nil { + return err + } + if !m { + return nil + } + return os.Remove(path) + }); err != nil { + return err + } return nil } @@ -139,6 +178,7 @@ func outputMain() error { data := map[string]interface{}{ "License": license, + "Copyright": copyright, "StableVersion": stableVersion, "DevVersion": devVersion, "Examples": examples, @@ -146,6 +186,46 @@ func outputMain() error { return t.Funcs(funcs).Execute(f, data) } +func outputExampleContent(e *example) error { + const dir = "public/example" + if err := os.MkdirAll(dir, 0755); err != nil { + return err + } + f, err := os.Create(filepath.Join(dir, e.Name+".content.html")) + if err != nil { + return err + } + defer f.Close() + + funcs := template.FuncMap{ + "comment": comment, + "safeHTML": safeHTML, + } + const templatePath = "examplecontent.tmpl.html" + name := filepath.Base(templatePath) + t, err := template.New(name).Funcs(funcs).ParseFiles(templatePath) + if err != nil { + return err + } + + data := map[string]interface{}{ + "License": license, + "Copyright": copyright, + "Example": e, + } + if err := t.Funcs(funcs).Execute(f, data); err != nil { + return err + } + + out := filepath.Join(dir, e.Name+".js") + path := "github.com/hajimehoshi/ebiten/example/" + e.Name + if err := exec.Command("gopherjs", "build", "-m", "-o", out, path).Run(); err != nil { + return err + } + + return nil +} + func outputExample(e *example) error { const dir = "public/example" if err := os.MkdirAll(dir, 0755); err != nil { @@ -169,20 +249,11 @@ func outputExample(e *example) error { } data := map[string]interface{}{ - "License": license, - "Example": e, + "License": license, + "Copyright": copyright, + "Example": e, } - if err := t.Funcs(funcs).Execute(f, data); err != nil { - return err - } - - out := filepath.Join(dir, e.Name+".js") - path := "github.com/hajimehoshi/ebiten/example/" + e.Name - if err := exec.Command("gopherjs", "build", "-m", "-o", out, path).Run(); err != nil { - return err - } - - return nil + return t.Funcs(funcs).Execute(f, data) } func main() { @@ -193,6 +264,9 @@ func main() { log.Fatal(err) } for _, e := range examples { + if err := outputExampleContent(&e); err != nil { + log.Fatal(err) + } if err := outputExample(&e); err != nil { log.Fatal(err) } diff --git a/_docs/index.tmpl.html b/_docs/index.tmpl.html index 4990636b3..800845e9b 100644 --- a/_docs/index.tmpl.html +++ b/_docs/index.tmpl.html @@ -7,27 +7,11 @@ body { font-family: sans-serif; } -table.examples { - border-collapse: separate; - border-spacing: 0 1em; -} -table.examples td { - padding: 0; - vertical-align: top; -} -table.examples td.code pre { - height: 240px; - margin: 0; - overflow: auto; -} -table.examples td.screen { - padding-left: 1em; -} -table.examples iframe, table.examples img { +img.example { + background-color: #000; border-color: #999; border-style: solid; border-width: 1px; - overflow: hidden; } pre { background: #eee; @@ -61,20 +45,11 @@ pre {

Example

- +

{{range .Examples}} -

- - {{if eq .Name "blocks"}} - - {{else}} - - {{end}} - + Ebiten example: {{.Name}} {{end}} -
// {{.Name}}
-
-{{.Source}}
Click to play!
+

Install on Mac OS X

:; brew install glew
@@ -88,19 +63,16 @@ pre {
 
:; cd $GOHOME/src/github.com/hajimehoshi/ebiten/example
 :; go run rotate/main.go
-

Execute the example on a web browser

-

If you can the example screens above, Ebiten is working on your browser! Each example above works as an independent html in an iframe. If you want to execute the examples apart from this site, execute this:

-
:; go run $GOPATH/src/github.com/hajimehoshi/ebiten/example/server/main.go
-

Then, open localhost:8000 on your browser.

-

localhost:8000/?EXAMPLE_NAME shows other examples (e.g. localhost:8000/?rotate).

-

Of cource, you can execute gopherjs yourself. Please see GopherJS site for more detail.

+

Run your game on a desktop

+

Just execute your Go program. That's it!

Run your game on a web browser

-

Compile your game with GopherJS:

+

Compile your game with GopherJS:

:; gopherjs build -o yourgame.js path/to/yourgame

Then, open the below HTML on your HTTP server:

<!DOCTYPE html>
 <script src="yourgame.js"></script>
+

NOTE: file:// URL may not work with Ebiten. Execute your game on a HTTP server.

Change Log

2015-??-??

@@ -137,3 +109,5 @@ pre {
{{.License}}

Go Gopher photograph

The original photograph of Go gophers by Chris Nokleberg is licensed under the Creative Commons 3.0 Attributions license.

+ +
{{.Copyright}}
diff --git a/_docs/public/example/blocks.content.html b/_docs/public/example/blocks.content.html new file mode 100644 index 000000000..12d847906 --- /dev/null +++ b/_docs/public/example/blocks.content.html @@ -0,0 +1,18 @@ + + + diff --git a/_docs/public/example/blocks.html b/_docs/public/example/blocks.html index 12d847906..2f5e6c8bc 100644 --- a/_docs/public/example/blocks.html +++ b/_docs/public/example/blocks.html @@ -15,4 +15,26 @@ See the License for the specific language governing permissions and limitations under the License. --> - + + + +

blocks

+ +
// Please read example/blocks/main.go and example/blocks/blocks/*.go
+ + +
© 2015 Hajime Hoshi
diff --git a/_docs/public/example/blocks.js b/_docs/public/example/blocks.js index 0cf3ffd60..6e66ff912 100644 --- a/_docs/public/example/blocks.js +++ b/_docs/public/example/blocks.js @@ -15,7 +15,7 @@ $packages["bytes"]=(function(){var $pkg={},A,B,D,C,BJ,BK,BL,BM,H,I,E,J,K;A=$pack $packages["syscall"]=(function(){var $pkg={},A,E,B,D,C,MD,ME,MF,ML,MS,MT,MZ,NE,NG,NH,NK,NX,NY,NZ,OA,OF,OG,OI,OK,EQ,ER,KF,KI,KO,KW,F,G,N,O,P,AP,AQ,AR,AS,DT,FS,H,I,J,K,L,Q,R,S,V,AU,AW,BH,CQ,CR,CT,CY,DO,DY,DZ,ET,EU,GM,GP,HA,HE,HF,HH,HI,HL,HN,HO,HP,II,IR,IT,IU,IV,JA,JY,JZ,KA;A=$packages["bytes"];E=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["runtime"];C=$packages["sync"];EQ=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper","mmapper","syscall",function(Mutex_,active_,mmap_,munmap_){this.$val=this;this.Mutex=Mutex_!==undefined?Mutex_:new C.Mutex.Ptr();this.active=active_!==undefined?active_:false;this.mmap=mmap_!==undefined?mmap_:$throwNilPointerError;this.munmap=munmap_!==undefined?munmap_:$throwNilPointerError;});ER=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno","Errno","syscall",null);KF=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int","_C_int","syscall",null);KI=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec","Timespec","syscall",function(Sec_,Nsec_){this.$val=this;this.Sec=Sec_!==undefined?Sec_:new $Int64(0,0);this.Nsec=Nsec_!==undefined?Nsec_:new $Int64(0,0);});KO=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t","Stat_t","syscall",function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;this.Dev=Dev_!==undefined?Dev_:0;this.Mode=Mode_!==undefined?Mode_:0;this.Nlink=Nlink_!==undefined?Nlink_:0;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Uid=Uid_!==undefined?Uid_:0;this.Gid=Gid_!==undefined?Gid_:0;this.Rdev=Rdev_!==undefined?Rdev_:0;this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:NG.zero();this.Atimespec=Atimespec_!==undefined?Atimespec_:new KI.Ptr();this.Mtimespec=Mtimespec_!==undefined?Mtimespec_:new KI.Ptr();this.Ctimespec=Ctimespec_!==undefined?Ctimespec_:new KI.Ptr();this.Birthtimespec=Birthtimespec_!==undefined?Birthtimespec_:new KI.Ptr();this.Size=Size_!==undefined?Size_:new $Int64(0,0);this.Blocks=Blocks_!==undefined?Blocks_:new $Int64(0,0);this.Blksize=Blksize_!==undefined?Blksize_:0;this.Flags=Flags_!==undefined?Flags_:0;this.Gen=Gen_!==undefined?Gen_:0;this.Lspare=Lspare_!==undefined?Lspare_:0;this.Qspare=Qspare_!==undefined?Qspare_:OG.zero();});KW=$pkg.Dirent=$newType(0,$kindStruct,"syscall.Dirent","Dirent","syscall",function(Ino_,Seekoff_,Reclen_,Namlen_,Type_,Name_,Pad_cgo_0_){this.$val=this;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Seekoff=Seekoff_!==undefined?Seekoff_:new $Uint64(0,0);this.Reclen=Reclen_!==undefined?Reclen_:0;this.Namlen=Namlen_!==undefined?Namlen_:0;this.Type=Type_!==undefined?Type_:0;this.Name=Name_!==undefined?Name_:OI.zero();this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:OK.zero();});H=function(){$flushConsole=(function(){if(!((G.$length===0))){$global.console.log($externalize($bytesToString(G),$String));G=MD.nil;}});};I=function(){if(!F){console.log("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md");}F=true;};J=function(i){var j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=A.IndexByte(G,10);if(k===-1){break;}$global.console.log($externalize($bytesToString($subslice(G,0,k)),$String));G=$subslice(G,(k+1>>0));}};K=function(i){};L=function(){var i,j,k,l,m,n;i=$global.process;if(i===undefined){return ME.nil;}j=i.env;k=$global.Object.keys(j);l=ME.make($parseInt(k.length));m=0;while(m<$parseInt(k.length)){n=$internalize(k[m],$String);(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String);m=m+(1)>>0;}return l;};Q=function(i){var $deferred=[],$err=null,j;try{$deferFrames.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(N===null){if(O){return null;}O=true;j=$global.require;if(j===undefined){$panic(new $String(""));}N=j($externalize("syscall",$String));}return N[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};R=$pkg.Syscall=function(i,j,k,l){var m=0,n=0,o=0,p,q,r,s,t,u,v,w,x,y,z,aa,ab;p=Q("Syscall");if(!(p===null)){q=p(i,j,k,l);r=(($parseInt(q[0])>>0)>>>0);s=(($parseInt(q[1])>>0)>>>0);t=(($parseInt(q[2])>>0)>>>0);m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=MD.make($parseInt(u.length));v.$array=u;J(v);w=($parseInt(u.length)>>>0);x=0;y=0;m=w;n=x;o=y;return[m,n,o];}I();z=(P>>>0);aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};S=$pkg.Syscall6=function(i,j,k,l,m,n,o){var p=0,q=0,r=0,s,t,u,v,w,x,y,z;s=Q("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=(($parseInt(t[0])>>0)>>>0);v=(($parseInt(t[1])>>0)>>>0);w=(($parseInt(t[2])>>0)>>>0);p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=(P>>>0);y=0;z=13;p=x;q=y;r=z;return[p,q,r];};V=$pkg.BytePtrFromString=function(i){var j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=new MD($stringToBytes(i));l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(n===0){return[MF.nil,new ER(22)];}j[m]=n;l++;}j[i.length]=0;return[j,$ifaceNil];};AU=function(){var i,j,k,l,m,n,o,p,q,r;AR=new $Map();i=AS;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=0;while(m=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+k]="";}break;}m=m+(1)>>0;}j++;}};AW=$pkg.Getenv=function(i){var j="",k=false,$deferred=[],$err=null,l,m,n,o,p,q,r,s,t,u,v,w,x,y;try{$deferFrames.push($deferred);AP.Do(AU);if(i.length===0){l="";m=false;j=l;k=m;return[j,k];}AQ.RLock();$deferred.push([$methodVal(AQ,"RUnlock"),[]]);n=(o=AR[i],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;return[j,k];}t=((p<0||p>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+p]);u=0;while(u>0));w=true;j=v;k=w;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;return[j,k];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[j,k];}};BH=$pkg.CloseOnExec=function(i){GP(i,2,1);};CQ=function(i){if(i<0){return"-"+CR((-i>>>0));}return CR((i>>>0));};CR=function(i){var j,k,l,m;j=$clone(MZ.zero(),MZ);k=31;while(i>=10){(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((i+48>>>0)<<24>>>24);return $bytesToString($subslice(new MD(j),k));};CT=$pkg.ByteSliceFromString=function(i){var j,k;j=0;while(j>0;}k=MD.make((i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};KI.Ptr.prototype.Unix=function(){var i=new $Int64(0,0),j=new $Int64(0,0),k,l,m;k=this;l=k.Sec;m=k.Nsec;i=l;j=m;return[i,j];};KI.prototype.Unix=function(){return this.$val.Unix();};KI.Ptr.prototype.Nano=function(){var i,j,k;i=this;return(j=$mul64(i.Sec,new $Int64(0,1000000000)),k=i.Nsec,new $Int64(j.$high+k.$high,j.$low+k.$low));};KI.prototype.Nano=function(){return this.$val.Nano();};CY=$pkg.ReadDirent=function(i,j){var k=0,l=$ifaceNil,m,n;m=new Uint8Array(8);n=HP(i,j,m);k=n[0];l=n[1];if(true&&($interfaceIsEqual(l,new ER(22))||$interfaceIsEqual(l,new ER(2)))){l=$ifaceNil;}return[k,l];};DO=$pkg.Sysctl=function(i){var j="",k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=DY(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=GM(m,MF.nil,new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){q="";r=k;j=q;k=r;return[j,k];}if(p===0){s="";t=$ifaceNil;j=s;k=t;return[j,k];}u=MD.make(p);k=GM(m,new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},u),new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){v="";w=k;j=v;k=w;return[j,k];}if(p>0&&((x=p-1>>>0,((x<0||x>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+x]))===0)){p=p-(1)>>>0;}y=$bytesToString($subslice(u,0,p));z=$ifaceNil;j=y;k=z;return[j,k];};DY=function(i){var j=MS.nil,k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w;l=$clone(NH.zero(),NH);m=48;n=$sliceToArray(new NE(l));o=CT(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=MS.nil;r=k;j=q;k=r;return[j,k];}k=GM(new MS([0,3]),n,new MT(function(){return m;},function($v){m=$v;}),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),(i.length>>>0));if(!($interfaceIsEqual(k,$ifaceNil))){s=MS.nil;t=k;j=s;k=t;return[j,k];}u=$subslice(new MS(l),0,(v=m/4,(v===v&&v!==1/0&&v!==-1/0)?v>>>0:$throwRuntimeError("integer divide by zero")));w=$ifaceNil;j=u;k=w;return[j,k];};DZ=$pkg.ParseDirent=function(i,j,k){var l=0,m=0,n=ME.nil,o,p,q,r,s,t,u,v,w,x,y;o=i.$length;while(!((j===0))&&i.$length>0){p=[undefined];p[0]=(q=$sliceToArray(i),r=new KW.Ptr(),s=new DataView(q.buffer,q.byteOffset),r.Ino=new $Uint64(s.getUint32(4,true),s.getUint32(0,true)),r.Seekoff=new $Uint64(s.getUint32(12,true),s.getUint32(8,true)),r.Reclen=s.getUint16(16,true),r.Namlen=s.getUint16(18,true),r.Type=s.getUint8(20,true),r.Name=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+21,q.buffer.byteLength)),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+1045,q.buffer.byteLength)),r);if(p[0].Reclen===0){i=MD.nil;break;}i=$subslice(i,p[0].Reclen);if((t=p[0].Ino,(t.$high===0&&t.$low===0))){continue;}u=$sliceToArray(new NE(p[0].Name));v=$bytesToString($subslice(new MD(u),0,p[0].Namlen));if(v==="."||v===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,v);}w=o-i.$length>>0;x=m;y=k;l=w;m=x;n=y;return[l,m,n];};EQ.Ptr.prototype.Mmap=function(i,j,k,l,m){var n=MD.nil,o=$ifaceNil,$deferred=[],$err=null,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;try{$deferFrames.push($deferred);p=this;if(k<=0){q=MD.nil;r=new ER(22);n=q;o=r;return[n,o];}s=p.mmap(0,(k>>>0),l,m,i,j);t=s[0];u=s[1];if(!($interfaceIsEqual(u,$ifaceNil))){v=MD.nil;w=u;n=v;o=w;return[n,o];}x=new NK.Ptr(t,k,k);y=x;ab=new MF(function(){return(aa=y.$capacity-1>>0,((aa<0||aa>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+aa]));},function($v){(z=y.$capacity-1>>0,(z<0||z>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+z]=$v);},y);p.Mutex.Lock();$deferred.push([$methodVal(p.Mutex,"Unlock"),[]]);ac=ab;(p.active||$throwRuntimeError("assignment to entry in nil map"))[ac.$key()]={k:ac,v:y};ad=y;ae=$ifaceNil;n=ad;o=ae;return[n,o];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[n,o];}};EQ.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EQ.Ptr.prototype.Munmap=function(i){var j=$ifaceNil,$deferred=[],$err=null,k,l,m,n,o,p,q;try{$deferFrames.push($deferred);k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new ER(22);return j;}n=new MF(function(){return(m=i.$capacity-1>>0,((m<0||m>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+m]));},function($v){(l=i.$capacity-1>>0,(l<0||l>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+l]=$v);},i);k.Mutex.Lock();$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);p=(o=k.active[n.$key()],o!==undefined?o.v:MD.nil);if(p===MD.nil||!($pointerIsEqual(new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},i)))){j=new ER(22);return j;}q=k.munmap($sliceToArray(p),(p.$length>>>0));if(!($interfaceIsEqual(q,$ifaceNil))){j=q;return j;}delete k.active[n.$key()];j=$ifaceNil;return j;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return j;}};EQ.prototype.Munmap=function(i){return this.$val.Munmap(i);};ER.prototype.Error=function(){var i,j;i=this.$val!==undefined?this.$val:this;if(0<=(i>>0)&&(i>>0)<106){j=((i<0||i>=FS.length)?$throwRuntimeError("index out of range"):FS[i]);if(!(j==="")){return j;}}return"errno "+CQ((i>>0));};$ptrType(ER).prototype.Error=function(){return new ER(this.$get()).Error();};ER.prototype.Temporary=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===4)||(i===24)||(i===54)||(i===53)||new ER(i).Timeout();};$ptrType(ER).prototype.Temporary=function(){return new ER(this.$get()).Temporary();};ER.prototype.Timeout=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===35)||(i===35)||(i===60);};$ptrType(ER).prototype.Timeout=function(){return new ER(this.$get()).Timeout();};ET=$pkg.Read=function(i,j){var k=0,l=$ifaceNil,m;m=IV(i,j);k=m[0];l=m[1];return[k,l];};EU=$pkg.Write=function(i,j){var k=0,l=$ifaceNil,m;m=JY(i,j);k=m[0];l=m[1];return[k,l];};GM=function(i,j,k,l,m){var n=$ifaceNil,o,p,q;o=0;if(i.$length>0){o=$sliceToArray(i);}else{o=new Uint8Array(0);}p=S(202,o,(i.$length>>>0),j,k,l,m);q=p[2];if(!((q===0))){n=new ER(q);}return n;};GP=function(i,j,k){var l=0,m=$ifaceNil,n,o,p;n=R(92,(i>>>0),(j>>>0),(k>>>0));o=n[0];p=n[2];l=(o>>0);if(!((p===0))){m=new ER(p);}return[l,m];};HA=$pkg.Close=function(i){var j=$ifaceNil,k,l;k=R(6,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HE=$pkg.Exit=function(i){R(1,(i>>>0),0,0);return;};HF=$pkg.Fchdir=function(i){var j=$ifaceNil,k,l;k=R(13,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HH=$pkg.Fchmod=function(i,j){var k=$ifaceNil,l,m;l=R(124,(i>>>0),(j>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HI=$pkg.Fchown=function(i,j,k){var l=$ifaceNil,m,n;m=R(123,(i>>>0),(j>>>0),(k>>>0));n=m[2];if(!((n===0))){l=new ER(n);}return l;};HL=$pkg.Fstat=function(i,j){var k=$ifaceNil,l,m,n,o,p;m=new Uint8Array(144);l=R(339,(i>>>0),m,0);p=l[2];n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));if(!((p===0))){k=new ER(p);}return k;};HN=$pkg.Fsync=function(i){var j=$ifaceNil,k,l;k=R(95,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HO=$pkg.Ftruncate=function(i,j){var k=$ifaceNil,l,m;l=R(201,(i>>>0),(j.$low>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HP=$pkg.Getdirentries=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(344,(i>>>0),n,(j.$length>>>0),k,0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};II=$pkg.Lstat=function(i,j){var k=$ifaceNil,l,m,n,o,p,q,r;l=MF.nil;m=V(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=R(340,l,o,0);r=n[2];p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));K(l);if(!((r===0))){k=new ER(r);}return k;};IR=$pkg.Open=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q,r;n=MF.nil;o=V(i);n=o[0];m=o[1];if(!($interfaceIsEqual(m,$ifaceNil))){return[l,m];}p=R(5,n,(j>>>0),(k>>>0));q=p[0];r=p[2];K(n);l=(q>>0);if(!((r===0))){m=new ER(r);}return[l,m];};IT=$pkg.Pread=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(153,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IU=$pkg.Pwrite=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(154,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IV=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(3,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JA=$pkg.Seek=function(i,j,k){var l=new $Int64(0,0),m=$ifaceNil,n,o,p;n=R(199,(i>>>0),(j.$low>>>0),(k>>>0));o=n[0];p=n[2];l=new $Int64(0,o.constructor===Number?o:1);if(!((p===0))){m=new ER(p);}return[l,m];};JY=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(4,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JZ=function(i,j,k,l,m,n){var o=0,p=$ifaceNil,q,r,s;q=S(197,i,j,(k>>>0),(l>>>0),(m>>>0),(n.$low>>>0));r=q[0];s=q[2];o=r;if(!((s===0))){p=new ER(s);}return[o,p];};KA=function(i,j){var k=$ifaceNil,l,m;l=R(73,i,j,0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}MD=$sliceType($Uint8);ME=$sliceType($String);MF=$ptrType($Uint8);ML=$ptrType(ER);MS=$sliceType(KF);MT=$ptrType($Uintptr);MZ=$arrayType($Uint8,32);NE=$sliceType($Uint8);NG=$arrayType($Uint8,4);NH=$arrayType(KF,14);NK=$structType([["addr","addr","syscall",$Uintptr,""],["len","len","syscall",$Int,""],["cap","cap","syscall",$Int,""]]);NX=$ptrType(EQ);NY=$mapType(MF,MD);NZ=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);OA=$funcType([$Uintptr,$Uintptr],[$error],false);OF=$ptrType(KI);OG=$arrayType($Int64,2);OI=$arrayType($Int8,1024);OK=$arrayType($Uint8,3);NX.methods=[["Lock","Lock","",$funcType([],[],false),0],["Mmap","Mmap","",$funcType([$Int,$Int64,$Int,$Int,$Int],[MD,$error],false),-1],["Munmap","Munmap","",$funcType([MD],[$error],false),-1],["Unlock","Unlock","",$funcType([],[],false),0]];EQ.init([["Mutex","","",C.Mutex,""],["active","active","syscall",NY,""],["mmap","mmap","syscall",NZ,""],["munmap","munmap","syscall",OA,""]]);ER.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];ML.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];OF.methods=[["Nano","Nano","",$funcType([],[$Int64],false),-1],["Unix","Unix","",$funcType([],[$Int64,$Int64],false),-1]];KI.init([["Sec","Sec","",$Int64,""],["Nsec","Nsec","",$Int64,""]]);KO.init([["Dev","Dev","",$Int32,""],["Mode","Mode","",$Uint16,""],["Nlink","Nlink","",$Uint16,""],["Ino","Ino","",$Uint64,""],["Uid","Uid","",$Uint32,""],["Gid","Gid","",$Uint32,""],["Rdev","Rdev","",$Int32,""],["Pad_cgo_0","Pad_cgo_0","",NG,""],["Atimespec","Atimespec","",KI,""],["Mtimespec","Mtimespec","",KI,""],["Ctimespec","Ctimespec","",KI,""],["Birthtimespec","Birthtimespec","",KI,""],["Size","Size","",$Int64,""],["Blocks","Blocks","",$Int64,""],["Blksize","Blksize","",$Int32,""],["Flags","Flags","",$Uint32,""],["Gen","Gen","",$Uint32,""],["Lspare","Lspare","",$Int32,""],["Qspare","Qspare","",OG,""]]);KW.init([["Ino","Ino","",$Uint64,""],["Seekoff","Seekoff","",$Uint64,""],["Reclen","Reclen","",$Uint16,""],["Namlen","Namlen","",$Uint16,""],["Type","Type","",$Uint8,""],["Name","Name","",OI,""],["Pad_cgo_0","Pad_cgo_0","",OK,""]]);G=MD.nil;N=null;AP=new C.Once.Ptr();AQ=new C.RWMutex.Ptr();AR=false;F=false;O=false;P=-1;AS=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;FS=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by 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","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","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 family","address already in use","can't 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","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);DT=new EQ.Ptr(new C.Mutex.Ptr(),new $Map(),JZ,KA);H();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},F,I,J,A,D;A=$pkg.Mutex=$newType(0,$kindStruct,"nosync.Mutex","Mutex","github.com/gopherjs/gopherjs/nosync",function(locked_){this.$val=this;this.locked=locked_!==undefined?locked_:false;});D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once","Once","github.com/gopherjs/gopherjs/nosync",function(doing_,done_){this.$val=this;this.doing=doing_!==undefined?doing_:false;this.done=done_!==undefined?done_:false;});A.Ptr.prototype.Lock=function(){var a;a=this;if(a.locked){$panic(new $String("nosync: mutex is already locked"));}a.locked=true;};A.prototype.Lock=function(){return this.$val.Lock();};A.Ptr.prototype.Unlock=function(){var a;a=this;if(!a.locked){$panic(new $String("nosync: unlock of unlocked mutex"));}a.locked=false;};A.prototype.Unlock=function(){return this.$val.Unlock();};D.Ptr.prototype.Do=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;if(b.done){return;}if(b.doing){$panic(new $String("nosync: Do called within f"));}b.doing=true;$deferred.push([(function(){b.doing=false;b.done=true;}),[]]);a();}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};D.prototype.Do=function(a){return this.$val.Do(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:F=$ptrType(A);I=$funcType([],[],false);J=$ptrType(D);F.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];A.init([["locked","locked","github.com/gopherjs/gopherjs/nosync",$Bool,""]]);J.methods=[["Do","Do","",$funcType([I],[],false),-1]];D.init([["doing","doing","github.com/gopherjs/gopherjs/nosync",$Bool,""],["done","done","github.com/gopherjs/gopherjs/nosync",$Bool,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strings"]=(function(){var $pkg={},B,A,C,E,D,BY,F,AB,AC,AD,AH,AI,BU;B=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];E=$packages["unicode"];D=$packages["unicode/utf8"];F=$pkg.IndexByte=function(b,c){return $parseInt(b.indexOf($global.String.fromCharCode(c)))>>0;};AB=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=0;while(d>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d+(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AC=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=b.length-1>>0;while(d>=0){c=((((c>>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d-(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AD=$pkg.Count=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=0;if(c.length===0){return D.RuneCountInString(b)+1>>0;}else if(c.length===1){e=c.charCodeAt(0);f=0;while(f>0;}f=f+(1)>>0;}return d;}else if(c.length>b.length){return 0;}else if(c.length===b.length){if(c===b){return 1;}return 0;}g=AB(c);h=g[0];i=g[1];j=0;k=0;while(k>>16<<16)*16777619>>>0)+(j<<16>>>16)*16777619)>>>0)+(b.charCodeAt(k)>>>0)>>>0;k=k+(1)>>0;}l=0;if((j===h)&&b.substring(0,c.length)===c){d=d+(1)>>0;l=c.length;}m=c.length;while(m>>16<<16)*n>>>0)+(j<<16>>>16)*n)>>>0);j=j+((b.charCodeAt(m)>>>0))>>>0;j=j-((o=(b.charCodeAt((m-c.length>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;m=m+(1)>>0;if((j===h)&&l<=(m-c.length>>0)&&b.substring((m-c.length>>0),m)===c){d=d+(1)>>0;l=m;}}return d;};AH=$pkg.Index=function(b,c){var d,e,f,g,h,i,j,k,l;d=c.length;if(d===0){return 0;}else if(d===1){return F(b,c.charCodeAt(0));}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}e=AB(c);f=e[0];g=e[1];h=0;i=0;while(i>>16<<16)*16777619>>>0)+(h<<16>>>16)*16777619)>>>0)+(b.charCodeAt(i)>>>0)>>>0;i=i+(1)>>0;}if((h===f)&&b.substring(0,d)===c){return 0;}j=d;while(j>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);h=h+((b.charCodeAt(j)>>>0))>>>0;h=h-((l=(b.charCodeAt((j-d>>0))>>>0),(((g>>>16<<16)*l>>>0)+(g<<16>>>16)*l)>>>0))>>>0;j=j+(1)>>0;if((h===f)&&b.substring((j-d>>0),j)===c){return j-d>>0;}}return-1;};AI=$pkg.LastIndex=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=c.length;if(d===0){return b.length;}else if(d===1){e=c.charCodeAt(0);f=b.length-1>>0;while(f>=0){if(b.charCodeAt(f)===e){return f;}f=f-(1)>>0;}return-1;}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}g=AC(c);h=g[0];i=g[1];j=b.length-d>>0;k=0;l=b.length-1>>0;while(l>=j){k=((((k>>>16<<16)*16777619>>>0)+(k<<16>>>16)*16777619)>>>0)+(b.charCodeAt(l)>>>0)>>>0;l=l-(1)>>0;}if((k===h)&&b.substring(j)===c){return j;}m=j-1>>0;while(m>=0){k=(n=16777619,(((k>>>16<<16)*n>>>0)+(k<<16>>>16)*n)>>>0);k=k+((b.charCodeAt(m)>>>0))>>>0;k=k-((o=(b.charCodeAt((m+d>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;if((k===h)&&b.substring(m,(m+d>>0))===c){return m;}m=m-(1)>>0;}return-1;};BU=$pkg.Replace=function(b,c,d,e){var f,g,h,i,j,k,l,m;if(c===d||(e===0)){return b;}f=AD(b,c);if(f===0){return b;}else if(e<0||f>0))>>0)>>0));h=0;i=0;j=0;while(j0){l=D.DecodeRuneInString(b.substring(i));m=l[1];k=k+(m)>>0;}}else{k=k+(AH(b.substring(i),c))>>0;}h=h+($copyString($subslice(g,h),b.substring(i,k)))>>0;h=h+($copyString($subslice(g,h),d))>>0;i=k+c.length>>0;j=j+(1)>>0;}h=h+($copyString($subslice(g,h),b.substring(i)))>>0;return $bytesToString($subslice(g,0,h));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}BY=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DM,DN,DO,DQ,DR,DS,DT,G,AB,AS,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,AP,BI,BK,BS,CD,CE,CF,CH,CL,CS,h,i,j,H,I,J,K,L,M,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,AQ,AR,AT,AU,AV,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];G=$pkg.runtimeTimer=$newType(0,$kindStruct,"time.runtimeTimer","runtimeTimer","time",function(i_,when_,period_,f_,arg_,timeout_,active_){this.$val=this;this.i=i_!==undefined?i_:0;this.when=when_!==undefined?when_:new $Int64(0,0);this.period=period_!==undefined?period_:new $Int64(0,0);this.f=f_!==undefined?f_:$throwNilPointerError;this.arg=arg_!==undefined?arg_:$ifaceNil;this.timeout=timeout_!==undefined?timeout_:null;this.active=active_!==undefined?active_:false;});AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});AS=$pkg.Timer=$newType(0,$kindStruct,"time.Timer","Timer","time",function(C_,r_){this.$val=this;this.C=C_!==undefined?C_:DJ.nil;this.r=r_!==undefined?r_:new G.Ptr();});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};K=$pkg.Sleep=function(k,$b){var $this=this,$args=arguments,$r,$s=0,l,m,n;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:l=new DB(0);$global.setTimeout($externalize((function(){$close(l);}),DC),((m=$div64(k,new BN(0,1000000),false),m.$low+((m.$high>>31)*4294967296))>>0));n=$recv(l,$BLOCKING);$s=1;case 1:if(n&&n.$blocking){n=n();}n[0];case-1:}return;}};$f.$blocking=true;return $f;};L=function(k){var 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=$global.setTimeout($externalize((function(){var o,p,q;k.active=false;k.f(k.arg,0);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);}}),DC),$externalize(new $Int64(n.$high+0,n.$low+1),$Int64));};M=function(k){var l;$global.clearTimeout(k.timeout);l=k.active;k.active=false;return l;};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};AQ=$pkg.ParseDuration=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag;l=k;m=0;n=false;if(!(k==="")){o=k.charCodeAt(0);if((o===45)||(o===43)){n=o===45;k=k.substring(1);}}if(k==="0"){return[new BN(0,0),$ifaceNil];}if(k===""){return[new BN(0,0),C.New("time: invalid duration "+l)];}while(!(k==="")){p=0;q=new $Int64(0,0);r=$ifaceNil;if(!((k.charCodeAt(0)===46)||(48<=k.charCodeAt(0)&&k.charCodeAt(0)<=57))){return[new BN(0,0),C.New("time: invalid duration "+l)];}s=k.length;t=AO(k);q=t[0];k=t[1];r=t[2];if(!($interfaceIsEqual(r,$ifaceNil))){return[new BN(0,0),C.New("time: invalid duration "+l)];}p=$flatten64(q);u=!((s===k.length));v=false;if(!(k==="")&&(k.charCodeAt(0)===46)){k=k.substring(1);w=k.length;x=AO(k);q=x[0];k=x[1];r=x[2];if(!($interfaceIsEqual(r,$ifaceNil))){return[new BN(0,0),C.New("time: invalid duration "+l)];}y=1;z=w-k.length>>0;while(z>0){y=y*(10);z=z-(1)>>0;}p=p+($flatten64(q)/y);v=!((w===k.length));}if(!u&&!v){return[new BN(0,0),C.New("time: invalid duration "+l)];}aa=0;while(aa>0;}if(aa===0){return[new BN(0,0),C.New("time: missing unit in duration "+l)];}ac=k.substring(0,aa);k=k.substring(aa);ad=(ae=AP[ac],ae!==undefined?[ae.v,true]:[0,false]);af=ad[0];ag=ad[1];if(!ag){return[new BN(0,0),C.New("time: unknown unit "+ac+" in duration "+l)];}m=m+(p*af);}if(n){m=-m;}if(m<-9.223372036854776e+18||m>9.223372036854776e+18){return[new BN(0,0),C.New("time: overflow parsing duration")];}return[new BN(0,m),$ifaceNil];};AR=function(k){var 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;};AS.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);};AS.prototype.Stop=function(){return this.$val.Stop();};AT=$pkg.NewTimer=function(k){var l,m;l=new DI(1);m=new AS.Ptr(l,new G.Ptr(0,AR(k),new $Int64(0,0),AU,l,null,false));L(m.r);return m;};AS.Ptr.prototype.Reset=function(k){var l,m,n;l=this;if(l.r.f===$throwNilPointerError){$panic(new $String("time: Reset called on uninitialized Timer"));}m=AR(k);n=M(l.r);l.r.when=m;L(l.r);return n;};AS.prototype.Reset=function(k){return this.$val.Reset(k);};AU=function(k,l){var m;m=$select([[$assertType(k,DI),BU()],[]]);};AV=$pkg.After=function(k){return AT(k).C;};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DA=$structType([]);DB=$chanType(DA,false,false);DC=$funcType([],[],false);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DI=$chanType(BG,false,false);DJ=$chanType(BG,false,true);DM=$funcType([$emptyInterface,$Uintptr],[],false);DN=$ptrType(AB);DO=$ptrType(AS);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);G.init([["i","i","time",$Int32,""],["when","when","time",$Int64,""],["period","period","time",$Int64,""],["f","f","time",DM,""],["arg","arg","time",$emptyInterface,""],["timeout","timeout","time",B.Object,""],["active","active","time",$Bool,""]]);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);DO.methods=[["Reset","Reset","",$funcType([BN],[$Bool],false),-1],["Stop","Stop","",$funcType([],[$Bool],false),-1]];AS.init([["C","C","",DJ,""],["r","r","time",G,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);AP=(h=new $Map(),i="ns",h[i]={k:i,v:1},i="us",h[i]={k:i,v:1000},i="\xC2\xB5s",h[i]={k:i,v:1000},i="\xCE\xBCs",h[i]={k:i,v:1000},i="ms",h[i]={k:i,v:1e+06},i="s",h[i]={k:i,v:1e+09},i="m",h[i]={k:i,v:6e+10},i="h",h[i]={k:i,v:3.6e+12},h);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DD,DE,DF,DG,DH,DN,DQ,DR,DS,DT,AB,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,AP,BI,BK,BS,CD,CE,CF,CH,CL,CS,h,i,j,H,I,J,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,AQ,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};AQ=$pkg.ParseDuration=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag;l=k;m=0;n=false;if(!(k==="")){o=k.charCodeAt(0);if((o===45)||(o===43)){n=o===45;k=k.substring(1);}}if(k==="0"){return[new BN(0,0),$ifaceNil];}if(k===""){return[new BN(0,0),C.New("time: invalid duration "+l)];}while(!(k==="")){p=0;q=new $Int64(0,0);r=$ifaceNil;if(!((k.charCodeAt(0)===46)||(48<=k.charCodeAt(0)&&k.charCodeAt(0)<=57))){return[new BN(0,0),C.New("time: invalid duration "+l)];}s=k.length;t=AO(k);q=t[0];k=t[1];r=t[2];if(!($interfaceIsEqual(r,$ifaceNil))){return[new BN(0,0),C.New("time: invalid duration "+l)];}p=$flatten64(q);u=!((s===k.length));v=false;if(!(k==="")&&(k.charCodeAt(0)===46)){k=k.substring(1);w=k.length;x=AO(k);q=x[0];k=x[1];r=x[2];if(!($interfaceIsEqual(r,$ifaceNil))){return[new BN(0,0),C.New("time: invalid duration "+l)];}y=1;z=w-k.length>>0;while(z>0){y=y*(10);z=z-(1)>>0;}p=p+($flatten64(q)/y);v=!((w===k.length));}if(!u&&!v){return[new BN(0,0),C.New("time: invalid duration "+l)];}aa=0;while(aa>0;}if(aa===0){return[new BN(0,0),C.New("time: missing unit in duration "+l)];}ac=k.substring(0,aa);k=k.substring(aa);ad=(ae=AP[ac],ae!==undefined?[ae.v,true]:[0,false]);af=ad[0];ag=ad[1];if(!ag){return[new BN(0,0),C.New("time: unknown unit "+ac+" in duration "+l)];}m=m+(p*af);}if(n){m=-m;}if(m<-9.223372036854776e+18||m>9.223372036854776e+18){return[new BN(0,0),C.New("time: overflow parsing duration")];}return[new BN(0,m),$ifaceNil];};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DN=$ptrType(AB);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);AP=(h=new $Map(),i="ns",h[i]={k:i,v:1},i="us",h[i]={k:i,v:1000},i="\xC2\xB5s",h[i]={k:i,v:1000},i="\xCE\xBCs",h[i]={k:i,v:1000},i="ms",h[i]={k:i,v:1e+06},i="s",h[i]={k:i,v:1e+09},i="m",h[i]={k:i,v:6e+10},i="h",h[i]={k:i,v:3.6e+12},h);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["os"]=(function(){var $pkg={},E,A,B,F,H,G,C,D,CX,CY,CZ,DB,DC,DD,DE,DK,DQ,DR,DS,DW,DX,DZ,W,X,AQ,BG,BH,BJ,CS,CT,CV,AO,AV,BV,CP,I,Y,AA,AD,AU,AX,AY,BB,BI,BK,BL,BN,BQ,BX,BY,CD,CJ,CL,CM,CQ;E=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["io"];F=$packages["runtime"];H=$packages["sync"];G=$packages["sync/atomic"];C=$packages["syscall"];D=$packages["time"];W=$pkg.PathError=$newType(0,$kindStruct,"os.PathError","PathError","os",function(Op_,Path_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Path=Path_!==undefined?Path_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});X=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError","SyscallError","os",function(Syscall_,Err_){this.$val=this;this.Syscall=Syscall_!==undefined?Syscall_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});AQ=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError","LinkError","os",function(Op_,Old_,New_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Old=Old_!==undefined?Old_:"";this.New=New_!==undefined?New_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});BG=$pkg.File=$newType(0,$kindStruct,"os.File","File","os",function(file_){this.$val=this;this.file=file_!==undefined?file_:DQ.nil;});BH=$pkg.file=$newType(0,$kindStruct,"os.file","file","os",function(fd_,name_,dirinfo_,nepipe_){this.$val=this;this.fd=fd_!==undefined?fd_:0;this.name=name_!==undefined?name_:"";this.dirinfo=dirinfo_!==undefined?dirinfo_:CY.nil;this.nepipe=nepipe_!==undefined?nepipe_:0;});BJ=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo","dirInfo","os",function(buf_,nbuf_,bufp_){this.$val=this;this.buf=buf_!==undefined?buf_:CZ.nil;this.nbuf=nbuf_!==undefined?nbuf_:0;this.bufp=bufp_!==undefined?bufp_:0;});CS=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo","FileInfo","os",null);CT=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode","FileMode","os",null);CV=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat","fileStat","os",function(name_,size_,mode_,modTime_,sys_){this.$val=this;this.name=name_!==undefined?name_:"";this.size=size_!==undefined?size_:new $Int64(0,0);this.mode=mode_!==undefined?mode_:0;this.modTime=modTime_!==undefined?modTime_:new D.Time.Ptr();this.sys=sys_!==undefined?sys_:$ifaceNil;});I=function(){var b,c,d,e;b=$global.process;if(b===undefined){return new CX(["browser"]);}c=b.argv;d=CX.make(($parseInt(c.length)-1>>0));e=0;while(e<($parseInt(c.length)-1>>0)){(e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=$internalize(c[(e+1>>0)],$String);e=e+(1)>>0;}return d;};BG.Ptr.prototype.readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=this;if(e.file.dirinfo===CY.nil){e.file.dirinfo=new BJ.Ptr();e.file.dirinfo.buf=CZ.make(4096);}f=e.file.dirinfo;g=b;if(g<=0){g=100;b=-1;}c=CX.make(0,g);while(!((b===0))){if(f.bufp>=f.nbuf){f.bufp=0;h=$ifaceNil;j=C.ReadDirent(e.file.fd,f.buf);i=AX(j[0],j[1]);f.nbuf=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){k=c;l=Y("readdirent",h);c=k;d=l;return[c,d];}if(f.nbuf<=0){break;}}m=0;n=0;o=m;p=n;q=C.ParseDirent($subslice(f.buf,f.bufp,f.nbuf),b,c);o=q[0];p=q[1];c=q[2];f.bufp=f.bufp+(o)>>0;b=b-(p)>>0;}if(b>=0&&(c.$length===0)){r=c;s=B.EOF;c=r;d=s;return[c,d];}t=c;u=$ifaceNil;c=t;d=u;return[c,d];};BG.prototype.readdirnames=function(b){return this.$val.readdirnames(b);};BG.Ptr.prototype.Readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=DB.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdir(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdir=function(b){return this.$val.Readdir(b);};BG.Ptr.prototype.Readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=CX.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdirnames(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdirnames=function(b){return this.$val.Readdirnames(b);};W.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Path+": "+b.Err.Error();};W.prototype.Error=function(){return this.$val.Error();};X.Ptr.prototype.Error=function(){var b;b=this;return b.Syscall+": "+b.Err.Error();};X.prototype.Error=function(){return this.$val.Error();};Y=$pkg.NewSyscallError=function(b,c){if($interfaceIsEqual(c,$ifaceNil)){return $ifaceNil;}return new X.Ptr(b,c);};AA=$pkg.IsNotExist=function(b){return AD(b);};AD=function(b){var c,d;d=b;if(d===$ifaceNil){c=d;return false;}else if($assertType(d,DD,true)[1]){c=d.$val;b=c.Err;}else if($assertType(d,DE,true)[1]){c=d.$val;b=c.Err;}return $interfaceIsEqual(b,new C.Errno(2))||$interfaceIsEqual(b,$pkg.ErrNotExist);};BG.Ptr.prototype.Name=function(){var b;b=this;return b.file.name;};BG.prototype.Name=function(){return this.$val.Name();};AQ.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Old+" "+b.New+": "+b.Err.Error();};AQ.prototype.Error=function(){return this.$val.Error();};BG.Ptr.prototype.Read=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l,m;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.read(b);c=h[0];i=h[1];if(c<0){c=0;}if((c===0)&&b.$length>0&&$interfaceIsEqual(i,$ifaceNil)){j=0;k=B.EOF;c=j;d=k;return[c,d];}if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("read",e.file.name,i);}l=c;m=d;c=l;d=m;return[c,d];};BG.prototype.Read=function(b){return this.$val.Read(b);};BG.Ptr.prototype.ReadAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l,m,n;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pread(b,c);j=i[0];k=i[1];if((j===0)&&$interfaceIsEqual(k,$ifaceNil)){l=d;m=B.EOF;d=l;e=m;return[d,e];}if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("read",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(n=new $Int64(0,j),new $Int64(c.$high+n.$high,c.$low+n.$low));}return[d,e];};BG.prototype.ReadAt=function(b,c){return this.$val.ReadAt(b,c);};BG.Ptr.prototype.Write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.write(b);c=h[0];i=h[1];if(c<0){c=0;}if(!((c===b.$length))){d=B.ErrShortWrite;}BK(e,i);if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("write",e.file.name,i);}j=c;k=d;c=j;d=k;return[c,d];};BG.prototype.Write=function(b){return this.$val.Write(b);};BG.Ptr.prototype.WriteAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pwrite(b,c);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("write",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(l=new $Int64(0,j),new $Int64(c.$high+l.$high,c.$low+l.$low));}return[d,e];};BG.prototype.WriteAt=function(b,c){return this.$val.WriteAt(b,c);};BG.Ptr.prototype.Seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g,h,i,j,k,l,m,n,o;f=this;if(f===DC.nil){g=new $Int64(0,0);h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.seek(b,c);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&!(f.file.dirinfo===CY.nil)&&!((j.$high===0&&j.$low===0))){k=new C.Errno(21);}if(!($interfaceIsEqual(k,$ifaceNil))){l=new $Int64(0,0);m=new W.Ptr("seek",f.file.name,k);d=l;e=m;return[d,e];}n=j;o=$ifaceNil;d=n;e=o;return[d,e];};BG.prototype.Seek=function(b,c){return this.$val.Seek(b,c);};BG.Ptr.prototype.WriteString=function(b){var c=0,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.Write(new CZ($stringToBytes(b)));c=h[0];d=h[1];return[c,d];};BG.prototype.WriteString=function(b){return this.$val.WriteString(b);};BG.Ptr.prototype.Chdir=function(){var b,c;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}c=C.Fchdir(b.file.fd);if(!($interfaceIsEqual(c,$ifaceNil))){return new W.Ptr("chdir",b.file.name,c);}return $ifaceNil;};BG.prototype.Chdir=function(){return this.$val.Chdir();};AU=$pkg.Create=function(b){var c=DC.nil,d=$ifaceNil,e;e=BL(b,1538,438);c=e[0];d=e[1];return[c,d];};AX=function(b,c){if(b<0){b=0;}return[b,c];};AY=function(){$panic("Native function not implemented: os.sigpipe");};BB=function(b){var c=0;c=(c|((new CT(b).Perm()>>>0)))>>>0;if(!((((b&8388608)>>>0)===0))){c=(c|(2048))>>>0;}if(!((((b&4194304)>>>0)===0))){c=(c|(1024))>>>0;}if(!((((b&1048576)>>>0)===0))){c=(c|(512))>>>0;}return c;};BG.Ptr.prototype.Chmod=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Fchmod(c.file.fd,BB(b));if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("chmod",c.file.name,d);}return $ifaceNil;};BG.prototype.Chmod=function(b){return this.$val.Chmod(b);};BG.Ptr.prototype.Chown=function(b,c){var d,e;d=this;if(d===DC.nil){return $pkg.ErrInvalid;}e=C.Fchown(d.file.fd,b,c);if(!($interfaceIsEqual(e,$ifaceNil))){return new W.Ptr("chown",d.file.name,e);}return $ifaceNil;};BG.prototype.Chown=function(b,c){return this.$val.Chown(b,c);};BG.Ptr.prototype.Truncate=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Ftruncate(c.file.fd,b);if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("truncate",c.file.name,d);}return $ifaceNil;};BG.prototype.Truncate=function(b){return this.$val.Truncate(b);};BG.Ptr.prototype.Sync=function(){var b=$ifaceNil,c,d;c=this;if(c===DC.nil){b=$pkg.ErrInvalid;return b;}d=C.Fsync(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){b=Y("fsync",d);return b;}b=$ifaceNil;return b;};BG.prototype.Sync=function(){return this.$val.Sync();};BG.Ptr.prototype.Fd=function(){var b;b=this;if(b===DC.nil){return 4294967295;}return(b.file.fd>>>0);};BG.prototype.Fd=function(){return this.$val.Fd();};BI=$pkg.NewFile=function(b,c){var d,e;d=(b>>0);if(d<0){return DC.nil;}e=new BG.Ptr(new BH.Ptr(d,c,CY.nil,0));F.SetFinalizer(e.file,new DR($methodExpr(DQ.prototype.close)));return e;};BK=function(b,c){if($interfaceIsEqual(c,new C.Errno(32))){if(G.AddInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),1)>=10){AY();}}else{G.StoreInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),0);}};BL=$pkg.OpenFile=function(b,c,d){var e=DC.nil,f=$ifaceNil,g,h,i,j,k,l,m;g=C.Open(b,c|16777216,BB(d));h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){j=DC.nil;k=new W.Ptr("open",b,i);e=j;f=k;return[e,f];}if(!CP){C.CloseOnExec(h);}l=BI((h>>>0),b);m=$ifaceNil;e=l;f=m;return[e,f];};BG.Ptr.prototype.Close=function(){var b;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}return b.file.close();};BG.prototype.Close=function(){return this.$val.Close();};BH.Ptr.prototype.close=function(){var b,c,d;b=this;if(b===DQ.nil||b.fd<0){return new C.Errno(22);}c=$ifaceNil;d=C.Close(b.fd);if(!($interfaceIsEqual(d,$ifaceNil))){c=new W.Ptr("close",b.name,d);}b.fd=-1;F.SetFinalizer(b,$ifaceNil);return c;};BH.prototype.close=function(){return this.$val.close();};BG.Ptr.prototype.Stat=function(){var b=$ifaceNil,c=$ifaceNil,d,e,f,g,h,i,j,k;d=this;if(d===DC.nil){e=$ifaceNil;f=$pkg.ErrInvalid;b=e;c=f;return[b,c];}g=$clone(new C.Stat_t.Ptr(),C.Stat_t);c=C.Fstat(d.file.fd,g);if(!($interfaceIsEqual(c,$ifaceNil))){h=$ifaceNil;i=new W.Ptr("stat",d.file.name,c);b=h;c=i;return[b,c];}j=CL(g,d.file.name);k=$ifaceNil;b=j;c=k;return[b,c];};BG.prototype.Stat=function(){return this.$val.Stat();};BN=$pkg.Lstat=function(b){var c=$ifaceNil,d=$ifaceNil,e,f,g,h,i;e=$clone(new C.Stat_t.Ptr(),C.Stat_t);d=C.Lstat(b,e);if(!($interfaceIsEqual(d,$ifaceNil))){f=$ifaceNil;g=new W.Ptr("lstat",b,d);c=f;d=g;return[c,d];}h=CL(e,b);i=$ifaceNil;c=h;d=i;return[c,d];};BG.Ptr.prototype.readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=this;f=e.file.name;if(f===""){f=".";}g=e.Readdirnames(b);h=g[0];d=g[1];c=DB.make(0,h.$length);i=h;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);l=AV(f+"/"+k);m=l[0];n=l[1];if(AA(n)){j++;continue;}if(!($interfaceIsEqual(n,$ifaceNil))){o=c;p=n;c=o;d=p;return[c,d];}c=$append(c,m);j++;}q=c;r=d;c=q;d=r;return[c,d];};BG.prototype.readdir=function(b){return this.$val.readdir(b);};BG.Ptr.prototype.read=function(b){var c=0,d=$ifaceNil,e,f,g;e=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}g=C.Read(e.file.fd,b);f=AX(g[0],g[1]);c=f[0];d=f[1];return[c,d];};BG.prototype.read=function(b){return this.$val.read(b);};BG.Ptr.prototype.pread=function(b,c){var d=0,e=$ifaceNil,f,g,h;f=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}h=C.Pread(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pread=function(b,c){return this.$val.pread(b,c);};BG.Ptr.prototype.write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l;e=this;while(true){f=b;if(true&&f.$length>1073741824){f=$subslice(f,0,1073741824);}h=C.Write(e.file.fd,f);g=AX(h[0],h[1]);i=g[0];j=g[1];c=c+(i)>>0;if(01073741824){b=$subslice(b,0,1073741824);}h=C.Pwrite(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pwrite=function(b,c){return this.$val.pwrite(b,c);};BG.Ptr.prototype.seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g;f=this;g=C.Seek(f.file.fd,b,c);d=g[0];e=g[1];return[d,e];};BG.prototype.seek=function(b,c){return this.$val.seek(b,c);};BQ=function(b){var c;c=b.length-1>>0;while(c>0&&(b.charCodeAt(c)===47)){b=b.substring(0,c);c=c-(1)>>0;}c=c-(1)>>0;while(c>=0){if(b.charCodeAt(c)===47){b=b.substring((c+1>>0));break;}c=c-(1)>>0;}return b;};BX=function(){BV=BY;};BY=function(b){return!($interfaceIsEqual(b,new C.Errno(45)));};CD=function(){$pkg.Args=I();};CJ=$pkg.Exit=function(b){C.Exit(b);};CL=function(b,c){var d,e;d=new CV.Ptr(BQ(c),b.Size,0,$clone(CM(b.Mtimespec),D.Time),b);d.mode=(((b.Mode&511)>>>0)>>>0);e=(b.Mode&61440)>>>0;if(e===24576||e===57344){d.mode=(d.mode|(67108864))>>>0;}else if(e===8192){d.mode=(d.mode|(69206016))>>>0;}else if(e===16384){d.mode=(d.mode|(2147483648))>>>0;}else if(e===4096){d.mode=(d.mode|(33554432))>>>0;}else if(e===40960){d.mode=(d.mode|(134217728))>>>0;}else if(e===32768){}else if(e===49152){d.mode=(d.mode|(16777216))>>>0;}if(!((((b.Mode&1024)>>>0)===0))){d.mode=(d.mode|(4194304))>>>0;}if(!((((b.Mode&2048)>>>0)===0))){d.mode=(d.mode|(8388608))>>>0;}if(!((((b.Mode&512)>>>0)===0))){d.mode=(d.mode|(1048576))>>>0;}return d;};CM=function(b){b=$clone(b,C.Timespec);return D.Unix(b.Sec,b.Nsec);};CQ=function(){var b,c,d,e,f,g,h;b=C.Sysctl("kern.osrelease");c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}e=0;f=c;g=0;while(g2||(e===2)&&c.charCodeAt(0)>=49&&c.charCodeAt(1)>=49){CP=true;}};CT.prototype.String=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=this.$val!==undefined?this.$val:this;c=$clone(DK.zero(),DK);d=0;e="dalTLDpSugct";f=0;while(f>0)>>>0),j<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(i<<24>>>24);d=d+(1)>>0;}f+=g[1];}if(d===0){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;d=d+(1)>>0;}k="rwxrwxrwx";l=0;while(l>0)>>>0),p<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(o<<24>>>24);}else{(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;}d=d+(1)>>0;l+=m[1];}return $bytesToString($subslice(new CZ(c),0,d));};$ptrType(CT).prototype.String=function(){return new CT(this.$get()).String();};CT.prototype.IsDir=function(){var b;b=this.$val!==undefined?this.$val:this;return!((((b&2147483648)>>>0)===0));};$ptrType(CT).prototype.IsDir=function(){return new CT(this.$get()).IsDir();};CT.prototype.IsRegular=function(){var b;b=this.$val!==undefined?this.$val:this;return((b&2399141888)>>>0)===0;};$ptrType(CT).prototype.IsRegular=function(){return new CT(this.$get()).IsRegular();};CT.prototype.Perm=function(){var b;b=this.$val!==undefined?this.$val:this;return(b&511)>>>0;};$ptrType(CT).prototype.Perm=function(){return new CT(this.$get()).Perm();};CV.Ptr.prototype.Name=function(){var b;b=this;return b.name;};CV.prototype.Name=function(){return this.$val.Name();};CV.Ptr.prototype.IsDir=function(){var b;b=this;return new CT(b.Mode()).IsDir();};CV.prototype.IsDir=function(){return this.$val.IsDir();};CV.Ptr.prototype.Size=function(){var b;b=this;return b.size;};CV.prototype.Size=function(){return this.$val.Size();};CV.Ptr.prototype.Mode=function(){var b;b=this;return b.mode;};CV.prototype.Mode=function(){return this.$val.Mode();};CV.Ptr.prototype.ModTime=function(){var b;b=this;return b.modTime;};CV.prototype.ModTime=function(){return this.$val.ModTime();};CV.Ptr.prototype.Sys=function(){var b;b=this;return b.sys;};CV.prototype.Sys=function(){return this.$val.Sys();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}CX=$sliceType($String);CY=$ptrType(BJ);CZ=$sliceType($Uint8);DB=$sliceType(CS);DC=$ptrType(BG);DD=$ptrType(W);DE=$ptrType(AQ);DK=$arrayType($Uint8,32);DQ=$ptrType(BH);DR=$funcType([DQ],[$error],false);DS=$ptrType($Int32);DW=$ptrType(CV);DX=$ptrType(X);DZ=$ptrType(CT);DD.methods=[["Error","Error","",$funcType([],[$String],false),-1]];W.init([["Op","Op","",$String,""],["Path","Path","",$String,""],["Err","Err","",$error,""]]);DX.methods=[["Error","Error","",$funcType([],[$String],false),-1]];X.init([["Syscall","Syscall","",$String,""],["Err","Err","",$error,""]]);DE.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AQ.init([["Op","Op","",$String,""],["Old","Old","",$String,""],["New","New","",$String,""],["Err","Err","",$error,""]]);BG.methods=[["close","close","os",$funcType([],[$error],false),0]];DC.methods=[["Chdir","Chdir","",$funcType([],[$error],false),-1],["Chmod","Chmod","",$funcType([CT],[$error],false),-1],["Chown","Chown","",$funcType([$Int,$Int],[$error],false),-1],["Close","Close","",$funcType([],[$error],false),-1],["Fd","Fd","",$funcType([],[$Uintptr],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Read","Read","",$funcType([CZ],[$Int,$error],false),-1],["ReadAt","ReadAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["Readdir","Readdir","",$funcType([$Int],[DB,$error],false),-1],["Readdirnames","Readdirnames","",$funcType([$Int],[CX,$error],false),-1],["Seek","Seek","",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["Stat","Stat","",$funcType([],[CS,$error],false),-1],["Sync","Sync","",$funcType([],[$error],false),-1],["Truncate","Truncate","",$funcType([$Int64],[$error],false),-1],["Write","Write","",$funcType([CZ],[$Int,$error],false),-1],["WriteAt","WriteAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1],["close","close","os",$funcType([],[$error],false),0],["pread","pread","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["pwrite","pwrite","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["read","read","os",$funcType([CZ],[$Int,$error],false),-1],["readdir","readdir","os",$funcType([$Int],[DB,$error],false),-1],["readdirnames","readdirnames","os",$funcType([$Int],[CX,$error],false),-1],["seek","seek","os",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["write","write","os",$funcType([CZ],[$Int,$error],false),-1]];BG.init([["file","","os",DQ,""]]);DQ.methods=[["close","close","os",$funcType([],[$error],false),-1]];BH.init([["fd","fd","os",$Int,""],["name","name","os",$String,""],["dirinfo","dirinfo","os",CY,""],["nepipe","nepipe","os",$Int32,""]]);BJ.init([["buf","buf","os",CZ,""],["nbuf","nbuf","os",$Int,""],["bufp","bufp","os",$Int,""]]);CS.init([["IsDir","IsDir","",$funcType([],[$Bool],false)],["ModTime","ModTime","",$funcType([],[D.Time],false)],["Mode","Mode","",$funcType([],[CT],false)],["Name","Name","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Int64],false)],["Sys","Sys","",$funcType([],[$emptyInterface],false)]]);CT.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DZ.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DW.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[D.Time],false),-1],["Mode","Mode","",$funcType([],[CT],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];CV.init([["name","name","os",$String,""],["size","size","os",$Int64,""],["mode","mode","os",CT,""],["modTime","modTime","os",D.Time,""],["sys","sys","os",$emptyInterface,""]]);$pkg.Args=CX.nil;CP=false;$pkg.ErrInvalid=E.New("invalid argument");$pkg.ErrPermission=E.New("permission denied");$pkg.ErrExist=E.New("file already exists");$pkg.ErrNotExist=E.New("file does not exist");AO=E.New("os: process already finished");$pkg.Stdin=BI((C.Stdin>>>0),"/dev/stdin");$pkg.Stdout=BI((C.Stdout>>>0),"/dev/stdout");$pkg.Stderr=BI((C.Stderr>>>0),"/dev/stderr");BV=(function(b){return true;});AV=BN;BX();CD();CQ();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strconv"]=(function(){var $pkg={},B,A,C,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,S,Z,AD,AI,AP,AY,G,K,L,M,AE,AJ,AK,AL,AQ,AR,BD,BE,BF,BG,BM,D,H,I,J,N,O,P,Q,R,T,U,V,W,X,AA,AB,AC,AF,AG,AH,AM,AN,AO,AT,AU,AV,AW,AX,AZ,BA,BB,BC,BI,BJ,BN,BO,BP,BR,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];S=$pkg.NumError=$newType(0,$kindStruct,"strconv.NumError","NumError","strconv",function(Func_,Num_,Err_){this.$val=this;this.Func=Func_!==undefined?Func_:"";this.Num=Num_!==undefined?Num_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});Z=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal","decimal","strconv",function(d_,nd_,dp_,neg_,trunc_){this.$val=this;this.d=d_!==undefined?d_:CU.zero();this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;this.trunc=trunc_!==undefined?trunc_:false;});AD=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat","leftCheat","strconv",function(delta_,cutoff_){this.$val=this;this.delta=delta_!==undefined?delta_:0;this.cutoff=cutoff_!==undefined?cutoff_:"";});AI=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat","extFloat","strconv",function(mant_,exp_,neg_){this.$val=this;this.mant=mant_!==undefined?mant_:new $Uint64(0,0);this.exp=exp_!==undefined?exp_:0;this.neg=neg_!==undefined?neg_:false;});AP=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo","floatInfo","strconv",function(mantbits_,expbits_,bias_){this.$val=this;this.mantbits=mantbits_!==undefined?mantbits_:0;this.expbits=expbits_!==undefined?expbits_:0;this.bias=bias_!==undefined?bias_:0;});AY=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice","decimalSlice","strconv",function(d_,nd_,dp_,neg_){this.$val=this;this.d=d_!==undefined?d_:CL.nil;this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;});D=$pkg.ParseBool=function(a){var b=false,c=$ifaceNil,d,e,f,g,h,i,j;d=a;if(d==="1"||d==="t"||d==="T"||d==="true"||d==="TRUE"||d==="True"){e=true;f=$ifaceNil;b=e;c=f;return[b,c];}else if(d==="0"||d==="f"||d==="F"||d==="false"||d==="FALSE"||d==="False"){g=false;h=$ifaceNil;b=g;c=h;return[b,c];}i=false;j=T("ParseBool",a);b=i;c=j;return[b,c];};H=function(a,b){var c,d,e;if(!((a.length===b.length))){return false;}c=0;while(c>>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 b=0,c=false,d,e,f,g,h,i,j,k,l;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];};Z.Ptr.prototype.set=function(a){var b=false,c,d,e,f,g,h,i,j;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(d>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"):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>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(d>0)+(a.charCodeAt(d)>>0)>>0)-48>>0;}d=d+(1)>>0;}c.dp=c.dp+((j*i>>0))>>0;}if(!((d===a.length))){return b;}b=true;return b;};Z.prototype.set=function(a){return this.$val.set(a);};J=function(a){var b=new $Uint64(0,0),c=0,d=false,e=false,f=false,g,h,i,j,k,l,m,n,o,p,q;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(g>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>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(g>0)+(a.charCodeAt(g)>>0)>>0)-48>>0;}g=g+(1)>>0;}l=l+((q*p>>0))>>0;}if(!((g===a.length))){return[b,c,d,e,f];}c=l-k>>0;f=true;return[b,c,d,e,f];};Z.Ptr.prototype.floatBits=function(a){var $this=this,$args=arguments,b=new $Uint64(0,0),c=false,$s=0,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;s:while(true){switch($s){case 0:d=$this;e=0;f=new $Uint64(0,0);if(d.nd===0){}else{$s=3;continue;}f=new $Uint64(0,0);e=a.bias;$s=1;continue;case 3:if(d.dp>310){}else{$s=4;continue;}$s=2;continue;case 4:if(d.dp<-330){}else{$s=5;continue;}f=new $Uint64(0,0);e=a.bias;$s=1;continue;case 5:e=0;while(d.dp>0){g=0;if(d.dp>=K.$length){g=27;}else{g=(h=d.dp,((h<0||h>=K.$length)?$throwRuntimeError("index out of range"):K.$array[K.$offset+h]));}d.Shift(-g);e=e+(g)>>0;}while(d.dp<0||(d.dp===0)&&d.d[0]<53){i=0;if(-d.dp>=K.$length){i=27;}else{i=(j=-d.dp,((j<0||j>=K.$length)?$throwRuntimeError("index out of range"):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<>0)-1>>0)){}else{$s=6;continue;}$s=2;continue;case 6: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))){}else{$s=7;continue;}f=$shiftRightUint64(f,(1));e=e+(1)>>0;if((e-a.bias>>0)>=(((n=a.expbits,n<32?(1<>0)-1>>0)){}else{$s=8;continue;}$s=2;continue;case 8:case 7: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=1;continue;case 2:f=new $Uint64(0,0);e=(((q=a.expbits,q<32?(1<>0)-1>>0)+a.bias>>0;c=true;case 1: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<>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;return[b,c];case-1:}return;}};Z.prototype.floatBits=function(a){return this.$val.floatBits(a);};N=function(a,b,c){var d=0,e=false,f,g,h,i,j,k,l,m,n;if(!((f=$shiftRightUint64(a,AR.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"):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"):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"):L.$array[L.$offset+m]));n=true;d=l;e=n;return[d,e];}return[d,e];};O=function(a,b,c){var d=0,e=false,f,g,h,i,j,k,l,m,n;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<=17){if(b>10){d=d*((i=b-10>>0,((i<0||i>=M.$length)?$throwRuntimeError("index out of range"):M.$array[M.$offset+i])));b=10;}if(d>1e+07||d<-1e+07){return[d,e];}j=d*((b<0||b>=M.$length)?$throwRuntimeError("index out of range"):M.$array[M.$offset+b]);k=true;d=j;e=k;return[d,e];}else if(b<0&&b>=-10){l=d/(m=-b,((m<0||m>=M.$length)?$throwRuntimeError("index out of range"):M.$array[M.$offset+m]));n=true;d=l;e=n;return[d,e];}return[d,e];};P=function(a){var b=0,c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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=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 AI.Ptr();u=t.AssignDecimal(j,k,l,m,AQ);if(u){v=t.floatBits(AQ);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=$clone(new Z.Ptr(),Z);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.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 b=0,c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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 AI.Ptr();u=t.AssignDecimal(j,k,l,m,AR);if(u){v=t.floatBits(AR);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=$clone(new Z.Ptr(),Z);if(!aa.set(a)){ab=0;ac=T("ParseFloat",a);b=ab;c=ac;return[b,c];}ad=aa.floatBits(AR);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=$pkg.ParseFloat=function(a,b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n;if(b===32){e=P(a);f=e[0];g=e[1];h=$coerceFloat32(f);i=g;c=h;d=i;return[c,d];}j=Q(a);k=j[0];l=j[1];m=k;n=l;c=m;d=n;return[c,d];};S.Ptr.prototype.Error=function(){var a;a=this;return"strconv."+a.Func+": "+"parsing "+BP(a.Num)+": "+a.Err.Error();};S.prototype.Error=function(){return this.$val.Error();};T=function(a,b){return new S.Ptr(a,b,$pkg.ErrSyntax);};U=function(a,b){return new S.Ptr(a,b,$pkg.ErrRange);};V=function(a){var b;if(a<2){return new $Uint64(0,0);}return(b=$div64(new $Uint64(4294967295,4294967295),new $Uint64(0,a),false),new $Uint64(b.$high+0,b.$low+1));};W=$pkg.ParseUint=function(a,b,c){var $this=this,$args=arguments,d=new $Uint64(0,0),e=$ifaceNil,$s=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;s:while(true){switch($s){case 0:f=new $Uint64(0,0);g=new $Uint64(0,0);h=f;i=g;if(c===0){c=32;}j=a;if(a.length<1){}else if(2<=b&&b<=36){$s=2;continue;}else if(b===0){$s=3;continue;}else{$s=4;continue;}e=$pkg.ErrSyntax;$s=1;continue;$s=5;continue;case 2:$s=5;continue;case 3:if((a.charCodeAt(0)===48)&&a.length>1&&((a.charCodeAt(1)===120)||(a.charCodeAt(1)===88))){}else if(a.charCodeAt(0)===48){$s=6;continue;}else{$s=7;continue;}b=16;a=a.substring(2);if(a.length<1){}else{$s=9;continue;}e=$pkg.ErrSyntax;$s=1;continue;case 9:$s=8;continue;case 6:b=8;$s=8;continue;case 7:b=10;case 8:$s=5;continue;case 4:e=B.New("invalid base "+BJ(b));$s=1;continue;case 5:d=new $Uint64(0,0);h=V(b);i=(k=$shiftLeft64(new $Uint64(0,1),(c>>>0)),new $Uint64(k.$high-0,k.$low-1));l=0;case 10:if(!(l>>24;$s=15;continue;case 12:m=(n-97<<24>>>24)+10<<24>>>24;$s=15;continue;case 13:m=(n-65<<24>>>24)+10<<24>>>24;$s=15;continue;case 14:d=new $Uint64(0,0);e=$pkg.ErrSyntax;$s=1;continue;case 15:if((m>>0)>=b){}else{$s=16;continue;}d=new $Uint64(0,0);e=$pkg.ErrSyntax;$s=1;continue;case 16:if((d.$high>h.$high||(d.$high===h.$high&&d.$low>=h.$low))){}else{$s=17;continue;}d=new $Uint64(4294967295,4294967295);e=$pkg.ErrRange;$s=1;continue;case 17:d=$mul64(d,(new $Uint64(0,b)));p=(o=new $Uint64(0,m),new $Uint64(d.$high+o.$high,d.$low+o.$low));if((p.$highi.$high||(p.$high===i.$high&&p.$low>i.$low))){}else{$s=18;continue;}d=new $Uint64(4294967295,4294967295);e=$pkg.ErrRange;$s=1;continue;case 18:d=p;l=l+(1)>>0;$s=10;continue;case 11:q=d;r=$ifaceNil;d=q;e=r;return[d,e];case 1:s=d;t=new S.Ptr("ParseUint",j,e);d=s;e=t;return[d,e];case-1:}return;}};X=$pkg.ParseInt=function(a,b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;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=a.substring(1);}else if(a.charCodeAt(0)===45){i=true;a=a.substring(1);}j=new $Uint64(0,0);k=W(a,b,c);j=k[0];e=k[1];if(!($interfaceIsEqual(e,$ifaceNil))&&!($interfaceIsEqual($assertType(e,CM).Err,$pkg.ErrRange))){$assertType(e,CM).Func="ParseInt";$assertType(e,CM).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];};Z.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=CL.make(b);d=0;if(a.nd===0){return"0";}else if(a.dp<=0){(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=48;d=d+(1)>>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+(AA($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;}else if(a.dp>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;d=d+(AA($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return $bytesToString($subslice(c,0,d));};Z.prototype.String=function(){return this.$val.String();};AA=function(a){var b,c,d;b=a;c=0;while(c=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+d]=48;c++;}return a.$length;};AB=function(a){var b,c;while(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]))===48)){a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Z.Ptr.prototype.Assign=function(a){var b,c,d,e,f,g,h;b=this;c=$clone(CN.zero(),CN);d=0;while((a.$high>0||(a.$high===0&&a.$low>0))){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"):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(d>=0){(g=b.d,h=b.nd,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AB(b);};Z.prototype.Assign=function(a){return this.$val.Assign(a);};AC=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=0;d=0;e=0;while(((e>>$min(b,31))>>0)===0){if(c>=a.nd){if(e===0){a.nd=0;return;}while(((e>>$min(b,31))>>0)===0){e=e*10>>0;c=c+(1)>>0;}break;}g=((f=a.d,((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))>>0);e=((e*10>>0)+g>>0)-48>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;while(c=h.length)?$throwRuntimeError("index out of range"):h[c]))>>0);j=(e>>$min(b,31))>>0;e=e-(((k=b,k<32?(j<>0))>>0;(l=a.d,(d<0||d>=l.length)?$throwRuntimeError("index out of range"):l[d]=((j+48>>0)<<24>>>24));d=d+(1)>>0;e=((e*10>>0)+i>>0)-48>>0;c=c+(1)>>0;}while(e>0){m=(e>>$min(b,31))>>0;e=e-(((n=b,n<32?(m<>0))>>0;if(d<800){(o=a.d,(d<0||d>=o.length)?$throwRuntimeError("index out of range"):o[d]=((m+48>>0)<<24>>>24));d=d+(1)>>0;}else if(m>0){a.trunc=true;}e=e*10>>0;}a.nd=d;AB(a);};AF=function(a,b){var c;c=0;while(c=a.$length){return true;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])>0;}return false;};AG=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).delta;if(AF($subslice(new CL(a.d),0,a.nd),((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(d>=0){f=f+(((g=b,g<32?(((((h=a.d,((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]))>>0)-48>>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"):l[e]=((k+48>>0)<<24>>>24));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(f>0){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"):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;AB(a);};Z.Ptr.prototype.Shift=function(a){var b;b=this;if(b.nd===0){}else if(a>0){while(a>27){AG(b,27);a=a-(27)>>0;}AG(b,(a>>>0));}else if(a<0){while(a<-27){AC(b,27);a=a+(27)>>0;}AC(b,(-a>>>0));}};Z.prototype.Shift=function(a){return this.$val.Shift(a);};AH=function(a,b){var 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"):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"):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"):g[b]))>=53;};Z.Ptr.prototype.Round=function(a){var b;b=this;if(a<0||a>=b.nd){return;}if(AH(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Z.prototype.Round=function(a){return this.$val.Round(a);};Z.Ptr.prototype.RoundDown=function(a){var b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AB(b);};Z.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Z.Ptr.prototype.RoundUp=function(a){var b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(c>=0){e=(d=b.d,((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));if(e<57){f=b.d;g=c;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(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;};Z.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Z.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(b=f.length)?$throwRuntimeError("index out of range"):f[b]))-48<<24>>>24)),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(b>0;}if(AH(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Z.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AI.Ptr.prototype.floatBits=function(a){var b=new $Uint64(0,0),c=false,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;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<>0)-1>>0)){g=new $Uint64(0,0);e=(((p=a.expbits,p<32?(1<>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<>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];};AI.prototype.floatBits=function(a){return this.$val.floatBits(a);};AI.Ptr.prototype.AssignComputeBounds=function(a,b,c,d){var e=new AI.Ptr(),f=new AI.Ptr(),g,h,i,j,k,l,m,n,o;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,AI);j=$clone(g,AI);$copy(e,i,AI);$copy(f,j,AI);return[e,f];}k=b-d.bias>>0;$copy(f,new AI.Ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg),AI);if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){$copy(e,new AI.Ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg),AI);}else{$copy(e,new AI.Ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg),AI);}return[e,f];};AI.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AI.Ptr.prototype.Normalize=function(){var a=0,b,c,d,e,f,g,h,i,j,k,l,m,n;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;};AI.prototype.Normalize=function(){return this.$val.Normalize();};AI.Ptr.prototype.Multiply=function(a){var 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;a=$clone(a,AI);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;};AI.prototype.Multiply=function(a){return this.$val.Multiply(a);};AI.Ptr.prototype.AssignDecimal=function(a,b,c,d,e){var f=false,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;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>=AL.length)?$throwRuntimeError("index out of range"):AL[n])),(a.$high=AL.length)?$throwRuntimeError("index out of range"):AL[l])));g.Normalize();}else{g.Normalize();g.Multiply(((l<0||l>=AJ.length)?$throwRuntimeError("index out of range"):AJ[l]));h=h+(4)>>0;}g.Multiply(((j<0||j>=AK.length)?$throwRuntimeError("index out of range"):AK[j]));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<>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>0))*28>>0)/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>=AK.length)?$throwRuntimeError("index out of range"):AK[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(((g<0||g>=AK.length)?$throwRuntimeError("index out of range"):AK[g]));i=-((-348+(g*8>>0)>>0));j=g;a=i;b=j;return[a,b];};AI.prototype.frexp10=function(){return this.$val.frexp10();};AM=function(a,b,c){var d=0,e,f;e=c.frexp10();d=e[0];f=e[1];a.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));b.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));return d;};AI.Ptr.prototype.FixedDecimal=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,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,an,ao,ap;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(r<20){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>=AL.length)?$throwRuntimeError("index out of range"):AL[v]));h=(w=h/((o.$low>>>0)),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-((x=(o.$low>>>0),(((h>>>16<<16)*x>>>0)+(h<<16>>>16)*x)>>>0))>>>0;}else{u=0;}y=$clone(CO.zero(),CO);z=32;aa=h;while(aa>0){ac=(ab=aa/10,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"));aa=aa-(((((10>>>16<<16)*ac>>>0)+(10<<16>>>16)*ac)>>>0))>>>0;z=z-(1)>>0;(z<0||z>=y.length)?$throwRuntimeError("index out of range"):y[z]=((aa+48>>>0)<<24>>>24);aa=ac;}ad=z;while(ad<32){(ae=a.d,af=ad-z>>0,(af<0||af>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+af]=((ad<0||ad>=y.length)?$throwRuntimeError("index out of range"):y[ad]));ad=ad+(1)>>0;}ag=32-z>>0;a.nd=ag;a.dp=n+f>>0;m=m-(ag)>>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(m>0){k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ah=$mul64(new $Uint64(0,2),l),ai=$shiftLeft64(new $Uint64(0,1),g),(ah.$high>ai.$high||(ah.$high===ai.$high&&ah.$low>ai.$low)))){return false;}aj=$shiftRightUint64(k,g);(ak=a.d,(ag<0||ag>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+ag]=(new $Uint64(aj.$high+0,aj.$low+48).$low<<24>>>24));k=(al=$shiftLeft64(aj,g),new $Uint64(k.$high-al.$high,k.$low-al.$low));ag=ag+(1)>>0;m=m-(1)>>0;}a.nd=ag;}an=AN(a,(am=$shiftLeft64(new $Uint64(0,u),g),new $Uint64(am.$high|k.$high,(am.$low|k.$low)>>>0)),o,g,l);if(!an){return false;}ao=a.nd-1>>0;while(ao>=0){if(!(((ap=a.d,((ao<0||ao>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+ao]))===48))){a.nd=ao+1>>0;break;}ao=ao-(1)>>0;}return true;};AI.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AN=function(a,b,c,d,e){var 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<h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(m>=0){if((n=a.d,((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):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<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0]=49);a.nd=1;a.dp=a.dp+(1)>>0;}else{p=a.d;q=m;(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q])+(1)<<24>>>24;}return true;}return false;};AI.Ptr.prototype.ShortestDecimal=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;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,AI)&&$equal(b,c,AI)){f=$clone(CN.zero(),CN);g=23;h=d.mant;while((h.$high>0||(h.$high===0&&h.$low>0))){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"):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(l=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?$throwRuntimeError("index out of range"):f[m])));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))===48)){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=AM(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(al<20){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(ao>0)-1>>0,((ap<0||ap>=AL.length)?$throwRuntimeError("index out of range"):AL[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"):at.$array[at.$offset+ao]=((as+48>>>0)<<24>>>24));y=y-((au=(aq.$low>>>0),(((as>>>16<<16)*au>>>0)+(as<<16>>>16)*au)>>>0))>>>0;aw=(av=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(av.$high+ab.$high,av.$low+ab.$low));if((aw.$high>0;a.dp=ai+s>>0;a.neg=d.neg;return AO(a,aw,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;ax=0;ay=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ay=$mul64(ay,(new $Uint64(0,10)));ax=($shiftRightUint64(ab,x).$low>>0);(az=a.d,ba=a.nd,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=((ax+48>>0)<<24>>>24));a.nd=a.nd+(1)>>0;ab=(bb=$shiftLeft64(new $Uint64(0,ax),x),new $Uint64(ab.$high-bb.$high,ab.$low-bb.$low));if((bc=$mul64(ae,ay),(ab.$high>0;(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])-(1)<<24>>>24;b=(m=e,new $Uint64(b.$high+m.$high,b.$low+m.$low));}if((n=new $Uint64(b.$high+e.$high,b.$low+e.$low),o=(p=(q=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+q.$high,c.$low+q.$low)),new $Uint64(p.$high+f.$high,p.$low+f.$low)),(n.$highr.$high||(b.$high===r.$high&&b.$low>r.$low)))){return false;}if((a.nd===1)&&((s=a.d,((0<0||0>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AT=$pkg.AppendFloat=function(a,b,c,d,e){return AU(a,b,c,d,e);};AU=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;f=new $Uint64(0,0);g=CP.nil;h=e;if(h===32){f=new $Uint64(0,A.Float32bits(b));g=AQ;}else if(h===64){f=A.Float64bits(b);g=AR;}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<>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<>0)-1>>0)){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,new CL($stringToBytes(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 BB(a,j,o,l,g);}if(!G){return AV(a,d,c,j,o,l,g);}t=$clone(new AY.Ptr(),AY);u=false;v=d<0;if(v){w=new AI.Ptr();x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AI);z=$clone(x[1],AI);aa=$clone(CO.zero(),CO);t.d=new CL(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AV(a,d,c,j,o,l,g);}ab=c;if(ab===101||ab===69){d=t.nd-1>>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=$clone(CN.zero(),CN);t.d=new CL(ae);af=new AI.Ptr(o,l-(g.mantbits>>0)>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AV(a,d,c,j,o,l,g);}return AW(a,v,j,t,d,c);};AV=function(a,b,c,d,e,f,g){var h,i,j,k,l;h=new Z.Ptr();h.Assign(e);h.Shift(f-(g.mantbits>>0)>>0);i=$clone(new AY.Ptr(),AY);j=b<0;if(j){AX(h,e,f,g);$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);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);}$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);}return AW(a,j,d,i,b,c);};AW=function(a,b,c,d,e,f){var g,h,i;d=$clone(d,AY);g=f;if(g===101||g===69){return AZ(a,c,d,e,f);}else if(g===102){return BA(a,c,d,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 AZ(a,c,d,e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return BA(a,c,d,BC(e-d.dp>>0,0));}return $append(a,37,f);};AX=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&(332*((a.dp-a.nd>>0))>>0)>=(100*((c-(d.mantbits>>0)>>0))>>0)){return;}f=new Z.Ptr();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 Z.Ptr();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(p=w.length)?$throwRuntimeError("index out of range"):w[p]));}else{t=48;}u=(x=a.d,((p<0||p>=x.length)?$throwRuntimeError("index out of range"):x[p]));if(p=y.length)?$throwRuntimeError("index out of range"):y[p]));}else{v=48;}z=!((t===u))||(o&&(t===u)&&((p+1>>0)===l.nd));aa=!((u===v))&&(o||(u+1<<24>>>24)>0)>0);return;}else if(z){a.RoundDown(p+1>>0);return;}else if(aa){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AZ=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;c=$clone(c,AY);if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,((0<0||0>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=((c.nd+d>>0)+1>>0)-BC(c.nd,d+1>>0)>>0;while(h=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])));h=h+(1)>>0;}while(h<=d){a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);k=c.dp-1>>0;if(c.nd===0){k=0;}if(k<0){f=45;k=-k;}else{f=43;}a=$append(a,f);l=$clone(CQ.zero(),CQ);m=3;while(k>=10){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((n=k%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);k=(o=k/(10),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));}m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((k+48>>0)<<24>>>24);p=m;if(p===0){a=$append(a,l[0],l[1],l[2]);}else if(p===1){a=$append(a,l[1],l[2]);}else if(p===2){a=$append(a,48,l[2]);}return a;};BA=function(a,b,c,d){var e,f,g,h,i,j;c=$clone(c,AY);if(b){a=$append(a,45);}if(c.dp>0){e=0;e=0;while(e=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+e])));e=e+(1)>>0;}while(e>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);g=0;while(g>0;if(0<=i&&i=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]));}a=$append(a,h);g=g+(1)>>0;}}return a;};BB=function(a,b,c,d,e){var f,g,h,i,j,k,l;f=$clone(CR.zero(),CR);g=50;d=d-((e.mantbits>>0))>>0;h=43;if(d<0){h=45;d=-d;}i=0;while(d>0||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(((j=d%10,j===j?j:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);d=(k=d/(10),(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));}g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=h;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=112;i=0;while((c.$high>0||(c.$high===0&&c.$low>0))||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((l=$div64(c,new $Uint64(0,10),true),new $Uint64(l.$high+0,l.$low+48)).$low<<24>>>24);c=$div64(c,(new $Uint64(0,10)),false);}if(b){g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=45;}return $appendSlice(a,$subslice(new CL(f),g));};BC=function(a,b){if(a>b){return a;}return b;};BI=$pkg.FormatInt=function(a,b){var c,d;c=BN(CL.nil,new $Uint64(a.$high,a.$low),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};BJ=$pkg.Itoa=function(a){return BI(new $Int64(0,a),10);};BN=function(a,b,c,d,e){var f=CL.nil,g="",h,i,j,k,l,m,n,o,p,q,r,s,t;if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=$clone(CS.zero(),CS);i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){while((b.$high>0||(b.$high===0&&b.$low>=100))){i=i-(2)>>0;j=$div64(b,new $Uint64(0,100),false);l=((k=$mul64(j,new $Uint64(0,100)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0);(m=i+1>>0,(m<0||m>=h.length)?$throwRuntimeError("index out of range"):h[m]="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".charCodeAt(l));(n=i+0>>0,(n<0||n>=h.length)?$throwRuntimeError("index out of range"):h[n]="0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999".charCodeAt(l));b=j;}if((b.$high>0||(b.$high===0&&b.$low>=10))){i=i-(1)>>0;o=$div64(b,new $Uint64(0,10),false);(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((p=$mul64(o,new $Uint64(0,10)),new $Uint64(b.$high-p.$high,b.$low-p.$low)).$low>>>0));b=o;}}else{q=((c<0||c>=BM.length)?$throwRuntimeError("index out of range"):BM[c]);if(q>0){r=new $Uint64(0,c);s=(r.$low>>>0)-1>>>0;while((b.$high>r.$high||(b.$high===r.$high&&b.$low>=r.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((b.$low>>>0)&s)>>>0));b=$shiftRightUint64(b,(q));}}else{t=new $Uint64(0,c);while((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(($div64(b,t,true).$low>>>0));b=$div64(b,(t),false);}}}i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0));if(d){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=45;}if(e){f=$appendSlice(a,$subslice(new CL(h),i));return[f,g];}g=$bytesToString($subslice(new CL(h),i));return[f,g];};BO=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=$clone(CT.zero(),CT);f=CL.make(0,(e=(3*a.length>>0)/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")));f=$append(f,b);g=0;while(a.length>0){h=(a.charCodeAt(0)>>0);g=1;if(h>=128){i=C.DecodeRuneInString(a);h=i[0];g=i[1];}if((g===1)&&(h===65533)){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));a=a.substring(g);continue;}if((h===(b>>0))||(h===92)){f=$append(f,92);f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}if(c){if(h<128&&CE(h)){f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}}else if(CE(h)){j=C.EncodeRune(new CL(d),h);f=$appendSlice(f,$subslice(new CL(d),0,j));a=a.substring(g);continue;}k=h;if(k===7){f=$appendSlice(f,new CL($stringToBytes("\\a")));}else if(k===8){f=$appendSlice(f,new CL($stringToBytes("\\b")));}else if(k===12){f=$appendSlice(f,new CL($stringToBytes("\\f")));}else if(k===10){f=$appendSlice(f,new CL($stringToBytes("\\n")));}else if(k===13){f=$appendSlice(f,new CL($stringToBytes("\\r")));}else if(k===9){f=$appendSlice(f,new CL($stringToBytes("\\t")));}else if(k===11){f=$appendSlice(f,new CL($stringToBytes("\\v")));}else{if(h<32){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));}else if(h>1114111){h=65533;f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else if(h<65536){f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else{f=$appendSlice(f,new CL($stringToBytes("\\U")));m=28;while(m>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((m>>>0),31))>>0)&15)));m=m-(4)>>0;}}}a=a.substring(g);}f=$append(f,b);return $bytesToString(f);};BP=$pkg.Quote=function(a){return BO(a,34,false);};BR=$pkg.QuoteToASCII=function(a){return BO(a,34,true);};BT=$pkg.QuoteRune=function(a){return BO($encodeRune(a),39,false);};BU=$pkg.AppendQuoteRune=function(a,b){return $appendSlice(a,new CL($stringToBytes(BT(b))));};BV=$pkg.QuoteRuneToASCII=function(a){return BO($encodeRune(a),39,true);};BW=$pkg.AppendQuoteRuneToASCII=function(a,b){return $appendSlice(a,new CL($stringToBytes(BV(b))));};BX=$pkg.CanBackquote=function(a){var b,c,d;while(a.length>0){b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=a.substring(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;};BY=function(a){var b=0,c=false,d,e,f,g,h,i,j;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];};BZ=$pkg.UnquoteChar=function(a,b){var c=0,d=false,e="",f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;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=a.substring(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=a.substring(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=a.substring(2);t=s;switch(0){default: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>0)|z;x=x+(1)>>0;}a=a.substring(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(ac<2){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=a.substring(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];};CA=$pkg.Unquote=function(a){var b="",c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,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,an;d=a.length;if(d<2){e="";f=$pkg.ErrSyntax;b=e;c=f;return[b,c];}g=a.charCodeAt(0);if(!((g===a.charCodeAt((d-1>>0))))){h="";i=$pkg.ErrSyntax;b=h;c=i;return[b,c];}a=a.substring(1,(d-1>>0));if(g===96){if(CB(a,96)){j="";k=$pkg.ErrSyntax;b=j;c=k;return[b,c];}l=a;m=$ifaceNil;b=l;c=m;return[b,c];}if(!((g===34))&&!((g===39))){n="";o=$pkg.ErrSyntax;b=n;c=o;return[b,c];}if(CB(a,10)){p="";q=$pkg.ErrSyntax;b=p;c=q;return[b,c];}if(!CB(a,92)&&!CB(a,g)){r=g;if(r===34){s=a;t=$ifaceNil;b=s;c=t;return[b,c];}else if(r===39){u=C.DecodeRuneInString(a);v=u[0];w=u[1];if((w===a.length)&&(!((v===65533))||!((w===1)))){x=a;y=$ifaceNil;b=x;c=y;return[b,c];}}}z=$clone(CT.zero(),CT);ab=CL.make(0,(aa=(3*a.length>>0)/2,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>0:$throwRuntimeError("integer divide by zero")));while(a.length>0){ac=BZ(a,g);ad=ac[0];ae=ac[1];af=ac[2];ag=ac[3];if(!($interfaceIsEqual(ag,$ifaceNil))){ah="";ai=ag;b=ah;c=ai;return[b,c];}a=af;if(ad<128||!ae){ab=$append(ab,(ad<<24>>>24));}else{aj=C.EncodeRune(new CL(z),ad);ab=$appendSlice(ab,$subslice(new CL(z),0,aj));}if((g===39)&&!((a.length===0))){ak="";al=$pkg.ErrSyntax;b=ak;c=al;return[b,c];}}am=$bytesToString(ab);an=$ifaceNil;b=am;c=an;return[b,c];};CB=function(a,b){var c;c=0;while(c>0;}return false;};CC=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CD=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CE=$pkg.IsPrint=function(a){var 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=CC(f,e);if(h>=f.$length||e<(i=h&~1,((i<0||i>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]))=g.$length||!((((k<0||k>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+k])===e));}l=(a>>>0);m=BF;n=BG;o=l;p=m;q=n;r=CD(p,o);if(r>=p.$length||o<(s=r&~1,((s<0||s>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+t]))=131072){return true;}a=a-(65536)>>0;u=CC(q,(a<<16>>>16));return u>=q.$length||!((((u<0||u>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+u])===(a<<16>>>16)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}CF=$sliceType($Int);CG=$sliceType($Float64);CH=$sliceType($Float32);CI=$sliceType(AD);CJ=$sliceType($Uint16);CK=$sliceType($Uint32);CL=$sliceType($Uint8);CM=$ptrType(S);CN=$arrayType($Uint8,24);CO=$arrayType($Uint8,32);CP=$ptrType(AP);CQ=$arrayType($Uint8,3);CR=$arrayType($Uint8,50);CS=$arrayType($Uint8,65);CT=$arrayType($Uint8,4);CU=$arrayType($Uint8,800);CV=$ptrType(Z);CW=$ptrType(AY);CX=$ptrType(AI);CM.methods=[["Error","Error","",$funcType([],[$String],false),-1]];S.init([["Func","Func","",$String,""],["Num","Num","",$String,""],["Err","Err","",$error,""]]);CV.methods=[["Assign","Assign","",$funcType([$Uint64],[],false),-1],["Round","Round","",$funcType([$Int],[],false),-1],["RoundDown","RoundDown","",$funcType([$Int],[],false),-1],["RoundUp","RoundUp","",$funcType([$Int],[],false),-1],["RoundedInteger","RoundedInteger","",$funcType([],[$Uint64],false),-1],["Shift","Shift","",$funcType([$Int],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["set","set","strconv",$funcType([$String],[$Bool],false),-1]];Z.init([["d","d","strconv",CU,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""],["trunc","trunc","strconv",$Bool,""]]);AD.init([["delta","delta","strconv",$Int,""],["cutoff","cutoff","strconv",$String,""]]);CX.methods=[["AssignComputeBounds","AssignComputeBounds","",$funcType([$Uint64,$Int,$Bool,CP],[AI,AI],false),-1],["AssignDecimal","AssignDecimal","",$funcType([$Uint64,$Int,$Bool,$Bool,CP],[$Bool],false),-1],["FixedDecimal","FixedDecimal","",$funcType([CW,$Int],[$Bool],false),-1],["Multiply","Multiply","",$funcType([AI],[],false),-1],["Normalize","Normalize","",$funcType([],[$Uint],false),-1],["ShortestDecimal","ShortestDecimal","",$funcType([CW,CX,CX],[$Bool],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["frexp10","frexp10","strconv",$funcType([],[$Int,$Int],false),-1]];AI.init([["mant","mant","strconv",$Uint64,""],["exp","exp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);AP.init([["mantbits","mantbits","strconv",$Uint,""],["expbits","expbits","strconv",$Uint,""],["bias","bias","strconv",$Int,""]]);AY.init([["d","d","strconv",CL,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);G=true;K=new CF([1,3,6,9,13,16,19,23,26]);L=new CG([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 CH([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");AE=new CI([new AD.Ptr(0,""),new AD.Ptr(1,"5"),new AD.Ptr(1,"25"),new AD.Ptr(1,"125"),new AD.Ptr(2,"625"),new AD.Ptr(2,"3125"),new AD.Ptr(2,"15625"),new AD.Ptr(3,"78125"),new AD.Ptr(3,"390625"),new AD.Ptr(3,"1953125"),new AD.Ptr(4,"9765625"),new AD.Ptr(4,"48828125"),new AD.Ptr(4,"244140625"),new AD.Ptr(4,"1220703125"),new AD.Ptr(5,"6103515625"),new AD.Ptr(5,"30517578125"),new AD.Ptr(5,"152587890625"),new AD.Ptr(6,"762939453125"),new AD.Ptr(6,"3814697265625"),new AD.Ptr(6,"19073486328125"),new AD.Ptr(7,"95367431640625"),new AD.Ptr(7,"476837158203125"),new AD.Ptr(7,"2384185791015625"),new AD.Ptr(7,"11920928955078125"),new AD.Ptr(8,"59604644775390625"),new AD.Ptr(8,"298023223876953125"),new AD.Ptr(8,"1490116119384765625"),new AD.Ptr(9,"7450580596923828125")]);AJ=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(2147483648,0),-63,false),new AI.Ptr(new $Uint64(2684354560,0),-60,false),new AI.Ptr(new $Uint64(3355443200,0),-57,false),new AI.Ptr(new $Uint64(4194304000,0),-54,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3276800000,0),-47,false),new AI.Ptr(new $Uint64(4096000000,0),-44,false),new AI.Ptr(new $Uint64(2560000000,0),-40,false)]);AK=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(4203730336,136053384),-1220,false),new AI.Ptr(new $Uint64(3132023167,2722021238),-1193,false),new AI.Ptr(new $Uint64(2333539104,810921078),-1166,false),new AI.Ptr(new $Uint64(3477244234,1573795306),-1140,false),new AI.Ptr(new $Uint64(2590748842,1432697645),-1113,false),new AI.Ptr(new $Uint64(3860516611,1025131999),-1087,false),new AI.Ptr(new $Uint64(2876309015,3348809418),-1060,false),new AI.Ptr(new $Uint64(4286034428,3200048207),-1034,false),new AI.Ptr(new $Uint64(3193344495,1097586188),-1007,false),new AI.Ptr(new $Uint64(2379227053,2424306748),-980,false),new AI.Ptr(new $Uint64(3545324584,827693699),-954,false),new AI.Ptr(new $Uint64(2641472655,2913388981),-927,false),new AI.Ptr(new $Uint64(3936100983,602835915),-901,false),new AI.Ptr(new $Uint64(2932623761,1081627501),-874,false),new AI.Ptr(new $Uint64(2184974969,1572261463),-847,false),new AI.Ptr(new $Uint64(3255866422,1308317239),-821,false),new AI.Ptr(new $Uint64(2425809519,944281679),-794,false),new AI.Ptr(new $Uint64(3614737867,629291719),-768,false),new AI.Ptr(new $Uint64(2693189581,2545915892),-741,false),new AI.Ptr(new $Uint64(4013165208,388672741),-715,false),new AI.Ptr(new $Uint64(2990041083,708162190),-688,false),new AI.Ptr(new $Uint64(2227754207,3536207675),-661,false),new AI.Ptr(new $Uint64(3319612455,450088378),-635,false),new AI.Ptr(new $Uint64(2473304014,3139815830),-608,false),new AI.Ptr(new $Uint64(3685510180,2103616900),-582,false),new AI.Ptr(new $Uint64(2745919064,224385782),-555,false),new AI.Ptr(new $Uint64(4091738259,3737383206),-529,false),new AI.Ptr(new $Uint64(3048582568,2868871352),-502,false),new AI.Ptr(new $Uint64(2271371013,1820084875),-475,false),new AI.Ptr(new $Uint64(3384606560,885076051),-449,false),new AI.Ptr(new $Uint64(2521728396,2444895829),-422,false),new AI.Ptr(new $Uint64(3757668132,1881767613),-396,false),new AI.Ptr(new $Uint64(2799680927,3102062735),-369,false),new AI.Ptr(new $Uint64(4171849679,2289335700),-343,false),new AI.Ptr(new $Uint64(3108270227,2410191823),-316,false),new AI.Ptr(new $Uint64(2315841784,3205436779),-289,false),new AI.Ptr(new $Uint64(3450873173,1697722806),-263,false),new AI.Ptr(new $Uint64(2571100870,3497754540),-236,false),new AI.Ptr(new $Uint64(3831238852,707476230),-210,false),new AI.Ptr(new $Uint64(2854495385,1769181907),-183,false),new AI.Ptr(new $Uint64(4253529586,2197867022),-157,false),new AI.Ptr(new $Uint64(3169126500,2450594539),-130,false),new AI.Ptr(new $Uint64(2361183241,1867548876),-103,false),new AI.Ptr(new $Uint64(3518437208,3793315116),-77,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3906250000,0),-24,false),new AI.Ptr(new $Uint64(2910383045,2892103680),3,false),new AI.Ptr(new $Uint64(2168404344,4170451332),30,false),new AI.Ptr(new $Uint64(3231174267,3372684723),56,false),new AI.Ptr(new $Uint64(2407412430,2078956656),83,false),new AI.Ptr(new $Uint64(3587324068,2884206696),109,false),new AI.Ptr(new $Uint64(2672764710,395977285),136,false),new AI.Ptr(new $Uint64(3982729777,3569679143),162,false),new AI.Ptr(new $Uint64(2967364920,2361961896),189,false),new AI.Ptr(new $Uint64(2210859150,447440347),216,false),new AI.Ptr(new $Uint64(3294436857,1114709402),242,false),new AI.Ptr(new $Uint64(2454546732,2786846552),269,false),new AI.Ptr(new $Uint64(3657559652,443583978),295,false),new AI.Ptr(new $Uint64(2725094297,2599384906),322,false),new AI.Ptr(new $Uint64(4060706939,3028118405),348,false),new AI.Ptr(new $Uint64(3025462433,2044532855),375,false),new AI.Ptr(new $Uint64(2254145170,1536935362),402,false),new AI.Ptr(new $Uint64(3358938053,3365297469),428,false),new AI.Ptr(new $Uint64(2502603868,4204241075),455,false),new AI.Ptr(new $Uint64(3729170365,2577424355),481,false),new AI.Ptr(new $Uint64(2778448436,3677981733),508,false),new AI.Ptr(new $Uint64(4140210802,2744688476),534,false),new AI.Ptr(new $Uint64(3084697427,1424604878),561,false),new AI.Ptr(new $Uint64(2298278679,4062331362),588,false),new AI.Ptr(new $Uint64(3424702107,3546052773),614,false),new AI.Ptr(new $Uint64(2551601907,2065781727),641,false),new AI.Ptr(new $Uint64(3802183132,2535403578),667,false),new AI.Ptr(new $Uint64(2832847187,1558426518),694,false),new AI.Ptr(new $Uint64(4221271257,2762425404),720,false),new AI.Ptr(new $Uint64(3145092172,2812560400),747,false),new AI.Ptr(new $Uint64(2343276271,3057687578),774,false),new AI.Ptr(new $Uint64(3491753744,2790753324),800,false),new AI.Ptr(new $Uint64(2601559269,3918606633),827,false),new AI.Ptr(new $Uint64(3876625403,2711358621),853,false),new AI.Ptr(new $Uint64(2888311001,1648096297),880,false),new AI.Ptr(new $Uint64(2151959390,2057817989),907,false),new AI.Ptr(new $Uint64(3206669376,61660461),933,false),new AI.Ptr(new $Uint64(2389154863,1581580175),960,false),new AI.Ptr(new $Uint64(3560118173,2626467905),986,false),new AI.Ptr(new $Uint64(2652494738,3034782633),1013,false),new AI.Ptr(new $Uint64(3952525166,3135207385),1039,false),new AI.Ptr(new $Uint64(2944860731,2616258155),1066,false)]);AL=$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)]);AQ=new AP.Ptr(23,8,-127);AR=new AP.Ptr(52,11,-1023);BD=new CJ([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,2226,2276,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,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,3161,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3406,3415,3415,3424,3427,3430,3445,3449,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,5108,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,7295,7360,7367,7376,7417,7424,7669,7676,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8381,8400,8432,8448,8585,8592,9210,9216,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11842,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40908,40960,42124,42128,42182,42192,42539,42560,42743,42752,42925,42928,42929,42999,43051,43056,43065,43072,43127,43136,43204,43214,43225,43232,43259,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43871,43876,43877,43968,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,65069,65072,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CJ([173,907,909,930,1328,1376,1416,1424,1757,2111,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,3200,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,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42654,42895,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CK([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65932,65936,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,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67840,67867,67871,67897,67903,67903,67968,68023,68030,68031,68096,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,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70088,70093,70093,70096,70106,70113,70132,70144,70205,70320,70378,70384,70393,70401,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70487,70487,70493,70499,70502,70508,70512,70516,70784,70855,70864,70873,71040,71093,71096,71113,71168,71236,71248,71257,71296,71351,71360,71369,71840,71922,71935,71935,72384,72440,73728,74648,74752,74868,77824,78894,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119261,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,120831,124928,125124,125127,125142,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,127386,127462,127490,127504,127546,127552,127560,127568,127569,127744,127788,127792,127869,127872,127950,127956,127991,128000,128330,128336,128578,128581,128719,128736,128748,128752,128755,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,131072,173782,173824,177972,177984,178205,194560,195101,917760,917999]);BG=new CJ([12,39,59,62,926,2057,2102,2134,2564,2580,2584,4285,4405,4626,4868,4905,4913,4916,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,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,62719,62842,62884]);BM=$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;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["reflect"]=(function(){var $pkg={},B,E,A,C,D,FF,FG,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GE,GF,GG,GH,GI,GJ,GO,GQ,GR,GS,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HF,HG,HH,HI,AF,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BS,BT,BU,CT,CU,CX,CZ,F,BR,DG,G,H,I,J,K,L,M,N,O,P,T,U,V,W,Y,AC,AD,AE,AG,AH,AI,AJ,AK,AM,AN,AO,AP,AQ,BW,BY,BZ,CA,CL,CQ,DH,DZ,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW;B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["math"];A=$packages["runtime"];C=$packages["strconv"];D=$packages["sync"];AF=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter","mapIter","reflect",function(t_,m_,keys_,i_){this.$val=this;this.t=t_!==undefined?t_:$ifaceNil;this.m=m_!==undefined?m_:null;this.keys=keys_!==undefined?keys_:null;this.i=i_!==undefined?i_:0;});AZ=$pkg.Type=$newType(8,$kindInterface,"reflect.Type","Type","reflect",null);BA=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind","Kind","reflect",null);BB=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype","rtype","reflect",function(size_,hash_,_$2_,align_,fieldAlign_,kind_,alg_,gc_,string_,uncommonType_,ptrToThis_,zero_){this.$val=this;this.size=size_!==undefined?size_:0;this.hash=hash_!==undefined?hash_:0;this._$2=_$2_!==undefined?_$2_:0;this.align=align_!==undefined?align_:0;this.fieldAlign=fieldAlign_!==undefined?fieldAlign_:0;this.kind=kind_!==undefined?kind_:0;this.alg=alg_!==undefined?alg_:FP.nil;this.gc=gc_!==undefined?gc_:FQ.zero();this.string=string_!==undefined?string_:FR.nil;this.uncommonType=uncommonType_!==undefined?uncommonType_:FS.nil;this.ptrToThis=ptrToThis_!==undefined?ptrToThis_:FF.nil;this.zero=zero_!==undefined?zero_:0;});BC=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg","typeAlg","reflect",function(hash_,equal_){this.$val=this;this.hash=hash_!==undefined?hash_:$throwNilPointerError;this.equal=equal_!==undefined?equal_:$throwNilPointerError;});BD=$pkg.method=$newType(0,$kindStruct,"reflect.method","method","reflect",function(name_,pkgPath_,mtyp_,typ_,ifn_,tfn_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.mtyp=mtyp_!==undefined?mtyp_:FF.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.ifn=ifn_!==undefined?ifn_:0;this.tfn=tfn_!==undefined?tfn_:0;});BE=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType","uncommonType","reflect",function(name_,pkgPath_,methods_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.methods=methods_!==undefined?methods_:FT.nil;});BF=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir","ChanDir","reflect",null);BG=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType","arrayType","reflect",function(rtype_,elem_,slice_,len_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.slice=slice_!==undefined?slice_:FF.nil;this.len=len_!==undefined?len_:0;});BH=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType","chanType","reflect",function(rtype_,elem_,dir_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.dir=dir_!==undefined?dir_:0;});BI=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType","funcType","reflect",function(rtype_,dotdotdot_,in$2_,out_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.dotdotdot=dotdotdot_!==undefined?dotdotdot_:false;this.in$2=in$2_!==undefined?in$2_:FU.nil;this.out=out_!==undefined?out_:FU.nil;});BJ=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod","imethod","reflect",function(name_,pkgPath_,typ_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;});BK=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType","interfaceType","reflect",function(rtype_,methods_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.methods=methods_!==undefined?methods_:FV.nil;});BL=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType","mapType","reflect",function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.key=key_!==undefined?key_:FF.nil;this.elem=elem_!==undefined?elem_:FF.nil;this.bucket=bucket_!==undefined?bucket_:FF.nil;this.hmap=hmap_!==undefined?hmap_:FF.nil;this.keysize=keysize_!==undefined?keysize_:0;this.indirectkey=indirectkey_!==undefined?indirectkey_:0;this.valuesize=valuesize_!==undefined?valuesize_:0;this.indirectvalue=indirectvalue_!==undefined?indirectvalue_:0;this.bucketsize=bucketsize_!==undefined?bucketsize_:0;});BM=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType","ptrType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BN=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType","sliceType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BO=$pkg.structField=$newType(0,$kindStruct,"reflect.structField","structField","reflect",function(name_,pkgPath_,typ_,tag_,offset_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.tag=tag_!==undefined?tag_:FR.nil;this.offset=offset_!==undefined?offset_:0;});BP=$pkg.structType=$newType(0,$kindStruct,"reflect.structType","structType","reflect",function(rtype_,fields_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.fields=fields_!==undefined?fields_:FW.nil;});BQ=$pkg.Method=$newType(0,$kindStruct,"reflect.Method","Method","reflect",function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Func=Func_!==undefined?Func_:new CT.Ptr();this.Index=Index_!==undefined?Index_:0;});BS=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField","StructField","reflect",function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Tag=Tag_!==undefined?Tag_:"";this.Offset=Offset_!==undefined?Offset_:0;this.Index=Index_!==undefined?Index_:GH.nil;this.Anonymous=Anonymous_!==undefined?Anonymous_:false;});BT=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag","StructTag","reflect",null);BU=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan","fieldScan","reflect",function(typ_,index_){this.$val=this;this.typ=typ_!==undefined?typ_:GJ.nil;this.index=index_!==undefined?index_:GH.nil;});CT=$pkg.Value=$newType(0,$kindStruct,"reflect.Value","Value","reflect",function(typ_,ptr_,flag_){this.$val=this;this.typ=typ_!==undefined?typ_:FF.nil;this.ptr=ptr_!==undefined?ptr_:0;this.flag=flag_!==undefined?flag_:0;});CU=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag","flag","reflect",null);CX=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError","ValueError","reflect",function(Method_,Kind_){this.$val=this;this.Method=Method_!==undefined?Method_:"";this.Kind=Kind_!==undefined?Kind_:0;});CZ=$pkg.nonEmptyInterface=$newType(0,$kindStruct,"reflect.nonEmptyInterface","nonEmptyInterface","reflect",function(itab_,word_){this.$val=this;this.itab=itab_!==undefined?itab_:GA.nil;this.word=word_!==undefined?word_:0;});G=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar;ad=(function(ad){});ad((ae=new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0),new ae.constructor.Struct(ae)));ad((af=new BE.Ptr(FR.nil,FR.nil,FT.nil),new af.constructor.Struct(af)));ad((ag=new BD.Ptr(FR.nil,FR.nil,FF.nil,FF.nil,0,0),new ag.constructor.Struct(ag)));ad((ah=new BG.Ptr(new BB.Ptr(),FF.nil,FF.nil,0),new ah.constructor.Struct(ah)));ad((ai=new BH.Ptr(new BB.Ptr(),FF.nil,0),new ai.constructor.Struct(ai)));ad((aj=new BI.Ptr(new BB.Ptr(),false,FU.nil,FU.nil),new aj.constructor.Struct(aj)));ad((ak=new BK.Ptr(new BB.Ptr(),FV.nil),new ak.constructor.Struct(ak)));ad((al=new BL.Ptr(new BB.Ptr(),FF.nil,FF.nil,FF.nil,FF.nil,0,0,0,0,0),new al.constructor.Struct(al)));ad((am=new BM.Ptr(new BB.Ptr(),FF.nil),new am.constructor.Struct(am)));ad((an=new BN.Ptr(new BB.Ptr(),FF.nil),new an.constructor.Struct(an)));ad((ao=new BP.Ptr(new BB.Ptr(),FW.nil),new ao.constructor.Struct(ao)));ad((ap=new BJ.Ptr(FR.nil,FR.nil,FF.nil),new ap.constructor.Struct(ap)));ad((aq=new BO.Ptr(FR.nil,FR.nil,FF.nil,FR.nil,0),new aq.constructor.Struct(aq)));ar=$pkg;ar.RecvDir=1;ar.SendDir=2;ar.BothDir=3;$reflect=ar;F=true;DG=$assertType(O(new $Uint8(0)),FF);};H=function(ad){return ad.jsType;};I=function(ad){return ad.reflectType();};J=function(ad){var ae;ae=ad.Kind();if(ae===1||ae===2||ae===3||ae===4||ae===5||ae===7||ae===8||ae===9||ae===10||ae===12||ae===13||ae===14||ae===17||ae===21||ae===19||ae===24||ae===25){return true;}else if(ae===22){return ad.Elem().Kind()===17;}return false;};K=function(ad,ae,af){var ag,ah,ai;ag=H(af).fields;ah=0;while(ah<$parseInt(ag.length)){ai=$internalize(ag[ah][0],$String);ad[$externalize(ai,$String)]=ae[$externalize(ai,$String)];ah=ah+(1)>>0;}};L=function(ad,ae,af){var ag;ag=ad.common();if((ad.Kind()===17)||(ad.Kind()===25)||(ad.Kind()===22)){return new CT.Ptr(ag,ae,(af|(ad.Kind()>>>0))>>>0);}return new CT.Ptr(ag,$newDataPointer(ae,H(ag.ptrTo())),(((af|(ad.Kind()>>>0))>>>0)|64)>>>0);};M=$pkg.MakeSlice=function(ad,ae,af){if(!((ad.Kind()===23))){$panic(new $String("reflect.MakeSlice of non-slice type"));}if(ae<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(af<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ae>af){$panic(new $String("reflect.MakeSlice: len > cap"));}return L(ad,H(ad).make(ae,af,(function(){return H(ad.Elem()).zero();})),0);};N=function(){return I($packages[$externalize("github.com/gopherjs/gopherjs/js",$String)].Object);};O=$pkg.TypeOf=function(ad){var ae;if(!F){return new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0);}if($interfaceIsEqual(ad,$ifaceNil)){return $ifaceNil;}ae=ad.constructor;if(ae.kind===undefined){return N();}return I(ae);};P=$pkg.ValueOf=function(ad){var ae;if($interfaceIsEqual(ad,$ifaceNil)){return new CT.Ptr(FF.nil,0,0);}ae=ad.constructor;if(ae.kind===undefined){return new CT.Ptr(N(),ad,20);}return L(I(ae),ad.$val,0);};BB.Ptr.prototype.ptrTo=function(){var ad;ad=this;return I($ptrType(H(ad)));};BB.prototype.ptrTo=function(){return this.$val.ptrTo();};T=$pkg.SliceOf=function(ad){return I($sliceType(H(ad)));};U=$pkg.Zero=function(ad){return L(ad,H(ad).zero(),0);};V=function(ad){var ae;ae=ad.Kind();if(ae===25){return new(H(ad).Ptr)();}else if(ae===17){return H(ad).zero();}else{return $newDataPointer(H(ad).zero(),H(ad.ptrTo()));}};W=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.Kind();if(ai===3){ah.$set((ae.$low<<24>>24));}else if(ai===4){ah.$set((ae.$low<<16>>16));}else if(ai===2||ai===5){ah.$set((ae.$low>>0));}else if(ai===6){ah.$set(new $Int64(ae.$high,ae.$low));}else if(ai===8){ah.$set((ae.$low<<24>>>24));}else if(ai===9){ah.$set((ae.$low<<16>>>16));}else if(ai===7||ai===10||ai===12){ah.$set((ae.$low>>>0));}else if(ai===11){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};Y=function(ad,ae,af){ad.$set(ae.$get());};AC=function(ad,ae,af){var ag,ah;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}ah=ae[$externalize($internalize(ag,$String),$String)];if(ah===undefined){return 0;}return $newDataPointer(ah.v,H(BW(ad.Elem())));};AD=function(ad,ae,af,ag){var ah,ai,aj,ak,al,am;ah=af.$get();ai=ah;if(!(ai.$key===undefined)){ai=ai.$key();}aj=ag.$get();ak=ad.Elem();if(ak.Kind()===25){al=H(ak).zero();K(al,aj,ak);aj=al;}am=new($global.Object)();am.k=ah;am.v=aj;ae[$externalize($internalize(ai,$String),$String)]=am;};AE=function(ad,ae,af){var ag;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}delete ae[$externalize($internalize(ag,$String),$String)];};AG=function(ad,ae){return new AF.Ptr(ad,ae,$keys(ae),0);};AH=function(ad){var ae,af;ae=ad;af=ae.keys[ae.i];return $newDataPointer(ae.m[$externalize($internalize(af,$String),$String)].k,H(BW(ae.t.Key())));};AI=function(ad){var ae;ae=ad;ae.i=ae.i+(1)>>0;};AJ=function(ad){return $parseInt($keys(ad).length);};AK=function(ad,ae){var af,ag,ah,ai,aj;ad=ad;af=ad.object();if(af===H(ad.typ).nil){return L(ae,H(ae).nil,ad.flag);}ag=null;ah=ae.Kind();ai=ah;switch(0){default:if(ai===18){ag=new(H(ae))();}else if(ai===23){aj=new(H(ae))(af.$array);aj.$offset=af.$offset;aj.$length=af.$length;aj.$capacity=af.$capacity;ag=$newDataPointer(aj,H(BW(ae)));}else if(ai===22){if(ae.Elem().Kind()===25){if($interfaceIsEqual(ae.Elem(),ad.typ.Elem())){ag=af;break;}ag=new(H(ae))();K(ag,af,ae.Elem());break;}ag=new(H(ae))(af.$get,af.$set);}else if(ai===25){ag=new(H(ae).Ptr)();K(ag,af,ae);}else if(ai===17||ai===19||ai===20||ai===21||ai===24){ag=ad.ptr;}else{$panic(new CX.Ptr("reflect.Convert",ah));}}return new CT.Ptr(ae.common(),ag,(((ad.flag&96)>>>0)|(ae.Kind()>>>0))>>>0);};AM=function(ad,ae,af){var ag=FF.nil,ah=FF.nil,ai=0,aj,ak,al,am,an,ao,ap,aq,ar;ae=ae;aj="";if(ae.typ.Kind()===20){ak=ae.typ.interfaceType;if(af<0||af>=ak.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}am=(al=ak.methods,((af<0||af>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+af]));if(!($pointerIsEqual(am.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}an=$clone(ae.ptr,CZ);if(an.itab===GA.nil){$panic(new $String("reflect: "+ad+" of method on nil interface value"));}ah=am.typ;aj=am.name.$get();}else{ao=ae.typ.uncommonType.uncommon();if(ao===FS.nil||af<0||af>=ao.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}aq=(ap=ao.methods,((af<0||af>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+af]));if(!($pointerIsEqual(aq.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}ah=aq.mtyp;aj=$internalize(H(ae.typ).methods[af][0],$String);}ar=ae.object();if(J(ae.typ)){ar=new(H(ae.typ))(ar);}ai=ar[$externalize(aj,$String)];return[ag,ah,ai];};AN=function(ad,ae){ad=ad;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.Interface",0));}if(ae&&!((((ad.flag&32)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((ad.flag&256)>>>0)===0))){ad=AQ("Interface",ad);}if(J(ad.typ)){return new(H(ad.typ))(ad.object());}return ad.object();};AO=function(ad,ae,af){af.$set(ae);};AP=function(){return"?FIXME?";};AQ=function(ad,ae){var af,ag,ah,ai;ae=ae;if(((ae.flag&256)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}af=AM(ad,ae,(ae.flag>>0)>>9>>0);ag=af[2];ah=ae.object();if(J(ae.typ)){ah=new(H(ae.typ))(ah);}ai=(function(){return ag.apply(ah,$externalize(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),GB));});return new CT.Ptr(ae.Type().common(),ai,(((ae.flag&32)>>>0)|19)>>>0);};BB.Ptr.prototype.pointers=function(){var ad,ae;ad=this;ae=ad.Kind();if(ae===22||ae===21||ae===18||ae===19||ae===25||ae===17){return true;}else{return false;}};BB.prototype.pointers=function(){return this.$val.pointers();};BB.Ptr.prototype.Comparable=function(){var ad,ae,af;ad=this;ae=ad.Kind();if(ae===19||ae===23||ae===21){return false;}else if(ae===17){return ad.Elem().Comparable();}else if(ae===25){af=0;while(af>0;}}return true;};BB.prototype.Comparable=function(){return this.$val.Comparable();};BE.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah,ai,aj,ak,al;af=this;if(af===FS.nil||ad<0||ad>=af.methods.$length){$panic(new $String("reflect: Method index out of range"));}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}ai=19;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();ai=(ai|(32))>>>0;}aj=ah.typ;ae.Type=aj;ak=$internalize(af.jsType.methods[ad][0],$String);al=(function(al){return al[$externalize(ak,$String)].apply(al,$externalize($subslice(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),1),GB));});ae.Func=new CT.Ptr(aj,al,ai);ae.Index=ad;return ae;};BE.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.object=function(){var ad,ae,af,ag;ad=this;if((ad.typ.Kind()===17)||(ad.typ.Kind()===25)){return ad.ptr;}if(!((((ad.flag&64)>>>0)===0))){ae=ad.ptr.$get();if(!(ae===$ifaceNil)&&!(ae.constructor===H(ad.typ))){af=ad.typ.Kind();switch(0){default:if(af===11||af===6){ae=new(H(ad.typ))(ae.$high,ae.$low);}else if(af===15||af===16){ae=new(H(ad.typ))(ae.$real,ae.$imag);}else if(af===23){if(ae===ae.constructor.nil){ae=H(ad.typ).nil;break;}ag=new(H(ad.typ))(ae.$array);ag.$offset=ae.$offset;ag.$length=ae.$length;ag.$capacity=ae.$capacity;ae=ag;}}}return ae;}return ad.ptr;};CT.prototype.object=function(){return this.$val.object();};CT.Ptr.prototype.call=function(ad,ae){var 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;af=this;ag=af.typ;ah=0;ai=null;if(!((((af.flag&256)>>>0)===0))){aj=AM(ad,af,(af.flag>>0)>>9>>0);ag=aj[1];ah=aj[2];ai=af.object();if(J(af.typ)){ai=new(H(af.typ))(ai);}}else{ah=af.object();}if(ah===0){$panic(new $String("reflect.Value.Call: call of nil function"));}ak=ad==="CallSlice";al=ag.NumIn();if(ak){if(!ag.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ae.$lengthal){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(ag.IsVariadic()){al=al-(1)>>0;}if(ae.$lengthal){$panic(new $String("reflect: Call with too many input arguments"));}}am=ae;an=0;while(an=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);if(ao.Kind()===0){$panic(new $String("reflect: "+ad+" using zero Value argument"));}an++;}ap=0;while(ap=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ap]).Type();ar=ag.In(ap);as=aq;at=ar;if(!as.AssignableTo(at)){$panic(new $String("reflect: "+ad+" using "+as.String()+" as type "+at.String()));}ap=ap+(1)>>0;}if(!ak&&ag.IsVariadic()){au=ae.$length-al>>0;av=M(ag.In(al),au,au);aw=ag.In(al).Elem();ax=0;while(ax>0,((ay<0||ay>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ay]));ba=az.Type();if(!ba.AssignableTo(aw)){$panic(new $String("reflect: cannot use "+ba.String()+" as type "+aw.String()+" in "+ad));}av.Index(ax).Set(az);ax=ax+(1)>>0;}bb=ae;ae=FX.make((al+1>>0));$copySlice($subslice(ae,0,al),bb);(al<0||al>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+al]=av;}bc=ae.$length;if(!((bc===ag.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bd=ag.NumOut();be=new($global.Array)(ag.NumIn());bf=ae;bg=0;while(bg=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bg]);be[bh]=bi.assignTo("reflect.Value.Call",ag.In(bh).common(),0).object();bg++;}bj=ah.apply(ai,be);bk=bd;if(bk===0){return FX.nil;}else if(bk===1){return new FX([$clone(L(ag.Out(0),bj,0),CT)]);}else{bl=FX.make(bd);bm=bl;bn=0;while(bn=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bo]=L(ag.Out(bo),bj[bo],0);bn++;}return bl;}};CT.prototype.call=function(ad,ae){return this.$val.call(ad,ae);};CT.Ptr.prototype.Cap=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17){return ad.typ.Len();}else if(af===18||af===23){return $parseInt(ad.object().$capacity)>>0;}$panic(new CX.Ptr("reflect.Value.Cap",ae));};CT.prototype.Cap=function(){return this.$val.Cap();};CT.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj,ak;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===20){ag=ad.object();if(ag===$ifaceNil){return new CT.Ptr(FF.nil,0,0);}ah=I(ag.constructor);return L(ah,ag.$val,(ad.flag&32)>>>0);}else if(af===22){if(ad.IsNil()){return new CT.Ptr(FF.nil,0,0);}ai=ad.object();aj=ad.typ.ptrType;ak=(((((ad.flag&32)>>>0)|64)>>>0)|128)>>>0;ak=(ak|((aj.elem.Kind()>>>0)))>>>0;return new CT.Ptr(aj.elem,ai,ak);}else{$panic(new CX.Ptr("reflect.Value.Elem",ae));}};CT.prototype.Elem=function(){return this.$val.Elem();};CT.Ptr.prototype.Field=function(ad){var ae,af,ag,ah,ai,aj,ak,al;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.structType;if(ad<0||ad>=af.fields.$length){$panic(new $String("reflect: Field index out of range"));}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ai=$internalize(H(ae.typ).fields[ad][0],$String);aj=ah.typ;ak=(ae.flag&224)>>>0;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ak=(ak|(32))>>>0;}ak=(ak|((aj.Kind()>>>0)))>>>0;al=ae.ptr;if(!((((ak&64)>>>0)===0))&&!((aj.Kind()===17))&&!((aj.Kind()===25))){return new CT.Ptr(aj,new(H(BW(aj)))((function(){return al[$externalize(ai,$String)];}),(function(am){al[$externalize(ai,$String)]=am;})),ak);}return L(aj,al[$externalize(ai,$String)],ak);};CT.prototype.Field=function(ad){return this.$val.Field(ad);};CT.Ptr.prototype.Index=function(ad){var ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===17){ah=ae.typ.arrayType;if(ad<0||ad>(ah.len>>0)){$panic(new $String("reflect: array index out of range"));}ai=ah.elem;aj=(ae.flag&224)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;ak=ae.ptr;if(!((((aj&64)>>>0)===0))&&!((ai.Kind()===17))&&!((ai.Kind()===25))){return new CT.Ptr(ai,new(H(BW(ai)))((function(){return ak[ad];}),(function(al){ak[ad]=al;})),aj);}return L(ai,ak[ad],aj);}else if(ag===23){al=ae.object();if(ad<0||ad>=($parseInt(al.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}am=ae.typ.sliceType;an=am.elem;ao=(192|((ae.flag&32)>>>0))>>>0;ao=(ao|((an.Kind()>>>0)))>>>0;ad=ad+(($parseInt(al.$offset)>>0))>>0;ap=al.$array;if(!((((ao&64)>>>0)===0))&&!((an.Kind()===17))&&!((an.Kind()===25))){return new CT.Ptr(an,new(H(BW(an)))((function(){return ap[ad];}),(function(aq){ap[ad]=aq;})),ao);}return L(an,ap[ad],ao);}else if(ag===24){aq=ae.ptr.$get();if(ad<0||ad>=aq.length){$panic(new $String("reflect: string index out of range"));}ar=(((ae.flag&32)>>>0)|8)>>>0;as=aq.charCodeAt(ad);return new CT.Ptr(DG,new GC(function(){return as;},function($v){as=$v;}),(ar|64)>>>0);}else{$panic(new CX.Ptr("reflect.Value.Index",af));}};CT.prototype.Index=function(ad){return this.$val.Index(ad);};CT.Ptr.prototype.IsNil=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===22||af===23){return ad.object()===H(ad.typ).nil;}else if(af===19){return ad.object()===$throwNilPointerError;}else if(af===21){return ad.object()===false;}else if(af===20){return ad.object()===$ifaceNil;}else{$panic(new CX.Ptr("reflect.Value.IsNil",ae));}};CT.prototype.IsNil=function(){return this.$val.IsNil();};CT.Ptr.prototype.Len=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17||af===24){return $parseInt(ad.object().length);}else if(af===23){return $parseInt(ad.object().$length)>>0;}else if(af===18){return $parseInt(ad.object().$buffer.length)>>0;}else if(af===21){return $parseInt($keys(ad.object()).length);}else{$panic(new CX.Ptr("reflect.Value.Len",ae));}};CT.prototype.Len=function(){return this.$val.Len();};CT.Ptr.prototype.Pointer=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===21||af===22||af===26){if(ad.IsNil()){return 0;}return ad.object();}else if(af===19){if(ad.IsNil()){return 0;}return 1;}else if(af===23){if(ad.IsNil()){return 0;}return ad.object().$array;}else{$panic(new CX.Ptr("reflect.Value.Pointer",ae));}};CT.prototype.Pointer=function(){return this.$val.Pointer();};CT.Ptr.prototype.Set=function(ad){var ae,af;ae=this;ad=ad;new CU(ae.flag).mustBeAssignable();new CU(ad.flag).mustBeExported();ad=ad.assignTo("reflect.Set",ae.typ,0);if(!((((ae.flag&64)>>>0)===0))){af=ae.typ.Kind();if(af===17){$copy(ae.ptr,ad.ptr,H(ae.typ));}else if(af===20){ae.ptr.$set(AN(ad,false));}else if(af===25){K(ae.ptr,ad.ptr,ae.typ);}else{ae.ptr.$set(ad.object());}return;}ae.ptr=ad.ptr;};CT.prototype.Set=function(ad){return this.$val.Set(ad);};CT.Ptr.prototype.SetCap=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<($parseInt(af.$length)>>0)||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=af.$length;ag.$capacity=ad;ae.ptr.$set(ag);};CT.prototype.SetCap=function(ad){return this.$val.SetCap(ad);};CT.Ptr.prototype.SetLen=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<0||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=ad;ag.$capacity=af.$capacity;ae.ptr.$set(ag);};CT.prototype.SetLen=function(ad){return this.$val.SetLen(ad);};CT.Ptr.prototype.Slice=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am;af=this;ag=0;ah=$ifaceNil;ai=null;aj=new CU(af.flag).kind();ak=aj;if(ak===17){if(((af.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}al=af.typ.arrayType;ag=(al.len>>0);ah=T(al.elem);ai=new(H(ah))(af.object());}else if(ak===23){ah=af.typ;ai=af.object();ag=$parseInt(ai.$capacity)>>0;}else if(ak===24){am=af.ptr.$get();if(ad<0||aeam.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}return P(new $String(am.substring(ad,ae)));}else{$panic(new CX.Ptr("reflect.Value.Slice",aj));}if(ad<0||aeag){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}return L(ah,$subslice(ai,ad,ae),(af.flag&32)>>>0);};CT.prototype.Slice=function(ad,ae){return this.$val.Slice(ad,ae);};CT.Ptr.prototype.Slice3=function(ad,ae,af){var ag,ah,ai,aj,ak,al,am;ag=this;ah=0;ai=$ifaceNil;aj=null;ak=new CU(ag.flag).kind();al=ak;if(al===17){if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}am=ag.typ.arrayType;ah=(am.len>>0);ai=T(am.elem);aj=new(H(ai))(ag.object());}else if(al===23){ai=ag.typ;aj=ag.object();ah=$parseInt(aj.$capacity)>>0;}else{$panic(new CX.Ptr("reflect.Value.Slice3",ak));}if(ad<0||aeah){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}return L(ai,$subslice(aj,ad,ae,af),(ag.flag&32)>>>0);};CT.prototype.Slice3=function(ad,ae,af){return this.$val.Slice3(ad,ae,af);};CT.Ptr.prototype.Close=function(){var ad;ad=this;new CU(ad.flag).mustBe(18);new CU(ad.flag).mustBeExported();$close(ad.object());};CT.prototype.Close=function(){return this.$val.Close();};CT.Ptr.prototype.TrySend=function(ad){var ae,af,ag;ae=this;ad=ad;new CU(ae.flag).mustBe(18);new CU(ae.flag).mustBeExported();af=ae.typ.chanType;if(((af.dir>>0)&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new CU(ad.flag).mustBeExported();ag=ae.object();if(!!!(ag.$closed)&&($parseInt(ag.$recvQueue.length)===0)&&($parseInt(ag.$buffer.length)===($parseInt(ag.$capacity)>>0))){return false;}ad=ad.assignTo("reflect.Value.Send",af.elem,0);$send(ag,ad.object());return true;};CT.prototype.TrySend=function(ad){return this.$val.TrySend(ad);};CT.Ptr.prototype.Send=function(ad){var ae;ae=this;ad=ad;$panic(new A.NotSupportedError.Ptr("reflect.Value.Send, use reflect.Value.TrySend is possible"));};CT.prototype.Send=function(ad){return this.$val.Send(ad);};CT.Ptr.prototype.TryRecv=function(){var ad=new CT.Ptr(),ae=false,af,ag,ah,ai,aj,ak,al;af=this;new CU(af.flag).mustBe(18);new CU(af.flag).mustBeExported();ag=af.typ.chanType;if(((ag.dir>>0)&1)===0){$panic(new $String("reflect: recv on send-only channel"));}ah=$recv(af.object());if(ah.constructor===$global.Function){ai=new CT.Ptr(FF.nil,0,0);aj=false;ad=ai;ae=aj;return[ad,ae];}ak=L(ag.elem,ah[0],0);al=!!(ah[1]);ad=ak;ae=al;return[ad,ae];};CT.prototype.TryRecv=function(){return this.$val.TryRecv();};CT.Ptr.prototype.Recv=function(){var ad=new CT.Ptr(),ae=false,af;af=this;$panic(new A.NotSupportedError.Ptr("reflect.Value.Recv, use reflect.Value.TryRecv is possible"));};CT.prototype.Recv=function(){return this.$val.Recv();};BA.prototype.String=function(){var ad;ad=this.$val!==undefined?this.$val:this;if((ad>>0)=BR.$length)?$throwRuntimeError("index out of range"):BR.$array[BR.$offset+ad]);}return"kind"+C.Itoa((ad>>0));};$ptrType(BA).prototype.String=function(){return new BA(this.$get()).String();};BE.Ptr.prototype.uncommon=function(){var ad;ad=this;return ad;};BE.prototype.uncommon=function(){return this.$val.uncommon();};BE.Ptr.prototype.PkgPath=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.pkgPath,FR.nil)){return"";}return ad.pkgPath.$get();};BE.prototype.PkgPath=function(){return this.$val.PkgPath();};BE.Ptr.prototype.Name=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.name,FR.nil)){return"";}return ad.name.$get();};BE.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.String=function(){var ad;ad=this;return ad.string.$get();};BB.prototype.String=function(){return this.$val.String();};BB.Ptr.prototype.Size=function(){var ad;ad=this;return ad.size;};BB.prototype.Size=function(){return this.$val.Size();};BB.Ptr.prototype.Bits=function(){var ad,ae;ad=this;if(ad===FF.nil){$panic(new $String("reflect: Bits of nil Type"));}ae=ad.Kind();if(ae<2||ae>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+ad.String()));}return(ad.size>>0)*8>>0;};BB.prototype.Bits=function(){return this.$val.Bits();};BB.Ptr.prototype.Align=function(){var ad;ad=this;return(ad.align>>0);};BB.prototype.Align=function(){return this.$val.Align();};BB.Ptr.prototype.FieldAlign=function(){var ad;ad=this;return(ad.fieldAlign>>0);};BB.prototype.FieldAlign=function(){return this.$val.FieldAlign();};BB.Ptr.prototype.Kind=function(){var ad;ad=this;return(((ad.kind&31)>>>0)>>>0);};BB.prototype.Kind=function(){return this.$val.Kind();};BB.Ptr.prototype.common=function(){var ad;ad=this;return ad;};BB.prototype.common=function(){return this.$val.common();};BE.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad===FS.nil){return 0;}return ad.methods.$length;};BE.prototype.NumMethod=function(){return this.$val.NumMethod();};BE.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===FS.nil){return[ae,af];}ah=GE.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(!($pointerIsEqual(ah.name,FR.nil))&&ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BE.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.NumMethod=function(){var ad,ae;ad=this;if(ad.Kind()===20){ae=ad.interfaceType;return ae.NumMethod();}return ad.uncommonType.NumMethod();};BB.prototype.NumMethod=function(){return this.$val.NumMethod();};BB.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag;af=this;if(af.Kind()===20){ag=af.interfaceType;$copy(ae,ag.Method(ad),BQ);return ae;}$copy(ae,af.uncommonType.Method(ad),BQ);return ae;};BB.prototype.Method=function(ad){return this.$val.Method(ad);};BB.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj;ag=this;if(ag.Kind()===20){ah=ag.interfaceType;ai=ah.MethodByName(ad);$copy(ae,ai[0],BQ);af=ai[1];return[ae,af];}aj=ag.uncommonType.MethodByName(ad);$copy(ae,aj[0],BQ);af=aj[1];return[ae,af];};BB.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.PkgPath=function(){var ad;ad=this;return ad.uncommonType.PkgPath();};BB.prototype.PkgPath=function(){return this.$val.PkgPath();};BB.Ptr.prototype.Name=function(){var ad;ad=this;return ad.uncommonType.Name();};BB.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.ChanDir=function(){var ad,ae;ad=this;if(!((ad.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}ae=ad.chanType;return(ae.dir>>0);};BB.prototype.ChanDir=function(){return this.$val.ChanDir();};BB.Ptr.prototype.IsVariadic=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}ae=ad.funcType;return ae.dotdotdot;};BB.prototype.IsVariadic=function(){return this.$val.IsVariadic();};BB.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj;ad=this;ae=ad.Kind();if(ae===17){af=ad.arrayType;return CL(af.elem);}else if(ae===18){ag=ad.chanType;return CL(ag.elem);}else if(ae===21){ah=ad.mapType;return CL(ah.elem);}else if(ae===22){ai=ad.ptrType;return CL(ai.elem);}else if(ae===23){aj=ad.sliceType;return CL(aj.elem);}$panic(new $String("reflect: Elem of invalid type"));};BB.prototype.Elem=function(){return this.$val.Elem();};BB.Ptr.prototype.Field=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}af=ae.structType;return af.Field(ad);};BB.prototype.Field=function(ad){return this.$val.Field(ad);};BB.Ptr.prototype.FieldByIndex=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}af=ae.structType;return af.FieldByIndex(ad);};BB.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BB.Ptr.prototype.FieldByName=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}af=ae.structType;return af.FieldByName(ad);};BB.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BB.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}af=ae.structType;return af.FieldByNameFunc(ad);};BB.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BB.Ptr.prototype.In=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}af=ae.funcType;return CL((ag=af.in$2,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.In=function(ad){return this.$val.In(ad);};BB.Ptr.prototype.Key=function(){var ad,ae;ad=this;if(!((ad.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}ae=ad.mapType;return CL(ae.key);};BB.prototype.Key=function(){return this.$val.Key();};BB.Ptr.prototype.Len=function(){var ad,ae;ad=this;if(!((ad.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}ae=ad.arrayType;return(ae.len>>0);};BB.prototype.Len=function(){return this.$val.Len();};BB.Ptr.prototype.NumField=function(){var ad,ae;ad=this;if(!((ad.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}ae=ad.structType;return ae.fields.$length;};BB.prototype.NumField=function(){return this.$val.NumField();};BB.Ptr.prototype.NumIn=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}ae=ad.funcType;return ae.in$2.$length;};BB.prototype.NumIn=function(){return this.$val.NumIn();};BB.Ptr.prototype.NumOut=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}ae=ad.funcType;return ae.out.$length;};BB.prototype.NumOut=function(){return this.$val.NumOut();};BB.Ptr.prototype.Out=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}af=ae.funcType;return CL((ag=af.out,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.Out=function(ad){return this.$val.Out(ad);};BF.prototype.String=function(){var ad,ae;ad=this.$val!==undefined?this.$val:this;ae=ad;if(ae===2){return"chan<-";}else if(ae===1){return"<-chan";}else if(ae===3){return"chan";}return"ChanDir"+C.Itoa((ad>>0));};$ptrType(BF).prototype.String=function(){return new BF(this.$get()).String();};BK.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah;af=this;if(ad<0||ad>=af.methods.$length){return ae;}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Name=ah.name.$get();if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}ae.Type=CL(ah.typ);ae.Index=ad;return ae;};BK.prototype.Method=function(ad){return this.$val.Method(ad);};BK.Ptr.prototype.NumMethod=function(){var ad;ad=this;return ad.methods.$length;};BK.prototype.NumMethod=function(){return this.$val.NumMethod();};BK.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===GF.nil){return[ae,af];}ah=GG.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BK.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BT.prototype.Get=function(ad){var ae,af,ag,ah,ai,aj;ae=this.$val!==undefined?this.$val:this;while(!(ae==="")){af=0;while(af>0;}ae=ae.substring(af);if(ae===""){break;}af=0;while(af>0;}if((af+1>>0)>=ae.length||!((ae.charCodeAt(af)===58))||!((ae.charCodeAt((af+1>>0))===34))){break;}ag=ae.substring(0,af);ae=ae.substring((af+1>>0));af=1;while(af>0;}af=af+(1)>>0;}if(af>=ae.length){break;}ah=ae.substring(0,(af+1>>0));ae=ae.substring((af+1>>0));if(ad===ag){ai=C.Unquote(ah);aj=ai[0];return aj;}}return"";};$ptrType(BT).prototype.Get=function(ad){return new BT(this.$get()).Get(ad);};BP.Ptr.prototype.Field=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai;af=this;if(ad<0||ad>=af.fields.$length){return ae;}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Type=CL(ah.typ);if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}else{ai=ae.Type;if(ai.Kind()===22){ai=ai.Elem();}ae.Name=ai.Name();ae.Anonymous=true;}if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}if(!($pointerIsEqual(ah.tag,FR.nil))){ae.Tag=ah.tag.$get();}ae.Offset=ah.offset;ae.Index=new GH([ad]);return ae;};BP.prototype.Field=function(ad){return this.$val.Field(ad);};BP.Ptr.prototype.FieldByIndex=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai,aj,ak;af=this;ae.Type=CL(af.rtype);ag=ad;ah=0;while(ah=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]);if(ai>0){ak=ae.Type;if((ak.Kind()===22)&&(ak.Elem().Kind()===25)){ak=ak.Elem();}ae.Type=ak;}$copy(ae,ae.Type.Field(aj),BS);ah++;}return ae;};BP.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BP.Ptr.prototype.FieldByNameFunc=function(ad){var ae=new BS.Ptr(),af=false,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;ag=this;ah=new GI([]);ai=new GI([new BU.Ptr(ag,GH.nil)]);aj=false;ak=(al=new $Map(),al);while(ai.$length>0){an=ai;ao=$subslice(ah,0,0);ah=an;ai=ao;ap=aj;aj=false;aq=ah;ar=0;while(ar=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]),BU);at=as.typ;if((au=ak[at.$key()],au!==undefined?au.v:false)){ar++;continue;}av=at;(ak||$throwRuntimeError("assignment to entry in nil map"))[av.$key()]={k:av,v:true};aw=at.fields;ax=0;while(ax=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ay]));bb="";bc=FF.nil;if(!($pointerIsEqual(ba.name,FR.nil))){bb=ba.name.$get();}else{bc=ba.typ;if(bc.Kind()===22){bc=bc.Elem().common();}bb=bc.Name();}if(ad(bb)){if((bd=ap[at.$key()],bd!==undefined?bd.v:0)>1||af){be=new BS.Ptr("","",$ifaceNil,"",0,GH.nil,false);bf=false;$copy(ae,be,BS);af=bf;return[ae,af];}$copy(ae,at.Field(ay),BS);ae.Index=GH.nil;ae.Index=$appendSlice(ae.Index,as.index);ae.Index=$append(ae.Index,ay);af=true;ax++;continue;}if(af||bc===FF.nil||!((bc.Kind()===25))){ax++;continue;}bg=bc.structType;if((bh=aj[bg.$key()],bh!==undefined?bh.v:0)>0){bi=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bi.$key()]={k:bi,v:2};ax++;continue;}if(aj===false){aj=(bj=new $Map(),bj);}bl=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bl.$key()]={k:bl,v:1};if((bm=ap[at.$key()],bm!==undefined?bm.v:0)>1){bn=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bn.$key()]={k:bn,v:2};}bo=GH.nil;bo=$appendSlice(bo,as.index);bo=$append(bo,ay);ai=$append(ai,new BU.Ptr(bg,bo));ax++;}ar++;}if(af){break;}}return[ae,af];};BP.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BP.Ptr.prototype.FieldByName=function(ad){var ae=new BS.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an,ao,ap;ag=this;ah=false;if(!(ad==="")){ai=ag.fields;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if($pointerIsEqual(am.name,FR.nil)){ah=true;aj++;continue;}if(am.name.$get()===ad){an=$clone(ag.Field(ak),BS);ao=true;$copy(ae,an,BS);af=ao;return[ae,af];}aj++;}}if(!ah){return[ae,af];}ap=ag.FieldByNameFunc((function(aq){return aq===ad;}));$copy(ae,ap[0],BS);af=ap[1];return[ae,af];};BP.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BW=$pkg.PtrTo=function(ad){return $assertType(ad,FF).ptrTo();};BB.Ptr.prototype.Implements=function(ad){var ae;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}if(!((ad.Kind()===20))){$panic(new $String("reflect: non-interface type passed to Type.Implements"));}return BY($assertType(ad,FF),ae);};BB.prototype.Implements=function(ad){return this.$val.Implements(ad);};BB.Ptr.prototype.AssignableTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}af=$assertType(ad,FF);return BZ(af,ae)||BY(af,ae);};BB.prototype.AssignableTo=function(ad){return this.$val.AssignableTo(ad);};BB.Ptr.prototype.ConvertibleTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}af=$assertType(ad,FF);return!(EB(af,ae)===$throwNilPointerError);};BB.prototype.ConvertibleTo=function(ad){return this.$val.ConvertibleTo(ad);};BY=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at;if(!((ad.Kind()===20))){return false;}af=ad.interfaceType;if(af.methods.$length===0){return true;}if(ae.Kind()===20){ag=ae.interfaceType;ah=0;ai=0;while(ai=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ah]));am=(al=ag.methods,((ai<0||ai>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ai]));if($pointerIsEqual(am.name,ak.name)&&$pointerIsEqual(am.pkgPath,ak.pkgPath)&&am.typ===ak.typ){ah=ah+(1)>>0;if(ah>=af.methods.$length){return true;}}ai=ai+(1)>>0;}return false;}an=ae.uncommonType.uncommon();if(an===FS.nil){return false;}ao=0;ap=0;while(ap=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ao]));at=(as=an.methods,((ap<0||ap>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ap]));if($pointerIsEqual(at.name,ar.name)&&$pointerIsEqual(at.pkgPath,ar.pkgPath)&&at.mtyp===ar.typ){ao=ao+(1)>>0;if(ao>=af.methods.$length){return true;}}ap=ap+(1)>>0;}return false;};BZ=function(ad,ae){if(ad===ae){return true;}if(!(ad.Name()==="")&&!(ae.Name()==="")||!((ad.Kind()===ae.Kind()))){return false;}return CA(ad,ae);};CA=function(ad,ae){var 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;if(ad===ae){return true;}af=ad.Kind();if(!((af===ae.Kind()))){return false;}if(1<=af&&af<=16||(af===24)||(af===26)){return true;}ag=af;if(ag===17){return $interfaceIsEqual(ad.Elem(),ae.Elem())&&(ad.Len()===ae.Len());}else if(ag===18){if((ae.ChanDir()===3)&&$interfaceIsEqual(ad.Elem(),ae.Elem())){return true;}return(ae.ChanDir()===ad.ChanDir())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===19){ah=ad.funcType;ai=ae.funcType;if(!(ah.dotdotdot===ai.dotdotdot)||!((ah.in$2.$length===ai.in$2.$length))||!((ah.out.$length===ai.out.$length))){return false;}aj=ah.in$2;ak=0;while(ak=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(!(am===(an=ai.in$2,((al<0||al>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+al])))){return false;}ak++;}ao=ah.out;ap=0;while(ap=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+ap]);if(!(ar===(as=ai.out,((aq<0||aq>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+aq])))){return false;}ap++;}return true;}else if(ag===20){at=ad.interfaceType;au=ae.interfaceType;if((at.methods.$length===0)&&(au.methods.$length===0)){return true;}return false;}else if(ag===21){return $interfaceIsEqual(ad.Key(),ae.Key())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===22||ag===23){return $interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===25){av=ad.structType;aw=ae.structType;if(!((av.fields.$length===aw.fields.$length))){return false;}ax=av.fields;ay=0;while(ay=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+az]));bd=(bc=aw.fields,((az<0||az>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+az]));if(!($pointerIsEqual(bb.name,bd.name))&&($pointerIsEqual(bb.name,FR.nil)||$pointerIsEqual(bd.name,FR.nil)||!(bb.name.$get()===bd.name.$get()))){return false;}if(!($pointerIsEqual(bb.pkgPath,bd.pkgPath))&&($pointerIsEqual(bb.pkgPath,FR.nil)||$pointerIsEqual(bd.pkgPath,FR.nil)||!(bb.pkgPath.$get()===bd.pkgPath.$get()))){return false;}if(!(bb.typ===bd.typ)){return false;}if(!($pointerIsEqual(bb.tag,bd.tag))&&($pointerIsEqual(bb.tag,FR.nil)||$pointerIsEqual(bd.tag,FR.nil)||!(bb.tag.$get()===bd.tag.$get()))){return false;}if(!((bb.offset===bd.offset))){return false;}ay++;}return true;}return false;};CL=function(ad){if(ad===FF.nil){return $ifaceNil;}return ad;};CQ=function(ad){return((ad.kind&32)>>>0)===0;};CU.prototype.kind=function(){var ad;ad=this.$val!==undefined?this.$val:this;return(((ad&31)>>>0)>>>0);};$ptrType(CU).prototype.kind=function(){return new CU(this.$get()).kind();};CT.Ptr.prototype.pointer=function(){var ad;ad=this;if(!((ad.typ.size===4))||!ad.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((ad.flag&64)>>>0)===0))){return ad.ptr.$get();}return ad.ptr;};CT.prototype.pointer=function(){return this.$val.pointer();};CX.Ptr.prototype.Error=function(){var ad;ad=this;if(ad.Kind===0){return"reflect: call of "+ad.Method+" on zero Value";}return"reflect: call of "+ad.Method+" on "+new BA(ad.Kind).String()+" Value";};CX.prototype.Error=function(){return this.$val.Error();};CU.prototype.mustBe=function(ad){var ae;ae=this.$val!==undefined?this.$val:this;if(!((new CU(ae).kind()===ad))){$panic(new CX.Ptr(AP(),new CU(ae).kind()));}};$ptrType(CU).prototype.mustBe=function(ad){return new CU(this.$get()).mustBe(ad);};CU.prototype.mustBeExported=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}};$ptrType(CU).prototype.mustBeExported=function(){return new CU(this.$get()).mustBeExported();};CU.prototype.mustBeAssignable=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}if(((ad&128)>>>0)===0){$panic(new $String("reflect: "+AP()+" using unaddressable value"));}};$ptrType(CU).prototype.mustBeAssignable=function(){return new CU(this.$get()).mustBeAssignable();};CT.Ptr.prototype.Addr=function(){var ad;ad=this;if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new CT.Ptr(ad.typ.ptrTo(),ad.ptr,((((ad.flag&32)>>>0))|22)>>>0);};CT.prototype.Addr=function(){return this.$val.Addr();};CT.Ptr.prototype.Bool=function(){var ad;ad=this;new CU(ad.flag).mustBe(1);return ad.ptr.$get();};CT.prototype.Bool=function(){return this.$val.Bool();};CT.Ptr.prototype.Bytes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.Bytes of non-byte slice"));}return ad.ptr.$get();};CT.prototype.Bytes=function(){return this.$val.Bytes();};CT.Ptr.prototype.runes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.Bytes of non-rune slice"));}return ad.ptr.$get();};CT.prototype.runes=function(){return this.$val.runes();};CT.Ptr.prototype.CanAddr=function(){var ad;ad=this;return!((((ad.flag&128)>>>0)===0));};CT.prototype.CanAddr=function(){return this.$val.CanAddr();};CT.Ptr.prototype.CanSet=function(){var ad;ad=this;return((ad.flag&160)>>>0)===128;};CT.prototype.CanSet=function(){return this.$val.CanSet();};CT.Ptr.prototype.Call=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("Call",ad);};CT.prototype.Call=function(ad){return this.$val.Call(ad);};CT.Ptr.prototype.CallSlice=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("CallSlice",ad);};CT.prototype.CallSlice=function(ad){return this.$val.CallSlice(ad);};CT.Ptr.prototype.Complex=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===15){return(ag=ad.ptr.$get(),new $Complex128(ag.$real,ag.$imag));}else if(af===16){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Complex",new CU(ad.flag).kind()));};CT.prototype.Complex=function(){return this.$val.Complex();};CT.Ptr.prototype.FieldByIndex=function(ad){var ae,af,ag,ah,ai;ae=this;if(ad.$length===1){return ae.Field(((0<0||0>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+0]));}new CU(ae.flag).mustBe(25);af=ad;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if(ah>0){if((ae.Kind()===22)&&(ae.typ.Elem().Kind()===25)){if(ae.IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ae=ae.Elem();}}ae=ae.Field(ai);ag++;}return ae;};CT.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};CT.Ptr.prototype.FieldByName=function(ad){var ae,af,ag,ah;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.FieldByName(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};CT.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af,ag,ah;ae=this;af=ae.typ.FieldByNameFunc(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};CT.Ptr.prototype.Float=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===13){return $coerceFloat32(ad.ptr.$get());}else if(af===14){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Float",new CU(ad.flag).kind()));};CT.prototype.Float=function(){return this.$val.Float();};CT.Ptr.prototype.Int=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===2){return new $Int64(0,af.$get());}else if(ag===3){return new $Int64(0,af.$get());}else if(ag===4){return new $Int64(0,af.$get());}else if(ag===5){return new $Int64(0,af.$get());}else if(ag===6){return af.$get();}$panic(new CX.Ptr("reflect.Value.Int",new CU(ad.flag).kind()));};CT.prototype.Int=function(){return this.$val.Int();};CT.Ptr.prototype.CanInterface=function(){var ad;ad=this;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.CanInterface",0));}return((ad.flag&32)>>>0)===0;};CT.prototype.CanInterface=function(){return this.$val.CanInterface();};CT.Ptr.prototype.Interface=function(){var ad=$ifaceNil,ae;ae=this;ad=AN(ae,true);return ad;};CT.prototype.Interface=function(){return this.$val.Interface();};CT.Ptr.prototype.InterfaceData=function(){var ad;ad=this;new CU(ad.flag).mustBe(20);return ad.ptr;};CT.prototype.InterfaceData=function(){return this.$val.InterfaceData();};CT.Ptr.prototype.IsValid=function(){var ad;ad=this;return!((ad.flag===0));};CT.prototype.IsValid=function(){return this.$val.IsValid();};CT.Ptr.prototype.Kind=function(){var ad;ad=this;return new CU(ad.flag).kind();};CT.prototype.Kind=function(){return this.$val.Kind();};CT.Ptr.prototype.MapIndex=function(ad){var ae,af,ag,ah,ai,aj,ak;ae=this;ad=ad;new CU(ae.flag).mustBe(21);af=ae.typ.mapType;ad=ad.assignTo("reflect.Value.MapIndex",af.key,0);ag=0;if(!((((ad.flag&64)>>>0)===0))){ag=ad.ptr;}else{ag=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}ah=AC(ae.typ,ae.pointer(),ag);if(ah===0){return new CT.Ptr(FF.nil,0,0);}ai=af.elem;aj=((((ae.flag|ad.flag)>>>0))&32)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;if(CQ(ai)){ak=V(ai);Y(ak,ah,ai.size);return new CT.Ptr(ai,ak,(aj|64)>>>0);}else{return new CT.Ptr(ai,ah.$get(),aj);}};CT.prototype.MapIndex=function(ad){return this.$val.MapIndex(ad);};CT.Ptr.prototype.MapKeys=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an;ad=this;new CU(ad.flag).mustBe(21);ae=ad.typ.mapType;af=ae.key;ag=(((ad.flag&32)>>>0)|(af.Kind()>>>0))>>>0;ah=ad.pointer();ai=0;if(!(ah===0)){ai=AJ(ah);}aj=AG(ad.typ,ah);ak=FX.make(ai);al=0;al=0;while(al=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,an,(ag|64)>>>0);}else{(al<0||al>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,am.$get(),ag);}AI(aj);al=al+(1)>>0;}return $subslice(ak,0,al);};CT.prototype.MapKeys=function(){return this.$val.MapKeys();};CT.Ptr.prototype.Method=function(ad){var ae,af;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.Method",0));}if(!((((ae.flag&256)>>>0)===0))||(ad>>>0)>=(ae.typ.NumMethod()>>>0)){$panic(new $String("reflect: Method index out of range"));}if((ae.typ.Kind()===20)&&ae.IsNil()){$panic(new $String("reflect: Method on nil interface value"));}af=(ae.flag&96)>>>0;af=(af|(19))>>>0;af=(af|(((((ad>>>0)<<9>>>0)|256)>>>0)))>>>0;return new CT.Ptr(ae.typ,ae.ptr,af);};CT.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.NumMethod",0));}if(!((((ad.flag&256)>>>0)===0))){return 0;}return ad.typ.NumMethod();};CT.prototype.NumMethod=function(){return this.$val.NumMethod();};CT.Ptr.prototype.MethodByName=function(ad){var ae,af,ag,ah;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.MethodByName",0));}if(!((((ae.flag&256)>>>0)===0))){return new CT.Ptr(FF.nil,0,0);}af=ae.typ.MethodByName(ad);ag=$clone(af[0],BQ);ah=af[1];if(!ah){return new CT.Ptr(FF.nil,0,0);}return ae.Method(ag.Index);};CT.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};CT.Ptr.prototype.NumField=function(){var ad,ae;ad=this;new CU(ad.flag).mustBe(25);ae=ad.typ.structType;return ae.fields.$length;};CT.prototype.NumField=function(){return this.$val.NumField();};CT.Ptr.prototype.OverflowComplex=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===15){return DH(ad.$real)||DH(ad.$imag);}else if(ag===16){return false;}$panic(new CX.Ptr("reflect.Value.OverflowComplex",new CU(ae.flag).kind()));};CT.prototype.OverflowComplex=function(ad){return this.$val.OverflowComplex(ad);};CT.Ptr.prototype.OverflowFloat=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===13){return DH(ad);}else if(ag===14){return false;}$panic(new CX.Ptr("reflect.Value.OverflowFloat",new CU(ae.flag).kind()));};CT.prototype.OverflowFloat=function(ad){return this.$val.OverflowFloat(ad);};DH=function(ad){if(ad<0){ad=-ad;}return 3.4028234663852886e+38>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightInt64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowInt",new CU(ae.flag).kind()));};CT.prototype.OverflowInt=function(ad){return this.$val.OverflowInt(ad);};CT.Ptr.prototype.OverflowUint=function(ad){var ae,af,ag,ah,ai,aj;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===7||ag===12||ag===8||ag===9||ag===10||ag===11){ai=(ah=ae.typ.size,(((ah>>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightUint64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowUint",new CU(ae.flag).kind()));};CT.prototype.OverflowUint=function(ad){return this.$val.OverflowUint(ad);};CT.Ptr.prototype.SetBool=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(1);ae.ptr.$set(ad);};CT.prototype.SetBool=function(ad){return this.$val.SetBool(ad);};CT.Ptr.prototype.SetBytes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.SetBytes of non-byte slice"));}ae.ptr.$set(ad);};CT.prototype.SetBytes=function(ad){return this.$val.SetBytes(ad);};CT.Ptr.prototype.setRunes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.setRunes of non-rune slice"));}ae.ptr.$set(ad);};CT.prototype.setRunes=function(ad){return this.$val.setRunes(ad);};CT.Ptr.prototype.SetComplex=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===15){ae.ptr.$set(new $Complex64(ad.$real,ad.$imag));}else if(ag===16){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetComplex",new CU(ae.flag).kind()));}};CT.prototype.SetComplex=function(ad){return this.$val.SetComplex(ad);};CT.Ptr.prototype.SetFloat=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===13){ae.ptr.$set(ad);}else if(ag===14){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetFloat",new CU(ae.flag).kind()));}};CT.prototype.SetFloat=function(ad){return this.$val.SetFloat(ad);};CT.Ptr.prototype.SetInt=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===2){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===3){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<24>>24));}else if(ag===4){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<16>>16));}else if(ag===5){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===6){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetInt",new CU(ae.flag).kind()));}};CT.prototype.SetInt=function(ad){return this.$val.SetInt(ad);};CT.Ptr.prototype.SetMapIndex=function(ad,ae){var af,ag,ah,ai;af=this;ae=ae;ad=ad;new CU(af.flag).mustBe(21);new CU(af.flag).mustBeExported();new CU(ad.flag).mustBeExported();ag=af.typ.mapType;ad=ad.assignTo("reflect.Value.SetMapIndex",ag.key,0);ah=0;if(!((((ad.flag&64)>>>0)===0))){ah=ad.ptr;}else{ah=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}if(ae.typ===FF.nil){AE(af.typ,af.pointer(),ah);return;}new CU(ae.flag).mustBeExported();ae=ae.assignTo("reflect.Value.SetMapIndex",ag.elem,0);ai=0;if(!((((ae.flag&64)>>>0)===0))){ai=ae.ptr;}else{ai=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ae);}AD(af.typ,af.pointer(),ah,ai);};CT.prototype.SetMapIndex=function(ad,ae){return this.$val.SetMapIndex(ad,ae);};CT.Ptr.prototype.SetUint=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===7){ae.ptr.$set((ad.$low>>>0));}else if(ag===8){ae.ptr.$set((ad.$low<<24>>>24));}else if(ag===9){ae.ptr.$set((ad.$low<<16>>>16));}else if(ag===10){ae.ptr.$set((ad.$low>>>0));}else if(ag===11){ae.ptr.$set(ad);}else if(ag===12){ae.ptr.$set((ad.$low>>>0));}else{$panic(new CX.Ptr("reflect.Value.SetUint",new CU(ae.flag).kind()));}};CT.prototype.SetUint=function(ad){return this.$val.SetUint(ad);};CT.Ptr.prototype.SetPointer=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(26);ae.ptr.$set(ad);};CT.prototype.SetPointer=function(ad){return this.$val.SetPointer(ad);};CT.Ptr.prototype.SetString=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(24);ae.ptr.$set(ad);};CT.prototype.SetString=function(ad){return this.$val.SetString(ad);};CT.Ptr.prototype.String=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===0){return"";}else if(af===24){return ad.ptr.$get();}return"<"+ad.Type().String()+" Value>";};CT.prototype.String=function(){return this.$val.String();};CT.Ptr.prototype.Type=function(){var ad,ae,af,ag,ah,ai,aj,ak,al;ad=this;ae=ad.flag;if(ae===0){$panic(new CX.Ptr("reflect.Value.Type",0));}if(((ae&256)>>>0)===0){return ad.typ;}af=(ad.flag>>0)>>9>>0;if(ad.typ.Kind()===20){ag=ad.typ.interfaceType;if((af>>>0)>=(ag.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}ai=(ah=ag.methods,((af<0||af>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+af]));return ai.typ;}aj=ad.typ.uncommonType.uncommon();if(aj===FS.nil||(af>>>0)>=(aj.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}al=(ak=aj.methods,((af<0||af>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+af]));return al.mtyp;};CT.prototype.Type=function(){return this.$val.Type();};CT.Ptr.prototype.Uint=function(){var ad,ae,af,ag,ah;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===7){return new $Uint64(0,af.$get());}else if(ag===8){return new $Uint64(0,af.$get());}else if(ag===9){return new $Uint64(0,af.$get());}else if(ag===10){return new $Uint64(0,af.$get());}else if(ag===11){return af.$get();}else if(ag===12){return(ah=af.$get(),new $Uint64(0,ah.constructor===Number?ah:1));}$panic(new CX.Ptr("reflect.Value.Uint",new CU(ad.flag).kind()));};CT.prototype.Uint=function(){return this.$val.Uint();};CT.Ptr.prototype.UnsafeAddr=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.UnsafeAddr",0));}if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return ad.ptr;};CT.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};DZ=$pkg.New=function(ad){var ae,af;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ae=V($assertType(ad,FF));af=22;return new CT.Ptr(ad.common().ptrTo(),ae,af);};CT.Ptr.prototype.assignTo=function(ad,ae,af){var ag,ah,ai;ag=this;if(!((((ag.flag&256)>>>0)===0))){ag=AQ(ad,ag);}if(BZ(ae,ag.typ)){ag.typ=ae;ah=(ag.flag&224)>>>0;ah=(ah|((ae.Kind()>>>0)))>>>0;return new CT.Ptr(ae,ag.ptr,ah);}else if(BY(ae,ag.typ)){if(af===0){af=V(ae);}ai=AN(ag,false);if(ae.NumMethod()===0){af.$set(ai);}else{AO(ae,ai,af);}return new CT.Ptr(ae,af,84);}$panic(new $String(ad+": value of type "+ag.typ.String()+" is not assignable to type "+ae.String()));};CT.prototype.assignTo=function(ad,ae,af){return this.$val.assignTo(ad,ae,af);};CT.Ptr.prototype.Convert=function(ad){var ae,af;ae=this;if(!((((ae.flag&256)>>>0)===0))){ae=AQ("Convert",ae);}af=EB(ad.common(),ae.typ);if(af===$throwNilPointerError){$panic(new $String("reflect.Value.Convert: value of type "+ae.typ.String()+" cannot be converted to type "+ad.String()));}return af(ae,ad);};CT.prototype.Convert=function(ad){return this.$val.Convert(ad);};EB=function(ad,ae){var af,ag,ah,ai,aj,ak,al;af=ae.Kind();if(af===2||af===3||af===4||af===5||af===6){ag=ad.Kind();if(ag===2||ag===3||ag===4||ag===5||ag===6||ag===7||ag===8||ag===9||ag===10||ag===11||ag===12){return EH;}else if(ag===13||ag===14){return EL;}else if(ag===24){return EP;}}else if(af===7||af===8||af===9||af===10||af===11||af===12){ah=ad.Kind();if(ah===2||ah===3||ah===4||ah===5||ah===6||ah===7||ah===8||ah===9||ah===10||ah===11||ah===12){return EI;}else if(ah===13||ah===14){return EM;}else if(ah===24){return EQ;}}else if(af===13||af===14){ai=ad.Kind();if(ai===2||ai===3||ai===4||ai===5||ai===6){return EJ;}else if(ai===7||ai===8||ai===9||ai===10||ai===11||ai===12){return EK;}else if(ai===13||ai===14){return EN;}}else if(af===15||af===16){aj=ad.Kind();if(aj===15||aj===16){return EO;}}else if(af===24){if((ad.Kind()===23)&&ad.Elem().PkgPath()===""){ak=ad.Elem().Kind();if(ak===8){return ES;}else if(ak===5){return EU;}}}else if(af===23){if((ad.Kind()===24)&&ae.Elem().PkgPath()===""){al=ae.Elem().Kind();if(al===8){return ER;}else if(al===5){return ET;}}}if(CA(ad,ae)){return AK;}if((ad.Kind()===22)&&ad.Name()===""&&(ae.Kind()===22)&&ae.Name()===""&&CA(ad.Elem().common(),ae.Elem().common())){return AK;}if(BY(ad,ae)){if(ae.Kind()===20){return EW;}return EV;}return $throwNilPointerError;};EC=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===4){ah.$set(ae);}else if(ai===8){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};ED=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===8){ah.$set(new $Complex64(ae.$real,ae.$imag));}else if(ai===16){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};EE=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetString(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EF=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetBytes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EG=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.setRunes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EH=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=ad.Int(),new $Uint64(af.$high,af.$low)),ae);};EI=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,ad.Uint(),ae);};EJ=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=new $Int64(0,ad.Float()),new $Uint64(af.$high,af.$low)),ae);};EK=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,new $Uint64(0,ad.Float()),ae);};EL=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Int()),ae);};EM=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Uint()),ae);};EN=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,ad.Float(),ae);};EO=function(ad,ae){ad=ad;return ED((ad.flag&32)>>>0,ad.Complex(),ae);};EP=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Int().$low),ae);};EQ=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Uint().$low),ae);};ER=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$bytesToString(ad.Bytes()),ae);};ES=function(ad,ae){ad=ad;return EF((ad.flag&32)>>>0,new GQ($stringToBytes(ad.String())),ae);};ET=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$runesToString(ad.runes()),ae);};EU=function(ad,ae){ad=ad;return EG((ad.flag&32)>>>0,new GR($stringToRunes(ad.String())),ae);};EV=function(ad,ae){var af,ag;ad=ad;af=V(ae.common());ag=AN(ad,false);if(ae.NumMethod()===0){af.$set(ag);}else{AO($assertType(ae,FF),ag,af);}return new CT.Ptr(ae.common(),af,(((((ad.flag&32)>>>0)|64)>>>0)|20)>>>0);};EW=function(ad,ae){var af;ad=ad;if(ad.IsNil()){af=U(ae);af.flag=(af.flag|(((ad.flag&32)>>>0)))>>>0;return af;}return EV(ad.Elem(),ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}FF=$ptrType(BB);FG=$ptrType(BM);FO=$sliceType($String);FP=$ptrType(BC);FQ=$arrayType($UnsafePointer,2);FR=$ptrType($String);FS=$ptrType(BE);FT=$sliceType(BD);FU=$sliceType(FF);FV=$sliceType(BJ);FW=$sliceType(BO);FX=$sliceType(CT);FY=$arrayType($UnsafePointer,100000);FZ=$structType([["ityp","ityp","reflect",FF,""],["typ","typ","reflect",FF,""],["link","link","reflect",$UnsafePointer,""],["bad","bad","reflect",$Int32,""],["unused","unused","reflect",$Int32,""],["fun","fun","reflect",FY,""]]);GA=$ptrType(FZ);GB=$sliceType(B.Object);GC=$ptrType($Uint8);GE=$ptrType(BD);GF=$ptrType(BK);GG=$ptrType(BJ);GH=$sliceType($Int);GI=$sliceType(BU);GJ=$ptrType(BP);GO=$ptrType($UnsafePointer);GQ=$sliceType($Uint8);GR=$sliceType($Int32);GS=$ptrType(BI);GU=$funcType([$String],[$Bool],false);GV=$ptrType(BA);GW=$funcType([$UnsafePointer,$Uintptr,$Uintptr],[$Uintptr],false);GX=$funcType([$UnsafePointer,$UnsafePointer,$Uintptr],[$Bool],false);GY=$ptrType(BF);GZ=$ptrType(BG);HA=$ptrType(BH);HB=$ptrType(BL);HC=$ptrType(BN);HD=$ptrType(BT);HF=$arrayType($Uintptr,2);HG=$ptrType(CT);HH=$ptrType(CU);HI=$ptrType(CX);AF.init([["t","t","reflect",AZ,""],["m","m","reflect",B.Object,""],["keys","keys","reflect",B.Object,""],["i","i","reflect",$Int,""]]);AZ.init([["Align","Align","",$funcType([],[$Int],false)],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false)],["Bits","Bits","",$funcType([],[$Int],false)],["ChanDir","ChanDir","",$funcType([],[BF],false)],["Comparable","Comparable","",$funcType([],[$Bool],false)],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false)],["Elem","Elem","",$funcType([],[AZ],false)],["Field","Field","",$funcType([$Int],[BS],false)],["FieldAlign","FieldAlign","",$funcType([],[$Int],false)],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false)],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false)],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false)],["Implements","Implements","",$funcType([AZ],[$Bool],false)],["In","In","",$funcType([$Int],[AZ],false)],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false)],["Key","Key","",$funcType([],[AZ],false)],["Kind","Kind","",$funcType([],[BA],false)],["Len","Len","",$funcType([],[$Int],false)],["Method","Method","",$funcType([$Int],[BQ],false)],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false)],["Name","Name","",$funcType([],[$String],false)],["NumField","NumField","",$funcType([],[$Int],false)],["NumIn","NumIn","",$funcType([],[$Int],false)],["NumMethod","NumMethod","",$funcType([],[$Int],false)],["NumOut","NumOut","",$funcType([],[$Int],false)],["Out","Out","",$funcType([$Int],[AZ],false)],["PkgPath","PkgPath","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Uintptr],false)],["String","String","",$funcType([],[$String],false)],["common","common","reflect",$funcType([],[FF],false)],["uncommon","uncommon","reflect",$funcType([],[FS],false)]]);BA.methods=[["String","String","",$funcType([],[$String],false),-1]];GV.methods=[["String","String","",$funcType([],[$String],false),-1]];BB.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];FF.methods=[["Align","Align","",$funcType([],[$Int],false),-1],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),-1],["Bits","Bits","",$funcType([],[$Int],false),-1],["ChanDir","ChanDir","",$funcType([],[BF],false),-1],["Comparable","Comparable","",$funcType([],[$Bool],false),-1],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),-1],["Elem","Elem","",$funcType([],[AZ],false),-1],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),-1],["In","In","",$funcType([$Int],[AZ],false),-1],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),-1],["Key","Key","",$funcType([],[AZ],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumIn","NumIn","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),-1],["Out","Out","",$funcType([$Int],[AZ],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Uintptr],false),-1],["String","String","",$funcType([],[$String],false),-1],["common","common","reflect",$funcType([],[FF],false),-1],["pointers","pointers","reflect",$funcType([],[$Bool],false),-1],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];BB.init([["size","size","reflect",$Uintptr,""],["hash","hash","reflect",$Uint32,""],["_$2","_","reflect",$Uint8,""],["align","align","reflect",$Uint8,""],["fieldAlign","fieldAlign","reflect",$Uint8,""],["kind","kind","reflect",$Uint8,""],["alg","alg","reflect",FP,""],["gc","gc","reflect",FQ,""],["string","string","reflect",FR,""],["uncommonType","","reflect",FS,""],["ptrToThis","ptrToThis","reflect",FF,""],["zero","zero","reflect",$UnsafePointer,""]]);BC.init([["hash","hash","reflect",GW,""],["equal","equal","reflect",GX,""]]);BD.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["mtyp","mtyp","reflect",FF,""],["typ","typ","reflect",FF,""],["ifn","ifn","reflect",$UnsafePointer,""],["tfn","tfn","reflect",$UnsafePointer,""]]);FS.methods=[["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),-1]];BE.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["methods","methods","reflect",FT,""]]);BF.methods=[["String","String","",$funcType([],[$String],false),-1]];GY.methods=[["String","String","",$funcType([],[$String],false),-1]];BG.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GZ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BG.init([["rtype","","reflect",BB,"reflect:\"array\""],["elem","elem","reflect",FF,""],["slice","slice","reflect",FF,""],["len","len","reflect",$Uintptr,""]]);BH.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HA.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BH.init([["rtype","","reflect",BB,"reflect:\"chan\""],["elem","elem","reflect",FF,""],["dir","dir","reflect",$Uintptr,""]]);BI.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GS.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BI.init([["rtype","","reflect",BB,"reflect:\"func\""],["dotdotdot","dotdotdot","reflect",$Bool,""],["in$2","in","reflect",FU,""],["out","out","reflect",FU,""]]);BJ.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""]]);BK.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GF.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BK.init([["rtype","","reflect",BB,"reflect:\"interface\""],["methods","methods","reflect",FV,""]]);BL.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HB.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BL.init([["rtype","","reflect",BB,"reflect:\"map\""],["key","key","reflect",FF,""],["elem","elem","reflect",FF,""],["bucket","bucket","reflect",FF,""],["hmap","hmap","reflect",FF,""],["keysize","keysize","reflect",$Uint8,""],["indirectkey","indirectkey","reflect",$Uint8,""],["valuesize","valuesize","reflect",$Uint8,""],["indirectvalue","indirectvalue","reflect",$Uint8,""],["bucketsize","bucketsize","reflect",$Uint16,""]]);BM.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];FG.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BM.init([["rtype","","reflect",BB,"reflect:\"ptr\""],["elem","elem","reflect",FF,""]]);BN.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HC.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BN.init([["rtype","","reflect",BB,"reflect:\"slice\""],["elem","elem","reflect",FF,""]]);BO.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""],["tag","tag","reflect",FR,""],["offset","offset","reflect",$Uintptr,""]]);BP.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GJ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BP.init([["rtype","","reflect",BB,"reflect:\"struct\""],["fields","fields","reflect",FW,""]]);BQ.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Func","Func","",CT,""],["Index","Index","",$Int,""]]);BS.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Tag","Tag","",BT,""],["Offset","Offset","",$Uintptr,""],["Index","Index","",GH,""],["Anonymous","Anonymous","",$Bool,""]]);BT.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];HD.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];BU.init([["typ","typ","reflect",GJ,""],["index","index","reflect",GH,""]]);CT.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];HG.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];CT.init([["typ","typ","reflect",FF,""],["ptr","ptr","reflect",$UnsafePointer,""],["flag","","reflect",CU,""]]);CU.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HH.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HI.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CX.init([["Method","Method","",$String,""],["Kind","Kind","",BA,""]]);CZ.init([["itab","itab","reflect",GA,""],["word","word","reflect",$UnsafePointer,""]]);F=false;BR=new FO(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);DG=$assertType(O(new $Uint8(0)),FF);G();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -31,8 +31,8 @@ $packages["bufio"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,E,H,I,F,G;A=$packages[ $packages["image"]=(function(){var $pkg={},A,B,E,C,D,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,F,I,O,Q,S,T,V,X,Z,AB,AD,AF,AH,AJ,AL,AN,AP,AQ,G,a,b,c,d,H,J,K,L,M,R,W,Y,AA,AC,AI,AK,AM,AO,AR;A=$packages["bufio"];B=$packages["errors"];E=$packages["image/color"];C=$packages["io"];D=$packages["strconv"];F=$pkg.format=$newType(0,$kindStruct,"image.format","format","image",function(name_,magic_,decode_,decodeConfig_){this.$val=this;this.name=name_!==undefined?name_:"";this.magic=magic_!==undefined?magic_:"";this.decode=decode_!==undefined?decode_:$throwNilPointerError;this.decodeConfig=decodeConfig_!==undefined?decodeConfig_:$throwNilPointerError;});I=$pkg.reader=$newType(8,$kindInterface,"image.reader","reader","image",null);O=$pkg.Point=$newType(0,$kindStruct,"image.Point","Point","image",function(X_,Y_){this.$val=this;this.X=X_!==undefined?X_:0;this.Y=Y_!==undefined?Y_:0;});Q=$pkg.Rectangle=$newType(0,$kindStruct,"image.Rectangle","Rectangle","image",function(Min_,Max_){this.$val=this;this.Min=Min_!==undefined?Min_:new O.Ptr();this.Max=Max_!==undefined?Max_:new O.Ptr();});S=$pkg.Config=$newType(0,$kindStruct,"image.Config","Config","image",function(ColorModel_,Width_,Height_){this.$val=this;this.ColorModel=ColorModel_!==undefined?ColorModel_:$ifaceNil;this.Width=Width_!==undefined?Width_:0;this.Height=Height_!==undefined?Height_:0;});T=$pkg.Image=$newType(8,$kindInterface,"image.Image","Image","image",null);V=$pkg.RGBA=$newType(0,$kindStruct,"image.RGBA","RGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});X=$pkg.RGBA64=$newType(0,$kindStruct,"image.RGBA64","RGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});Z=$pkg.NRGBA=$newType(0,$kindStruct,"image.NRGBA","NRGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AB=$pkg.NRGBA64=$newType(0,$kindStruct,"image.NRGBA64","NRGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AD=$pkg.Alpha=$newType(0,$kindStruct,"image.Alpha","Alpha","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AF=$pkg.Alpha16=$newType(0,$kindStruct,"image.Alpha16","Alpha16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AH=$pkg.Gray=$newType(0,$kindStruct,"image.Gray","Gray","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AJ=$pkg.Gray16=$newType(0,$kindStruct,"image.Gray16","Gray16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AL=$pkg.Paletted=$newType(0,$kindStruct,"image.Paletted","Paletted","image",function(Pix_,Stride_,Rect_,Palette_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();this.Palette=Palette_!==undefined?Palette_:E.Palette.nil;});AN=$pkg.Uniform=$newType(0,$kindStruct,"image.Uniform","Uniform","image",function(C_){this.$val=this;this.C=C_!==undefined?C_:$ifaceNil;});AP=$pkg.YCbCrSubsampleRatio=$newType(4,$kindInt,"image.YCbCrSubsampleRatio","YCbCrSubsampleRatio","image",null);AQ=$pkg.YCbCr=$newType(0,$kindStruct,"image.YCbCr","YCbCr","image",function(Y_,Cb_,Cr_,YStride_,CStride_,SubsampleRatio_,Rect_){this.$val=this;this.Y=Y_!==undefined?Y_:AT.nil;this.Cb=Cb_!==undefined?Cb_:AT.nil;this.Cr=Cr_!==undefined?Cr_:AT.nil;this.YStride=YStride_!==undefined?YStride_:0;this.CStride=CStride_!==undefined?CStride_:0;this.SubsampleRatio=SubsampleRatio_!==undefined?SubsampleRatio_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});H=$pkg.RegisterFormat=function(e,f,g,h){G=$append(G,new F.Ptr(e,f,g,h));};J=function(e){var f,g,h;f=$assertType(e,I,true);g=f[0];h=f[1];if(h){return g;}return A.NewReader(e);};K=function(e,f){var g,h,i,j;if(!((e.length===f.$length))){return false;}g=f;h=0;while(h=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+h]);if(!((e.charCodeAt(i)===j))&&!((e.charCodeAt(i)===63))){return false;}h++;}return true;};L=function(e){var f,g,h,i,j,k;f=G;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),F);i=e.Peek(h.magic.length);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&K(h.magic,j)){return h;}g++;}return new F.Ptr("","",$throwNilPointerError,$throwNilPointerError);};M=$pkg.Decode=function(e){var f,g,h,i,j;f=J(e);g=$clone(L(f),F);if(g.decode===$throwNilPointerError){return[$ifaceNil,"",$pkg.ErrFormat];}h=g.decode(f);i=h[0];j=h[1];return[i,g.name,j];};O.Ptr.prototype.String=function(){var e;e=$clone(this,O);return"("+D.Itoa(e.X)+","+D.Itoa(e.Y)+")";};O.prototype.String=function(){return this.$val.String();};O.Ptr.prototype.Add=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X+e.X>>0,f.Y+e.Y>>0);};O.prototype.Add=function(e){return this.$val.Add(e);};O.Ptr.prototype.Sub=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X-e.X>>0,f.Y-e.Y>>0);};O.prototype.Sub=function(e){return this.$val.Sub(e);};O.Ptr.prototype.Mul=function(e){var f;f=$clone(this,O);return new O.Ptr(f.X*e>>0,f.Y*e>>0);};O.prototype.Mul=function(e){return this.$val.Mul(e);};O.Ptr.prototype.Div=function(e){var f,g,h;f=$clone(this,O);return new O.Ptr((g=f.X/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),(h=f.Y/e,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")));};O.prototype.Div=function(e){return this.$val.Div(e);};O.Ptr.prototype.In=function(e){var f;f=$clone(this,O);e=$clone(e,Q);return e.Min.X<=f.X&&f.X>0;}f.Y=(l=f.Y%j,l===l?l:$throwRuntimeError("integer divide by zero"));if(f.Y<0){f.Y=f.Y+(j)>>0;}return f.Add(e.Min);};O.prototype.Mod=function(e){return this.$val.Mod(e);};O.Ptr.prototype.Eq=function(e){var f;f=$clone(this,O);e=$clone(e,O);return(f.X===e.X)&&(f.Y===e.Y);};O.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.String=function(){var e;e=$clone(this,Q);return e.Min.String()+"-"+e.Max.String();};Q.prototype.String=function(){return this.$val.String();};Q.Ptr.prototype.Dx=function(){var e;e=$clone(this,Q);return e.Max.X-e.Min.X>>0;};Q.prototype.Dx=function(){return this.$val.Dx();};Q.Ptr.prototype.Dy=function(){var e;e=$clone(this,Q);return e.Max.Y-e.Min.Y>>0;};Q.prototype.Dy=function(){return this.$val.Dy();};Q.Ptr.prototype.Size=function(){var e;e=$clone(this,Q);return new O.Ptr(e.Max.X-e.Min.X>>0,e.Max.Y-e.Min.Y>>0);};Q.prototype.Size=function(){return this.$val.Size();};Q.Ptr.prototype.Add=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X+e.X>>0,f.Min.Y+e.Y>>0),new O.Ptr(f.Max.X+e.X>>0,f.Max.Y+e.Y>>0));};Q.prototype.Add=function(e){return this.$val.Add(e);};Q.Ptr.prototype.Sub=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X-e.X>>0,f.Min.Y-e.Y>>0),new O.Ptr(f.Max.X-e.X>>0,f.Max.Y-e.Y>>0));};Q.prototype.Sub=function(e){return this.$val.Sub(e);};Q.Ptr.prototype.Inset=function(e){var f,g,h;f=$clone(this,Q);if(f.Dx()<(2*e>>0)){f.Min.X=(g=((f.Min.X+f.Max.X>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));f.Max.X=f.Min.X;}else{f.Min.X=f.Min.X+(e)>>0;f.Max.X=f.Max.X-(e)>>0;}if(f.Dy()<(2*e>>0)){f.Min.Y=(h=((f.Min.Y+f.Max.Y>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));f.Max.Y=f.Min.Y;}else{f.Min.Y=f.Min.Y+(e)>>0;f.Max.Y=f.Max.Y-(e)>>0;}return f;};Q.prototype.Inset=function(e){return this.$val.Inset(e);};Q.Ptr.prototype.Intersect=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.Xe.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y>e.Max.Y){f.Max.Y=e.Max.Y;}if(f.Min.X>f.Max.X||f.Min.Y>f.Max.Y){return $pkg.ZR;}return f;};Q.prototype.Intersect=function(e){return this.$val.Intersect(e);};Q.Ptr.prototype.Union=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.X>e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y>e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X=e.Max.X||e.Min.Y>=e.Max.Y;};Q.prototype.Empty=function(){return this.$val.Empty();};Q.Ptr.prototype.Eq=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return(f.Min.X===e.Min.X)&&(f.Min.Y===e.Min.Y)&&(f.Max.X===e.Max.X)&&(f.Max.Y===e.Max.Y);};Q.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.Overlaps=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return f.Min.Xg){i=g;j=e;e=i;g=j;}if(f>h){k=h;l=f;f=k;h=l;}return new Q.Ptr(new O.Ptr(e,f),new O.Ptr(g,h));};V.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBAModel;};V.prototype.ColorModel=function(){return this.$val.ColorModel();};V.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};V.prototype.Bounds=function(){return this.$val.Bounds();};V.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBAAt(e,f),new h.constructor.Struct(h));};V.prototype.At=function(e,f){return this.$val.At(e,f);};V.Ptr.prototype.RGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};V.prototype.RGBAAt=function(e,f){return this.$val.RGBAAt(e,f);};V.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};V.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};V.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBAModel.Convert(g),E.RGBA),E.RGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};V.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};V.Ptr.prototype.SetRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.RGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};V.prototype.SetRGBA=function(e,f,g){return this.$val.SetRGBA(e,f,g);};V.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new V.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new V.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};V.prototype.SubImage=function(e){return this.$val.SubImage(e);};V.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};V.prototype.Opaque=function(){return this.$val.Opaque();};W=$pkg.NewRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new V.Ptr(j,4*h>>0,$clone(e,Q));};X.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBA64Model;};X.prototype.ColorModel=function(){return this.$val.ColorModel();};X.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};X.prototype.Bounds=function(){return this.$val.Bounds();};X.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBA64At(e,f),new h.constructor.Struct(h));};X.prototype.At=function(e,f){return this.$val.At(e,f);};X.Ptr.prototype.RGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};X.prototype.RGBA64At=function(e,f){return this.$val.RGBA64At(e,f);};X.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};X.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};X.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBA64Model.Convert(g),E.RGBA64),E.RGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};X.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};X.Ptr.prototype.SetRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.RGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};X.prototype.SetRGBA64=function(e,f,g){return this.$val.SetRGBA64(e,f,g);};X.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new X.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new X.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};X.prototype.SubImage=function(e){return this.$val.SubImage(e);};X.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};X.prototype.Opaque=function(){return this.$val.Opaque();};Y=$pkg.NewRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new X.Ptr(j,8*h>>0,$clone(e,Q));};Z.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBAModel;};Z.prototype.ColorModel=function(){return this.$val.ColorModel();};Z.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};Z.prototype.Bounds=function(){return this.$val.Bounds();};Z.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBAAt(e,f),new h.constructor.Struct(h));};Z.prototype.At=function(e,f){return this.$val.At(e,f);};Z.Ptr.prototype.NRGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};Z.prototype.NRGBAAt=function(e,f){return this.$val.NRGBAAt(e,f);};Z.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};Z.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};Z.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBAModel.Convert(g),E.NRGBA),E.NRGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};Z.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};Z.Ptr.prototype.SetNRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.NRGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};Z.prototype.SetNRGBA=function(e,f,g){return this.$val.SetNRGBA(e,f,g);};Z.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new Z.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new Z.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};Z.prototype.SubImage=function(e){return this.$val.SubImage(e);};Z.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};Z.prototype.Opaque=function(){return this.$val.Opaque();};AA=$pkg.NewNRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new Z.Ptr(j,4*h>>0,$clone(e,Q));};AB.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBA64Model;};AB.prototype.ColorModel=function(){return this.$val.ColorModel();};AB.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AB.prototype.Bounds=function(){return this.$val.Bounds();};AB.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBA64At(e,f),new h.constructor.Struct(h));};AB.prototype.At=function(e,f){return this.$val.At(e,f);};AB.Ptr.prototype.NRGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};AB.prototype.NRGBA64At=function(e,f){return this.$val.NRGBA64At(e,f);};AB.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};AB.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AB.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBA64Model.Convert(g),E.NRGBA64),E.NRGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};AB.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AB.Ptr.prototype.SetNRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.NRGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};AB.prototype.SetNRGBA64=function(e,f,g){return this.$val.SetNRGBA64(e,f,g);};AB.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AB.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AB.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AB.prototype.SubImage=function(e){return this.$val.SubImage(e);};AB.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AB.prototype.Opaque=function(){return this.$val.Opaque();};AC=$pkg.NewNRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new AB.Ptr(j,8*h>>0,$clone(e,Q));};AD.Ptr.prototype.ColorModel=function(){var e;e=this;return E.AlphaModel;};AD.prototype.ColorModel=function(){return this.$val.ColorModel();};AD.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AD.prototype.Bounds=function(){return this.$val.Bounds();};AD.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.AlphaAt(e,f),new h.constructor.Struct(h));};AD.prototype.At=function(e,f){return this.$val.At(e,f);};AD.Ptr.prototype.AlphaAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AD.prototype.AlphaAt=function(e,f){return this.$val.AlphaAt(e,f);};AD.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AD.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AD.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.AlphaModel.Convert(g),E.Alpha).A);};AD.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AD.Ptr.prototype.SetAlpha=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Alpha);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.A);};AD.prototype.SetAlpha=function(e,f,g){return this.$val.SetAlpha(e,f,g);};AD.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AD.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AD.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AD.prototype.SubImage=function(e){return this.$val.SubImage(e);};AD.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx();h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(1)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AD.prototype.Opaque=function(){return this.$val.Opaque();};AF.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Alpha16Model;};AF.prototype.ColorModel=function(){return this.$val.ColorModel();};AF.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AF.prototype.Bounds=function(){return this.$val.Bounds();};AF.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Alpha16At(e,f),new h.constructor.Struct(h));};AF.prototype.At=function(e,f){return this.$val.At(e,f);};AF.Ptr.prototype.Alpha16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha16.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AF.prototype.Alpha16At=function(e,f){return this.$val.Alpha16At(e,f);};AF.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AF.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AF.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Alpha16Model.Convert(g),E.Alpha16),E.Alpha16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.A>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.A<<24>>>24));};AF.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AF.Ptr.prototype.SetAlpha16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Alpha16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.A>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.A<<24>>>24));};AF.prototype.SetAlpha16=function(e,f,g){return this.$val.SetAlpha16(e,f,g);};AF.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AF.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AF.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AF.prototype.SubImage=function(e){return this.$val.SubImage(e);};AF.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx()*2>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(2)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AF.prototype.Opaque=function(){return this.$val.Opaque();};AH.Ptr.prototype.ColorModel=function(){var e;e=this;return E.GrayModel;};AH.prototype.ColorModel=function(){return this.$val.ColorModel();};AH.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AH.prototype.Bounds=function(){return this.$val.Bounds();};AH.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.GrayAt(e,f),new h.constructor.Struct(h));};AH.prototype.At=function(e,f){return this.$val.At(e,f);};AH.Ptr.prototype.GrayAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AH.prototype.GrayAt=function(e,f){return this.$val.GrayAt(e,f);};AH.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AH.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AH.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.GrayModel.Convert(g),E.Gray).Y);};AH.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AH.Ptr.prototype.SetGray=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Gray);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.Y);};AH.prototype.SetGray=function(e,f,g){return this.$val.SetGray(e,f,g);};AH.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AH.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AH.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AH.prototype.SubImage=function(e){return this.$val.SubImage(e);};AH.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AH.prototype.Opaque=function(){return this.$val.Opaque();};AI=$pkg.NewGray=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((1*h>>0)*i>>0));return new AH.Ptr(j,1*h>>0,$clone(e,Q));};AJ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Gray16Model;};AJ.prototype.ColorModel=function(){return this.$val.ColorModel();};AJ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AJ.prototype.Bounds=function(){return this.$val.Bounds();};AJ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Gray16At(e,f),new h.constructor.Struct(h));};AJ.prototype.At=function(e,f){return this.$val.At(e,f);};AJ.Ptr.prototype.Gray16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray16.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AJ.prototype.Gray16At=function(e,f){return this.$val.Gray16At(e,f);};AJ.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AJ.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AJ.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Gray16Model.Convert(g),E.Gray16),E.Gray16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.Y>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.Y<<24>>>24));};AJ.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AJ.Ptr.prototype.SetGray16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Gray16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.Y>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.Y<<24>>>24));};AJ.prototype.SetGray16=function(e,f,g){return this.$val.SetGray16(e,f,g);};AJ.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AJ.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AJ.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AJ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AJ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AJ.prototype.Opaque=function(){return this.$val.Opaque();};AK=$pkg.NewGray16=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((2*h>>0)*i>>0));return new AJ.Ptr(j,2*h>>0,$clone(e,Q));};AL.Ptr.prototype.ColorModel=function(){var e;e=this;return e.Palette;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.At=function(e,f){var g,h,i,j,k,l;g=this;if(g.Palette.$length===0){return $ifaceNil;}if(!(new O.Ptr(e,f).In(g.Rect))){return(h=g.Palette,((0<0||0>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));}i=g.PixOffset(e,f);return(j=g.Palette,k=(l=g.Pix,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])),((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));};AL.prototype.At=function(e,f){return this.$val.At(e,f);};AL.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AL.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AL.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=(h.Palette.Index(g)<<24>>>24));};AL.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AL.Ptr.prototype.ColorIndexAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return 0;}h=g.PixOffset(e,f);return(i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));};AL.prototype.ColorIndexAt=function(e,f){return this.$val.ColorIndexAt(e,f);};AL.Ptr.prototype.SetColorIndex=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g);};AL.prototype.SetColorIndex=function(e,f,g){return this.$val.SetColorIndex(e,f,g);};AL.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AL.Ptr(AT.nil,0,new Q.Ptr(),f.Palette);}g=f.PixOffset(e.Min.X,e.Min.Y);return new AL.Ptr($subslice(f.Pix,g),f.Stride,$clone(f.Rect.Intersect(e),Q),f.Palette);};AL.prototype.SubImage=function(e){return this.$val.SubImage(e);};AL.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this;f=$clone(AU.zero(),AU);g=0;h=e.Rect.Dx();i=g;j=h;k=e.Rect.Min.Y;while(k=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);(n<0||n>=f.length)?$throwRuntimeError("index out of range"):f[n]=true;m++;}i=i+(e.Stride)>>0;j=j+(e.Stride)>>0;k=k+(1)>>0;}o=e.Palette;p=0;while(p=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]);if(!((q<0||q>=f.length)?$throwRuntimeError("index out of range"):f[q])){p++;continue;}s=r.RGBA();t=s[3];if(!((t===65535))){return false;}p++;}return true;};AL.prototype.Opaque=function(){return this.$val.Opaque();};AM=$pkg.NewPaletted=function(e,f){var g,h,i,j,k;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=g;j=h;k=AT.make(((1*i>>0)*j>>0));return new AL.Ptr(k,1*i>>0,$clone(e,Q),f);};AN.Ptr.prototype.RGBA=function(){var e=0,f=0,g=0,h=0,i,j;i=this;j=i.C.RGBA();e=j[0];f=j[1];g=j[2];h=j[3];return[e,f,g,h];};AN.prototype.RGBA=function(){return this.$val.RGBA();};AN.Ptr.prototype.ColorModel=function(){var e;e=this;return e;};AN.prototype.ColorModel=function(){return this.$val.ColorModel();};AN.Ptr.prototype.Convert=function(e){var f;f=this;return f.C;};AN.prototype.Convert=function(e){return this.$val.Convert(e);};AN.Ptr.prototype.Bounds=function(){var e;e=this;return new Q.Ptr(new O.Ptr(-1000000000,-1000000000),new O.Ptr(1000000000,1000000000));};AN.prototype.Bounds=function(){return this.$val.Bounds();};AN.Ptr.prototype.At=function(e,f){var g;g=this;return g.C;};AN.prototype.At=function(e,f){return this.$val.At(e,f);};AN.Ptr.prototype.Opaque=function(){var e,f,g;e=this;f=e.C.RGBA();g=f[3];return g===65535;};AN.prototype.Opaque=function(){return this.$val.Opaque();};AO=$pkg.NewUniform=function(e){return new AN.Ptr(e);};AP.prototype.String=function(){var e,f;e=this.$val!==undefined?this.$val:this;f=e;if(f===0){return"YCbCrSubsampleRatio444";}else if(f===1){return"YCbCrSubsampleRatio422";}else if(f===2){return"YCbCrSubsampleRatio420";}else if(f===3){return"YCbCrSubsampleRatio440";}return"YCbCrSubsampleRatioUnknown";};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AQ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.YCbCrModel;};AQ.prototype.ColorModel=function(){return this.$val.ColorModel();};AQ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AQ.prototype.Bounds=function(){return this.$val.Bounds();};AQ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.YCbCrAt(e,f),new h.constructor.Struct(h));};AQ.prototype.At=function(e,f){return this.$val.At(e,f);};AQ.Ptr.prototype.YCbCrAt=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.YCbCr.Ptr(0,0,0);}h=g.YOffset(e,f);i=g.COffset(e,f);return new E.YCbCr.Ptr((j=g.Y,((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])),(k=g.Cb,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),(l=g.Cr,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])));};AQ.prototype.YCbCrAt=function(e,f){return this.$val.YCbCrAt(e,f);};AQ.Ptr.prototype.YOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.YStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.YOffset=function(e,f){return this.$val.YOffset(e,f);};AQ.Ptr.prototype.COffset=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.SubsampleRatio;if(h===1){return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+(((i=e/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"))-(j=g.Rect.Min.X/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===2){return((((k=f/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-(l=g.Rect.Min.Y/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+(((m=e/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))-(n=g.Rect.Min.X/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===3){return((((o=f/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))-(p=g.Rect.Min.Y/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;}return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.COffset=function(e,f){return this.$val.COffset(e,f);};AQ.Ptr.prototype.SubImage=function(e){var f,g,h;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AQ.Ptr(AT.nil,AT.nil,AT.nil,0,0,f.SubsampleRatio,new Q.Ptr());}g=f.YOffset(e.Min.X,e.Min.Y);h=f.COffset(e.Min.X,e.Min.Y);return new AQ.Ptr($subslice(f.Y,g),$subslice(f.Cb,h),$subslice(f.Cr,h),f.YStride,f.CStride,f.SubsampleRatio,$clone(e,Q));};AQ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AQ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AQ.prototype.Opaque=function(){return this.$val.Opaque();};AR=$pkg.NewYCbCr=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=0;j=0;k=g;l=h;m=i;n=j;o=f;if(o===1){m=(p=((e.Max.X+1>>0))/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))-(q=e.Min.X/2,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))>>0;n=l;}else if(o===2){m=(r=((e.Max.X+1>>0))/2,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"))-(s=e.Min.X/2,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"))>>0;n=(t=((e.Max.Y+1>>0))/2,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"))-(u=e.Min.Y/2,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0;}else if(o===3){m=k;n=(v=((e.Max.Y+1>>0))/2,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))-(w=e.Min.Y/2,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0;}else{m=k;n=l;}x=AV.make(((k*l>>0)+((2*m>>0)*n>>0)>>0));return new AQ.Ptr($subslice(x,0,(k*l>>0)),$subslice(x,((k*l>>0)+((0*m>>0)*n>>0)>>0),((k*l>>0)+((1*m>>0)*n>>0)>>0)),$subslice(x,((k*l>>0)+((1*m>>0)*n>>0)>>0),((k*l>>0)+((2*m>>0)*n>>0)>>0)),k,m,f,$clone(e,Q));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AS=$sliceType(F);AT=$sliceType($Uint8);AU=$arrayType($Bool,256);AV=$sliceType($Uint8);AW=$funcType([C.Reader],[T,$error],false);AX=$funcType([C.Reader],[S,$error],false);AY=$ptrType(O);AZ=$ptrType(Q);BA=$ptrType(V);BB=$ptrType(X);BC=$ptrType(Z);BD=$ptrType(AB);BE=$ptrType(AD);BF=$ptrType(AF);BG=$ptrType(AH);BH=$ptrType(AJ);BI=$ptrType(AL);BJ=$ptrType(AN);BK=$ptrType(AP);BL=$ptrType(AQ);F.init([["name","name","image",$String,""],["magic","magic","image",$String,""],["decode","decode","image",AW,""],["decodeConfig","decodeConfig","image",AX,""]]);I.init([["Peek","Peek","",$funcType([$Int],[AV,$error],false)],["Read","Read","",$funcType([AV],[$Int,$error],false)]]);O.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];AY.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];O.init([["X","X","",$Int,""],["Y","Y","",$Int,""]]);Q.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];AZ.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];Q.init([["Min","Min","",O,""],["Max","Max","",O,""]]);S.init([["ColorModel","ColorModel","",E.Model,""],["Width","Width","",$Int,""],["Height","Height","",$Int,""]]);T.init([["At","At","",$funcType([$Int,$Int],[E.Color],false)],["Bounds","Bounds","",$funcType([],[Q],false)],["ColorModel","ColorModel","",$funcType([],[E.Model],false)]]);BA.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBAAt","RGBAAt","",$funcType([$Int,$Int],[E.RGBA],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA","SetRGBA","",$funcType([$Int,$Int,E.RGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];V.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BB.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBA64At","RGBA64At","",$funcType([$Int,$Int],[E.RGBA64],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA64","SetRGBA64","",$funcType([$Int,$Int,E.RGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];X.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BC.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBAAt","NRGBAAt","",$funcType([$Int,$Int],[E.NRGBA],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA","SetNRGBA","",$funcType([$Int,$Int,E.NRGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];Z.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BD.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBA64At","NRGBA64At","",$funcType([$Int,$Int],[E.NRGBA64],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA64","SetNRGBA64","",$funcType([$Int,$Int,E.NRGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AB.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BE.methods=[["AlphaAt","AlphaAt","",$funcType([$Int,$Int],[E.Alpha],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha","SetAlpha","",$funcType([$Int,$Int,E.Alpha],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AD.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BF.methods=[["Alpha16At","Alpha16At","",$funcType([$Int,$Int],[E.Alpha16],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha16","SetAlpha16","",$funcType([$Int,$Int,E.Alpha16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AF.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BG.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["GrayAt","GrayAt","",$funcType([$Int,$Int],[E.Gray],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray","SetGray","",$funcType([$Int,$Int,E.Gray],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AH.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BH.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Gray16At","Gray16At","",$funcType([$Int,$Int],[E.Gray16],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray16","SetGray16","",$funcType([$Int,$Int,E.Gray16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AJ.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BI.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorIndexAt","ColorIndexAt","",$funcType([$Int,$Int],[$Uint8],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetColorIndex","SetColorIndex","",$funcType([$Int,$Int,$Uint8],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AL.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""],["Palette","Palette","",E.Palette,""]]);BJ.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Convert","Convert","",$funcType([E.Color],[E.Color],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AN.init([["C","C","",E.Color,""]]);AP.methods=[["String","String","",$funcType([],[$String],false),-1]];BK.methods=[["String","String","",$funcType([],[$String],false),-1]];BL.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["COffset","COffset","",$funcType([$Int,$Int],[$Int],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1],["YCbCrAt","YCbCrAt","",$funcType([$Int,$Int],[E.YCbCr],false),-1],["YOffset","YOffset","",$funcType([$Int,$Int],[$Int],false),-1]];AQ.init([["Y","Y","",AT,""],["Cb","Cb","",AT,""],["Cr","Cr","",AT,""],["YStride","YStride","",$Int,""],["CStride","CStride","",$Int,""],["SubsampleRatio","SubsampleRatio","",AP,""],["Rect","Rect","",Q,""]]);G=AS.nil;$pkg.ZP=new O.Ptr();$pkg.ZR=new Q.Ptr();$pkg.ErrFormat=B.New("image: unknown format");$pkg.Black=AO((a=E.Black,new a.constructor.Struct(a)));$pkg.White=AO((b=E.White,new b.constructor.Struct(b)));$pkg.Transparent=AO((c=E.Transparent,new c.constructor.Struct(c)));$pkg.Opaque=AO((d=E.Opaque,new d.constructor.Struct(d)));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/draw"]=(function(){var $pkg={},A,B,X,Y,Z,AA,AB,AC,AD,AE,AF,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V;A=$packages["image"];B=$packages["image/color"];H=function(b,c,d,e,f,g){var h,i,j;h=$clone(c.Min,A.Point);$copy(c,c.Intersect(b.Bounds()),A.Rectangle);$copy(c,c.Intersect(d.Bounds().Add(h.Sub(e))),A.Rectangle);if(!($interfaceIsEqual(f,$ifaceNil))){$copy(c,c.Intersect(f.Bounds().Add(h.Sub(g))),A.Rectangle);}i=c.Min.X-h.X>>0;j=c.Min.Y-h.Y>>0;if((i===0)&&(j===0)){return;}e.X=(e).X+(i)>>0;e.Y=(e).Y+(j)>>0;g.X=(g).X+(i)>>0;g.Y=(g).Y+(j)>>0;};I=function(b,c,d,e){e=$clone(e,A.Point);c=$clone(c,A.Rectangle);return $interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))&&(e.Y>0;ag=w-1>>0;ah=-1;w=af;x=ag;y=ah;ai=ad-1>>0;aj=ac-1>>0;ak=-1;ac=ai;ad=aj;ae=ak;}al=$clone(new B.RGBA64.Ptr(),B.RGBA64);am=(e.Y+ac>>0)-c.Min.Y>>0;an=(g.Y+ac>>0)-c.Min.Y>>0;ao=ac;while(!((ao===ad))){ap=(e.X+w>>0)-c.Min.X>>0;aq=(g.X+w>>0)-c.Min.X>>0;ar=w;while(!((ar===x))){as=65535;if(!($interfaceIsEqual(f,$ifaceNil))){at=f.At(aq,an).RGBA();as=at[3];}if(as===0){if(h===0){}else{b.Set(ar,ao,(au=B.Transparent,new au.constructor.Struct(au)));}}else if((as===65535)&&(h===1)){b.Set(ar,ao,d.At(ap,am));}else{av=d.At(ap,am).RGBA();aw=av[0];ax=av[1];ay=av[2];az=av[3];if(h===0){ba=b.At(ar,ao).RGBA();bb=ba[0];bc=ba[1];bd=ba[2];be=ba[3];bg=65535-((bf=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bf===bf&&bf!==1/0&&bf!==-1/0)?bf>>>0:$throwRuntimeError("integer divide by zero")))>>>0;al.R=((bh=((((((bb>>>16<<16)*bg>>>0)+(bb<<16>>>16)*bg)>>>0)+((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)>>>0))/65535,(bh===bh&&bh!==1/0&&bh!==-1/0)?bh>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bi=((((((bc>>>16<<16)*bg>>>0)+(bc<<16>>>16)*bg)>>>0)+((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)>>>0))/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bj=((((((bd>>>16<<16)*bg>>>0)+(bd<<16>>>16)*bg)>>>0)+((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)>>>0))/65535,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bk=((((((be>>>16<<16)*bg>>>0)+(be<<16>>>16)*bg)>>>0)+((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}else{al.R=((bl=((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)/65535,(bl===bl&&bl!==1/0&&bl!==-1/0)?bl>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bm=((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)/65535,(bm===bm&&bm!==1/0&&bm!==-1/0)?bm>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bn=((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bo=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bo===bo&&bo!==1/0&&bo!==-1/0)?bo>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}b.Set(ar,ao,al);}bp=ar+y>>0;bq=ap+y>>0;br=aq+y>>0;ar=bp;ap=bq;aq=br;}bs=ao+ae>>0;bt=am+ae>>0;bu=an+ae>>0;ao=bs;am=bt;an=bu;}};L=function(b,c,d){var e,f,g,h,i,j,k,l,m,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;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];k=(j=(65535-i>>>0),(((j>>>16<<16)*257>>>0)+(j<<16>>>16)*257)>>>0);l=b.PixOffset(c.Min.X,c.Min.Y);m=l+(c.Dx()*4>>0)>>0;n=c.Min.Y;while(!((n===c.Max.Y))){o=l;while(o>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>>0);u=((s=b.Pix,t=o+1>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))>>>0);x=((v=b.Pix,w=o+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]))>>>0);aa=((y=b.Pix,z=o+3>>0,((z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]))>>>0);(ac=b.Pix,ad=o+0>>0,(ad<0||ad>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ad]=(((((ab=((((r>>>16<<16)*k>>>0)+(r<<16>>>16)*k)>>>0)/65535,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"))+f>>>0))>>>8>>>0)<<24>>>24));(af=b.Pix,ag=o+1>>0,(ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]=(((((ae=((((u>>>16<<16)*k>>>0)+(u<<16>>>16)*k)>>>0)/65535,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>>0:$throwRuntimeError("integer divide by zero"))+g>>>0))>>>8>>>0)<<24>>>24));(ai=b.Pix,aj=o+2>>0,(aj<0||aj>=ai.$length)?$throwRuntimeError("index out of range"):ai.$array[ai.$offset+aj]=(((((ah=((((x>>>16<<16)*k>>>0)+(x<<16>>>16)*k)>>>0)/65535,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>>0:$throwRuntimeError("integer divide by zero"))+h>>>0))>>>8>>>0)<<24>>>24));(al=b.Pix,am=o+3>>0,(am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]=(((((ak=((((aa>>>16<<16)*k>>>0)+(aa<<16>>>16)*k)>>>0)/65535,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>>0:$throwRuntimeError("integer divide by zero"))+i>>>0))>>>8>>>0)<<24>>>24));o=o+(4)>>0;}l=l+(b.Stride)>>0;m=m+(b.Stride)>>0;n=n+(1)>>0;}};M=function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];j=b.PixOffset(c.Min.X,c.Min.Y);k=j+(c.Dx()*4>>0)>>0;l=j;while(l>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=((f>>>8>>>0)<<24>>>24));(o=b.Pix,p=l+1>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((g>>>8>>>0)<<24>>>24));(q=b.Pix,r=l+2>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=((h>>>8>>>0)<<24>>>24));(s=b.Pix,t=l+3>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((i>>>8>>>0)<<24>>>24));l=l+(4)>>0;}u=$subslice(b.Pix,j,k);v=c.Min.Y+1>>0;while(v>0;k=k+(b.Stride)>>0;$copySlice($subslice(b.Pix,j,k),u);v=v+(1)>>0;}};N=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=c.Dx();g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;p=0;q=0;r=0;s=p;t=q;u=r;if(c.Min.Y>0;x=4;s=v;t=w;u=x;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;y=((h-1>>0))*4>>0;z=-4;aa=-4;s=y;t=z;u=aa;}while(i>0){ab=$subslice(b.Pix,j);ac=$subslice(d.Pix,k);ad=s;while(!((ad===t))){ag=(ae=((af=ad+0>>0,((af<0||af>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+af]))>>>0),(((ae>>>16<<16)*257>>>0)+(ae<<16>>>16)*257)>>>0);aj=(ah=((ai=ad+1>>0,((ai<0||ai>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ai]))>>>0),(((ah>>>16<<16)*257>>>0)+(ah<<16>>>16)*257)>>>0);am=(ak=((al=ad+2>>0,((al<0||al>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+al]))>>>0),(((ak>>>16<<16)*257>>>0)+(ak<<16>>>16)*257)>>>0);ap=(an=((ao=ad+3>>0,((ao<0||ao>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ao]))>>>0),(((an>>>16<<16)*257>>>0)+(an<<16>>>16)*257)>>>0);ar=((aq=ad+0>>0,((aq<0||aq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aq]))>>>0);at=((as=ad+1>>0,((as<0||as>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+as]))>>>0);av=((au=ad+2>>0,((au<0||au>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+au]))>>>0);ax=((aw=ad+3>>0,((aw<0||aw>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aw]))>>>0);az=(ay=(65535-ap>>>0),(((ay>>>16<<16)*257>>>0)+(ay<<16>>>16)*257)>>>0);(bb=ad+0>>0,(bb<0||bb>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bb]=(((((ba=((((ar>>>16<<16)*az>>>0)+(ar<<16>>>16)*az)>>>0)/65535,(ba===ba&&ba!==1/0&&ba!==-1/0)?ba>>>0:$throwRuntimeError("integer divide by zero"))+ag>>>0))>>>8>>>0)<<24>>>24));(bd=ad+1>>0,(bd<0||bd>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bd]=(((((bc=((((at>>>16<<16)*az>>>0)+(at<<16>>>16)*az)>>>0)/65535,(bc===bc&&bc!==1/0&&bc!==-1/0)?bc>>>0:$throwRuntimeError("integer divide by zero"))+aj>>>0))>>>8>>>0)<<24>>>24));(bf=ad+2>>0,(bf<0||bf>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bf]=(((((be=((((av>>>16<<16)*az>>>0)+(av<<16>>>16)*az)>>>0)/65535,(be===be&&be!==1/0&&be!==-1/0)?be>>>0:$throwRuntimeError("integer divide by zero"))+am>>>0))>>>8>>>0)<<24>>>24));(bh=ad+3>>0,(bh<0||bh>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bh]=(((((bg=((((ax>>>16<<16)*az>>>0)+(ax<<16>>>16)*az)>>>0)/65535,(bg===bg&&bg!==1/0&&bg!==-1/0)?bg>>>0:$throwRuntimeError("integer divide by zero"))+ap>>>0))>>>8>>>0)<<24>>>24));ad=ad+(u)>>0;}j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};O=function(b,c,d,e){var f,g,h,i,j,k,l,m,n,o;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=4*c.Dx()>>0;g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;if(c.Min.Y<=e.Y){n=b.Stride;o=d.Stride;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;}while(i>0){$copySlice($subslice(b.Pix,j,(j+h>>0)),$subslice(d.Pix,k,(k+h>>0)));j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};P=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));ah=((ag=p+0>>0,((ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]))>>>0);aj=((ai=p+1>>0,((ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]))>>>0);al=((ak=p+2>>0,((ak<0||ak>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ak]))>>>0);an=((am=p+3>>0,((am<0||am>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+am]))>>>0);ap=(ao=(65535-t>>>0),(((ao>>>16<<16)*257>>>0)+(ao<<16>>>16)*257)>>>0);(ar=p+0>>0,(ar<0||ar>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ar]=(((((aq=((((ah>>>16<<16)*ap>>>0)+(ah<<16>>>16)*ap)>>>0)/65535,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>>0:$throwRuntimeError("integer divide by zero"))+x>>>0))>>>8>>>0)<<24>>>24));(at=p+1>>0,(at<0||at>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+at]=(((((as=((((aj>>>16<<16)*ap>>>0)+(aj<<16>>>16)*ap)>>>0)/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))+ab>>>0))>>>8>>>0)<<24>>>24));(av=p+2>>0,(av<0||av>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+av]=(((((au=((((al>>>16<<16)*ap>>>0)+(al<<16>>>16)*ap)>>>0)/65535,(au===au&&au!==1/0&&au!==-1/0)?au>>>0:$throwRuntimeError("integer divide by zero"))+af>>>0))>>>8>>>0)<<24>>>24));(ax=p+3>>0,(ax<0||ax>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ax]=(((((aw=((((an>>>16<<16)*ap>>>0)+(an<<16>>>16)*ap)>>>0)/65535,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>>0:$throwRuntimeError("integer divide by zero"))+t>>>0))>>>8>>>0)<<24>>>24));ay=p+4>>0;az=q+4>>0;p=ay;q=az;}ba=j+1>>0;bb=k+1>>0;j=ba;k=bb;}};Q=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));(ag=p+0>>0,(ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]=((x>>>8>>>0)<<24>>>24));(ah=p+1>>0,(ah<0||ah>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ah]=((ab>>>8>>>0)<<24>>>24));(ai=p+2>>0,(ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]=((af>>>8>>>0)<<24>>>24));(aj=p+3>>0,(aj<0||aj>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+aj]=((t>>>8>>>0)<<24>>>24));ak=p+4>>0;al=q+4>>0;p=ak;q=al;}am=j+1>>0;an=k+1>>0;j=am;k=an;}};R=function(b,c,d,e){var f=false,g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=((c.Min.X-b.Rect.Min.X>>0))*4>>0;h=((c.Max.X-b.Rect.Min.X>>0))*4>>0;i=c.Min.Y-b.Rect.Min.Y>>0;j=c.Max.Y-b.Rect.Min.Y>>0;k=d.SubsampleRatio;if(k===0){l=i;m=e.Y;n=l;o=m;while(!((n===j))){p=$subslice(b.Pix,(n*b.Stride>>0));q=(((o-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;r=(((o-d.Rect.Min.Y>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;s=g;while(!((s===h))){t=B.YCbCrToRGB((u=d.Y,((q<0||q>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+q])),(v=d.Cb,((r<0||r>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+r])),(w=d.Cr,((r<0||r>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+r])));x=t[0];y=t[1];z=t[2];(aa=s+0>>0,(aa<0||aa>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+aa]=x);(ab=s+1>>0,(ab<0||ab>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ab]=y);(ac=s+2>>0,(ac<0||ac>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ac]=z);(ad=s+3>>0,(ad<0||ad>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ad]=255);ae=s+4>>0;af=q+1>>0;ag=r+1>>0;s=ae;q=af;r=ag;}ah=n+1>>0;ai=o+1>>0;n=ah;o=ai;}}else if(k===1){aj=i;ak=e.Y;al=aj;am=ak;while(!((al===j))){an=$subslice(b.Pix,(al*b.Stride>>0));ao=(((am-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;aq=(((am-d.Rect.Min.Y>>0))*d.CStride>>0)-(ap=d.Rect.Min.X/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"))>>0;ar=g;as=e.X;at=ar;au=as;while(!((at===h))){aw=aq+(av=au/2,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"))>>0;ax=B.YCbCrToRGB((ay=d.Y,((ao<0||ao>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+ao])),(az=d.Cb,((aw<0||aw>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+aw])),(ba=d.Cr,((aw<0||aw>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+aw])));bb=ax[0];bc=ax[1];bd=ax[2];(be=at+0>>0,(be<0||be>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+be]=bb);(bf=at+1>>0,(bf<0||bf>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bf]=bc);(bg=at+2>>0,(bg<0||bg>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bg]=bd);(bh=at+3>>0,(bh<0||bh>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bh]=255);bi=at+4>>0;bj=au+1>>0;bk=ao+1>>0;at=bi;au=bj;ao=bk;}bl=al+1>>0;bm=am+1>>0;al=bl;am=bm;}}else if(k===2){bn=i;bo=e.Y;bp=bn;bq=bo;while(!((bp===j))){br=$subslice(b.Pix,(bp*b.Stride>>0));bs=(((bq-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;bw=((((bt=bq/2,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>0:$throwRuntimeError("integer divide by zero"))-(bu=d.Rect.Min.Y/2,(bu===bu&&bu!==1/0&&bu!==-1/0)?bu>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)-(bv=d.Rect.Min.X/2,(bv===bv&&bv!==1/0&&bv!==-1/0)?bv>>0:$throwRuntimeError("integer divide by zero"))>>0;bx=g;by=e.X;bz=bx;ca=by;while(!((bz===h))){cc=bw+(cb=ca/2,(cb===cb&&cb!==1/0&&cb!==-1/0)?cb>>0:$throwRuntimeError("integer divide by zero"))>>0;cd=B.YCbCrToRGB((ce=d.Y,((bs<0||bs>=ce.$length)?$throwRuntimeError("index out of range"):ce.$array[ce.$offset+bs])),(cf=d.Cb,((cc<0||cc>=cf.$length)?$throwRuntimeError("index out of range"):cf.$array[cf.$offset+cc])),(cg=d.Cr,((cc<0||cc>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+cc])));ch=cd[0];ci=cd[1];cj=cd[2];(ck=bz+0>>0,(ck<0||ck>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+ck]=ch);(cl=bz+1>>0,(cl<0||cl>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cl]=ci);(cm=bz+2>>0,(cm<0||cm>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cm]=cj);(cn=bz+3>>0,(cn<0||cn>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cn]=255);co=bz+4>>0;cp=ca+1>>0;cq=bs+1>>0;bz=co;ca=cp;bs=cq;}cr=bp+1>>0;cs=bq+1>>0;bp=cr;bq=cs;}}else if(k===3){ct=i;cu=e.Y;cv=ct;cw=cu;while(!((cv===j))){cx=$subslice(b.Pix,(cv*b.Stride>>0));cy=(((cw-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;db=((((cz=cw/2,(cz===cz&&cz!==1/0&&cz!==-1/0)?cz>>0:$throwRuntimeError("integer divide by zero"))-(da=d.Rect.Min.Y/2,(da===da&&da!==1/0&&da!==-1/0)?da>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;dc=g;while(!((dc===h))){dd=B.YCbCrToRGB((de=d.Y,((cy<0||cy>=de.$length)?$throwRuntimeError("index out of range"):de.$array[de.$offset+cy])),(df=d.Cb,((db<0||db>=df.$length)?$throwRuntimeError("index out of range"):df.$array[df.$offset+db])),(dg=d.Cr,((db<0||db>=dg.$length)?$throwRuntimeError("index out of range"):dg.$array[dg.$offset+db])));dh=dd[0];di=dd[1];dj=dd[2];(dk=dc+0>>0,(dk<0||dk>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dk]=dh);(dl=dc+1>>0,(dl<0||dl>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dl]=di);(dm=dc+2>>0,(dm<0||dm>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dm]=dj);(dn=dc+3>>0,(dn<0||dn>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dn]=255);dp=dc+4>>0;dq=cy+1>>0;dr=db+1>>0;dc=dp;cy=dq;db=dr;}ds=cv+1>>0;dt=cw+1>>0;cv=ds;cw=dt;}}else{f=false;return f;}f=true;return f;};S=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be;f=$clone(f,A.Point);c=$clone(c,A.Rectangle);g=b.PixOffset(c.Min.X,c.Min.Y);h=g+(c.Dx()*4>>0)>>0;i=e.PixOffset(f.X,f.Y);j=d.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=c.Min.Y;p=f.Y;q=o;r=p;while(!((q===c.Max.Y))){s=g;t=i;u=s;v=t;while(u=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+v]))>>>0);if(x===0){y=u+4>>0;z=v+1>>0;u=y;v=z;continue;}x=(x|((x<<8>>>0)))>>>0;ac=((aa=b.Pix,ab=u+0>>0,((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]))>>>0);af=((ad=b.Pix,ae=u+1>>0,((ae<0||ae>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]))>>>0);ai=((ag=b.Pix,ah=u+2>>0,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]))>>>0);al=((aj=b.Pix,ak=u+3>>0,((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]))>>>0);ao=(am=(65535-((an=((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((am>>>16<<16)*257>>>0)+(am<<16>>>16)*257)>>>0);(aq=b.Pix,ar=u+0>>0,(ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=(((ap=((((((ac>>>16<<16)*ao>>>0)+(ac<<16>>>16)*ao)>>>0)+((((k>>>16<<16)*x>>>0)+(k<<16>>>16)*x)>>>0)>>>0))/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(at=b.Pix,au=u+1>>0,(au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=(((as=((((((af>>>16<<16)*ao>>>0)+(af<<16>>>16)*ao)>>>0)+((((l>>>16<<16)*x>>>0)+(l<<16>>>16)*x)>>>0)>>>0))/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(aw=b.Pix,ax=u+2>>0,(ax<0||ax>=aw.$length)?$throwRuntimeError("index out of range"):aw.$array[aw.$offset+ax]=(((av=((((((ai>>>16<<16)*ao>>>0)+(ai<<16>>>16)*ao)>>>0)+((((m>>>16<<16)*x>>>0)+(m<<16>>>16)*x)>>>0)>>>0))/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(az=b.Pix,ba=u+3>>0,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=(((ay=((((((al>>>16<<16)*ao>>>0)+(al<<16>>>16)*ao)>>>0)+((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)>>>0))/65535,(ay===ay&&ay!==1/0&&ay!==-1/0)?ay>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));bb=u+4>>0;bc=v+1>>0;u=bb;v=bc;}g=g+(b.Stride)>>0;h=h+(b.Stride)>>0;i=i+(e.Stride)>>0;bd=q+1>>0;be=r+1>>0;q=bd;r=be;}};T=function(b,c,d,e,f,g,h){var i,j,k,l,m,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,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;g=$clone(g,A.Point);e=$clone(e,A.Point);c=$clone(c,A.Rectangle);i=c.Min.X;j=c.Max.X;k=1;l=i;m=j;n=k;o=c.Min.Y;p=c.Max.Y;q=1;r=o;s=p;t=q;if($interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))){if(e.Y>0;v=l-1>>0;w=-1;l=u;m=v;n=w;x=s-1>>0;y=r-1>>0;z=-1;r=x;s=y;t=z;}}aa=(e.Y+r>>0)-c.Min.Y>>0;ab=(g.Y+r>>0)-c.Min.Y>>0;ac=(e.X+l>>0)-c.Min.X>>0;ad=(g.X+l>>0)-c.Min.X>>0;ae=ac+((m-l>>0))>>0;af=b.PixOffset(l,r);ag=n*4>>0;ah=r;while(!((ah===s))){ai=af;aj=ac;ak=ad;al=ai;am=aj;an=ak;while(!((am===ae))){ao=65535;if(!($interfaceIsEqual(f,$ifaceNil))){ap=f.At(an,ab).RGBA();ao=ap[3];}aq=d.At(am,aa).RGBA();ar=aq[0];as=aq[1];at=aq[2];au=aq[3];if(h===0){ax=((av=b.Pix,aw=al+0>>0,((aw<0||aw>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]))>>>0);ba=((ay=b.Pix,az=al+1>>0,((az<0||az>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+az]))>>>0);bd=((bb=b.Pix,bc=al+2>>0,((bc<0||bc>=bb.$length)?$throwRuntimeError("index out of range"):bb.$array[bb.$offset+bc]))>>>0);bg=((be=b.Pix,bf=al+3>>0,((bf<0||bf>=be.$length)?$throwRuntimeError("index out of range"):be.$array[be.$offset+bf]))>>>0);bj=(bh=(65535-((bi=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((bh>>>16<<16)*257>>>0)+(bh<<16>>>16)*257)>>>0);(bl=b.Pix,bm=al+0>>0,(bm<0||bm>=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bm]=(((bk=((((((ax>>>16<<16)*bj>>>0)+(ax<<16>>>16)*bj)>>>0)+((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bo=b.Pix,bp=al+1>>0,(bp<0||bp>=bo.$length)?$throwRuntimeError("index out of range"):bo.$array[bo.$offset+bp]=(((bn=((((((ba>>>16<<16)*bj>>>0)+(ba<<16>>>16)*bj)>>>0)+((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)>>>0))/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(br=b.Pix,bs=al+2>>0,(bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]=(((bq=((((((bd>>>16<<16)*bj>>>0)+(bd<<16>>>16)*bj)>>>0)+((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)>>>0))/65535,(bq===bq&&bq!==1/0&&bq!==-1/0)?bq>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bu=b.Pix,bv=al+3>>0,(bv<0||bv>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bv]=(((bt=((((((bg>>>16<<16)*bj>>>0)+(bg<<16>>>16)*bj)>>>0)+((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)>>>0))/65535,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}else{(bx=b.Pix,by=al+0>>0,(by<0||by>=bx.$length)?$throwRuntimeError("index out of range"):bx.$array[bx.$offset+by]=(((bw=((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)/65535,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(ca=b.Pix,cb=al+1>>0,(cb<0||cb>=ca.$length)?$throwRuntimeError("index out of range"):ca.$array[ca.$offset+cb]=(((bz=((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)/65535,(bz===bz&&bz!==1/0&&bz!==-1/0)?bz>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cd=b.Pix,ce=al+2>>0,(ce<0||ce>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+ce]=(((cc=((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cg=b.Pix,ch=al+3>>0,(ch<0||ch>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+ch]=(((cf=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}ci=al+ag>>0;cj=am+n>>0;ck=an+n>>0;al=ci;am=cj;an=ck;}af=af+((t*b.Stride>>0))>>0;cl=ah+t>>0;cm=aa+t>>0;cn=ab+t>>0;ah=cl;aa=cm;ab=cn;}};U=function(b){if(b<0){return 0;}if(b>65535){return 65535;}return b;};V=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=AE.nil;h=AF.nil;i=0;j=g;k=h;l=i;m=$assertType(b,Y,true);n=m[0];o=m[1];if(o){j=AE.make(n.Palette.$length);p=n.Palette;q=0;while(q=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]);t=s.RGBA();u=t[0];v=t[1];w=t[2];((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[0]=(u>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[1]=(v>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[2]=(w>>0);q++;}x=$subslice(n.Pix,n.PixOffset(c.Min.X,c.Min.Y));y=n.Stride;k=x;l=y;}z=AE.nil;aa=AE.nil;ab=z;ac=aa;if(f){ab=AE.make((c.Dx()+2>>0));ac=AE.make((c.Dx()+2>>0));}ad=new B.RGBA64.Ptr(0,0,0,65535);ae=0;while(!((ae===c.Dy()))){af=0;while(!((af===c.Dx()))){ag=d.At(e.X+af>>0,e.Y+ae>>0).RGBA();ah=ag[0];ai=ag[1];aj=ag[2];ak=(ah>>0);al=(ai>>0);am=(aj>>0);an=ak;ao=al;ap=am;if(f){an=U(an+(aq=(ar=af+1>>0,((ar<0||ar>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ar]))[0]/16,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero"))>>0);ao=U(ao+(as=(at=af+1>>0,((at<0||at>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+at]))[1]/16,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>0);ap=U(ap+(au=(av=af+1>>0,((av<0||av>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+av]))[2]/16,(au===au&&au!==1/0&&au!==-1/0)?au>>0:$throwRuntimeError("integer divide by zero"))>>0);}if(!(j===AE.nil)){aw=0;ax=4294967295;ay=aw;az=ax;ba=j;bb=0;while(bb=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+bb]),AD);be=((an-bd[0]>>0))>>1>>0;bf=(((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0);be=((ao-bd[1]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;be=((ap-bd[2]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;if(bf>0)+af>>0,(bi<0||bi>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bi]=(ay<<24>>>24));if(!f){af=af+(1)>>0;continue;}an=an-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[0])>>0;ao=ao-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[1])>>0;ap=ap-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[2])>>0;}else{ad.R=(an<<16>>>16);ad.G=(ao<<16>>>16);ad.B=(ap<<16>>>16);b.Set(c.Min.X+af>>0,c.Min.Y+ae>>0,ad);if(!f){af=af+(1)>>0;continue;}bj=b.At(c.Min.X+af>>0,c.Min.Y+ae>>0).RGBA();ah=bj[0];ai=bj[1];aj=bj[2];an=an-((ah>>0))>>0;ao=ao-((ai>>0))>>0;ap=ap-((aj>>0))>>0;}bk=(bm=af+0>>0,((bm<0||bm>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bm]));bl=0;(bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl]=((bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl])+(((((an>>>16<<16)*3>>0)+(an<<16>>>16)*3)>>0))>>0;bn=(bp=af+0>>0,((bp<0||bp>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bp]));bo=1;(bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo]=((bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo])+(((((ao>>>16<<16)*3>>0)+(ao<<16>>>16)*3)>>0))>>0;bq=(bs=af+0>>0,((bs<0||bs>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bs]));br=2;(br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br]=((br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br])+(((((ap>>>16<<16)*3>>0)+(ap<<16>>>16)*3)>>0))>>0;bt=(bv=af+1>>0,((bv<0||bv>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bv]));bu=0;(bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu]=((bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu])+(((((an>>>16<<16)*5>>0)+(an<<16>>>16)*5)>>0))>>0;bw=(by=af+1>>0,((by<0||by>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+by]));bx=1;(bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx]=((bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx])+(((((ao>>>16<<16)*5>>0)+(ao<<16>>>16)*5)>>0))>>0;bz=(cb=af+1>>0,((cb<0||cb>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cb]));ca=2;(ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca]=((ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca])+(((((ap>>>16<<16)*5>>0)+(ap<<16>>>16)*5)>>0))>>0;cc=(ce=af+2>>0,((ce<0||ce>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ce]));cd=0;(cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd]=((cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd])+(((((an>>>16<<16)*1>>0)+(an<<16>>>16)*1)>>0))>>0;cf=(ch=af+2>>0,((ch<0||ch>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ch]));cg=1;(cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg]=((cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg])+(((((ao>>>16<<16)*1>>0)+(ao<<16>>>16)*1)>>0))>>0;ci=(ck=af+2>>0,((ck<0||ck>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ck]));cj=2;(cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj]=((cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj])+(((((ap>>>16<<16)*1>>0)+(ap<<16>>>16)*1)>>0))>>0;cl=(cn=af+2>>0,((cn<0||cn>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cn]));cm=0;(cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm]=((cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm])+(((((an>>>16<<16)*7>>0)+(an<<16>>>16)*7)>>0))>>0;co=(cq=af+2>>0,((cq<0||cq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cq]));cp=1;(cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp]=((cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp])+(((((ao>>>16<<16)*7>>0)+(ao<<16>>>16)*7)>>0))>>0;cr=(ct=af+2>>0,((ct<0||ct>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ct]));cs=2;(cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs]=((cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs])+(((((ap>>>16<<16)*7>>0)+(ap<<16>>>16)*7)>>0))>>0;af=af+(1)>>0;}if(f){cu=ac;cv=ab;ab=cu;ac=cv;cw=ac;cx=0;while(cx=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cy]),AD.zero(),AD);cx++;}}ae=ae+(1)>>0;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}X=$ptrType(A.RGBA);Y=$ptrType(A.Paletted);Z=$ptrType(A.Uniform);AA=$ptrType(A.NRGBA);AB=$ptrType(A.YCbCr);AC=$ptrType(A.Alpha);AD=$arrayType($Int32,3);AE=$sliceType(AD);AF=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal/graphics"]=(function(){var $pkg={},D,A,B,C,E,F,Q,R,S,T,U,V,W,X,H,K,L,N,G,I,J,M,O,P;D=$packages["errors"];A=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics/internal/shader"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];E=$packages["image"];F=$packages["image/draw"];H=$pkg.Framebuffer=$newType(0,$kindStruct,"graphics.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_,flipY_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flipY=flipY_!==undefined?flipY_:false;});K=$pkg.Matrix=$newType(8,$kindInterface,"graphics.Matrix","Matrix","github.com/hajimehoshi/ebiten/internal/graphics",null);L=$pkg.TextureQuads=$newType(8,$kindInterface,"graphics.TextureQuads","TextureQuads","github.com/hajimehoshi/ebiten/internal/graphics",null);N=$pkg.Texture=$newType(0,$kindStruct,"graphics.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});G=function(a,b,c,d){var e,f,g,h;e=2/(b-a>>0);f=2/(d-c>>0);g=-1*(b+a>>0)/(b-a>>0);h=-1*(d+c>>0)/(d-c>>0);return $toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,0,0,g]),$toNativeArray($kindFloat64,[0,f,0,h]),$toNativeArray($kindFloat64,[0,0,1,0]),$toNativeArray($kindFloat64,[0,0,0,1])]);};I=$pkg.NewZeroFramebuffer=function(a,b,c){var d;d=new H.Ptr($ifaceNil,b,c,true);return[d,$ifaceNil];};J=$pkg.NewFramebufferFromTexture=function(a,b){var c,d,e,f,g,h;c=a.NewFramebuffer(b.native$0);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[R.nil,e];}f=b.Size();g=f[0];h=f[1];return[new H.Ptr(d,g,h,false),$ifaceNil];};H.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};H.prototype.Size=function(){return this.$val.Size();};H.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteFramebuffer(b.native$0);};H.prototype.Dispose=function(a){return this.$val.Dispose(a);};H.Ptr.prototype.setAsViewport=function(a){var b,c,d;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);return a.SetViewport(b.native$0,c,d);};H.prototype.setAsViewport=function(a){return this.$val.setAsViewport(a);};H.Ptr.prototype.projectionMatrix=function(){var a,b,c,d,e,f,g,h;a=this;b=A.NextPowerOf2Int(a.width);c=A.NextPowerOf2Int(a.height);d=G(0,b,0,c);if(a.flipY){e=(d.nilCheck,d[1]);f=1;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(-1);g=(d.nilCheck,d[1]);h=3;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])+(a.height/A.NextPowerOf2Int(a.height)*2);}return d;};H.prototype.projectionMatrix=function(){return this.$val.projectionMatrix();};H.Ptr.prototype.Fill=function(a,b,c,d,e){var f,g;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return a.FillFramebuffer(f.native$0,b,c,d,e);};H.prototype.Fill=function(a,b,c,d,e){return this.$val.Fill(a,b,c,d,e);};H.Ptr.prototype.DrawTexture=function(a,b,c,d,e){var f,g,h;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=f.projectionMatrix();return B.DrawTexture(a,b.native$0,h,c,d,e);};H.prototype.DrawTexture=function(a,b,c,d,e){return this.$val.DrawTexture(a,b,c,d,e);};M=function(a){var b,c,d,e,f,g,h,i,j,k;b=a.Bounds().Size().X;c=a.Bounds().Size().Y;d=b;e=c;f=new E.Rectangle.Ptr($clone(E.ZP,E.Point),new E.Point.Ptr(A.NextPowerOf2Int(d),A.NextPowerOf2Int(e)));g=$assertType(a,S,true);h=g[0];i=g[1];if(i&&$equal(a.Bounds(),f,E.Rectangle)){return h;}j=E.NewRGBA(f);k=new E.Rectangle.Ptr($clone(E.ZP,E.Point),$clone(a.Bounds().Size(),E.Point));F.Draw(j,k,a,E.ZP,1);return j;};N.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};N.prototype.Size=function(){return this.$val.Size();};O=$pkg.NewTexture=function(a,b,c,d){var e,f,g,h,i;e=A.NextPowerOf2Int(b);f=A.NextPowerOf2Int(c);if(e<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(f<4){return[T.nil,D.New("height must be equal or more than 4.")];}g=a.NewTexture(e,f,U.nil,d);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,b,c),$ifaceNil];};P=$pkg.NewTextureFromImage=function(a,b,c){var d,e,f,g,h,i;d=$clone(b.Bounds().Size(),E.Point);if(d.X<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(d.Y<4){return[T.nil,D.New("height must be equal or more than 4.")];}e=M(b);f=$clone(e.Bounds().Size(),E.Point);g=a.NewTexture(f.X,f.Y,e.Pix,c);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,d.X,d.Y),$ifaceNil];};N.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteTexture(b.native$0);};N.prototype.Dispose=function(a){return this.$val.Dispose(a);};N.Ptr.prototype.Pixels=function(a){var b,c,d,e,f;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);e=c;f=d;return a.TexturePixels(b.native$0,e,f);};N.prototype.Pixels=function(a){return this.$val.Pixels(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Q=$arrayType($Float64,4);R=$ptrType(H);S=$ptrType(E.RGBA);T=$ptrType(N);U=$sliceType($Uint8);V=$ptrType(C.Context);W=$arrayType(Q,4);X=$ptrType(W);R.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["DrawTexture","DrawTexture","",$funcType([V,T,L,K,K],[$error],false),-1],["Fill","Fill","",$funcType([V,$Float64,$Float64,$Float64,$Float64],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["projectionMatrix","projectionMatrix","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([],[X],false),-1],["setAsViewport","setAsViewport","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([V],[$error],false),-1]];H.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Framebuffer,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["flipY","flipY","github.com/hajimehoshi/ebiten/internal/graphics",$Bool,""]]);K.init([["Element","Element","",$funcType([$Int,$Int],[$Float64],false)]]);L.init([["Len","Len","",$funcType([],[$Int],false)],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)]]);T.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["Pixels","Pixels","",$funcType([V],[U,$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1]];N.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Texture,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,E,W,X,Y,Z,AA,AB,AC,AD,K,L,M,F,G,N,O,a,b,H,P,Q,R,S,T,U,V;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$packages["time"];K=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);M=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AB.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AC.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});H=$pkg.IsKeyPressed=function(c){return G.isKeyPressed(c);};M.Ptr.prototype.keyDown=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=true);};M.prototype.keyDown=function(c){return this.$val.keyDown(c);};M.Ptr.prototype.keyUp=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=false);};M.prototype.keyUp=function(c){return this.$val.keyUp(c);};M.Ptr.prototype.isKeyPressed=function(c){var d,e;d=this;return(e=d.keyPressed,((c<0||c>=e.length)?$throwRuntimeError("index out of range"):e[c]));};M.prototype.isKeyPressed=function(c){return this.$val.isKeyPressed(c);};P=$pkg.Use=function(c){c(O);};Q=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=E.Sleep(new E.Duration(0,0),$BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.Terminate=function(){};S=$pkg.IsClosed=function(){return false;};T=$pkg.SwapBuffers=function(){};U=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new Y(0);$global.window.onload=$externalize((function(){$close(c);}),Z);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;N=e.createElement($externalize("canvas",$String));N.width=16;N.height=16;e.body.appendChild(N);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);h=N.style;h.position=$externalize("absolute",$String);i=B.NewContext(N,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}O=C.NewContext(j);N.setAttribute($externalize("tabindex",$String),1);N.style.outline=$externalize("none",$String);N.onkeydown=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyDown(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);N.onkeyup=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyUp(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);case-1:}return;}};$f.$blocking=true;return $f;};V=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n;i=$global.document;i.title=$externalize(f,$String);N.width=c*e>>0;N.height=d*e>>0;j=N.style;j.left=$externalize("calc(50% - "+D.Itoa((k=(c*e>>0)/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((l=(d*e>>0)/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);m=e;n=$ifaceNil;g=m;h=n;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}W=$ptrType(C.Context);X=$structType([]);Y=$chanType(X,false,false);Z=$funcType([],[],false);AA=$funcType([A.Object],[],false);AB=$arrayType($Bool,5);AC=$arrayType($Bool,3);AD=$ptrType(M);AD.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([K],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];M.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AB,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AC,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);G=new M.Ptr();N=null;O=W.nil;F=(a=new $Map(),b=32,a[b]={k:b,v:4},b=37,a[b]={k:b,v:2},b=39,a[b]={k:b,v:3},b=38,a[b]={k:b,v:0},b=40,a[b]={k:b,v:1},a);$r=U($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,B,C,D,E,G,A,H,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,M,W,AD,AE,AG,AH,AK,AL,AM,AN,AO,AP,K,L,N,O,P,R,U,V,Z,AB,AC,AF,AI,AJ,AR;F=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];G=$packages["image/color"];A=$packages["math"];H=$packages["time"];M=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AT.zero();});W=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AZ.zero();});AD=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BB.nil;this.screen=screen_!==undefined?screen_:AU.nil;this.defaultR=defaultR_!==undefined?defaultR_:AU.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AE=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BG.nil;this.texture=texture_!==undefined?texture_:AV.nil;});AG=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AH=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AK=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AU.nil;this.pixels=pixels_!==undefined?pixels_:AX.nil;});AM=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AN=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AO=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new W.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new M.Ptr();this.Parts=Parts_!==undefined?Parts_:BC.nil;});AP=$pkg.Key=$newType(4,$kindInt,"ebiten.Key","Key","github.com/hajimehoshi/ebiten",null);K=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};L=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};M.Ptr.prototype.dim=function(){var a;a=this;return 5;};M.prototype.dim=function(){return this.$val.dim();};M.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};M.prototype.initialize=function(){return this.$val.initialize();};M.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};M.prototype.Element=function(a,b){return this.$val.Element(a,b);};M.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());L(a,b,c);$copy(b,c,M);};M.prototype.Concat=function(a){return this.$val.Concat(a);};M.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());K(a,b,c);$copy(b,c,M);};M.prototype.Add=function(a){return this.$val.Add(a);};M.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};M.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};M.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};M.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};M.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};M.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};N=$pkg.Monochrome=function(){return new M.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[0.212646484375,0.71514892578125,0.07220458984375,0,0]),$toNativeArray($kindFloat64,[0.212646484375,0.71514892578125,0.07220458984375,0,0]),$toNativeArray($kindFloat64,[0.212646484375,0.71514892578125,0.07220458984375,0,0]),$toNativeArray($kindFloat64,[0,0,0,1,0])]));};O=$pkg.ScaleColor=function(a,b,c,d){return new M.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[a,0,0,0,0]),$toNativeArray($kindFloat64,[0,b,0,0,0]),$toNativeArray($kindFloat64,[0,0,c,0,0]),$toNativeArray($kindFloat64,[0,0,0,d,0])]));};P=$pkg.TranslateColor=function(a,b,c,d){return new M.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[1,0,0,0,a]),$toNativeArray($kindFloat64,[0,1,0,0,b]),$toNativeArray($kindFloat64,[0,0,1,0,c]),$toNativeArray($kindFloat64,[0,0,0,1,d])]));};R=$pkg.IsKeyPressed=function(a){return D.IsKeyPressed((a>>0));};U=$pkg.NewImage=function(a,b,c){var d,e;d=AU.nil;e=$ifaceNil;D.Use((function(f){var g,h,i;g=AV.nil;h=B.NewTexture(f,a,b,AB(f,c));g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return;}i=AF(f,g);d=i[0];e=i[1];d.Clear(f);}));if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AL.Ptr(d,AX.nil),$ifaceNil];};V=$pkg.NewImageFromImage=function(a,b){var c,d;c=AU.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AV.nil;g=B.NewTextureFromImage(e,a,AB(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AF(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AW.nil,d];}return[new AL.Ptr(c,AX.nil),$ifaceNil];};W.Ptr.prototype.dim=function(){var a;a=this;return 3;};W.prototype.dim=function(){return this.$val.dim();};W.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};W.prototype.initialize=function(){return this.$val.initialize();};W.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};W.prototype.Element=function(a,b){return this.$val.Element(a,b);};W.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());L(a,b,c);$copy(b,c,W);};W.prototype.Concat=function(a){return this.$val.Concat(a);};W.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());K(a,b,c);$copy(b,c,W);};W.prototype.Add=function(a){return this.$val.Add(a);};W.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};W.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};W.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};W.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};W.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(Z(a));};W.prototype.Rotate=function(a){return this.$val.Rotate(a);};W.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};W.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};Z=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new W.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AB=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AC=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}j=AF(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}return[new AD.Ptr(a,k,new AE.Ptr(f,AV.nil),d),$ifaceNil];};AD.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AD.prototype.preUpdate=function(){return this.$val.preUpdate();};AD.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AD.prototype.postUpdate=function(){return this.$val.postUpdate();};AF=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AU.nil,e];}return[new AE.Ptr(d,b),$ifaceNil];};AE.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AE.prototype.size=function(){return this.$val.size();};AE.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=G.Transparent,new c.constructor.Struct(c)));};AE.prototype.Clear=function(a){return this.$val.Clear(a);};AE.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=F.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AE.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AG.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AG).prototype.Len=function(){return this.$get().Len();};AG.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Dst=function(a){return this.$get().Dst(a);};AG.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Src=function(a){return this.$get().Src(a);};AH.Ptr.prototype.Len=function(){var a;a=this;return 1;};AH.prototype.Len=function(){return this.$val.Len();};AH.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Dst=function(a){return this.$val.Dst(a);};AH.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Src=function(a){return this.$val.Src(a);};AE.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BD.nil){c=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BC.nil)){e=$subslice(new AG(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AH.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AK.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AE.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AI=function(a,b){return a/F.NextPowerOf2Int(b);};AJ=function(a,b){return a/F.NextPowerOf2Int(b);};AK.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AK.prototype.Len=function(){return this.$val.Len();};AK.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AK.prototype.Vertex=function(a){return this.$val.Vertex(a);};AK.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AI(h,n);q=AJ(i,o);r=AI(j,n);s=AJ(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AK.prototype.Texture=function(a){return this.$val.Texture(a);};AL.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AL.prototype.Size=function(){return this.$val.Size();};AL.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AX.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AL.prototype.Clear=function(){return this.$val.Clear();};AL.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AX.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AL.prototype.Fill=function(a){return this.$val.Fill(a);};AL.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;c=d.drawImage(a.inner,b);return c;};AL.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AL.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AX.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AL.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AL.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.ColorModel=function(){var a;a=this;return G.RGBAModel;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AX.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=F.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new G.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AL.prototype.At=function(a,b){return this.$val.At(a,b);};AR=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BA.nil;D.Use((function(j){var k;k=AC(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}case 1:if(!(true)){$s=2;continue;}j=H.After(new H.Duration(0,8333333));$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(k){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}k=a(new AL.Ptr(i.screen,AX.nil));if(!($interfaceIsEqual(k,$ifaceNil))){return k;}D.Use((function(l){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=$recv(j,$BLOCKING);$s=4;case 4:if(l&&l.$blocking){l=l();}l[0];$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}AS=$arrayType($Float64,5);AT=$arrayType(AS,4);AU=$ptrType(AE);AV=$ptrType(B.Texture);AW=$ptrType(AL);AX=$sliceType($Uint8);AY=$arrayType($Float64,3);AZ=$arrayType(AY,2);BA=$ptrType(AD);BB=$ptrType(C.Context);BC=$sliceType(AM);BD=$ptrType(AO);BE=$ptrType(M);BF=$ptrType(W);BG=$ptrType(B.Framebuffer);BH=$ptrType(AG);BI=$ptrType(AH);BJ=$ptrType(AK);BE.methods=[["Add","Add","",$funcType([M],[],false),-1],["Concat","Concat","",$funcType([M],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];M.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AT,""]]);BF.methods=[["Add","Add","",$funcType([W],[],false),-1],["Concat","Concat","",$funcType([W],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];W.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AZ,""]]);BA.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AD.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BB,""],["screen","screen","github.com/hajimehoshi/ebiten",AU,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AU,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AU.methods=[["Clear","Clear","",$funcType([BB],[$error],false),-1],["Fill","Fill","",$funcType([BB,G.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BB,AU,BD],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AE.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BG,""],["texture","texture","github.com/hajimehoshi/ebiten",AV,""]]);AG.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AG.init(AM);BI.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BJ.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AK.init([["parts","parts","github.com/hajimehoshi/ebiten",AN,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["At","At","",$funcType([$Int,$Int],[G.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[G.Model],false),-1],["DrawImage","DrawImage","",$funcType([AW,BD],[$error],false),-1],["Fill","Fill","",$funcType([G.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AU,BD],[$error],false),-1]];AL.init([["inner","inner","github.com/hajimehoshi/ebiten",AU,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AX,""]]);AM.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AN.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AO.init([["ImageParts","ImageParts","",AN,""],["GeoM","GeoM","",W,""],["ColorM","ColorM","",M,""],["Parts","Parts","",BC,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,AB,AC,AD,AE,AF,E,J,L,F,K,M,N,a,b,G,O,P,Q,R,S,T,U,V,W,X;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AE.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AE.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});J=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);E.Ptr.prototype.isKeyPressed=function(c){var d,e;d=this;return(e=d.keyPressed,((c<0||c>=e.length)?$throwRuntimeError("index out of range"):e[c]));};E.prototype.isKeyPressed=function(c){return this.$val.isKeyPressed(c);};G=$pkg.IsKeyPressed=function(c){return F.isKeyPressed(c);};E.Ptr.prototype.keyDown=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=true);};E.prototype.keyDown=function(c){return this.$val.keyDown(c);};E.Ptr.prototype.keyUp=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=false);};E.prototype.keyUp=function(c){return this.$val.keyUp(c);};E.Ptr.prototype.mouseDown=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=true;}else if(f===1){e.nilCheck,e[2]=true;}else if(f===2){e.nilCheck,e[1]=true;}};E.prototype.mouseDown=function(c){return this.$val.mouseDown(c);};E.Ptr.prototype.mouseUp=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=false;}else if(f===1){e.nilCheck,e[2]=false;}else if(f===2){e.nilCheck,e[1]=false;}};E.prototype.mouseUp=function(c){return this.$val.mouseUp(c);};E.Ptr.prototype.mouseMove=function(c,d){var e,f,g;e=this;f=c;g=d;e.cursorX=f;e.cursorY=g;};E.prototype.mouseMove=function(c,d){return this.$val.mouseMove(c,d);};O=function(){return!!!($global.document.hidden);};P=$pkg.Use=function(c){c(N);};Q=function($b){var $this=this,$args=arguments,$r,$s=0,c,d;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.requestAnimationFrame($externalize((function(){$close(c);}),AB));d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=Q($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case 2:if(!(!O())){$s=3;continue;}$r=Q($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$s=2;continue;case 3:case-1:}return;}};$f.$blocking=true;return $f;};S=$pkg.Terminate=function(){};T=$pkg.IsClosed=function(){return false;};U=$pkg.SwapBuffers=function(){};V=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.onload=$externalize((function(){$close(c);}),AB);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;e.onkeydown=$externalize((function(f){var g;g=$parseInt(f.keyCode)>>0;if(g===8){return false;}if(112<=g&&g<=123){return false;}if((g===37)&&(g===39)){return false;}return true;}),AC);M=e.createElement($externalize("canvas",$String));M.width=16;M.height=16;e.body.appendChild(M);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);e.body.onclick=$externalize((function(){M.focus();}),AB);h=M.style;h.position=$externalize("absolute",$String);i=B.NewContext(M,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}N=C.NewContext(j);M.setAttribute($externalize("tabindex",$String),1);M.style.outline=$externalize("none",$String);M.onkeydown=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyDown(m);return false;}),AC);M.onkeyup=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyUp(m);return false;}),AC);M.onmousedown=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseDown(m);return false;}),AC);M.onmouseup=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseUp(m);return false;}),AC);M.oncontextmenu=$externalize((function(l){return false;}),AC);case-1:}return;}};$f.$blocking=true;return $f;};W=function(){var c;c=$parseInt($global.window.devicePixelRatio)>>0;if(c===0){c=1;}return c;};X=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n,o,p;i=$global.document;i.title=$externalize(f,$String);g=e*W()>>0;M.width=c*g>>0;M.height=d*g>>0;j=M.style;k=c*e>>0;l=d*e>>0;j.width=$externalize(D.Itoa(k)+"px",$String);j.height=$externalize(D.Itoa(l)+"px",$String);j.left=$externalize("calc(50% - "+D.Itoa((m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((n=l/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);M.onmousemove=$externalize((function(o){var p,q,r,s,t,u,v;p=M.getBoundingClientRect();q=$parseInt(o.clientX)>>0;r=$parseInt(o.clientY)>>0;s=q;t=r;s=s-(($parseInt(p.left)>>0))>>0;t=t-(($parseInt(p.top)>>0))>>0;F.mouseMove((u=s/e,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero")),(v=t/e,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero")));}),AD);M.focus();o=g;p=$ifaceNil;g=o;h=p;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(C.Context);Z=$structType([]);AA=$chanType(Z,false,false);AB=$funcType([],[],false);AC=$funcType([A.Object],[$Bool],false);AD=$funcType([A.Object],[],false);AE=$arrayType($Bool,256);AF=$ptrType(E);AF.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([J],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseDown","mouseDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseMove","mouseMove","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int,$Int],[],false),-1],["mouseUp","mouseUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];E.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);F=new E.Ptr();M=null;N=Y.nil;K=(a=new $Map(),b=8,a[b]={k:b,v:37},b=9,a[b]={k:b,v:67},b=13,a[b]={k:b,v:44},b=16,a[b]={k:b,v:65},b=17,a[b]={k:b,v:40},b=18,a[b]={k:b,v:36},b=20,a[b]={k:b,v:38},b=27,a[b]={k:b,v:45},b=32,a[b]={k:b,v:66},b=33,a[b]={k:b,v:62},b=34,a[b]={k:b,v:61},b=35,a[b]={k:b,v:43},b=36,a[b]={k:b,v:58},b=37,a[b]={k:b,v:60},b=38,a[b]={k:b,v:68},b=39,a[b]={k:b,v:64},b=40,a[b]={k:b,v:42},b=45,a[b]={k:b,v:59},b=46,a[b]={k:b,v:41},b=48,a[b]={k:b,v:0},b=49,a[b]={k:b,v:1},b=50,a[b]={k:b,v:2},b=51,a[b]={k:b,v:3},b=52,a[b]={k:b,v:4},b=53,a[b]={k:b,v:5},b=54,a[b]={k:b,v:6},b=55,a[b]={k:b,v:7},b=56,a[b]={k:b,v:8},b=57,a[b]={k:b,v:9},b=65,a[b]={k:b,v:10},b=66,a[b]={k:b,v:11},b=67,a[b]={k:b,v:12},b=68,a[b]={k:b,v:13},b=69,a[b]={k:b,v:14},b=70,a[b]={k:b,v:15},b=71,a[b]={k:b,v:16},b=72,a[b]={k:b,v:17},b=73,a[b]={k:b,v:18},b=74,a[b]={k:b,v:19},b=75,a[b]={k:b,v:20},b=76,a[b]={k:b,v:21},b=77,a[b]={k:b,v:22},b=78,a[b]={k:b,v:23},b=79,a[b]={k:b,v:24},b=80,a[b]={k:b,v:25},b=81,a[b]={k:b,v:26},b=82,a[b]={k:b,v:27},b=83,a[b]={k:b,v:28},b=84,a[b]={k:b,v:29},b=85,a[b]={k:b,v:30},b=86,a[b]={k:b,v:31},b=87,a[b]={k:b,v:32},b=88,a[b]={k:b,v:33},b=89,a[b]={k:b,v:34},b=90,a[b]={k:b,v:35},b=112,a[b]={k:b,v:46},b=113,a[b]={k:b,v:47},b=114,a[b]={k:b,v:48},b=115,a[b]={k:b,v:49},b=116,a[b]={k:b,v:50},b=117,a[b]={k:b,v:51},b=118,a[b]={k:b,v:52},b=119,a[b]={k:b,v:53},b=120,a[b]={k:b,v:54},b=121,a[b]={k:b,v:55},b=122,a[b]={k:b,v:56},b=123,a[b]={k:b,v:57},b=188,a[b]={k:b,v:39},b=190,a[b]={k:b,v:63},a);$r=V($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,G,B,C,D,E,H,A,I,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,N,X,AE,AF,AH,AI,AL,AM,AN,AO,AP,AQ,AS,L,M,O,P,Q,S,V,W,AA,AC,AD,AG,AJ,AK,AT;F=$packages["errors"];G=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];H=$packages["image/color"];A=$packages["math"];I=$packages["time"];N=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AV.zero();});X=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:BB.zero();});AE=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BD.nil;this.screen=screen_!==undefined?screen_:AW.nil;this.defaultR=defaultR_!==undefined?defaultR_:AW.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AF=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BI.nil;this.texture=texture_!==undefined?texture_:AX.nil;});AH=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AI=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AM=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AW.nil;this.pixels=pixels_!==undefined?pixels_:AZ.nil;});AN=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AO=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AP=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new X.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new N.Ptr();this.Parts=Parts_!==undefined?Parts_:BE.nil;});AQ=$pkg.Key=$newType(4,$kindInt,"ebiten.Key","Key","github.com/hajimehoshi/ebiten",null);L=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};M=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};N.Ptr.prototype.dim=function(){var a;a=this;return 5;};N.prototype.dim=function(){return this.$val.dim();};N.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};N.prototype.initialize=function(){return this.$val.initialize();};N.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};N.prototype.Element=function(a,b){return this.$val.Element(a,b);};N.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());M(a,b,c);$copy(b,c,N);};N.prototype.Concat=function(a){return this.$val.Concat(a);};N.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());L(a,b,c);$copy(b,c,N);};N.prototype.Add=function(a){return this.$val.Add(a);};N.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};N.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};N.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};N.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};N.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};N.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};O=$pkg.Monochrome=function(){return new N.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[0.212646484375,0.71514892578125,0.07220458984375,0,0]),$toNativeArray($kindFloat64,[0.212646484375,0.71514892578125,0.07220458984375,0,0]),$toNativeArray($kindFloat64,[0.212646484375,0.71514892578125,0.07220458984375,0,0]),$toNativeArray($kindFloat64,[0,0,0,1,0])]));};P=$pkg.ScaleColor=function(a,b,c,d){return new N.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[a,0,0,0,0]),$toNativeArray($kindFloat64,[0,b,0,0,0]),$toNativeArray($kindFloat64,[0,0,c,0,0]),$toNativeArray($kindFloat64,[0,0,0,d,0])]));};Q=$pkg.TranslateColor=function(a,b,c,d){return new N.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[1,0,0,0,a]),$toNativeArray($kindFloat64,[0,1,0,0,b]),$toNativeArray($kindFloat64,[0,0,1,0,c]),$toNativeArray($kindFloat64,[0,0,0,1,d])]));};S=$pkg.IsKeyPressed=function(a){return D.IsKeyPressed((a>>0));};V=$pkg.NewImage=function(a,b,c){var d,e;d=AW.nil;e=$ifaceNil;D.Use((function(f){var g,h,i;g=AX.nil;h=B.NewTexture(f,a,b,AC(f,c));g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return;}i=AG(f,g);d=i[0];e=i[1];d.Clear(f);}));if(!($interfaceIsEqual(e,$ifaceNil))){return[AY.nil,e];}return[new AM.Ptr(d,AZ.nil),$ifaceNil];};W=$pkg.NewImageFromImage=function(a,b){var c,d;c=AW.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AX.nil;g=B.NewTextureFromImage(e,a,AC(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AG(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AY.nil,d];}return[new AM.Ptr(c,AZ.nil),$ifaceNil];};X.Ptr.prototype.dim=function(){var a;a=this;return 3;};X.prototype.dim=function(){return this.$val.dim();};X.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};X.prototype.initialize=function(){return this.$val.initialize();};X.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};X.prototype.Element=function(a,b){return this.$val.Element(a,b);};X.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());M(a,b,c);$copy(b,c,X);};X.prototype.Concat=function(a){return this.$val.Concat(a);};X.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());L(a,b,c);$copy(b,c,X);};X.prototype.Add=function(a){return this.$val.Add(a);};X.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};X.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};X.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};X.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};X.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(AA(a));};X.prototype.Rotate=function(a){return this.$val.Rotate(a);};X.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};X.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};AA=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new X.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AC=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AD=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}j=AG(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}return[new AE.Ptr(a,k,new AF.Ptr(f,AX.nil),d),$ifaceNil];};AE.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AE.prototype.preUpdate=function(){return this.$val.preUpdate();};AE.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AE.prototype.postUpdate=function(){return this.$val.postUpdate();};AG=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AF.Ptr(d,b),$ifaceNil];};AF.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AF.prototype.size=function(){return this.$val.size();};AF.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=H.Transparent,new c.constructor.Struct(c)));};AF.prototype.Clear=function(a){return this.$val.Clear(a);};AF.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=G.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AF.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AH.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AH).prototype.Len=function(){return this.$get().Len();};AH.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Dst=function(a){return this.$get().Dst(a);};AH.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Src=function(a){return this.$get().Src(a);};AI.Ptr.prototype.Len=function(){var a;a=this;return 1;};AI.prototype.Len=function(){return this.$val.Len();};AI.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Dst=function(a){return this.$val.Dst(a);};AI.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Src=function(a){return this.$val.Src(a);};AF.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BF.nil){c=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BE.nil)){e=$subslice(new AH(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AI.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AL.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AF.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AJ=function(a,b){return a/G.NextPowerOf2Int(b);};AK=function(a,b){return a/G.NextPowerOf2Int(b);};AL.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AL.prototype.Len=function(){return this.$val.Len();};AL.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AL.prototype.Vertex=function(a){return this.$val.Vertex(a);};AL.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AJ(h,n);q=AK(i,o);r=AJ(j,n);s=AK(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AL.prototype.Texture=function(a){return this.$val.Texture(a);};AM.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AM.prototype.Size=function(){return this.$val.Size();};AM.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AZ.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AM.prototype.Clear=function(){return this.$val.Clear();};AM.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AZ.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AM.prototype.Fill=function(a){return this.$val.Fill(a);};AM.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;if(d===a){c=F.New("Image.DrawImage: image should be different from the receiver");return c;}c=d.drawImage(a.inner,b);return c;};AM.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AM.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AZ.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AM.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AM.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AM.prototype.Bounds=function(){return this.$val.Bounds();};AM.Ptr.prototype.ColorModel=function(){var a;a=this;return H.RGBAModel;};AM.prototype.ColorModel=function(){return this.$val.ColorModel();};AM.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AZ.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=G.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new H.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AM.prototype.At=function(a,b){return this.$val.At(a,b);};AT=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l,m,n,o,p;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BC.nil;D.Use((function(j){var k;k=AD(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}j=0;k=I.Now().UnixNano();case 1:if(!(true)){$s=2;continue;}$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(l){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=a(new AM.Ptr(i.screen,AZ.nil));if(!($interfaceIsEqual(l,$ifaceNil))){return l;}D.Use((function(m){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}m=I.Now().UnixNano();j=j+(1)>>0;if((n=(o=new $Int64(m.$high-k.$high,m.$low-k.$low),new I.Duration(o.$high,o.$low)),(0>31)*4294967296))>>0);k=m;j=0;}$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AU=$arrayType($Float64,5);AV=$arrayType(AU,4);AW=$ptrType(AF);AX=$ptrType(B.Texture);AY=$ptrType(AM);AZ=$sliceType($Uint8);BA=$arrayType($Float64,3);BB=$arrayType(BA,2);BC=$ptrType(AE);BD=$ptrType(C.Context);BE=$sliceType(AN);BF=$ptrType(AP);BG=$ptrType(N);BH=$ptrType(X);BI=$ptrType(B.Framebuffer);BJ=$ptrType(AH);BK=$ptrType(AI);BL=$ptrType(AL);BG.methods=[["Add","Add","",$funcType([N],[],false),-1],["Concat","Concat","",$funcType([N],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];N.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AV,""]]);BH.methods=[["Add","Add","",$funcType([X],[],false),-1],["Concat","Concat","",$funcType([X],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];X.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",BB,""]]);BC.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AE.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BD,""],["screen","screen","github.com/hajimehoshi/ebiten",AW,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AW,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["Clear","Clear","",$funcType([BD],[$error],false),-1],["Fill","Fill","",$funcType([BD,H.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BD,AW,BF],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AF.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BI,""],["texture","texture","github.com/hajimehoshi/ebiten",AX,""]]);AH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BJ.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init(AN);BK.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AI.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BL.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AL.init([["parts","parts","github.com/hajimehoshi/ebiten",AO,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AY.methods=[["At","At","",$funcType([$Int,$Int],[H.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[H.Model],false),-1],["DrawImage","DrawImage","",$funcType([AY,BF],[$error],false),-1],["Fill","Fill","",$funcType([H.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AW,BF],[$error],false),-1]];AM.init([["inner","inner","github.com/hajimehoshi/ebiten",AW,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AZ,""]]);AN.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AO.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AP.init([["ImageParts","ImageParts","",AO,""],["GeoM","GeoM","",X,""],["ColorM","ColorM","",N,""],["Parts","Parts","",BE,""]]);AS=0;}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/flate"]=(function(){var $pkg={},E,A,B,C,D,F,BK,BL,BM,BN,BU,BV,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CS,CT,CU,CW,Y,Z,AK,AL,AM,AO,AP,AQ,AR,Q,AF,AG,AS,AW,G,AC,AD,AE,AT,AU,AV,AX,AY;E=$packages["bufio"];A=$packages["fmt"];B=$packages["io"];C=$packages["math"];D=$packages["sort"];F=$packages["strconv"];Y=$pkg.huffmanEncoder=$newType(0,$kindStruct,"flate.huffmanEncoder","huffmanEncoder","compress/flate",function(codeBits_,code_){this.$val=this;this.codeBits=codeBits_!==undefined?codeBits_:BV.nil;this.code=code_!==undefined?code_:BX.nil;});Z=$pkg.literalNode=$newType(0,$kindStruct,"flate.literalNode","literalNode","compress/flate",function(literal_,freq_){this.$val=this;this.literal=literal_!==undefined?literal_:0;this.freq=freq_!==undefined?freq_:0;});AK=$pkg.CorruptInputError=$newType(8,$kindInt64,"flate.CorruptInputError","CorruptInputError","compress/flate",null);AL=$pkg.InternalError=$newType(8,$kindString,"flate.InternalError","InternalError","compress/flate",null);AM=$pkg.ReadError=$newType(0,$kindStruct,"flate.ReadError","ReadError","compress/flate",function(Offset_,Err_){this.$val=this;this.Offset=Offset_!==undefined?Offset_:new $Int64(0,0);this.Err=Err_!==undefined?Err_:$ifaceNil;});AO=$pkg.Resetter=$newType(8,$kindInterface,"flate.Resetter","Resetter","compress/flate",null);AP=$pkg.huffmanDecoder=$newType(0,$kindStruct,"flate.huffmanDecoder","huffmanDecoder","compress/flate",function(min_,chunks_,links_,linkMask_){this.$val=this;this.min=min_!==undefined?min_:0;this.chunks=chunks_!==undefined?chunks_:CC.zero();this.links=links_!==undefined?links_:BL.nil;this.linkMask=linkMask_!==undefined?linkMask_:0;});AQ=$pkg.Reader=$newType(8,$kindInterface,"flate.Reader","Reader","compress/flate",null);AR=$pkg.decompressor=$newType(0,$kindStruct,"flate.decompressor","decompressor","compress/flate",function(r_,roffset_,woffset_,b_,nb_,h1_,h2_,bits_,codebits_,hist_,hp_,hw_,hfull_,buf_,step_,final$15_,err_,toRead_,hl_,hd_,copyLen_,copyDist_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.roffset=roffset_!==undefined?roffset_:new $Int64(0,0);this.woffset=woffset_!==undefined?woffset_:new $Int64(0,0);this.b=b_!==undefined?b_:0;this.nb=nb_!==undefined?nb_:0;this.h1=h1_!==undefined?h1_:new AP.Ptr();this.h2=h2_!==undefined?h2_:new AP.Ptr();this.bits=bits_!==undefined?bits_:CH.nil;this.codebits=codebits_!==undefined?codebits_:CJ.nil;this.hist=hist_!==undefined?hist_:CL.nil;this.hp=hp_!==undefined?hp_:0;this.hw=hw_!==undefined?hw_:0;this.hfull=hfull_!==undefined?hfull_:false;this.buf=buf_!==undefined?buf_:CM.zero();this.step=step_!==undefined?step_:$throwNilPointerError;this.final$15=final$15_!==undefined?final$15_:false;this.err=err_!==undefined?err_:$ifaceNil;this.toRead=toRead_!==undefined?toRead_:BM.nil;this.hl=hl_!==undefined?hl_:CF.nil;this.hd=hd_!==undefined?hd_:CF.nil;this.copyLen=copyLen_!==undefined?copyLen_:0;this.copyDist=copyDist_!==undefined?copyDist_:0;});G=function(a,b,c,d){var e;if(b<=c){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}while(true){if(b>=(c+d>>0)){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}e=b-c>>0;$copySlice($subslice(a,b,(b+e>>0)),$subslice(a,c,(c+e>>0)));d=d-(e)>>0;b=b+(e)>>0;}};AC=function(a){return new Y.Ptr(BV.make(a),BX.make(a));};AD=function(){var a,b,c,d,e,f;a=AC(286);b=a.codeBits;c=a.code;d=0;d=0;while(d<286){e=0;f=0;switch(0){default:if(d<144){e=d+48<<16>>>16;f=8;break;}else if(d<256){e=(d+400<<16>>>16)-144<<16>>>16;f=9;break;}else if(d<280){e=d-256<<16>>>16;f=7;break;}else{e=(d+192<<16>>>16)-280<<16>>>16;f=8;}}(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=f;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(e,f);d=d+(1)<<16>>>16;}return a;};AE=function(){var a,b,c,d;a=AC(30);b=a.codeBits;c=a.code;d=0;while(d<30){(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=5;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(d,5);d=d+(1)<<16>>>16;}return a;};AK.prototype.Error=function(){var a;a=this;return"flate: corrupt input before offset "+F.FormatInt(new $Int64(a.$high,a.$low),10);};$ptrType(AK).prototype.Error=function(){return this.$get().Error();};AL.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"flate: internal error: "+a;};$ptrType(AL).prototype.Error=function(){return new AL(this.$get()).Error();};AM.Ptr.prototype.Error=function(){var a;a=this;return"flate: read error at offset "+F.FormatInt(a.Offset,10)+": "+a.Err.Error();};AM.prototype.Error=function(){return this.$val.Error();};AP.Ptr.prototype.init=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax;b=this;if(!((b.min===0))){$copy(b,new AP.Ptr(0,CC.zero(),BL.nil,0),AP);}c=$clone(CD.zero(),CD);d=0;e=0;f=d;g=e;h=a;i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);if(j===0){i++;continue;}if((f===0)||jg){g=j;}k=c;l=j;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])+(1)>>0;i++;}if(g===0){return false;}b.min=f;m=0;n=0;if(g>9){m=(g>>>0)-9>>>0;n=(o=m,o<32?(1<>0;b.linkMask=((n-1>>0)>>>0);}p=0;q=$clone(CD.zero(),CD);r=f;while(r<=g){if(r===10){s=p>>1>>0;if(512>0));t=(s>>>0);while(t<512){w=((u=t>>>8>>>0,((u<0||u>=AW.length)?$throwRuntimeError("index out of range"):AW[u]))>>0)|(((v=(t&255)>>>0,((v<0||v>=AW.length)?$throwRuntimeError("index out of range"):AW[v]))>>0)<<8>>0);w=(w>>$min((7),31))>>0;x=t-(s>>>0)>>>0;(y=b.chunks,(w<0||w>=y.length)?$throwRuntimeError("index out of range"):y[w]=(((x<<4>>>0)+(r>>>0)>>>0)>>>0));(aa=b.links,(x<0||x>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+x]=BK.make(((z=m,z<32?(1<>0)));t=t+(1)>>>0;}}ab=((r<0||r>=c.length)?$throwRuntimeError("index out of range"):c[r]);(r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r]=p;p=p+(ab)>>0;p=(ac=(1),ac<32?(p<>0;r=r+(1)>>0;}ad=a;ae=0;while(ae=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]);if(ag===0){ae++;continue;}ah=((ag<0||ag>=q.length)?$throwRuntimeError("index out of range"):q[ag]);ai=q;aj=ag;(aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj]=((aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj])+(1)>>0;ak=(((af<<4>>0)|ag)>>>0);an=((al=ah>>8>>0,((al<0||al>=AW.length)?$throwRuntimeError("index out of range"):AW[al]))>>0)|(((am=ah&255,((am<0||am>=AW.length)?$throwRuntimeError("index out of range"):AW[am]))>>0)<<8>>0);an=(an>>$min((((16-ag>>0)>>>0)),31))>>0;if(ag<=9){ao=an;while(ao<512){(ap=b.chunks,(ao<0||ao>=ap.length)?$throwRuntimeError("index out of range"):ap[ao]=ak);ao=ao+(((aq=(ag>>>0),aq<32?(1<>0))>>0;}}else{at=(ar=b.chunks,as=an&511,((as<0||as>=ar.length)?$throwRuntimeError("index out of range"):ar[as]))>>>4>>>0;if(at>=(b.links.$length>>>0)){return false;}av=(au=b.links,((at<0||at>=au.$length)?$throwRuntimeError("index out of range"):au.$array[au.$offset+at]));an=(an>>$min((9),31))>>0;aw=an;while(aw=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]=ak;aw=aw+(((ax=((ag-9>>0)>>>0),ax<32?(1<>0))>>0;}}ae++;}return true;};AP.prototype.init=function(a){return this.$val.init(a);};AR.Ptr.prototype.nextBlock=function(){var a,b,c,d,e,f;a=this;if(a.final$15){if(!((a.hw===a.hp))){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.err=B.EOF;return;}while(a.nb<3){a.err=a.moreBits();if(!($interfaceIsEqual(a.err,$ifaceNil))){return;}}a.final$15=((a.b&1)>>>0)===1;a.b=(b=(1),b<32?(a.b>>>b):0)>>>0;c=(a.b&3)>>>0;a.b=(d=(2),d<32?(a.b>>>d):0)>>>0;a.nb=a.nb-(3)>>>0;e=c;switch(0){default:if(e===0){a.dataBlock();}else if(e===1){a.hl=Q;a.hd=CF.nil;a.huffmanBlock();}else if(e===2){a.err=a.readHuffman();if(!($interfaceIsEqual(a.err,$ifaceNil))){break;}a.hl=a.h1;a.hd=a.h2;a.huffmanBlock();}else{a.err=(f=a.roffset,new AK(f.$high,f.$low));}}};AR.prototype.nextBlock=function(){return this.$val.nextBlock();};AR.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.step(b);}};AR.prototype.Read=function(a){return this.$val.Read(a);};AR.Ptr.prototype.Close=function(){var a;a=this;if($interfaceIsEqual(a.err,B.EOF)){return $ifaceNil;}return a.err;};AR.prototype.Close=function(){return this.$val.Close();};AR.Ptr.prototype.readHuffman=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,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an;a=this;while(a.nb<14){b=a.moreBits();if(!($interfaceIsEqual(b,$ifaceNil))){return b;}}c=(((a.b&31)>>>0)>>0)+257>>0;if(c>286){return(d=a.roffset,new AK(d.$high,d.$low));}a.b=(e=(5),e<32?(a.b>>>e):0)>>>0;f=(((a.b&31)>>>0)>>0)+1>>0;a.b=(g=(5),g<32?(a.b>>>g):0)>>>0;h=(((a.b&15)>>>0)>>0)+4>>0;a.b=(i=(4),i<32?(a.b>>>i):0)>>>0;a.nb=a.nb-(14)>>>0;j=0;while(j=AS.length)?$throwRuntimeError("index out of range"):AS[j]),l.nilCheck,(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((a.b&7)>>>0)>>0));a.b=(n=(3),n<32?(a.b>>>n):0)>>>0;a.nb=a.nb-(3)>>>0;j=j+(1)>>0;}o=h;while(o<19){(p=a.codebits,q=((o<0||o>=AS.length)?$throwRuntimeError("index out of range"):AS[o]),p.nilCheck,(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=0);o=o+(1)>>0;}if(!a.h1.init($subslice(new BN(a.codebits),0))){return(r=a.roffset,new AK(r.$high,r.$low));}s=0;t=c+f>>0;u=s;v=t;while(u=z.length)?$throwRuntimeError("index out of range"):z[u]=x);u=u+(1)>>0;continue;}aa=0;ab=0;ac=0;ad=x;if(ad===16){aa=3;ab=2;if(u===0){return(ae=a.roffset,new AK(ae.$high,ae.$low));}ac=(af=a.bits,ag=u-1>>0,(af.nilCheck,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag])));}else if(ad===17){aa=3;ab=3;ac=0;}else if(ad===18){aa=11;ab=7;ac=0;}else{return new AL("unexpected length code");}while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(aj=(ab),aj<32?(a.b>>>aj):0)>>>0;a.nb=a.nb-(ab)>>>0;if((u+aa>>0)>v){return(ak=a.roffset,new AK(ak.$high,ak.$low));}al=0;while(al=am.length)?$throwRuntimeError("index out of range"):am[u]=ac);u=u+(1)>>0;al=al+(1)>>0;}}if(!a.h1.init($subslice(new BN(a.bits),0,c))||!a.h2.init($subslice(new BN(a.bits),c,(c+f>>0)))){return(an=a.roffset,new AK(an.$high,an.$low));}return $ifaceNil;};AR.prototype.readHuffman=function(){return this.$val.readHuffman();};AR.Ptr.prototype.huffmanBlock=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;a=this;while(true){b=a.huffSym(a.hl);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}e=0;f=0;if(c<256){(g=a.hist,h=a.hp,g.nilCheck,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));a.hp=a.hp+(1)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.huffmanBlock));return;}continue;}else if(c===256){a.step=$methodExpr(CE.prototype.nextBlock);return;}else if(c<265){f=c-254>>0;e=0;}else if(c<269){f=(c*2>>0)-519>>0;e=1;}else if(c<273){f=(c*4>>0)-1057>>0;e=2;}else if(c<277){f=(c*8>>0)-2149>>0;e=3;}else if(c<281){f=(c*16>>0)-4365>>0;e=4;}else if(c<285){f=(c*32>>0)-8861>>0;e=5;}else{f=258;e=0;}if(e>0){while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(j=(e),j<32?(a.b>>>j):0)>>>0;a.nb=a.nb-(e)>>>0;}k=0;if(a.hd===CF.nil){while(a.nb<5){d=a.moreBits();if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}k=((l=(((a.b&31)>>>0))<<3>>>0,((l<0||l>=AW.length)?$throwRuntimeError("index out of range"):AW[l]))>>0);a.b=(m=(5),m<32?(a.b>>>m):0)>>>0;a.nb=a.nb-(5)>>>0;}else{n=a.huffSym(a.hd);k=n[0];d=n[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}if(k<4){k=k+(1)>>0;}else if(k>=30){a.err=(o=a.roffset,new AK(o.$high,o.$low));return;}else{p=((k-2>>0)>>>0)>>>1>>>0;r=(q=p,q<32?(((k&1))<>0;while(a.nb>>0)-1>>>0))>>>0)>>0));a.b=(t=(p),t<32?(a.b>>>t):0)>>>0;a.nb=a.nb-(p)>>>0;k=(((u=((p+1>>>0)),u<32?(1<>0)+1>>0)+r>>0;}if(k>32768){a.err=new AL("bad history distance");return;}if(!a.hfull&&k>a.hp){a.err=(v=a.roffset,new AK(v.$high,v.$low));return;}w=f;x=k;a.copyLen=w;a.copyDist=x;if(a.copyHist()){return;}}};AR.prototype.huffmanBlock=function(){return this.$val.huffmanBlock();};AR.Ptr.prototype.copyHist=function(){var a,b,c,d,e;a=this;b=a.hp-a.copyDist>>0;if(b<0){b=b+(32768)>>0;}while(a.copyLen>0){c=a.copyLen;d=32768-a.hp>>0;if(c>d){c=d;}e=32768-b>>0;if(c>e){c=e;}G(new BM(a.hist),a.hp,b,c);b=b+(c)>>0;a.hp=a.hp+(c)>>0;a.copyLen=a.copyLen-(c)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.copyHuff));return true;}if(b===32768){b=0;}}return false;};AR.prototype.copyHist=function(){return this.$val.copyHist();};AR.Ptr.prototype.copyHuff=function(){var a;a=this;if(a.copyHist()){return;}a.huffmanBlock();};AR.prototype.copyHuff=function(){return this.$val.copyHuff();};AR.Ptr.prototype.dataBlock=function(){var a,b,c,d,e,f,g,h,i;a=this;a.nb=0;a.b=0;b=B.ReadFull(a.r,$subslice(new BM(a.buf),0,4));c=b[0];d=b[1];a.roffset=(e=a.roffset,f=new $Int64(0,c),new $Int64(e.$high+f.$high,e.$low+f.$low));if(!($interfaceIsEqual(d,$ifaceNil))){a.err=new AM.Ptr(a.roffset,d);return;}g=(a.buf[0]>>0)|((a.buf[1]>>0)<<8>>0);h=(a.buf[2]>>0)|((a.buf[3]>>0)<<8>>0);if(!(((h<<16>>>16)===((~g>>0)<<16>>>16)))){a.err=(i=a.roffset,new AK(i.$high,i.$low));return;}if(g===0){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.copyLen=g;a.copyData();};AR.prototype.dataBlock=function(){return this.$val.dataBlock();};AR.Ptr.prototype.copyData=function(){var a,b,c,d,e,f,g;a=this;b=a.copyLen;while(b>0){c=32768-a.hp>>0;if(c>b){c=b;}d=B.ReadFull(a.r,$subslice(new BM(a.hist),a.hp,(a.hp+c>>0)));c=d[0];e=d[1];a.roffset=(f=a.roffset,g=new $Int64(0,c),new $Int64(f.$high+g.$high,f.$low+g.$low));if(!($interfaceIsEqual(e,$ifaceNil))){a.err=new AM.Ptr(a.roffset,e);return;}b=b-(c)>>0;a.hp=a.hp+(c)>>0;if(a.hp===32768){a.copyLen=b;a.flush($methodExpr(CE.prototype.copyData));return;}}a.step=$methodExpr(CE.prototype.nextBlock);};AR.prototype.copyData=function(){return this.$val.copyData();};AR.Ptr.prototype.setDict=function(a){var b;b=this;if(a.$length>32768){a=$subslice(a,(a.$length-32768>>0));}b.hp=$copySlice(new BM(b.hist),a);if(b.hp===32768){b.hp=0;b.hfull=true;}b.hw=b.hp;};AR.prototype.setDict=function(a){return this.$val.setDict(a);};AR.Ptr.prototype.moreBits=function(){var a,b,c,d,e,f,g;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,B.EOF)){d=B.ErrUnexpectedEOF;}return d;}a.roffset=(e=a.roffset,f=new $Int64(0,1),new $Int64(e.$high+f.$high,e.$low+f.$low));a.b=(a.b|(((g=a.nb,g<32?((c>>>0)<>>0)))>>>0;a.nb=a.nb+(8)>>>0;return $ifaceNil;};AR.prototype.moreBits=function(){return this.$val.moreBits();};AR.Ptr.prototype.huffSym=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;c=(a.min>>>0);while(true){while(b.nb>>0,((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]));c=(((g&15)>>>0)>>>0);if(c>9){g=(h=(i=a.links,j=g>>>4>>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),k=(((b.b>>>9>>>0))&a.linkMask)>>>0,((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]));c=(((g&15)>>>0)>>>0);if(c===0){b.err=(l=b.roffset,new AK(l.$high,l.$low));return[0,b.err];}}if(c<=b.nb){b.b=(m=(c),m<32?(b.b>>>m):0)>>>0;b.nb=b.nb-(c)>>>0;return[((g>>>4>>>0)>>0),$ifaceNil];}}};AR.prototype.huffSym=function(a){return this.$val.huffSym(a);};AR.Ptr.prototype.flush=function(a){var b,c,d;b=this;b.toRead=$subslice(new BM(b.hist),b.hw,b.hp);b.woffset=(c=b.woffset,d=new $Int64(0,(b.hp-b.hw>>0)),new $Int64(c.$high+d.$high,c.$low+d.$low));b.hw=b.hp;if(b.hp===32768){b.hp=0;b.hw=0;b.hfull=true;}b.step=a;};AR.prototype.flush=function(a){return this.$val.flush(a);};AT=function(a){var b,c,d;b=$assertType(a,AQ,true);c=b[0];d=b[1];if(d){return c;}return E.NewReader(a);};AR.Ptr.prototype.Reset=function(a,b){var c;c=this;$copy(c,new AR.Ptr(AT(a),new $Int64(0,0),new $Int64(0,0),0,0,new AP.Ptr(),new AP.Ptr(),c.bits,c.codebits,c.hist,0,0,false,CM.zero(),$methodExpr(CE.prototype.nextBlock),false,$ifaceNil,BM.nil,CF.nil,CF.nil,0,0),AR);if(!(b===BM.nil)){c.setDict(b);}return $ifaceNil;};AR.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};AU=$pkg.NewReader=function(a){var b;b=$clone(new AR.Ptr(),AR);b.bits=CG.zero();b.codebits=CI.zero();b.r=AT(a);b.hist=CK.zero();b.step=$methodExpr(CE.prototype.nextBlock);return b;};AV=$pkg.NewReaderDict=function(a,b){var c;c=$clone(new AR.Ptr(),AR);c.r=AT(a);c.hist=CK.zero();c.bits=CG.zero();c.codebits=CI.zero();c.step=$methodExpr(CE.prototype.nextBlock);c.setDict(b);return c;};AX=function(a){var b,c;return(((b=a>>>8<<16>>>16,((b<0||b>=AW.length)?$throwRuntimeError("index out of range"):AW[b]))<<16>>>16)|(((c=(a&255)>>>0,((c<0||c>=AW.length)?$throwRuntimeError("index out of range"):AW[c]))<<16>>>16)<<8<<16>>>16))>>>0;};AY=function(a,b){var c;return AX((c=(16-b<<24>>>24),c<32?(a<>>16);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}BK=$sliceType($Uint32);BL=$sliceType(BK);BM=$sliceType($Uint8);BN=$sliceType($Int);BU=$sliceType($Int32);BV=$sliceType($Uint8);BW=$ptrType(Y);BX=$sliceType($Uint16);CB=$sliceType(Z);CC=$arrayType($Uint32,512);CD=$arrayType($Int,16);CE=$ptrType(AR);CF=$ptrType(AP);CG=$arrayType($Int,318);CH=$ptrType(CG);CI=$arrayType($Int,19);CJ=$ptrType(CI);CK=$arrayType($Uint8,32768);CL=$ptrType(CK);CM=$arrayType($Uint8,4);CS=$ptrType(AK);CT=$ptrType(AL);CU=$ptrType(AM);CW=$funcType([CE],[],false);BW.methods=[["assignEncodingAndSize","assignEncodingAndSize","compress/flate",$funcType([BU,CB],[],false),-1],["bitCounts","bitCounts","compress/flate",$funcType([CB,$Int32],[BU],false),-1],["bitLength","bitLength","compress/flate",$funcType([BU],[$Int64],false),-1],["generate","generate","compress/flate",$funcType([BU,$Int32],[],false),-1]];Y.init([["codeBits","codeBits","compress/flate",BV,""],["code","code","compress/flate",BX,""]]);Z.init([["literal","literal","compress/flate",$Uint16,""],["freq","freq","compress/flate",$Int32,""]]);AK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CS.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CT.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CU.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AM.init([["Offset","Offset","",$Int64,""],["Err","Err","",$error,""]]);AO.init([["Reset","Reset","",$funcType([B.Reader,BM],[$error],false)]]);CF.methods=[["init","init","compress/flate",$funcType([BN],[$Bool],false),-1]];AP.init([["min","min","compress/flate",$Int,""],["chunks","chunks","compress/flate",CC,""],["links","links","compress/flate",BL,""],["linkMask","linkMask","compress/flate",$Uint32,""]]);AQ.init([["Read","Read","",$funcType([BM],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);CE.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([BM],[$Int,$error],false),-1],["Reset","Reset","",$funcType([B.Reader,BM],[$error],false),-1],["copyData","copyData","compress/flate",$funcType([],[],false),-1],["copyHist","copyHist","compress/flate",$funcType([],[$Bool],false),-1],["copyHuff","copyHuff","compress/flate",$funcType([],[],false),-1],["dataBlock","dataBlock","compress/flate",$funcType([],[],false),-1],["flush","flush","compress/flate",$funcType([CW],[],false),-1],["huffSym","huffSym","compress/flate",$funcType([CF],[$Int,$error],false),-1],["huffmanBlock","huffmanBlock","compress/flate",$funcType([],[],false),-1],["moreBits","moreBits","compress/flate",$funcType([],[$error],false),-1],["nextBlock","nextBlock","compress/flate",$funcType([],[],false),-1],["readHuffman","readHuffman","compress/flate",$funcType([],[$error],false),-1],["setDict","setDict","compress/flate",$funcType([BM],[],false),-1]];AR.init([["r","r","compress/flate",AQ,""],["roffset","roffset","compress/flate",$Int64,""],["woffset","woffset","compress/flate",$Int64,""],["b","b","compress/flate",$Uint32,""],["nb","nb","compress/flate",$Uint,""],["h1","h1","compress/flate",AP,""],["h2","h2","compress/flate",AP,""],["bits","bits","compress/flate",CH,""],["codebits","codebits","compress/flate",CJ,""],["hist","hist","compress/flate",CL,""],["hp","hp","compress/flate",$Int,""],["hw","hw","compress/flate",$Int,""],["hfull","hfull","compress/flate",$Bool,""],["buf","buf","compress/flate",CM,""],["step","step","compress/flate",CW,""],["final$15","final","compress/flate",$Bool,""],["err","err","compress/flate",$error,""],["toRead","toRead","compress/flate",BM,""],["hl","hl","compress/flate",CF,""],["hd","hd","compress/flate",CF,""],["copyLen","copyLen","compress/flate",$Int,""],["copyDist","copyDist","compress/flate",$Int,""]]);Q=new AP.Ptr(7,$toNativeArray($kindUint32,[4103,1288,264,4488,4359,1800,776,3081,4231,1544,520,2569,8,2056,1032,3593,4167,1416,392,2313,4423,1928,904,3337,4295,1672,648,2825,136,2184,1160,3849,4135,1352,328,4552,4391,1864,840,3209,4263,1608,584,2697,72,2120,1096,3721,4199,1480,456,2441,4455,1992,968,3465,4327,1736,712,2953,200,2248,1224,3977,4119,1320,296,4520,4375,1832,808,3145,4247,1576,552,2633,40,2088,1064,3657,4183,1448,424,2377,4439,1960,936,3401,4311,1704,680,2889,168,2216,1192,3913,4151,1384,360,4584,4407,1896,872,3273,4279,1640,616,2761,104,2152,1128,3785,4215,1512,488,2505,4471,2024,1000,3529,4343,1768,744,3017,232,2280,1256,4041,4103,1304,280,4504,4359,1816,792,3113,4231,1560,536,2601,24,2072,1048,3625,4167,1432,408,2345,4423,1944,920,3369,4295,1688,664,2857,152,2200,1176,3881,4135,1368,344,4568,4391,1880,856,3241,4263,1624,600,2729,88,2136,1112,3753,4199,1496,472,2473,4455,2008,984,3497,4327,1752,728,2985,216,2264,1240,4009,4119,1336,312,4536,4375,1848,824,3177,4247,1592,568,2665,56,2104,1080,3689,4183,1464,440,2409,4439,1976,952,3433,4311,1720,696,2921,184,2232,1208,3945,4151,1400,376,4600,4407,1912,888,3305,4279,1656,632,2793,120,2168,1144,3817,4215,1528,504,2537,4471,2040,1016,3561,4343,1784,760,3049,248,2296,1272,4073,4103,1288,264,4488,4359,1800,776,3097,4231,1544,520,2585,8,2056,1032,3609,4167,1416,392,2329,4423,1928,904,3353,4295,1672,648,2841,136,2184,1160,3865,4135,1352,328,4552,4391,1864,840,3225,4263,1608,584,2713,72,2120,1096,3737,4199,1480,456,2457,4455,1992,968,3481,4327,1736,712,2969,200,2248,1224,3993,4119,1320,296,4520,4375,1832,808,3161,4247,1576,552,2649,40,2088,1064,3673,4183,1448,424,2393,4439,1960,936,3417,4311,1704,680,2905,168,2216,1192,3929,4151,1384,360,4584,4407,1896,872,3289,4279,1640,616,2777,104,2152,1128,3801,4215,1512,488,2521,4471,2024,1000,3545,4343,1768,744,3033,232,2280,1256,4057,4103,1304,280,4504,4359,1816,792,3129,4231,1560,536,2617,24,2072,1048,3641,4167,1432,408,2361,4423,1944,920,3385,4295,1688,664,2873,152,2200,1176,3897,4135,1368,344,4568,4391,1880,856,3257,4263,1624,600,2745,88,2136,1112,3769,4199,1496,472,2489,4455,2008,984,3513,4327,1752,728,3001,216,2264,1240,4025,4119,1336,312,4536,4375,1848,824,3193,4247,1592,568,2681,56,2104,1080,3705,4183,1464,440,2425,4439,1976,952,3449,4311,1720,696,2937,184,2232,1208,3961,4151,1400,376,4600,4407,1912,888,3321,4279,1656,632,2809,120,2168,1144,3833,4215,1528,504,2553,4471,2040,1016,3577,4343,1784,760,3065,248,2296,1272,4089]),BL.nil,0);AS=$toNativeArray($kindInt,[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);AW=$toNativeArray($kindUint8,[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255]);AF=AD();AG=AE();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["hash"]=(function(){var $pkg={},A,E,C;A=$packages["io"];C=$pkg.Hash32=$newType(8,$kindInterface,"hash.Hash32","Hash32","hash",null);$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}E=$sliceType($Uint8);C.init([["BlockSize","BlockSize","",$funcType([],[$Int],false)],["Reset","Reset","",$funcType([],[],false)],["Size","Size","",$funcType([],[$Int],false)],["Sum","Sum","",$funcType([E],[E],false)],["Sum32","Sum32","",$funcType([],[$Uint32],false)],["Write","Write","",$funcType([E],[$Int,$error],false)]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["hash/adler32"]=(function(){var $pkg={},A,F,G,B,C,D,E;A=$packages["hash"];B=$pkg.digest=$newType(4,$kindUint32,"adler32.digest","digest","hash/adler32",null);$ptrType(B).prototype.Reset=function(){var a;a=this;a.$set(1);};C=$pkg.New=function(){var a;a=$newDataPointer(0,F);a.Reset();return a;};$ptrType(B).prototype.Size=function(){var a;a=this;return 4;};$ptrType(B).prototype.BlockSize=function(){var a;a=this;return 1;};D=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;c=(((a&65535)>>>0)>>>0);d=((a>>>16>>>0)>>>0);e=c;f=d;while(b.$length>0){g=G.nil;if(b.$length>5552){h=$subslice(b,0,5552);i=$subslice(b,5552);b=h;g=i;}j=b;k=0;while(k=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]);e=e+((l>>>0))>>>0;f=f+(e)>>>0;k++;}e=(m=e%(65521),m===m?m:$throwRuntimeError("integer divide by zero"));f=(n=f%(65521),n===n?n:$throwRuntimeError("integer divide by zero"));b=g;}return((((f<<16>>>0)|e)>>>0)>>>0);};$ptrType(B).prototype.Write=function(a){var b=0,c=$ifaceNil,d,e,f;d=this;d.$set(D(d.$get(),a));e=a.$length;f=$ifaceNil;b=e;c=f;return[b,c];};$ptrType(B).prototype.Sum32=function(){var a;a=this;return(a.$get()>>>0);};$ptrType(B).prototype.Sum=function(a){var b,c;b=this;c=(b.$get()>>>0);return $append(a,((c>>>24>>>0)<<24>>>24),((c>>>16>>>0)<<24>>>24),((c>>>8>>>0)<<24>>>24),(c<<24>>>24));};E=$pkg.Checksum=function(a){return(D(1,a)>>>0);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}F=$ptrType(B);G=$sliceType($Uint8);F.methods=[["BlockSize","BlockSize","",$funcType([],[$Int],false),-1],["Reset","Reset","",$funcType([],[],false),-1],["Size","Size","",$funcType([],[$Int],false),-1],["Sum","Sum","",$funcType([G],[G],false),-1],["Sum32","Sum32","",$funcType([],[$Uint32],false),-1],["Write","Write","",$funcType([G],[$Int,$error],false),-1]];}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -43,14 +43,14 @@ $packages["image/png"]=(function(){var $pkg={},I,A,B,C,D,E,F,G,H,J,AI,AJ,AK,AL,A $packages["path/filepath"]=(function(){var $pkg={},G,A,B,C,D,E,F;G=$packages["bytes"];A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=G.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io/ioutil"]=(function(){var $pkg={},A,B,C,F,D,G,E,H,Y,Z,AA,R;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($emptyInterface);Z=$sliceType($Uint8);AA=$ptrType(Z);R=new E.Pool.Ptr(0,0,Y.nil,(function(){var a;a=Z.make(8192);return new AA(function(){return a;},function($v){a=$v;});}));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["path"]=(function(){var $pkg={},A,B,C;A=$packages["errors"];B=$packages["strings"];C=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J,K;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["reflect"];J=$packages["strings"];K=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["strings"];J=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color/palette"]=(function(){var $pkg={},A;A=$packages["image/color"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/lzw"]=(function(){var $pkg={},A,B,C,D,N,O,P,S,T,U,V,F,G,L,H;A=$packages["bufio"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];F=$pkg.decoder=$newType(0,$kindStruct,"lzw.decoder","decoder","compress/lzw",function(r_,bits_,nBits_,width_,read_,litWidth_,err_,clear_,eof_,hi_,overflow_,last_,suffix_,prefix_,output_,o_,toRead_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:0;this.nBits=nBits_!==undefined?nBits_:0;this.width=width_!==undefined?width_:0;this.read=read_!==undefined?read_:$throwNilPointerError;this.litWidth=litWidth_!==undefined?litWidth_:0;this.err=err_!==undefined?err_:$ifaceNil;this.clear=clear_!==undefined?clear_:0;this.eof=eof_!==undefined?eof_:0;this.hi=hi_!==undefined?hi_:0;this.overflow=overflow_!==undefined?overflow_:0;this.last=last_!==undefined?last_:0;this.suffix=suffix_!==undefined?suffix_:S.zero();this.prefix=prefix_!==undefined?prefix_:T.zero();this.output=output_!==undefined?output_:U.zero();this.o=o_!==undefined?o_:0;this.toRead=toRead_!==undefined?toRead_:N.nil;});F.Ptr.prototype.readLSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((a.bits&((((f=a.width,f<32?(1<>>0)-1>>>0)))>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits>>>h):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readLSB=function(){return this.$val.readLSB();};F.Ptr.prototype.readMSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)),e<32?((c>>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((f=((32-a.width>>>0)),f<32?(a.bits>>>f):0)>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits<>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readMSB=function(){return this.$val.readMSB();};F.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.decode();}};F.prototype.Read=function(a){return this.$val.Read(a);};F.Ptr.prototype.decode=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,y,z,aa,ab;a=this;while(true){b=a.read(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,D.EOF)){d=D.ErrUnexpectedEOF;}a.err=d;return;}if(c=e.length)?$throwRuntimeError("index out of range"):e[f]=(c<<24>>>24));a.o=a.o+(1)>>0;if(!((a.last===65535))){(g=a.suffix,h=a.hi,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));(i=a.prefix,j=a.hi,(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=a.last);}}else if(c===a.clear){a.width=1+(a.litWidth>>>0)>>>0;a.hi=a.eof;a.overflow=(k=a.width,k<32?(1<>>16;a.last=65535;continue;}else if(c===a.eof){a.flush();a.err=D.EOF;return;}else if(c<=a.hi){l=c;m=8191;n=l;o=m;if(c===a.hi){n=a.last;while(n>=a.clear){n=(p=a.prefix,((n<0||n>=p.length)?$throwRuntimeError("index out of range"):p[n]));}(q=a.output,(o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o]=(n<<24>>>24));o=o-(1)>>0;n=a.last;}while(n>=a.clear){(s=a.output,(o<0||o>=s.length)?$throwRuntimeError("index out of range"):s[o]=(r=a.suffix,((n<0||n>=r.length)?$throwRuntimeError("index out of range"):r[n])));o=o-(1)>>0;n=(t=a.prefix,((n<0||n>=t.length)?$throwRuntimeError("index out of range"):t[n]));}(u=a.output,(o<0||o>=u.length)?$throwRuntimeError("index out of range"):u[o]=(n<<24>>>24));a.o=a.o+($copySlice($subslice(new N(a.output),a.o),$subslice(new N(a.output),o)))>>0;if(!((a.last===65535))){(v=a.suffix,w=a.hi,(w<0||w>=v.length)?$throwRuntimeError("index out of range"):v[w]=(n<<24>>>24));(x=a.prefix,y=a.hi,(y<0||y>=x.length)?$throwRuntimeError("index out of range"):x[y]=a.last);}}else{a.err=B.New("lzw: invalid code");return;}z=c;aa=a.hi+1<<16>>>16;a.last=z;a.hi=aa;if(a.hi>=a.overflow){if(a.width===12){a.last=65535;}else{a.width=a.width+(1)>>>0;a.overflow=(ab=(1),ab<32?(a.overflow<>>16;}}if(a.o>=4096){a.flush();return;}}};F.prototype.decode=function(){return this.$val.decode();};F.Ptr.prototype.flush=function(){var a;a=this;a.toRead=$subslice(new N(a.output),0,a.o);a.o=0;};F.prototype.flush=function(){return this.$val.flush();};F.Ptr.prototype.Close=function(){var a;a=this;a.err=G;return $ifaceNil;};F.prototype.Close=function(){return this.$val.Close();};H=$pkg.NewReader=function(a,b,c){var d,e,f,g,h,i,j,k,l;d=new F.Ptr();e=b;if(e===0){d.read=$methodExpr(O.prototype.readLSB);}else if(e===1){d.read=$methodExpr(O.prototype.readMSB);}else{d.err=B.New("lzw: unknown order");return d;}if(c<2||8>>0)>>>0;d.clear=(i=(c>>>0),i<32?(1<>>16;j=d.clear+1<<16>>>16;k=d.clear+1<<16>>>16;d.eof=j;d.hi=k;d.overflow=(l=d.width,l<32?(1<>>16;d.last=65535;return d;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}N=$sliceType($Uint8);O=$ptrType(F);P=$sliceType($emptyInterface);S=$arrayType($Uint8,4096);T=$arrayType($Uint16,4096);U=$arrayType($Uint8,8192);V=$funcType([O],[$Uint16,$error],false);O.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([N],[$Int,$error],false),-1],["decode","decode","compress/lzw",$funcType([],[],false),-1],["flush","flush","compress/lzw",$funcType([],[],false),-1],["readLSB","readLSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1],["readMSB","readMSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1]];F.init([["r","r","compress/lzw",D.ByteReader,""],["bits","bits","compress/lzw",$Uint32,""],["nBits","nBits","compress/lzw",$Uint,""],["width","width","compress/lzw",$Uint,""],["read","read","compress/lzw",V,""],["litWidth","litWidth","compress/lzw",$Int,""],["err","err","compress/lzw",$error,""],["clear","clear","compress/lzw",$Uint16,""],["eof","eof","compress/lzw",$Uint16,""],["hi","hi","compress/lzw",$Uint16,""],["overflow","overflow","compress/lzw",$Uint16,""],["last","last","compress/lzw",$Uint16,""],["suffix","suffix","compress/lzw",S,""],["prefix","prefix","compress/lzw",T,""],["output","output","compress/lzw",U,""],["o","o","compress/lzw",$Int,""],["toRead","toRead","compress/lzw",N,""]]);G=B.New("compress/lzw: reader/writer is closed");L=B.New("lzw: out of codes");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/gif"]=(function(){var $pkg={},A,B,C,D,E,F,H,I,G,AG,AH,AI,AJ,AK,AL,AN,AO,AQ,AS,AT,M,N,O,P,J,K,L,Q,R,S,V,W;A=$packages["bufio"];B=$packages["compress/lzw"];C=$packages["errors"];D=$packages["fmt"];E=$packages["image"];F=$packages["image/color"];H=$packages["image/color/palette"];I=$packages["image/draw"];G=$packages["io"];M=$pkg.reader=$newType(8,$kindInterface,"gif.reader","reader","image/gif",null);N=$pkg.decoder=$newType(0,$kindStruct,"gif.decoder","decoder","image/gif",function(r_,vers_,width_,height_,flags_,headerFields_,backgroundIndex_,loopCount_,delayTime_,aspect_,imageFields_,transparentIndex_,hasTransparentIndex_,pixelSize_,globalColorMap_,delay_,image_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.vers=vers_!==undefined?vers_:"";this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flags=flags_!==undefined?flags_:0;this.headerFields=headerFields_!==undefined?headerFields_:0;this.backgroundIndex=backgroundIndex_!==undefined?backgroundIndex_:0;this.loopCount=loopCount_!==undefined?loopCount_:0;this.delayTime=delayTime_!==undefined?delayTime_:0;this.aspect=aspect_!==undefined?aspect_:0;this.imageFields=imageFields_!==undefined?imageFields_:0;this.transparentIndex=transparentIndex_!==undefined?transparentIndex_:0;this.hasTransparentIndex=hasTransparentIndex_!==undefined?hasTransparentIndex_:false;this.pixelSize=pixelSize_!==undefined?pixelSize_:0;this.globalColorMap=globalColorMap_!==undefined?globalColorMap_:F.Palette.nil;this.delay=delay_!==undefined?delay_:AO.nil;this.image=image_!==undefined?image_:AN.nil;this.tmp=tmp_!==undefined?tmp_:AQ.zero();});O=$pkg.blockReader=$newType(0,$kindStruct,"gif.blockReader","blockReader","image/gif",function(r_,slice_,err_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.slice=slice_!==undefined?slice_:AH.nil;this.err=err_!==undefined?err_:$ifaceNil;this.tmp=tmp_!==undefined?tmp_:AJ.zero();});P=$pkg.interlaceScan=$newType(0,$kindStruct,"gif.interlaceScan","interlaceScan","image/gif",function(skip_,start_){this.$val=this;this.skip=skip_!==undefined?skip_:0;this.start=start_!==undefined?start_:0;});O.Ptr.prototype.Read=function(a){var b,c,d,e,f;b=this;if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(a.$length===0){return[0,$ifaceNil];}if(b.slice.$length===0){c=0;d=b.r.ReadByte();c=d[0];b.err=d[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(c===0){b.err=G.EOF;return[0,b.err];}b.slice=$subslice(new AH(b.tmp),0,c);e=G.ReadFull(b.r,b.slice);b.err=e[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}}f=$copySlice(a,b.slice);b.slice=$subslice(b.slice,f);return[f,$ifaceNil];};O.prototype.Read=function(a){return this.$val.Read(a);};N.Ptr.prototype.decode=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;try{$deferFrames.push($deferred);c=this;d=$assertType(a,M,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=c.readHeaderAndScreenDescriptor();if(!($interfaceIsEqual(g,$ifaceNil))){return g;}if(b){return $ifaceNil;}if(!((((c.headerFields&128)>>>0)===0))){h=c.readColorMap();c.globalColorMap=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}}while(true){i=c.r.ReadByte();j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}l=j;if(l===33){k=c.readExtension();if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}else if(l===44){m=c.newImageFromDescriptor();n=m[0];o=m[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=!((((c.imageFields&128)>>>0)===0));if(p){q=c.readColorMap();n.Palette=q[0];o=q[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}}else{n.Palette=c.globalColorMap;}if(c.hasTransparentIndex&&(c.transparentIndex>>0)=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=(r=new F.RGBA.Ptr(0,0,0,0),new r.constructor.Struct(r)));}u=c.r.ReadByte();v=u[0];o=u[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}if(v<2||v>8){return D.Errorf("gif: pixel size in decode out of range: %d",new AI([new $Uint8(v)]));}w=new O.Ptr(c.r,AH.nil,$ifaceNil,AJ.zero());x=B.NewReader(w,0,(v>>0));$deferred.push([$methodVal(x,"Close"),[]]);y=G.ReadFull(x,n.Pix);o=y[1];if(!($interfaceIsEqual(o,$ifaceNil))){if(!($interfaceIsEqual(o,G.ErrUnexpectedEOF))){return o;}return J;}z=x.Read($subslice(new AH(c.tmp),0,1));aa=z[0];ab=z[1];if(!((aa===0))||!($interfaceIsEqual(ab,G.EOF))){if(!($interfaceIsEqual(ab,$ifaceNil))){return ab;}return K;}ac=w.Read($subslice(new AH(c.tmp),0,1));ad=ac[0];ae=ac[1];if(!((ad===0))||!($interfaceIsEqual(ae,G.EOF))){if(!($interfaceIsEqual(ae,$ifaceNil))){return ae;}return K;}if(n.Palette.$length<256){af=n.Pix;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if((ah>>0)>=n.Palette.$length){return L;}ag++;}}if(!((((c.imageFields&64)>>>0)===0))){R(n);}c.image=$append(c.image,n);c.delay=$append(c.delay,c.delayTime);c.delayTime=0;c.hasTransparentIndex=false;}else if(l===59){if(c.image.$length===0){return G.ErrUnexpectedEOF;}return $ifaceNil;}else{return D.Errorf("gif: unknown block type: 0x%.2x",new AI([new $Uint8(j)]));}}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};N.prototype.decode=function(a,b){return this.$val.decode(a,b);};N.Ptr.prototype.readHeaderAndScreenDescriptor=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,13));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}a.vers=$bytesToString($subslice(new AH(a.tmp),0,6));if(!(a.vers==="GIF87a")&&!(a.vers==="GIF89a")){return D.Errorf("gif: can't recognize format %s",new AI([new $String(a.vers)]));}a.width=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.height=(a.tmp[8]>>0)+((a.tmp[9]>>0)<<8>>0)>>0;a.headerFields=a.tmp[10];a.backgroundIndex=a.tmp[11];a.aspect=a.tmp[12];a.loopCount=-1;a.pixelSize=(((a.headerFields&7)>>>0)>>>0)+1>>>0;return $ifaceNil;};N.prototype.readHeaderAndScreenDescriptor=function(){return this.$val.readHeaderAndScreenDescriptor();};N.Ptr.prototype.readColorMap=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.pixelSize>8){return[F.Palette.nil,D.Errorf("gif: can't handle %d bits per pixel",new AI([new $Uint(a.pixelSize)]))];}c=(b=a.pixelSize,b<32?(1<>0;if(!((((a.imageFields&128)>>>0)===0))){c=(d=(((((a.imageFields&7)>>>0))+1<<24>>>24)),d<32?(1<>0;}e=3*c>>0;f=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));g=f[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[F.Palette.nil,D.Errorf("gif: short read on color map: %s",new AI([g]))];}h=F.Palette.make(c);i=0;j=h;k=0;while(k=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+l]=(m=new F.RGBA.Ptr((n=a.tmp,o=i+0>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o])),(p=a.tmp,q=i+1>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q])),(r=a.tmp,s=i+2>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s])),255),new m.constructor.Struct(m));i=i+(3)>>0;k++;}return[h,$ifaceNil];};N.prototype.readColorMap=function(){return this.$val.readColorMap();};N.Ptr.prototype.readExtension=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=0;f=c;if(f===1){e=13;}else if(f===249){return a.readGraphicControl();}else if(f===254){}else if(f===255){g=a.r.ReadByte();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}e=(h>>0);}else{return D.Errorf("gif: unknown extension 0x%.2x",new AI([new $Uint8(c)]));}if(e>0){j=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));k=j[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}if((c===255)&&$bytesToString($subslice(new AH(a.tmp),0,e))==="NETSCAPE2.0"){l=a.readBlock();m=l[0];n=l[1];if((m===0)||!($interfaceIsEqual(n,$ifaceNil))){return n;}if((m===3)&&(a.tmp[0]===1)){a.loopCount=(a.tmp[1]>>0)|((a.tmp[2]>>0)<<8>>0);}}while(true){o=a.readBlock();p=o[0];q=o[1];if((p===0)||!($interfaceIsEqual(q,$ifaceNil))){return q;}}};N.prototype.readExtension=function(){return this.$val.readExtension();};N.Ptr.prototype.readGraphicControl=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,6));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return D.Errorf("gif: can't read graphic control: %s",new AI([c]));}a.flags=a.tmp[1];a.delayTime=(a.tmp[2]>>0)|((a.tmp[3]>>0)<<8>>0);if(!((((a.flags&1)>>>0)===0))){a.transparentIndex=a.tmp[4];a.hasTransparentIndex=true;}return $ifaceNil;};N.prototype.readGraphicControl=function(){return this.$val.readGraphicControl();};N.Ptr.prototype.newImageFromDescriptor=function(){var a,b,c,d,e,f,g,h;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,9));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[AK.nil,D.Errorf("gif: can't read image descriptor: %s",new AI([c]))];}d=(a.tmp[0]>>0)+((a.tmp[1]>>0)<<8>>0)>>0;e=(a.tmp[2]>>0)+((a.tmp[3]>>0)<<8>>0)>>0;f=(a.tmp[4]>>0)+((a.tmp[5]>>0)<<8>>0)>>0;g=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.imageFields=a.tmp[8];h=$clone(E.Rect(d,e,d+f>>0,e+g>>0),E.Rectangle);if(!($equal(h,h.Intersect(E.Rect(0,0,a.width,a.height)),E.Rectangle))){return[AK.nil,C.New("gif: frame bounds larger than image bounds")];}return[E.NewPaletted(h,F.Palette.nil),$ifaceNil];};N.prototype.newImageFromDescriptor=function(){return this.$val.newImageFromDescriptor();};N.Ptr.prototype.readBlock=function(){var a,b,c,d;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if((c===0)||!($interfaceIsEqual(d,$ifaceNil))){return[0,d];}return G.ReadFull(a.r,$subslice(new AH(a.tmp),0,c));};N.prototype.readBlock=function(){return this.$val.readBlock();};R=function(a){var b,c,d,e,f,g,h,i,j;b=AL.nil;c=a.Bounds().Dx();d=a.Bounds().Dy();b=AL.make((c*d>>0));e=0;f=Q;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),P);i=h.start*c>>0;j=h.start;while(j>0)),$subslice(a.Pix,e,(e+c>>0)));e=e+(c)>>0;i=i+((c*h.skip>>0))>>0;j=j+(h.skip)>>0;}g++;}a.Pix=b;};S=$pkg.Decode=function(a){var b,c,d;b=$clone(new N.Ptr(),N);c=b.decode(a,false);if(!($interfaceIsEqual(c,$ifaceNil))){return[$ifaceNil,c];}return[(d=b.image,((0<0||0>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+0])),$ifaceNil];};V=$pkg.DecodeConfig=function(a){var b,c;b=$clone(new N.Ptr(),N);c=b.decode(a,true);if(!($interfaceIsEqual(c,$ifaceNil))){return[new E.Config.Ptr($ifaceNil,0,0),c];}return[new E.Config.Ptr(b.globalColorMap,b.width,b.height),$ifaceNil];};W=function(){E.RegisterFormat("gif","GIF8?a",S,V);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AG=$sliceType(P);AH=$sliceType($Uint8);AI=$sliceType($emptyInterface);AJ=$arrayType($Uint8,256);AK=$ptrType(E.Paletted);AL=$sliceType($Uint8);AN=$sliceType(AK);AO=$sliceType($Int);AQ=$arrayType($Uint8,1024);AS=$ptrType(N);AT=$ptrType(O);M.init([["Read","Read","",$funcType([AH],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);AS.methods=[["decode","decode","image/gif",$funcType([G.Reader,$Bool],[$error],false),-1],["newImageFromDescriptor","newImageFromDescriptor","image/gif",$funcType([],[AK,$error],false),-1],["readBlock","readBlock","image/gif",$funcType([],[$Int,$error],false),-1],["readColorMap","readColorMap","image/gif",$funcType([],[F.Palette,$error],false),-1],["readExtension","readExtension","image/gif",$funcType([],[$error],false),-1],["readGraphicControl","readGraphicControl","image/gif",$funcType([],[$error],false),-1],["readHeaderAndScreenDescriptor","readHeaderAndScreenDescriptor","image/gif",$funcType([],[$error],false),-1]];N.init([["r","r","image/gif",M,""],["vers","vers","image/gif",$String,""],["width","width","image/gif",$Int,""],["height","height","image/gif",$Int,""],["flags","flags","image/gif",$Uint8,""],["headerFields","headerFields","image/gif",$Uint8,""],["backgroundIndex","backgroundIndex","image/gif",$Uint8,""],["loopCount","loopCount","image/gif",$Int,""],["delayTime","delayTime","image/gif",$Int,""],["aspect","aspect","image/gif",$Uint8,""],["imageFields","imageFields","image/gif",$Uint8,""],["transparentIndex","transparentIndex","image/gif",$Uint8,""],["hasTransparentIndex","hasTransparentIndex","image/gif",$Bool,""],["pixelSize","pixelSize","image/gif",$Uint,""],["globalColorMap","globalColorMap","image/gif",F.Palette,""],["delay","delay","image/gif",AO,""],["image","image","image/gif",AN,""],["tmp","tmp","image/gif",AQ,""]]);AT.methods=[["Read","Read","",$funcType([AH],[$Int,$error],false),-1]];O.init([["r","r","image/gif",M,""],["slice","slice","image/gif",AH,""],["err","err","image/gif",$error,""],["tmp","tmp","image/gif",AJ,""]]);P.init([["skip","skip","image/gif",$Int,""],["start","start","image/gif",$Int,""]]);J=C.New("gif: not enough image data");K=C.New("gif: too much image data");L=C.New("gif: invalid pixel value");Q=new AG([new P.Ptr(8,0),new P.Ptr(8,4),new P.Ptr(4,2),new P.Ptr(2,1)]);W();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/ebitenutil"]=(function(){var $pkg={},L,M,N,O,A,B,F,C,G,H,I,J,D,E,K,Y,AA,AB,AG,AH,AI,AJ,U,V,X;L=$packages["bytes"];M=$packages["errors"];N=$packages["fmt"];O=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/internal/assets"];F=$packages["image"];C=$packages["image/color"];G=$packages["image/color/palette"];H=$packages["image/draw"];I=$packages["image/gif"];J=$packages["io"];D=$packages["math"];E=$packages["strings"];K=$packages["sync"];V=function(){var a,b,c,d,e,f,g,h,i,j,k;a=new AA([]);b=new AB([0,128,255]);c=0;while(c=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);e=new AB([0,128,255]);f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);h=new AB([0,128,255]);i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);a=$append(a,(k=new C.RGBA.Ptr(d,g,j,255),new k.constructor.Struct(k)));i++;}f++;}c++;}U=$subslice(new C.Palette(a.$array),a.$offset,a.$offset+a.$length);};X=$pkg.NewImageFromFile=function(a,b,$b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k,l,m;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;d=null;e=new AH(0);f=new($global.XMLHttpRequest)();f.open($externalize("GET",$String),$externalize(a,$String),$externalize(true,$Bool));f.responseType=$externalize("arraybuffer",$String);f.onload=$externalize((function(){var $deferred=[],$err=null,g,h;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);h=$parseInt(f.status)>>0;if(200<=h&&h<400){d=f.response;return;}c=M.New(N.Sprintf("http error: %d",new AI([new $Int(h)])));}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.onerror=$externalize((function(){var $deferred=[],$err=null,g;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);c=M.New("http error");}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.send();g=$recv(e,$BLOCKING);$s=1;case 1:if(g&&g.$blocking){g=g();}g[0];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}h=$assertType($internalize(new($global.Uint8Array)(d),$emptyInterface),AB);i=L.NewBuffer(h);j=F.Decode(i);k=j[0];c=j[2];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}l=A.NewImageFromImage(k,b);m=l[0];c=l[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}return[m,k,$ifaceNil];case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=L.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=M.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=N.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=O.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=15;case 15:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(A.Image);AA=$sliceType(C.Color);AB=$sliceType($Uint8);AG=$structType([]);AH=$chanType(AG,false,false);AI=$sliceType($emptyInterface);AJ=$funcType([],[],false);U=C.Palette.nil;V();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/jpeg"]=(function(){var $pkg={},D,E,B,C,A,AQ,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BF,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,G,I,K,L,M,P,Q,AB,AD,H,N,R,AC,AE,J,S,T,U,AF;D=$packages["bufio"];E=$packages["errors"];B=$packages["image"];C=$packages["image/color"];A=$packages["io"];G=$pkg.huffman=$newType(0,$kindStruct,"jpeg.huffman","huffman","image/jpeg",function(nCodes_,lut_,vals_,minCodes_,maxCodes_,valsIndices_){this.$val=this;this.nCodes=nCodes_!==undefined?nCodes_:0;this.lut=lut_!==undefined?lut_:BI.zero();this.vals=vals_!==undefined?vals_:BJ.zero();this.minCodes=minCodes_!==undefined?minCodes_:AT.zero();this.maxCodes=maxCodes_!==undefined?maxCodes_:AT.zero();this.valsIndices=valsIndices_!==undefined?valsIndices_:AT.zero();});I=$pkg.block=$newType(256,$kindArray,"jpeg.block","block","image/jpeg",null);K=$pkg.FormatError=$newType(8,$kindString,"jpeg.FormatError","FormatError","image/jpeg",null);L=$pkg.UnsupportedError=$newType(8,$kindString,"jpeg.UnsupportedError","UnsupportedError","image/jpeg",null);M=$pkg.component=$newType(0,$kindStruct,"jpeg.component","component","image/jpeg",function(h_,v_,c_,tq_){this.$val=this;this.h=h_!==undefined?h_:0;this.v=v_!==undefined?v_:0;this.c=c_!==undefined?c_:0;this.tq=tq_!==undefined?tq_:0;});P=$pkg.bits=$newType(0,$kindStruct,"jpeg.bits","bits","image/jpeg",function(a_,m_,n_){this.$val=this;this.a=a_!==undefined?a_:0;this.m=m_!==undefined?m_:0;this.n=n_!==undefined?n_:0;});Q=$pkg.decoder=$newType(0,$kindStruct,"jpeg.decoder","decoder","image/jpeg",function(r_,bits_,bytes_,width_,height_,img1_,img3_,ri_,nComp_,progressive_,eobRun_,comp_,progCoeffs_,huff_,quant_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:new P.Ptr();this.bytes=bytes_!==undefined?bytes_:new BN.Ptr();this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.img1=img1_!==undefined?img1_:AV.nil;this.img3=img3_!==undefined?img3_:AW.nil;this.ri=ri_!==undefined?ri_:0;this.nComp=nComp_!==undefined?nComp_:0;this.progressive=progressive_!==undefined?progressive_:false;this.eobRun=eobRun_!==undefined?eobRun_:0;this.comp=comp_!==undefined?comp_:BO.zero();this.progCoeffs=progCoeffs_!==undefined?progCoeffs_:BP.zero();this.huff=huff_!==undefined?huff_:BR.zero();this.quant=quant_!==undefined?quant_:BF.zero();this.tmp=tmp_!==undefined?tmp_:BS.zero();});AB=$pkg.huffmanSpec=$newType(0,$kindStruct,"jpeg.huffmanSpec","huffmanSpec","image/jpeg",function(count_,value_){this.$val=this;this.count=count_!==undefined?count_:BW.zero();this.value=value_!==undefined?value_:AS.nil;});AD=$pkg.huffmanLUT=$newType(12,$kindSlice,"jpeg.huffmanLUT","huffmanLUT","image/jpeg",null);Q.Ptr.prototype.ensureNBits=function(a){var b,c,d,e,f;b=this;while(true){c=b.readByteStuffedByte();d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,A.EOF)){return new K(H);}return e;}b.bits.a=((b.bits.a<<8>>>0)|(d>>>0))>>>0;b.bits.n=b.bits.n+(8)>>0;if(b.bits.m===0){b.bits.m=128;}else{b.bits.m=(f=(8),f<32?(b.bits.m<>>0;}if(b.bits.n>=a){break;}}return $ifaceNil;};Q.prototype.ensureNBits=function(a){return this.$val.ensureNBits(a);};Q.Ptr.prototype.receiveExtend=function(a){var b,c,d,e,f,g,h,i;b=this;if(b.bits.n<(a>>0)){c=b.ensureNBits((a>>0));if(!($interfaceIsEqual(c,$ifaceNil))){return[0,c];}}b.bits.n=b.bits.n-((a>>0))>>0;b.bits.m=(d=(a),d<32?(b.bits.m>>>d):0)>>>0;f=(e=a,e<32?(1<>0;h=(((g=(b.bits.n<<24>>>24),g<32?(b.bits.a>>>g):0)>>>0)>>0)&((f-1>>0));if(h<(f>>1>>0)){h=h+(((((i=a,i<32?(-1<>0))+1>>0))>>0;}return[h,$ifaceNil];};Q.prototype.receiveExtend=function(a){return this.$val.receiveExtend(a);};Q.Ptr.prototype.processDHT=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw;b=this;while(a>0){if(a<17){return new K("DHT has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,17));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(d>1){return new K("bad Tc value");}e=(b.tmp[0]&15)>>>0;if(e>3||!b.progressive&&e>1){return new K("bad Th value");}h=(f=(g=b.huff,((d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d])),((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e]));h.nCodes=0;i=$clone(AT.zero(),AT);j=i;k=0;while(k<16){l=k;(l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]=((m=b.tmp,n=l+1>>0,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))>>0);h.nCodes=h.nCodes+(((l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]))>>0;k++;}if(h.nCodes===0){return new K("Huffman table has zero length");}if(h.nCodes>256){return new K("Huffman table has excessive length");}a=a-(((h.nCodes>>0)+17>>0))>>0;if(a<0){return new K("DHT has wrong length");}o=b.readFull($subslice(new AU(h.vals),0,h.nCodes));if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=h.lut;q=0;while(q<256){r=q;(s=h.lut,(r<0||r>=s.length)?$throwRuntimeError("index out of range"):s[r]=0);q++;}t=0;u=0;v=t;w=u;x=0;while(x<8){w=(y=(1),y<32?(w<>>0;z=0;while(z<((x<0||x>=i.length)?$throwRuntimeError("index out of range"):i[x])){ab=(((aa=((7-x>>>0)),aa<32?(w<>>0)<<24>>>24);ad=((((ac=h.vals,((v<0||v>=ac.length)?$throwRuntimeError("index out of range"):ac[v]))<<16>>>16)<<8<<16>>>16)|((2+x>>>0)<<16>>>16))>>>0;ae=0;while(ae<((af=((7-x>>>0)),af<32?(1<>>24)){(ag=h.lut,ah=(ab|ae)>>>0,(ah<0||ah>=ag.length)?$throwRuntimeError("index out of range"):ag[ah]=ad);ae=ae+(1)<<24>>>24;}w=w+(1)>>>0;v=v+(1)>>>0;z=z+(1)>>0;}x=x+(1)>>>0;}ai=0;aj=0;ak=ai;al=aj;am=i;an=0;while(an<16){ao=an;ap=((an<0||an>=am.length)?$throwRuntimeError("index out of range"):am[an]);if(ap===0){(aq=h.minCodes,(ao<0||ao>=aq.length)?$throwRuntimeError("index out of range"):aq[ao]=-1);(ar=h.maxCodes,(ao<0||ao>=ar.length)?$throwRuntimeError("index out of range"):ar[ao]=-1);(as=h.valsIndices,(ao<0||ao>=as.length)?$throwRuntimeError("index out of range"):as[ao]=-1);}else{(at=h.minCodes,(ao<0||ao>=at.length)?$throwRuntimeError("index out of range"):at[ao]=ak);(au=h.maxCodes,(ao<0||ao>=au.length)?$throwRuntimeError("index out of range"):au[ao]=(ak+ap>>0)-1>>0);(av=h.valsIndices,(ao<0||ao>=av.length)?$throwRuntimeError("index out of range"):av[ao]=al);ak=ak+(ap)>>0;al=al+(ap)>>0;}ak=(aw=(1),aw<32?(ak<>0;an++;}}return $ifaceNil;};Q.prototype.processDHT=function(a){return this.$val.processDHT(a);};Q.Ptr.prototype.decodeHuffman=function(a){var $this=this,$args=arguments,$s=0,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s:while(true){switch($s){case 0:b=$this;if(a.nCodes===0){return[0,new K("uninitialized Huffman table")];}if(b.bits.n<8){}else{$s=2;continue;}c=b.ensureNBits(8);if(!($interfaceIsEqual(c,$ifaceNil))){}else{$s=3;continue;}if(!($interfaceIsEqual(c,new K(R)))&&!($interfaceIsEqual(c,new K(H)))){return[0,c];}b.unreadByteStuffedByte();$s=1;continue;case 3:case 2:g=(d=a.lut,e=((((f=((b.bits.n-8>>0)>>>0),f<32?(b.bits.a>>>f):0)>>>0))&255)>>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));if(!((g===0))){h=(((g&255)>>>0))-1<<16>>>16;b.bits.n=b.bits.n-((h>>0))>>0;b.bits.m=(i=(h),i<32?(b.bits.m>>>i):0)>>>0;return[((g>>>8<<16>>>16)<<24>>>24),$ifaceNil];}case 1:j=0;k=0;l=j;m=k;slowPath:while(l<16){if(b.bits.n===0){n=b.ensureNBits(1);if(!($interfaceIsEqual(n,$ifaceNil))){return[0,n];}}if(!((((b.bits.a&b.bits.m)>>>0)===0))){m=m|(1);}b.bits.n=b.bits.n-(1)>>0;b.bits.m=(o=(1),o<32?(b.bits.m>>>o):0)>>>0;if(m<=(p=a.maxCodes,((l<0||l>=p.length)?$throwRuntimeError("index out of range"):p[l]))){return[(q=a.vals,r=((s=a.valsIndices,((l<0||l>=s.length)?$throwRuntimeError("index out of range"):s[l]))+m>>0)-(t=a.minCodes,((l<0||l>=t.length)?$throwRuntimeError("index out of range"):t[l]))>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),$ifaceNil];}m=(u=(1),u<32?(m<>0;l=l+(1)>>0;}return[0,new K("bad Huffman code")];case-1:}return;}};Q.prototype.decodeHuffman=function(a){return this.$val.decodeHuffman(a);};Q.Ptr.prototype.decodeBit=function(){var a,b,c,d;a=this;if(a.bits.n===0){b=a.ensureNBits(1);if(!($interfaceIsEqual(b,$ifaceNil))){return[false,b];}}c=!((((a.bits.a&a.bits.m)>>>0)===0));a.bits.n=a.bits.n-(1)>>0;a.bits.m=(d=(1),d<32?(a.bits.m>>>d):0)>>>0;return[c,$ifaceNil];};Q.prototype.decodeBit=function(){return this.$val.decodeBit();};Q.Ptr.prototype.decodeBits=function(a){var b,c,d,e,f,g;b=this;if(b.bits.n>0)>>>0),d<32?(b.bits.a>>>d):0)>>>0;e=(e&(((((f=(a>>>0),f<32?(1<>>0))-1>>>0)))>>>0;b.bits.n=b.bits.n-(a)>>0;b.bits.m=(g=((a>>>0)),g<32?(b.bits.m>>>g):0)>>>0;return[e,$ifaceNil];};Q.prototype.decodeBits=function(a){return this.$val.decodeBits(a);};J=function(a){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,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;b=0;while(b<8){c=b*8>>0;if(((d=c+1>>0,(a.nilCheck,((d<0||d>=a.length)?$throwRuntimeError("index out of range"):a[d])))===0)&&((e=c+2>>0,(a.nilCheck,((e<0||e>=a.length)?$throwRuntimeError("index out of range"):a[e])))===0)&&((f=c+3>>0,(a.nilCheck,((f<0||f>=a.length)?$throwRuntimeError("index out of range"):a[f])))===0)&&((g=c+4>>0,(a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g])))===0)&&((h=c+5>>0,(a.nilCheck,((h<0||h>=a.length)?$throwRuntimeError("index out of range"):a[h])))===0)&&((i=c+6>>0,(a.nilCheck,((i<0||i>=a.length)?$throwRuntimeError("index out of range"):a[i])))===0)&&((j=c+7>>0,(a.nilCheck,((j<0||j>=a.length)?$throwRuntimeError("index out of range"):a[j])))===0)){l=(k=c+0>>0,(a.nilCheck,((k<0||k>=a.length)?$throwRuntimeError("index out of range"):a[k])))<<3>>0;(m=c+0>>0,a.nilCheck,(m<0||m>=a.length)?$throwRuntimeError("index out of range"):a[m]=l);(n=c+1>>0,a.nilCheck,(n<0||n>=a.length)?$throwRuntimeError("index out of range"):a[n]=l);(o=c+2>>0,a.nilCheck,(o<0||o>=a.length)?$throwRuntimeError("index out of range"):a[o]=l);(p=c+3>>0,a.nilCheck,(p<0||p>=a.length)?$throwRuntimeError("index out of range"):a[p]=l);(q=c+4>>0,a.nilCheck,(q<0||q>=a.length)?$throwRuntimeError("index out of range"):a[q]=l);(r=c+5>>0,a.nilCheck,(r<0||r>=a.length)?$throwRuntimeError("index out of range"):a[r]=l);(s=c+6>>0,a.nilCheck,(s<0||s>=a.length)?$throwRuntimeError("index out of range"):a[s]=l);(t=c+7>>0,a.nilCheck,(t<0||t>=a.length)?$throwRuntimeError("index out of range"):a[t]=l);b=b+(1)>>0;continue;}v=(((u=c+0>>0,(a.nilCheck,((u<0||u>=a.length)?$throwRuntimeError("index out of range"):a[u])))<<11>>0))+128>>0;x=(w=c+4>>0,(a.nilCheck,((w<0||w>=a.length)?$throwRuntimeError("index out of range"):a[w])))<<11>>0;z=(y=c+6>>0,(a.nilCheck,((y<0||y>=a.length)?$throwRuntimeError("index out of range"):a[y])));ab=(aa=c+2>>0,(a.nilCheck,((aa<0||aa>=a.length)?$throwRuntimeError("index out of range"):a[aa])));ad=(ac=c+1>>0,(a.nilCheck,((ac<0||ac>=a.length)?$throwRuntimeError("index out of range"):a[ac])));af=(ae=c+7>>0,(a.nilCheck,((ae<0||ae>=a.length)?$throwRuntimeError("index out of range"):a[ae])));ah=(ag=c+5>>0,(a.nilCheck,((ag<0||ag>=a.length)?$throwRuntimeError("index out of range"):a[ag])));aj=(ai=c+3>>0,(a.nilCheck,((ai<0||ai>=a.length)?$throwRuntimeError("index out of range"):a[ai])));al=(ak=(ad+af>>0),(((565>>>16<<16)*ak>>0)+(565<<16>>>16)*ak)>>0);ad=al+((((2276>>>16<<16)*ad>>0)+(2276<<16>>>16)*ad)>>0)>>0;af=al-((((3406>>>16<<16)*af>>0)+(3406<<16>>>16)*af)>>0)>>0;al=(am=(ah+aj>>0),(((2408>>>16<<16)*am>>0)+(2408<<16>>>16)*am)>>0);ah=al-((((799>>>16<<16)*ah>>0)+(799<<16>>>16)*ah)>>0)>>0;aj=al-((((4017>>>16<<16)*aj>>0)+(4017<<16>>>16)*aj)>>0)>>0;al=v+x>>0;v=v-(x)>>0;x=(an=(ab+z>>0),(((1108>>>16<<16)*an>>0)+(1108<<16>>>16)*an)>>0);z=x-((((3784>>>16<<16)*z>>0)+(3784<<16>>>16)*z)>>0)>>0;ab=x+((((1568>>>16<<16)*ab>>0)+(1568<<16>>>16)*ab)>>0)>>0;x=ad+ah>>0;ad=ad-(ah)>>0;ah=af+aj>>0;af=af-(aj)>>0;aj=al+ab>>0;al=al-(ab)>>0;ab=v+z>>0;v=v-(z)>>0;z=(((ao=(ad+af>>0),(((181>>>16<<16)*ao>>0)+(181<<16>>>16)*ao)>>0)+128>>0))>>8>>0;ad=(((ap=(ad-af>>0),(((181>>>16<<16)*ap>>0)+(181<<16>>>16)*ap)>>0)+128>>0))>>8>>0;(aq=c+0>>0,a.nilCheck,(aq<0||aq>=a.length)?$throwRuntimeError("index out of range"):a[aq]=((aj+x>>0))>>8>>0);(ar=c+1>>0,a.nilCheck,(ar<0||ar>=a.length)?$throwRuntimeError("index out of range"):a[ar]=((ab+z>>0))>>8>>0);(as=c+2>>0,a.nilCheck,(as<0||as>=a.length)?$throwRuntimeError("index out of range"):a[as]=((v+ad>>0))>>8>>0);(at=c+3>>0,a.nilCheck,(at<0||at>=a.length)?$throwRuntimeError("index out of range"):a[at]=((al+ah>>0))>>8>>0);(au=c+4>>0,a.nilCheck,(au<0||au>=a.length)?$throwRuntimeError("index out of range"):a[au]=((al-ah>>0))>>8>>0);(av=c+5>>0,a.nilCheck,(av<0||av>=a.length)?$throwRuntimeError("index out of range"):a[av]=((v-ad>>0))>>8>>0);(aw=c+6>>0,a.nilCheck,(aw<0||aw>=a.length)?$throwRuntimeError("index out of range"):a[aw]=((ab-z>>0))>>8>>0);(ax=c+7>>0,a.nilCheck,(ax<0||ax>=a.length)?$throwRuntimeError("index out of range"):a[ax]=((aj-x>>0))>>8>>0);b=b+(1)>>0;}ay=0;while(ay<8){ba=(((az=0+ay>>0,(a.nilCheck,((az<0||az>=a.length)?$throwRuntimeError("index out of range"):a[az])))<<8>>0))+8192>>0;bc=(bb=32+ay>>0,(a.nilCheck,((bb<0||bb>=a.length)?$throwRuntimeError("index out of range"):a[bb])))<<8>>0;be=(bd=48+ay>>0,(a.nilCheck,((bd<0||bd>=a.length)?$throwRuntimeError("index out of range"):a[bd])));bg=(bf=16+ay>>0,(a.nilCheck,((bf<0||bf>=a.length)?$throwRuntimeError("index out of range"):a[bf])));bi=(bh=8+ay>>0,(a.nilCheck,((bh<0||bh>=a.length)?$throwRuntimeError("index out of range"):a[bh])));bk=(bj=56+ay>>0,(a.nilCheck,((bj<0||bj>=a.length)?$throwRuntimeError("index out of range"):a[bj])));bm=(bl=40+ay>>0,(a.nilCheck,((bl<0||bl>=a.length)?$throwRuntimeError("index out of range"):a[bl])));bo=(bn=24+ay>>0,(a.nilCheck,((bn<0||bn>=a.length)?$throwRuntimeError("index out of range"):a[bn])));bq=(bp=(bi+bk>>0),(((565>>>16<<16)*bp>>0)+(565<<16>>>16)*bp)>>0)+4>>0;bi=((bq+((((2276>>>16<<16)*bi>>0)+(2276<<16>>>16)*bi)>>0)>>0))>>3>>0;bk=((bq-((((3406>>>16<<16)*bk>>0)+(3406<<16>>>16)*bk)>>0)>>0))>>3>>0;bq=(br=(bm+bo>>0),(((2408>>>16<<16)*br>>0)+(2408<<16>>>16)*br)>>0)+4>>0;bm=((bq-((((799>>>16<<16)*bm>>0)+(799<<16>>>16)*bm)>>0)>>0))>>3>>0;bo=((bq-((((4017>>>16<<16)*bo>>0)+(4017<<16>>>16)*bo)>>0)>>0))>>3>>0;bq=ba+bc>>0;ba=ba-(bc)>>0;bc=(bs=(bg+be>>0),(((1108>>>16<<16)*bs>>0)+(1108<<16>>>16)*bs)>>0)+4>>0;be=((bc-((((3784>>>16<<16)*be>>0)+(3784<<16>>>16)*be)>>0)>>0))>>3>>0;bg=((bc+((((1568>>>16<<16)*bg>>0)+(1568<<16>>>16)*bg)>>0)>>0))>>3>>0;bc=bi+bm>>0;bi=bi-(bm)>>0;bm=bk+bo>>0;bk=bk-(bo)>>0;bo=bq+bg>>0;bq=bq-(bg)>>0;bg=ba+be>>0;ba=ba-(be)>>0;be=(((bt=(bi+bk>>0),(((181>>>16<<16)*bt>>0)+(181<<16>>>16)*bt)>>0)+128>>0))>>8>>0;bi=(((bu=(bi-bk>>0),(((181>>>16<<16)*bu>>0)+(181<<16>>>16)*bu)>>0)+128>>0))>>8>>0;(bv=0+ay>>0,a.nilCheck,(bv<0||bv>=a.length)?$throwRuntimeError("index out of range"):a[bv]=((bo+bc>>0))>>14>>0);(bw=8+ay>>0,a.nilCheck,(bw<0||bw>=a.length)?$throwRuntimeError("index out of range"):a[bw]=((bg+be>>0))>>14>>0);(bx=16+ay>>0,a.nilCheck,(bx<0||bx>=a.length)?$throwRuntimeError("index out of range"):a[bx]=((ba+bi>>0))>>14>>0);(by=24+ay>>0,a.nilCheck,(by<0||by>=a.length)?$throwRuntimeError("index out of range"):a[by]=((bq+bm>>0))>>14>>0);(bz=32+ay>>0,a.nilCheck,(bz<0||bz>=a.length)?$throwRuntimeError("index out of range"):a[bz]=((bq-bm>>0))>>14>>0);(ca=40+ay>>0,a.nilCheck,(ca<0||ca>=a.length)?$throwRuntimeError("index out of range"):a[ca]=((ba-bi>>0))>>14>>0);(cb=48+ay>>0,a.nilCheck,(cb<0||cb>=a.length)?$throwRuntimeError("index out of range"):a[cb]=((bg-be>>0))>>14>>0);(cc=56+ay>>0,a.nilCheck,(cc<0||cc>=a.length)?$throwRuntimeError("index out of range"):a[cc]=((bo-bc>>0))>>14>>0);ay=ay+(1)>>0;}};K.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"invalid JPEG format: "+a;};$ptrType(K).prototype.Error=function(){return new K(this.$get()).Error();};L.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"unsupported JPEG feature: "+a;};$ptrType(L).prototype.Error=function(){return new L(this.$get()).Error();};Q.Ptr.prototype.fill=function(){var a,b,c,d,e,f,g,h,i,j;a=this;if(!((a.bytes.i===a.bytes.j))){$panic(new $String("jpeg: fill called when unread bytes exist"));}if(a.bytes.j>2){a.bytes.buf[0]=(b=a.bytes.buf,c=a.bytes.j-2>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]));a.bytes.buf[1]=(d=a.bytes.buf,e=a.bytes.j-1>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));f=2;g=2;a.bytes.i=f;a.bytes.j=g;}h=a.r.Read($subslice(new AS(a.bytes.buf),a.bytes.j));i=h[0];j=h[1];a.bytes.j=a.bytes.j+(i)>>0;if(i>0){j=$ifaceNil;}return j;};Q.prototype.fill=function(){return this.$val.fill();};Q.Ptr.prototype.unreadByteStuffedByte=function(){var a,b,c;a=this;if(a.bytes.nUnreadable===0){$panic(new $String("jpeg: unreadByteStuffedByte call cannot be fulfilled"));}a.bytes.i=a.bytes.i-(a.bytes.nUnreadable)>>0;a.bytes.nUnreadable=0;if(a.bits.n>=8){a.bits.a=(b=(8),b<32?(a.bits.a>>>b):0)>>>0;a.bits.n=a.bits.n-(8)>>0;a.bits.m=(c=(8),c<32?(a.bits.m>>>c):0)>>>0;}};Q.prototype.unreadByteStuffedByte=function(){return this.$val.unreadByteStuffedByte();};Q.Ptr.prototype.readByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i;c=this;while(c.bytes.i===c.bytes.j){b=c.fill();if(!($interfaceIsEqual(b,$ifaceNil))){d=0;e=b;a=d;b=e;return[a,b];}}a=(f=c.bytes.buf,g=c.bytes.i,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=0;h=a;i=$ifaceNil;a=h;b=i;return[a,b];};Q.prototype.readByte=function(){return this.$val.readByte();};Q.Ptr.prototype.readByteStuffedByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;c=this;if((c.bytes.i+2>>0)<=c.bytes.j){a=(d=c.bytes.buf,e=c.bytes.i,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=1;if(!((a===255))){f=a;g=b;a=f;b=g;return[a,b];}if(!(((h=c.bytes.buf,i=c.bytes.i,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]))===0))){j=0;k=new K(R);a=j;b=k;return[a,b];}c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=2;l=255;m=$ifaceNil;a=l;b=m;return[a,b];}n=c.readByte();a=n[0];b=n[1];if(!($interfaceIsEqual(b,$ifaceNil))){o=0;p=b;a=o;b=p;return[a,b];}if(!((a===255))){c.bytes.nUnreadable=1;q=a;r=$ifaceNil;a=q;b=r;return[a,b];}s=c.readByte();a=s[0];b=s[1];if(!($interfaceIsEqual(b,$ifaceNil))){c.bytes.nUnreadable=1;t=0;u=b;a=t;b=u;return[a,b];}c.bytes.nUnreadable=2;if(!((a===0))){v=0;w=new K(R);a=v;b=w;return[a,b];}x=255;y=$ifaceNil;a=x;b=y;return[a,b];};Q.prototype.readByteStuffedByte=function(){return this.$val.readByteStuffedByte();};Q.Ptr.prototype.readFull=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=$copySlice(a,$subslice(new AS(b.bytes.buf),b.bytes.i,b.bytes.j));a=$subslice(a,c);b.bytes.i=b.bytes.i+(c)>>0;if(a.$length===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.readFull=function(a){return this.$val.readFull(a);};Q.Ptr.prototype.ignore=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=b.bytes.j-b.bytes.i>>0;if(c>a){c=a;}b.bytes.i=b.bytes.i+(c)>>0;a=a-(c)>>0;if(a===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.ignore=function(a){return this.$val.ignore(a);};Q.Ptr.prototype.processSOF=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=this;c=a;if(c===9){b.nComp=1;}else if(c===15){b.nComp=3;}else{return new L("SOF has wrong length");}d=b.readFull($subslice(new AS(b.tmp),0,a));if(!($interfaceIsEqual(d,$ifaceNil))){return d;}if(!((b.tmp[0]===8))){return new L("precision");}b.height=((b.tmp[1]>>0)<<8>>0)+(b.tmp[2]>>0)>>0;b.width=((b.tmp[3]>>0)<<8>>0)+(b.tmp[4]>>0)>>0;if(!(((b.tmp[5]>>0)===b.nComp))){return new L("SOF has wrong number of image components");}e=0;while(e=h.length)?$throwRuntimeError("index out of range"):h[e])).c=(f=b.tmp,g=6+(3*e>>0)>>0,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));(k=b.comp,((e<0||e>=k.length)?$throwRuntimeError("index out of range"):k[e])).tq=(i=b.tmp,j=8+(3*e>>0)>>0,((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]));if(b.nComp===1){(l=b.comp,((e<0||e>=l.length)?$throwRuntimeError("index out of range"):l[e])).h=1;(m=b.comp,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])).v=1;e=e+(1)>>0;continue;}p=(n=b.tmp,o=7+(3*e>>0)>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o]));(q=b.comp,((e<0||e>=q.length)?$throwRuntimeError("index out of range"):q[e])).h=((p>>>4<<24>>>24)>>0);(r=b.comp,((e<0||e>=r.length)?$throwRuntimeError("index out of range"):r[e])).v=(((p&15)>>>0)>>0);if(e===0){if(!((p===17))&&!((p===33))&&!((p===34))&&!((p===18))){return new L("luma/chroma downsample ratio");}}else if(!((p===17))){return new L("luma/chroma downsample ratio");}e=e+(1)>>0;}return $ifaceNil;};Q.prototype.processSOF=function(a){return this.$val.processSOF(a);};Q.Ptr.prototype.processDQT=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;while(a>=65){c=b.readFull($subslice(new AS(b.tmp),0,65));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(!((d===0))){return new L("bad Pq value");}e=(b.tmp[0]&15)>>>0;if(e>3){return new K("bad Tq value");}f=(g=b.quant,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e]));h=0;while(h<64){i=h;(l=(m=b.quant,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])),(i<0||i>=l.length)?$throwRuntimeError("index out of range"):l[i]=((j=b.tmp,k=i+1>>0,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))>>0));h++;}a=a-(65)>>0;}if(!((a===0))){return new K("DQT has wrong length");}return $ifaceNil;};Q.prototype.processDQT=function(a){return this.$val.processDQT(a);};Q.Ptr.prototype.processDRI=function(a){var b,c;b=this;if(!((a===2))){return new K("DRI has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}b.ri=((b.tmp[0]>>0)<<8>>0)+(b.tmp[1]>>0)>>0;return $ifaceNil;};Q.prototype.processDRI=function(a){return this.$val.processDRI(a);};Q.Ptr.prototype.decode=function(a,b){var c,d,e,f,g,h,i;c=this;c.r=a;d=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}if(!((c.tmp[0]===255))||!((c.tmp[1]===216))){return[$ifaceNil,new K("missing SOI marker")];}while(true){e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}while(!((c.tmp[0]===255))){c.tmp[0]=c.tmp[1];f=c.readByte();c.tmp[1]=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}g=c.tmp[1];if(g===0){continue;}while(g===255){h=c.readByte();g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(g===217){break;}if(208<=g&&g<=215){continue;}e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}i=(((c.tmp[0]>>0)<<8>>0)+(c.tmp[1]>>0)>>0)-2>>0;if(i<0){return[$ifaceNil,new K("short segment length")];}if((g===192)||(g===194)){c.progressive=g===194;e=c.processSOF(i);if(b){return[$ifaceNil,e];}}else if(g===196){e=c.processDHT(i);}else if(g===219){e=c.processDQT(i);}else if(g===218){e=c.processSOS(i);}else if(g===221){e=c.processDRI(i);}else if(224<=g&&g<=239||(g===254)){e=c.ignore(i);}else{e=new L("unknown marker");}if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(!(c.img1===AV.nil)){return[c.img1,$ifaceNil];}if(!(c.img3===AW.nil)){return[c.img3,$ifaceNil];}return[$ifaceNil,new K("missing SOS marker")];};Q.prototype.decode=function(a,b){return this.$val.decode(a,b);};S=$pkg.Decode=function(a){var b;b=$clone(new Q.Ptr(),Q);return b.decode(a,false);};T=$pkg.DecodeConfig=function(a){var b,c,d,e;b=$clone(new Q.Ptr(),Q);c=b.decode(a,true);d=c[1];if(!($interfaceIsEqual(d,$ifaceNil))){return[new B.Config.Ptr($ifaceNil,0,0),d];}e=b.nComp;if(e===1){return[new B.Config.Ptr(C.GrayModel,b.width,b.height),$ifaceNil];}else if(e===3){return[new B.Config.Ptr(C.YCbCrModel,b.width,b.height),$ifaceNil];}return[new B.Config.Ptr($ifaceNil,0,0),new K("missing SOF marker")];};U=function(){B.RegisterFormat("jpeg","\xFF\xD8",S,T);};Q.Ptr.prototype.makeImg=function(a,b,c,d){var e,f,g,h;e=this;if(e.nComp===1){f=B.NewGray(B.Rect(0,0,8*c>>0,8*d>>0));e.img1=$assertType(f.SubImage(B.Rect(0,0,e.width,e.height)),AV);return;}g=0;if((a===1)&&(b===1)){g=0;}else if((a===1)&&(b===2)){g=3;}else if((a===2)&&(b===1)){g=1;}else if((a===2)&&(b===2)){g=2;}else{$panic(new $String("unreachable"));}h=B.NewYCbCr(B.Rect(0,0,(8*a>>0)*c>>0,(8*b>>0)*d>>0),g);e.img3=$assertType(h.SubImage(B.Rect(0,0,e.width,e.height)),AW);};Q.prototype.makeImg=function(a,b,c,d){return this.$val.makeImg(a,b,c,d);};Q.Ptr.prototype.processSOS=function(a){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,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,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es;b=this;if(b.nComp===0){return new K("missing SOF marker");}if(a<6||(4+(2*b.nComp>>0)>>0)>0);if(!((a===(4+(2*e>>0)>>0)))){return new K("SOS length inconsistent with number of components");}f=$clone(AY.zero(),AY);g=0;while(g>0)>>0,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]));k=-1;l=b.comp;m=0;while(m<3){n=m;o=$clone(((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]),M);if(j===o.c){k=n;}m++;}if(k<0){return new K("unknown component selector");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).compIndex=(k<<24>>>24);((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td=(p=b.tmp,q=2+(2*g>>0)>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]))>>>4<<24>>>24;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td>3){return new K("bad Td value");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta=((r=b.tmp,s=2+(2*g>>0)>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s]))&15)>>>0;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta>3){return new K("bad Ta value");}g=g+(1)>>0;}t=0;u=63;v=0;w=0;x=t;y=u;z=v;aa=w;if(b.progressive){x=((ab=b.tmp,ac=1+(2*e>>0)>>0,((ac<0||ac>=ab.length)?$throwRuntimeError("index out of range"):ab[ac]))>>0);y=((ad=b.tmp,ae=2+(2*e>>0)>>0,((ae<0||ae>=ad.length)?$throwRuntimeError("index out of range"):ad[ae]))>>0);z=(((af=b.tmp,ag=3+(2*e>>0)>>0,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag]))>>>4<<24>>>24)>>>0);aa=((((ah=b.tmp,ai=3+(2*e>>0)>>0,((ai<0||ai>=ah.length)?$throwRuntimeError("index out of range"):ah[ai]))&15)>>>0)>>>0);if(((x===0)&&!((y===0)))||x>y||64<=y){return new K("bad spectral selection bounds");}if(!((x===0))&&!((e===1))){return new K("progressive AC coefficients for more than one component");}if(!((z===0))&&!((z===(aa+1>>>0)))){return new K("bad successive approximation values");}}aj=b.comp[0].h;ak=b.comp[0].v;al=aj;am=ak;ao=(an=(((b.width+(8*al>>0)>>0)-1>>0))/((8*al>>0)),(an===an&&an!==1/0&&an!==-1/0)?an>>0:$throwRuntimeError("integer divide by zero"));aq=(ap=(((b.height+(8*am>>0)>>0)-1>>0))/((8*am>>0)),(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));if(b.img1===AV.nil&&b.img3===AW.nil){b.makeImg(al,am,ao,aq);}if(b.progressive){ar=0;while(ar=f.length)?$throwRuntimeError("index out of range"):f[ar]).compIndex;if((at=b.progCoeffs,((as<0||as>=at.length)?$throwRuntimeError("index out of range"):at[as]))===AZ.nil){(aw=b.progCoeffs,(as<0||as>=aw.length)?$throwRuntimeError("index out of range"):aw[as]=AZ.make((((ao*aq>>0)*(au=b.comp,((as<0||as>=au.length)?$throwRuntimeError("index out of range"):au[as])).h>>0)*(av=b.comp,((as<0||as>=av.length)?$throwRuntimeError("index out of range"):av[as])).v>>0)));}ar=ar+(1)>>0;}}$copy(b.bits,new P.Ptr(0,0,0),P);ax=0;ay=208;az=ax;ba=ay;bb=$clone(I.zero(),I);bc=$clone(BA.zero(),BA);bd=0;be=0;bf=bd;bg=be;bh=0;bi=0;while(bi=f.length)?$throwRuntimeError("index out of range"):f[bk]).compIndex;bp=(bm=b.quant,bn=(bo=b.comp,((bl<0||bl>=bo.length)?$throwRuntimeError("index out of range"):bo[bl])).tq,((bn<0||bn>=bm.length)?$throwRuntimeError("index out of range"):bm[bn]));bq=0;while(bq<((br=b.comp,((bl<0||bl>=br.length)?$throwRuntimeError("index out of range"):br[bl])).h*(bs=b.comp,((bl<0||bl>=bs.length)?$throwRuntimeError("index out of range"):bs[bl])).v>>0)){if(!((e===1))){bt=(bu=b.comp,((bl<0||bl>=bu.length)?$throwRuntimeError("index out of range"):bu[bl])).h*bj>>0;bv=(bw=b.comp,((bl<0||bl>=bw.length)?$throwRuntimeError("index out of range"):bw[bl])).v*bi>>0;bf=bt;bg=bv;if(al===1){bg=bg+(bq)>>0;}else{bf=bf+((bx=bq%2,bx===bx?bx:$throwRuntimeError("integer divide by zero")))>>0;bg=bg+((by=bq/2,(by===by&&by!==1/0&&by!==-1/0)?by>>0:$throwRuntimeError("integer divide by zero")))>>0;}}else{ca=ao*(bz=b.comp,((bl<0||bl>=bz.length)?$throwRuntimeError("index out of range"):bz[bl])).h>>0;bf=(cb=bh%ca,cb===cb?cb:$throwRuntimeError("integer divide by zero"));bg=(cc=bh/ca,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>0:$throwRuntimeError("integer divide by zero"));bh=bh+(1)>>0;if((bf*8>>0)>=b.width||(bg*8>>0)>=b.height){bq=bq+(1)>>0;continue;}}if(b.progressive){$copy(bb,(cd=(ce=b.progCoeffs,((bl<0||bl>=ce.length)?$throwRuntimeError("index out of range"):ce[bl])),cf=((bg*ao>>0)*(cg=b.comp,((bl<0||bl>=cg.length)?$throwRuntimeError("index out of range"):cg[bl])).h>>0)+bf>>0,((cf<0||cf>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+cf])),I);}else{$copy(bb,BB.zero(),I);}if(!((z===0))){ck=b.refine(bb,(ch=b.huff[1],ci=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((ci<0||ci>=ch.length)?$throwRuntimeError("index out of range"):ch[ci])),x,y,(cj=aa,cj<32?(1<>0);if(!($interfaceIsEqual(ck,$ifaceNil))){return ck;}}else{cl=x;if(cl===0){cl=cl+(1)>>0;cm=b.decodeHuffman((cn=b.huff[0],co=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).td,((co<0||co>=cn.length)?$throwRuntimeError("index out of range"):cn[co])));cp=cm[0];cq=cm[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}if(cp>16){return new L("excessive DC component");}cr=b.receiveExtend(cp);cs=cr[0];cq=cr[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}ct=bc;cu=bl;(cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu]=((cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu])+(cs)>>0;bb[0]=(cv=aa,cv<32?(((bl<0||bl>=bc.length)?$throwRuntimeError("index out of range"):bc[bl])<>0;}if(cl<=y&&b.eobRun>0){b.eobRun=b.eobRun-(1)<<16>>>16;}else{cy=(cw=b.huff[1],cx=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((cx<0||cx>=cw.length)?$throwRuntimeError("index out of range"):cw[cx]));while(cl<=y){cz=b.decodeHuffman(cy);da=cz[0];db=cz[1];if(!($interfaceIsEqual(db,$ifaceNil))){return db;}dc=da>>>4<<24>>>24;dd=(da&15)>>>0;if(!((dd===0))){cl=cl+((dc>>0))>>0;if(cl>y){break;}de=b.receiveExtend(dd);df=de[0];dg=de[1];if(!($interfaceIsEqual(dg,$ifaceNil))){return dg;}(di=((cl<0||cl>=N.length)?$throwRuntimeError("index out of range"):N[cl]),(di<0||di>=bb.length)?$throwRuntimeError("index out of range"):bb[di]=(dh=aa,dh<32?(df<>0);}else{if(!((dc===15))){b.eobRun=((dj=dc,dj<32?(1<>>16);if(!((dc===0))){dk=b.decodeBits((dc>>0));dl=dk[0];dm=dk[1];if(!($interfaceIsEqual(dm,$ifaceNil))){return dm;}b.eobRun=(b.eobRun|((dl<<16>>>16)))>>>0;}b.eobRun=b.eobRun-(1)<<16>>>16;break;}cl=cl+(15)>>0;}cl=cl+(1)>>0;}}}if(b.progressive){if(!((y===63))||!((aa===0))){$copy((dn=(dp=b.progCoeffs,((bl<0||bl>=dp.length)?$throwRuntimeError("index out of range"):dp[bl])),dq=((bg*ao>>0)*(dr=b.comp,((bl<0||bl>=dr.length)?$throwRuntimeError("index out of range"):dr[bl])).h>>0)+bf>>0,((dq<0||dq>=dn.$length)?$throwRuntimeError("index out of range"):dn.$array[dn.$offset+dq])),bb,I);bq=bq+(1)>>0;continue;}}ds=0;while(ds<64){dt=bb;du=((ds<0||ds>=N.length)?$throwRuntimeError("index out of range"):N[ds]);(du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]=(dv=((du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]),dw=(bp.nilCheck,((ds<0||ds>=bp.length)?$throwRuntimeError("index out of range"):bp[ds])),(((dv>>>16<<16)*dw>>0)+(dv<<16>>>16)*dw)>>0);ds=ds+(1)>>0;}J(bb);dx=AS.nil;dy=0;dz=dx;ea=dy;if(b.nComp===1){eb=$subslice(b.img1.Pix,(8*(((bg*b.img1.Stride>>0)+bf>>0))>>0));ec=b.img1.Stride;dz=eb;ea=ec;}else{ed=bl;if(ed===0){ee=$subslice(b.img3.Y,(8*(((bg*b.img3.YStride>>0)+bf>>0))>>0));ef=b.img3.YStride;dz=ee;ea=ef;}else if(ed===1){eg=$subslice(b.img3.Cb,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));eh=b.img3.CStride;dz=eg;ea=eh;}else if(ed===2){ei=$subslice(b.img3.Cr,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));ej=b.img3.CStride;dz=ei;ea=ej;}else{return new L("too many components");}}ek=0;while(ek<8){el=ek*8>>0;em=ek*ea>>0;en=0;while(en<8){ep=(eo=el+en>>0,((eo<0||eo>=bb.length)?$throwRuntimeError("index out of range"):bb[eo]));if(ep<-128){ep=0;}else if(ep>127){ep=255;}else{ep=ep+(128)>>0;}(eq=em+en>>0,(eq<0||eq>=dz.$length)?$throwRuntimeError("index out of range"):dz.$array[dz.$offset+eq]=(ep<<24>>>24));en=en+(1)>>0;}ek=ek+(1)>>0;}bq=bq+(1)>>0;}bk=bk+(1)>>0;}az=az+(1)>>0;if(b.ri>0&&((er=az%b.ri,er===er?er:$throwRuntimeError("integer divide by zero"))===0)&&az<(ao*aq>>0)){es=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(es,$ifaceNil))){return es;}if(!((b.tmp[0]===255))||!((b.tmp[1]===ba))){return new K("bad RST marker");}ba=ba+(1)<<24>>>24;if(ba===216){ba=208;}$copy(b.bits,new P.Ptr(0,0,0),P);$copy(bc,BA.zero(),BA);b.eobRun=0;}bj=bj+(1)>>0;}bi=bi+(1)>>0;}return $ifaceNil;};Q.prototype.processSOS=function(a){return this.$val.processSOS(a);};Q.Ptr.prototype.refine=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;f=this;if(c===0){if(!((d===0))){$panic(new $String("unreachable"));}g=f.decodeBit();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}if(h){j=a;k=0;j.nilCheck,(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(j.nilCheck,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))|(e);}return $ifaceNil;}l=c;if(f.eobRun===0){loop:while(l<=d){m=0;n=f.decodeHuffman(b);o=n[0];p=n[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}q=o>>>4<<24>>>24;r=(o&15)>>>0;s=r;if(s===0){if(!((q===15))){f.eobRun=((t=q,t<32?(1<>>16);if(!((q===0))){u=f.decodeBits((q>>0));v=u[0];w=u[1];if(!($interfaceIsEqual(w,$ifaceNil))){return w;}f.eobRun=(f.eobRun|((v<<16>>>16)))>>>0;}break loop;}}else if(s===1){m=e;x=f.decodeBit();y=x[0];z=x[1];if(!($interfaceIsEqual(z,$ifaceNil))){return z;}if(!y){m=-m;}}else{return new K("unexpected Huffman code");}aa=f.refineNonZeroes(a,l,d,(q>>0),e);l=aa[0];p=aa[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}if(l>d){return new K("too many coefficients");}if(!((m===0))){(ab=((l<0||l>=N.length)?$throwRuntimeError("index out of range"):N[l]),a.nilCheck,(ab<0||ab>=a.length)?$throwRuntimeError("index out of range"):a[ab]=m);}l=l+(1)>>0;}}if(f.eobRun>0){f.eobRun=f.eobRun-(1)<<16>>>16;ac=f.refineNonZeroes(a,l,d,-1,e);ad=ac[1];if(!($interfaceIsEqual(ad,$ifaceNil))){return ad;}}return $ifaceNil;};Q.prototype.refine=function(a,b,c,d,e){return this.$val.refine(a,b,c,d,e);};Q.Ptr.prototype.refineNonZeroes=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;f=this;while(b<=c){g=((b<0||b>=N.length)?$throwRuntimeError("index out of range"):N[b]);if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))===0){if(d===0){break;}d=d-(1)>>0;b=b+(1)>>0;continue;}h=f.decodeBit();i=h[0];j=h[1];if(!($interfaceIsEqual(j,$ifaceNil))){return[0,j];}if(!i){b=b+(1)>>0;continue;}if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))>=0){k=a;l=g;k.nilCheck,(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=(k.nilCheck,((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]))+(e)>>0;}else{m=a;n=g;m.nilCheck,(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=(m.nilCheck,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))-(e)>>0;}b=b+(1)>>0;}return[b,$ifaceNil];};Q.prototype.refineNonZeroes=function(a,b,c,d,e){return this.$val.refineNonZeroes(a,b,c,d,e);};$ptrType(AD).prototype.init=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;a=$clone(a,AB);c=0;d=a.value;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);if((f>>0)>c){c=(f>>0);}e++;}b.$set((g=BC.make((c+1>>0)),$subslice(new AD(g.$array),g.$offset,g.$offset+g.$length)));h=0;i=0;j=h;k=i;l=0;while(l<16){m=((l+1>>0)>>>0)<<24>>>0;n=0;while(n<(o=a.count,((l<0||l>=o.length)?$throwRuntimeError("index out of range"):o[l]))){(p=b.$get(),q=(r=a.value,((k<0||k>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+k])),(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(m|j)>>>0);j=j+(1)>>>0;k=k+(1)>>0;n=n+(1)<<24>>>24;}j=(s=(1),s<32?(j<>>0;l=l+(1)>>0;}};AF=function(){var a,b,c,d;a=AC;b=0;while(b<4){c=b;d=$clone(((b<0||b>=a.length)?$throwRuntimeError("index out of range"):a[b]),AB);new BD(function(){return((c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]);},function($v){(c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]=$v;},AE).init(d);b++;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AQ=$arrayType(AD,4);AS=$sliceType($Uint8);AT=$arrayType($Int32,16);AU=$sliceType($Uint8);AV=$ptrType(B.Gray);AW=$ptrType(B.YCbCr);AX=$structType([["compIndex","compIndex","image/jpeg",$Uint8,""],["td","td","image/jpeg",$Uint8,""],["ta","ta","image/jpeg",$Uint8,""]]);AY=$arrayType(AX,3);AZ=$sliceType(I);BA=$arrayType($Int32,3);BB=$arrayType($Int32,64);BC=$sliceType($Uint32);BD=$ptrType(AD);BF=$arrayType(I,4);BI=$arrayType($Uint16,256);BJ=$arrayType($Uint8,256);BK=$ptrType(K);BL=$ptrType(L);BM=$arrayType($Uint8,4096);BN=$structType([["buf","buf","image/jpeg",BM,""],["i","i","image/jpeg",$Int,""],["j","j","image/jpeg",$Int,""],["nUnreadable","nUnreadable","image/jpeg",$Int,""]]);BO=$arrayType(M,3);BP=$arrayType(AZ,3);BQ=$arrayType(G,4);BR=$arrayType(BQ,2);BS=$arrayType($Uint8,65);BT=$ptrType(G);BU=$ptrType(I);BV=$ptrType(Q);BW=$arrayType($Uint8,16);G.init([["nCodes","nCodes","image/jpeg",$Int32,""],["lut","lut","image/jpeg",BI,""],["vals","vals","image/jpeg",BJ,""],["minCodes","minCodes","image/jpeg",AT,""],["maxCodes","maxCodes","image/jpeg",AT,""],["valsIndices","valsIndices","image/jpeg",AT,""]]);I.init($Int32,64);K.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];L.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];M.init([["h","h","image/jpeg",$Int,""],["v","v","image/jpeg",$Int,""],["c","c","image/jpeg",$Uint8,""],["tq","tq","image/jpeg",$Uint8,""]]);P.init([["a","a","image/jpeg",$Uint32,""],["m","m","image/jpeg",$Uint32,""],["n","n","image/jpeg",$Int32,""]]);BV.methods=[["decode","decode","image/jpeg",$funcType([A.Reader,$Bool],[B.Image,$error],false),-1],["decodeBit","decodeBit","image/jpeg",$funcType([],[$Bool,$error],false),-1],["decodeBits","decodeBits","image/jpeg",$funcType([$Int32],[$Uint32,$error],false),-1],["decodeHuffman","decodeHuffman","image/jpeg",$funcType([BT],[$Uint8,$error],false),-1],["ensureNBits","ensureNBits","image/jpeg",$funcType([$Int32],[$error],false),-1],["fill","fill","image/jpeg",$funcType([],[$error],false),-1],["ignore","ignore","image/jpeg",$funcType([$Int],[$error],false),-1],["makeImg","makeImg","image/jpeg",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["processDHT","processDHT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDQT","processDQT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDRI","processDRI","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOF","processSOF","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOS","processSOS","image/jpeg",$funcType([$Int],[$error],false),-1],["readByte","readByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readByteStuffedByte","readByteStuffedByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readFull","readFull","image/jpeg",$funcType([AS],[$error],false),-1],["receiveExtend","receiveExtend","image/jpeg",$funcType([$Uint8],[$Int32,$error],false),-1],["refine","refine","image/jpeg",$funcType([BU,BT,$Int32,$Int32,$Int32],[$error],false),-1],["refineNonZeroes","refineNonZeroes","image/jpeg",$funcType([BU,$Int32,$Int32,$Int32,$Int32],[$Int32,$error],false),-1],["unreadByteStuffedByte","unreadByteStuffedByte","image/jpeg",$funcType([],[],false),-1]];Q.init([["r","r","image/jpeg",A.Reader,""],["bits","bits","image/jpeg",P,""],["bytes","bytes","image/jpeg",BN,""],["width","width","image/jpeg",$Int,""],["height","height","image/jpeg",$Int,""],["img1","img1","image/jpeg",AV,""],["img3","img3","image/jpeg",AW,""],["ri","ri","image/jpeg",$Int,""],["nComp","nComp","image/jpeg",$Int,""],["progressive","progressive","image/jpeg",$Bool,""],["eobRun","eobRun","image/jpeg",$Uint16,""],["comp","comp","image/jpeg",BO,""],["progCoeffs","progCoeffs","image/jpeg",BP,""],["huff","huff","image/jpeg",BR,""],["quant","quant","image/jpeg",BF,""],["tmp","tmp","image/jpeg",BS,""]]);AB.init([["count","count","image/jpeg",BW,""],["value","value","image/jpeg",AS,""]]);BD.methods=[["init","init","image/jpeg",$funcType([AB],[],false),-1]];AD.init($Uint32);AE=AQ.zero();H="short Huffman data";N=$toNativeArray($kindInt,[0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);R="missing 0xff00 sequence";AC=$toNativeArray($kindStruct,[new AB.Ptr($toNativeArray($kindUint8,[0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125]),new AS([1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250])),new AB.Ptr($toNativeArray($kindUint8,[0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119]),new AS([0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250]))]);U();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["math/rand"]=(function(){var $pkg={},B,A,AH,AJ,AK,AL,AM,J,L,AB,AD,C,D,E,G,H,I,N,AC,F,K,M,AE;B=$packages["github.com/gopherjs/gopherjs/nosync"];A=$packages["math"];J=$pkg.Source=$newType(8,$kindInterface,"rand.Source","Source","math/rand",null);L=$pkg.Rand=$newType(0,$kindStruct,"rand.Rand","Rand","math/rand",function(src_){this.$val=this;this.src=src_!==undefined?src_:$ifaceNil;});AB=$pkg.lockedSource=$newType(0,$kindStruct,"rand.lockedSource","lockedSource","math/rand",function(lk_,src_){this.$val=this;this.lk=lk_!==undefined?lk_:new B.Mutex.Ptr();this.src=src_!==undefined?src_:$ifaceNil;});AD=$pkg.rngSource=$newType(0,$kindStruct,"rand.rngSource","rngSource","math/rand",function(tap_,feed_,vec_){this.$val=this;this.tap=tap_!==undefined?tap_:0;this.feed=feed_!==undefined?feed_:0;this.vec=vec_!==undefined?vec_:AL.zero();});L.Ptr.prototype.ExpFloat64=function(){var a,b,c,d,e;a=this;while(true){b=a.Uint32();c=(b&255)>>>0;d=b*$coerceFloat32(((c<0||c>=D.length)?$throwRuntimeError("index out of range"):D[c]));if(b<((c<0||c>=C.length)?$throwRuntimeError("index out of range"):C[c])){return d;}if(c===0){return 7.69711747013105-A.Log(a.Float64());}if(((c<0||c>=E.length)?$throwRuntimeError("index out of range"):E[c])+a.Float64()*((e=c-1>>>0,((e<0||e>=E.length)?$throwRuntimeError("index out of range"):E[e]))-((c<0||c>=E.length)?$throwRuntimeError("index out of range"):E[c]))>>0);}return(a>>>0);};L.Ptr.prototype.NormFloat64=function(){var a,b,c,d,e,f;a=this;while(true){b=(a.Uint32()>>0);c=b&127;d=b*$coerceFloat32(((c<0||c>=H.length)?$throwRuntimeError("index out of range"):H[c]));if(F(b)<((c<0||c>=G.length)?$throwRuntimeError("index out of range"):G[c])){return d;}if(c===0){while(true){d=-A.Log(a.Float64())*0.29047645161474317;e=-A.Log(a.Float64());if(e+e>=d*d){break;}}if(b>0){return 3.442619855899+d;}return-3.442619855899-d;}if(((c<0||c>=I.length)?$throwRuntimeError("index out of range"):I[c])+a.Float64()*((f=c-1>>0,((f<0||f>=I.length)?$throwRuntimeError("index out of range"):I[f]))-((c<0||c>=I.length)?$throwRuntimeError("index out of range"):I[c]))>>0);};L.prototype.Uint32=function(){return this.$val.Uint32();};L.Ptr.prototype.Int31=function(){var a,b;a=this;return((b=$shiftRightInt64(a.Int63(),32),b.$low+((b.$high>>31)*4294967296))>>0);};L.prototype.Int31=function(){return this.$val.Int31();};L.Ptr.prototype.Int=function(){var a,b;a=this;b=(a.Int63().$low>>>0);return(((b<<1>>>0)>>>1>>>0)>>0);};L.prototype.Int=function(){return this.$val.Int();};L.Ptr.prototype.Int63n=function(a){var b,c,d,e,f,g,h,i,j;b=this;if((a.$high<0||(a.$high===0&&a.$low<=0))){$panic(new $String("invalid argument to Int63n"));}if((c=(d=new $Int64(a.$high-0,a.$low-1),new $Int64(a.$high&d.$high,(a.$low&d.$low)>>>0)),(c.$high===0&&c.$low===0))){return(e=b.Int63(),f=new $Int64(a.$high-0,a.$low-1),new $Int64(e.$high&f.$high,(e.$low&f.$low)>>>0));}i=(g=(h=$div64(new $Uint64(2147483648,0),new $Uint64(a.$high,a.$low),true),new $Uint64(2147483647-h.$high,4294967295-h.$low)),new $Int64(g.$high,g.$low));j=b.Int63();while((j.$high>i.$high||(j.$high===i.$high&&j.$low>i.$low))){j=b.Int63();}return $div64(j,a,true);};L.prototype.Int63n=function(a){return this.$val.Int63n(a);};L.Ptr.prototype.Int31n=function(a){var b,c,d,e,f;b=this;if(a<=0){$panic(new $String("invalid argument to Int31n"));}if((a&((a-1>>0)))===0){return b.Int31()&((a-1>>0));}d=((2147483647-(c=2147483648%(a>>>0),c===c?c:$throwRuntimeError("integer divide by zero"))>>>0)>>0);e=b.Int31();while(e>d){e=b.Int31();}return(f=e%a,f===f?f:$throwRuntimeError("integer divide by zero"));};L.prototype.Int31n=function(a){return this.$val.Int31n(a);};L.Ptr.prototype.Intn=function(a){var b,c;b=this;if(a<=0){$panic(new $String("invalid argument to Intn"));}if(a<=2147483647){return(b.Int31n((a>>0))>>0);}return((c=b.Int63n(new $Int64(0,a)),c.$low+((c.$high>>31)*4294967296))>>0);};L.prototype.Intn=function(a){return this.$val.Intn(a);};L.Ptr.prototype.Float64=function(){var a,b;a=this;b=$flatten64(a.Int63())/9.223372036854776e+18;if(b===1){b=0;}return b;};L.prototype.Float64=function(){return this.$val.Float64();};L.Ptr.prototype.Float32=function(){var a,b;a=this;b=a.Float64();if($float32IsEqual(b,1)){b=0;}return b;};L.prototype.Float32=function(){return this.$val.Float32();};L.Ptr.prototype.Perm=function(a){var b,c,d,e;b=this;c=AH.make(a);d=0;while(d>0);(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=((e<0||e>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+e]);(e<0||e>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+e]=d;d=d+(1)>>0;}return c;};L.prototype.Perm=function(a){return this.$val.Perm(a);};AB.Ptr.prototype.Int63=function(){var a=new $Int64(0,0),b;b=this;b.lk.Lock();a=b.src.Int63();b.lk.Unlock();return a;};AB.prototype.Int63=function(){return this.$val.Int63();};AB.Ptr.prototype.Seed=function(a){var b;b=this;b.lk.Lock();b.src.Seed(a);b.lk.Unlock();};AB.prototype.Seed=function(a){return this.$val.Seed(a);};AE=function(a){var b,c,d,e;c=(b=a/44488,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));e=(d=a%44488,d===d?d:$throwRuntimeError("integer divide by zero"));a=((((48271>>>16<<16)*e>>0)+(48271<<16>>>16)*e)>>0)-((((3399>>>16<<16)*c>>0)+(3399<<16>>>16)*c)>>0)>>0;if(a<0){a=a+(2147483647)>>0;}return a;};AD.Ptr.prototype.Seed=function(a){var b,c,d,e,f,g,h,i,j;b=this;b.tap=0;b.feed=334;a=$div64(a,new $Int64(0,2147483647),true);if((a.$high<0||(a.$high===0&&a.$low<0))){a=(c=new $Int64(0,2147483647),new $Int64(a.$high+c.$high,a.$low+c.$low));}if((a.$high===0&&a.$low===0)){a=new $Int64(0,89482311);}d=((a.$low+((a.$high>>31)*4294967296))>>0);e=-20;while(e<607){d=AE(d);if(e>=0){f=new $Int64(0,0);f=$shiftLeft64(new $Int64(0,d),40);d=AE(d);f=(g=$shiftLeft64(new $Int64(0,d),20),new $Int64(f.$high^g.$high,(f.$low^g.$low)>>>0));d=AE(d);f=(h=new $Int64(0,d),new $Int64(f.$high^h.$high,(f.$low^h.$low)>>>0));f=(i=((e<0||e>=AC.length)?$throwRuntimeError("index out of range"):AC[e]),new $Int64(f.$high^i.$high,(f.$low^i.$low)>>>0));(j=b.vec,(e<0||e>=j.length)?$throwRuntimeError("index out of range"):j[e]=new $Int64(f.$high&2147483647,(f.$low&4294967295)>>>0));}e=e+(1)>>0;}};AD.prototype.Seed=function(a){return this.$val.Seed(a);};AD.Ptr.prototype.Int63=function(){var a,b,c,d,e,f,g,h,i,j,k;a=this;a.tap=a.tap-(1)>>0;if(a.tap<0){a.tap=a.tap+(607)>>0;}a.feed=a.feed-(1)>>0;if(a.feed<0){a.feed=a.feed+(607)>>0;}i=(b=(c=(d=a.vec,e=a.feed,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])),f=(g=a.vec,h=a.tap,((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])),new $Int64(c.$high+f.$high,c.$low+f.$low)),new $Int64(b.$high&2147483647,(b.$low&4294967295)>>>0));(j=a.vec,k=a.feed,(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=i);return i;};AD.prototype.Int63=function(){return this.$val.Int63();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}AH=$sliceType($Int);AJ=$ptrType(L);AK=$ptrType(AB);AL=$arrayType($Int64,607);AM=$ptrType(AD);J.init([["Int63","Int63","",$funcType([],[$Int64],false)],["Seed","Seed","",$funcType([$Int64],[],false)]]);AJ.methods=[["ExpFloat64","ExpFloat64","",$funcType([],[$Float64],false),-1],["Float32","Float32","",$funcType([],[$Float32],false),-1],["Float64","Float64","",$funcType([],[$Float64],false),-1],["Int","Int","",$funcType([],[$Int],false),-1],["Int31","Int31","",$funcType([],[$Int32],false),-1],["Int31n","Int31n","",$funcType([$Int32],[$Int32],false),-1],["Int63","Int63","",$funcType([],[$Int64],false),-1],["Int63n","Int63n","",$funcType([$Int64],[$Int64],false),-1],["Intn","Intn","",$funcType([$Int],[$Int],false),-1],["NormFloat64","NormFloat64","",$funcType([],[$Float64],false),-1],["Perm","Perm","",$funcType([$Int],[AH],false),-1],["Seed","Seed","",$funcType([$Int64],[],false),-1],["Uint32","Uint32","",$funcType([],[$Uint32],false),-1]];L.init([["src","src","math/rand",J,""]]);AK.methods=[["Int63","Int63","",$funcType([],[$Int64],false),-1],["Seed","Seed","",$funcType([$Int64],[],false),-1]];AB.init([["lk","lk","math/rand",B.Mutex,""],["src","src","math/rand",J,""]]);AM.methods=[["Int63","Int63","",$funcType([],[$Int64],false),-1],["Seed","Seed","",$funcType([$Int64],[],false),-1]];AD.init([["tap","tap","math/rand",$Int,""],["feed","feed","math/rand",$Int,""],["vec","vec","math/rand",AL,""]]);C=$toNativeArray($kindUint32,[3801129273,0,2615860924,3279400049,3571300752,3733536696,3836274812,3906990442,3958562475,3997804264,4028649213,4053523342,4074002619,4091154507,4105727352,4118261130,4129155133,4138710916,4147160435,4154685009,4161428406,4167506077,4173011791,4178022498,4182601930,4186803325,4190671498,4194244443,4197554582,4200629752,4203493986,4206168142,4208670408,4211016720,4213221098,4215295924,4217252177,4219099625,4220846988,4222502074,4224071896,4225562770,4226980400,4228329951,4229616109,4230843138,4232014925,4233135020,4234206673,4235232866,4236216336,4237159604,4238064994,4238934652,4239770563,4240574564,4241348362,4242093539,4242811568,4243503822,4244171579,4244816032,4245438297,4246039419,4246620374,4247182079,4247725394,4248251127,4248760037,4249252839,4249730206,4250192773,4250641138,4251075867,4251497493,4251906522,4252303431,4252688672,4253062674,4253425844,4253778565,4254121205,4254454110,4254777611,4255092022,4255397640,4255694750,4255983622,4256264513,4256537670,4256803325,4257061702,4257313014,4257557464,4257795244,4258026541,4258251531,4258470383,4258683258,4258890309,4259091685,4259287526,4259477966,4259663135,4259843154,4260018142,4260188212,4260353470,4260514019,4260669958,4260821380,4260968374,4261111028,4261249421,4261383632,4261513736,4261639802,4261761900,4261880092,4261994441,4262105003,4262211835,4262314988,4262414513,4262510454,4262602857,4262691764,4262777212,4262859239,4262937878,4263013162,4263085118,4263153776,4263219158,4263281289,4263340187,4263395872,4263448358,4263497660,4263543789,4263586755,4263626565,4263663224,4263696735,4263727099,4263754314,4263778377,4263799282,4263817020,4263831582,4263842955,4263851124,4263856071,4263857776,4263856218,4263851370,4263843206,4263831695,4263816804,4263798497,4263776735,4263751476,4263722676,4263690284,4263654251,4263614520,4263571032,4263523724,4263472530,4263417377,4263358192,4263294892,4263227394,4263155608,4263079437,4262998781,4262913534,4262823581,4262728804,4262629075,4262524261,4262414220,4262298801,4262177846,4262051187,4261918645,4261780032,4261635148,4261483780,4261325704,4261160681,4260988457,4260808763,4260621313,4260425802,4260221905,4260009277,4259787550,4259556329,4259315195,4259063697,4258801357,4258527656,4258242044,4257943926,4257632664,4257307571,4256967906,4256612870,4256241598,4255853155,4255446525,4255020608,4254574202,4254106002,4253614578,4253098370,4252555662,4251984571,4251383021,4250748722,4250079132,4249371435,4248622490,4247828790,4246986404,4246090910,4245137315,4244119963,4243032411,4241867296,4240616155,4239269214,4237815118,4236240596,4234530035,4232664930,4230623176,4228378137,4225897409,4223141146,4220059768,4216590757,4212654085,4208145538,4202926710,4196809522,4189531420,4180713890,4169789475,4155865042,4137444620,4111806704,4073393724,4008685917,3873074895]);D=$toNativeArray($kindFloat32,[2.0249555365836613e-09,1.4866739783681027e-11,2.4409616689036184e-11,3.1968806074589295e-11,3.844677007314168e-11,4.42282044321729e-11,4.951644302919611e-11,5.443358958023836e-11,5.905943789574764e-11,6.34494193296753e-11,6.764381416113352e-11,7.167294535648239e-11,7.556032188826833e-11,7.932458162551725e-11,8.298078890689453e-11,8.654132271912474e-11,9.001651507523079e-11,9.341507428706208e-11,9.674443190998971e-11,1.0001099254308699e-10,1.0322031424037093e-10,1.0637725422757427e-10,1.0948611461891744e-10,1.1255067711157807e-10,1.1557434870246297e-10,1.1856014781042035e-10,1.2151082917633005e-10,1.2442885610752796e-10,1.2731647680563896e-10,1.3017574518325858e-10,1.330085347417409e-10,1.3581656632677408e-10,1.386014220061682e-10,1.413645728254309e-10,1.4410737880776736e-10,1.4683107507629245e-10,1.4953686899854546e-10,1.522258291641876e-10,1.5489899640730442e-10,1.575573282952547e-10,1.6020171300645814e-10,1.628330109637588e-10,1.6545202707884954e-10,1.68059510752272e-10,1.7065616975120435e-10,1.73242697965037e-10,1.758197337720091e-10,1.783878739169964e-10,1.8094774290045024e-10,1.834998542005195e-10,1.8604476292871652e-10,1.8858298256319017e-10,1.9111498494872592e-10,1.9364125580789704e-10,1.9616222535212557e-10,1.9867835154840918e-10,2.011900368525943e-10,2.0369768372052732e-10,2.062016807302669e-10,2.0870240258208383e-10,2.1120022397624894e-10,2.136955057352452e-10,2.1618855317040442e-10,2.1867974098199738e-10,2.2116936060356807e-10,2.2365774510202385e-10,2.2614519978869652e-10,2.2863201609713002e-10,2.3111849933865614e-10,2.3360494094681883e-10,2.3609159072179864e-10,2.3857874009713953e-10,2.4106666662859766e-10,2.4355562011635357e-10,2.460458781161634e-10,2.485376904282077e-10,2.5103127909709144e-10,2.5352694943414633e-10,2.560248957284017e-10,2.585253955356137e-10,2.610286709003873e-10,2.6353494386732734e-10,2.6604446423661443e-10,2.6855745405285347e-10,2.71074163116225e-10,2.7359478571575835e-10,2.7611959940720965e-10,2.786487707240326e-10,2.8118254946640775e-10,2.8372118543451563e-10,2.8626484516180994e-10,2.8881380620404684e-10,2.9136826285025563e-10,2.9392840938946563e-10,2.96494523377433e-10,2.990667713476114e-10,3.016454031001814e-10,3.042306406797479e-10,3.068226783753403e-10,3.09421765987139e-10,3.12028125559749e-10,3.1464195138219964e-10,3.17263521010247e-10,3.1989300097734485e-10,3.225306410836737e-10,3.2517669112941405e-10,3.2783134540359526e-10,3.3049485370639786e-10,3.3316743808242677e-10,3.3584937608743815e-10,3.385408342548857e-10,3.4124211789610115e-10,3.4395342130011386e-10,3.4667499426710435e-10,3.494071143528288e-10,3.521500313574677e-10,3.54903967325626e-10,3.576691720574843e-10,3.6044595086437425e-10,3.632345535464765e-10,3.660352021483959e-10,3.688482297370399e-10,3.716738583570134e-10,3.7451239331964814e-10,3.773641121807003e-10,3.802292924959261e-10,3.831082673322328e-10,3.8600128648980103e-10,3.8890865527996255e-10,3.9183070676962473e-10,3.9476774627011935e-10,3.977200790927782e-10,4.006880383045086e-10,4.0367195697221803e-10,4.066721681628138e-10,4.0968900494320337e-10,4.127228558914453e-10,4.15774054074447e-10,4.188429603146915e-10,4.2192993543466173e-10,4.25035395767992e-10,4.2815970213716525e-10,4.313032986313914e-10,4.3446651831757777e-10,4.376498607960855e-10,4.408536868893975e-10,4.4407846844229937e-10,4.4732464954400086e-10,4.5059267428371186e-10,4.538830145062178e-10,4.5719619756745544e-10,4.605326675566346e-10,4.638929240741163e-10,4.672775499869886e-10,4.706869893844612e-10,4.74121908400349e-10,4.775827511238617e-10,4.810701836888143e-10,4.845848167178701e-10,4.881271498113904e-10,4.916979601254923e-10,4.952977472605369e-10,4.989272883726414e-10,5.025872495956207e-10,5.062783525744408e-10,5.100013189540675e-10,5.13756870379467e-10,5.175458395179078e-10,5.21369003525507e-10,5.252272505806843e-10,5.29121357839557e-10,5.330522134805449e-10,5.3702081670437e-10,5.41028055689452e-10,5.450749851476644e-10,5.491624932574268e-10,5.532918012640664e-10,5.574638528571541e-10,5.616799247931681e-10,5.659410717839819e-10,5.702485705860738e-10,5.746036979559221e-10,5.790077306500052e-10,5.83462111958255e-10,5.879682296594524e-10,5.925275825546805e-10,5.971417249561739e-10,6.01812211176167e-10,6.065408175714992e-10,6.113292094767075e-10,6.16179329782085e-10,6.21092954844471e-10,6.260721940876124e-10,6.311191569352559e-10,6.362359528111483e-10,6.414249686947926e-10,6.466885360545405e-10,6.520292639144998e-10,6.574497612987784e-10,6.629528592760892e-10,6.685415554485985e-10,6.742187919073217e-10,6.799880103436351e-10,6.858525969377638e-10,6.918161599145378e-10,6.978825850545434e-10,7.040559801829716e-10,7.103406751696184e-10,7.167412219288849e-10,7.232625609532306e-10,7.2990985477972e-10,7.366885990123251e-10,7.436047333442275e-10,7.506645305355164e-10,7.57874762946642e-10,7.652426470272644e-10,7.727759543385559e-10,7.804830115532013e-10,7.883728114777e-10,7.964550685635174e-10,8.047402189070851e-10,8.132396422944055e-10,8.219657177122031e-10,8.309318788590758e-10,8.401527806789488e-10,8.496445214056791e-10,8.594246980742071e-10,8.695127395874636e-10,8.799300732498239e-10,8.90700457834015e-10,9.01850316648023e-10,9.134091816243028e-10,9.254100818978372e-10,9.37890431984556e-10,9.508922538259412e-10,9.64463842123564e-10,9.78660263939446e-10,9.935448019859905e-10,1.0091912860943353e-09,1.0256859805934937e-09,1.0431305819125214e-09,1.0616465484503124e-09,1.0813799855569073e-09,1.1025096391392708e-09,1.1252564435793033e-09,1.149898620766976e-09,1.176793218427008e-09,1.2064089727203964e-09,1.2393785997488749e-09,1.2765849488616254e-09,1.319313880365769e-09,1.36954347862428e-09,1.4305497897382224e-09,1.5083649884672923e-09,1.6160853766322703e-09,1.7921247819074893e-09]);E=$toNativeArray($kindFloat32,[1,0.9381436705589294,0.900469958782196,0.8717043399810791,0.847785472869873,0.8269932866096497,0.8084216713905334,0.7915276288986206,0.7759568691253662,0.7614634037017822,0.7478685975074768,0.7350381016731262,0.7228676676750183,0.7112747430801392,0.7001926302909851,0.6895664930343628,0.6793505549430847,0.669506311416626,0.6600008606910706,0.6508058309555054,0.6418967247009277,0.633251965045929,0.62485271692276,0.6166821718215942,0.608725368976593,0.6009689569473267,0.5934008955955505,0.5860103368759155,0.5787873864173889,0.5717230439186096,0.5648092031478882,0.5580382943153381,0.5514034032821655,0.5448982119560242,0.5385168790817261,0.5322538614273071,0.526104211807251,0.5200631618499756,0.5141264200210571,0.5082897543907166,0.5025495290756226,0.4969019889831543,0.4913438558578491,0.4858720004558563,0.48048335313796997,0.4751752018928528,0.4699448347091675,0.4647897481918335,0.4597076177597046,0.4546961486339569,0.4497532546520233,0.44487687945365906,0.4400651156902313,0.4353161156177521,0.4306281507015228,0.42599955201148987,0.42142874002456665,0.4169141948223114,0.4124544560909271,0.40804818272590637,0.4036940038204193,0.39939069747924805,0.3951369822025299,0.39093172550201416,0.38677382469177246,0.38266217708587646,0.378595769405365,0.37457355856895447,0.37059465050697327,0.366658091545105,0.362762987613678,0.358908474445343,0.35509374737739563,0.35131800174713135,0.3475804924964905,0.34388044476509094,0.34021714329719543,0.33658990263938904,0.3329980671405792,0.3294409513473511,0.32591795921325684,0.32242849469184875,0.3189719021320343,0.3155476748943329,0.31215524673461914,0.3087940812110901,0.30546361207962036,0.30216339230537415,0.29889291524887085,0.29565170407295227,0.2924392819404602,0.2892552316188812,0.28609907627105713,0.2829704284667969,0.27986884117126465,0.2767939269542694,0.2737452983856201,0.2707225978374481,0.26772540807724,0.26475343108177185,0.2618062496185303,0.258883535861969,0.2559850215911865,0.25311028957366943,0.25025907158851624,0.24743106961250305,0.2446259707212448,0.24184346199035645,0.23908329010009766,0.23634515702724457,0.2336287796497345,0.23093391954898834,0.22826029360294342,0.22560766339302063,0.22297576069831848,0.22036437690258026,0.21777324378490448,0.21520215272903442,0.212650865316391,0.21011915802955627,0.20760682225227356,0.20511364936828613,0.20263944566249847,0.20018397271633148,0.19774706661701202,0.1953285187482834,0.19292815029621124,0.19054576754570007,0.18818120658397675,0.18583425879478455,0.18350479006767273,0.18119260668754578,0.17889754474163055,0.17661945521831512,0.17435817420482635,0.1721135377883911,0.16988539695739746,0.16767361760139465,0.16547803580760956,0.16329853236675262,0.16113494336605072,0.1589871346950531,0.15685498714447021,0.15473836660385132,0.15263713896274567,0.1505511850118637,0.1484803706407547,0.14642459154129028,0.1443837285041809,0.14235764741897583,0.1403462439775467,0.13834942877292633,0.136367067694664,0.13439907133579254,0.1324453204870224,0.1305057406425476,0.12858019769191742,0.12666863203048706,0.12477091699838638,0.12288697808980942,0.1210167184472084,0.11916005611419678,0.11731690168380737,0.11548716574907303,0.11367076635360718,0.11186762899160385,0.11007767915725708,0.1083008274435997,0.10653700679540634,0.10478614270687103,0.1030481606721878,0.10132300108671188,0.0996105819940567,0.09791085124015808,0.09622374176979065,0.09454918652772903,0.09288713335990906,0.09123751521110535,0.08960027992725372,0.08797537535429001,0.08636274188756943,0.0847623273730278,0.08317409455776215,0.08159798383712769,0.08003395050764084,0.07848194986581802,0.07694194465875626,0.07541389018297195,0.07389774918556213,0.07239348441362381,0.070901058614254,0.06942043453454971,0.06795158982276917,0.06649449467658997,0.06504911929368973,0.06361543387174606,0.06219341605901718,0.06078304722905159,0.0593843050301075,0.05799717456102371,0.05662164092063904,0.05525768920779228,0.05390531197190285,0.05256449431180954,0.05123523622751236,0.04991753399372101,0.04861138388514519,0.047316793352365494,0.04603376239538193,0.044762298464775085,0.04350241273641586,0.04225412383675575,0.04101744294166565,0.039792392402887344,0.03857899457216263,0.03737728297710419,0.03618728369474411,0.03500903770327568,0.03384258225560188,0.0326879620552063,0.031545232981443405,0.030414443463087082,0.0292956605553627,0.028188949450850487,0.027094384655356407,0.02601204626262188,0.024942025542259216,0.023884421214461327,0.022839335724711418,0.021806888282299042,0.020787203684449196,0.019780423492193222,0.018786700442433357,0.017806200310587883,0.016839107498526573,0.015885621309280396,0.014945968054234982,0.01402039173990488,0.013109165243804455,0.012212592177093029,0.011331013403832912,0.010464809834957123,0.009614413604140282,0.008780314587056637,0.007963077165186405,0.007163353264331818,0.0063819061033427715,0.005619642324745655,0.004877655766904354,0.004157294984906912,0.003460264764726162,0.0027887988835573196,0.0021459676790982485,0.001536299823783338,0.0009672692976891994,0.0004541343660093844]);G=$toNativeArray($kindUint32,[1991057938,0,1611602771,1826899878,1918584482,1969227037,2001281515,2023368125,2039498179,2051788381,2061460127,2069267110,2075699398,2081089314,2085670119,2089610331,2093034710,2096037586,2098691595,2101053571,2103168620,2105072996,2106796166,2108362327,2109791536,2111100552,2112303493,2113412330,2114437283,2115387130,2116269447,2117090813,2117856962,2118572919,2119243101,2119871411,2120461303,2121015852,2121537798,2122029592,2122493434,2122931299,2123344971,2123736059,2124106020,2124456175,2124787725,2125101763,2125399283,2125681194,2125948325,2126201433,2126441213,2126668298,2126883268,2127086657,2127278949,2127460589,2127631985,2127793506,2127945490,2128088244,2128222044,2128347141,2128463758,2128572095,2128672327,2128764606,2128849065,2128925811,2128994934,2129056501,2129110560,2129157136,2129196237,2129227847,2129251929,2129268426,2129277255,2129278312,2129271467,2129256561,2129233410,2129201800,2129161480,2129112170,2129053545,2128985244,2128906855,2128817916,2128717911,2128606255,2128482298,2128345305,2128194452,2128028813,2127847342,2127648860,2127432031,2127195339,2126937058,2126655214,2126347546,2126011445,2125643893,2125241376,2124799783,2124314271,2123779094,2123187386,2122530867,2121799464,2120980787,2120059418,2119015917,2117825402,2116455471,2114863093,2112989789,2110753906,2108037662,2104664315,2100355223,2094642347,2086670106,2074676188,2054300022,2010539237]);H=$toNativeArray($kindFloat32,[1.7290404663583558e-09,1.2680928529462676e-10,1.689751810696194e-10,1.9862687883343e-10,2.223243117382978e-10,2.4244936613904144e-10,2.601613091623989e-10,2.761198769629658e-10,2.9073962681813725e-10,3.042996965518796e-10,3.169979556627567e-10,3.289802041894774e-10,3.4035738116777736e-10,3.5121602848242617e-10,3.61625090983253e-10,3.7164057942185025e-10,3.813085680537398e-10,3.906675816178762e-10,3.997501218933053e-10,4.0858399996679395e-10,4.1719308563337165e-10,4.255982233303257e-10,4.3381759295968436e-10,4.4186720948857783e-10,4.497613115272969e-10,4.57512583373898e-10,4.6513240481438345e-10,4.726310454117311e-10,4.800177477726209e-10,4.873009773476156e-10,4.944885056978876e-10,5.015873272284921e-10,5.086040477664255e-10,5.155446070048697e-10,5.224146670812502e-10,5.292193350214802e-10,5.359634958068682e-10,5.426517013518151e-10,5.492881705038144e-10,5.558769555769061e-10,5.624218868405251e-10,5.689264614971989e-10,5.75394121238304e-10,5.818281967329142e-10,5.882316855831959e-10,5.946076964136182e-10,6.009590047817426e-10,6.072883862451306e-10,6.135985053390414e-10,6.19892026598734e-10,6.261713370037114e-10,6.324390455780815e-10,6.386973727678935e-10,6.449488165749528e-10,6.511955974453087e-10,6.574400468473129e-10,6.636843297158634e-10,6.699307220081607e-10,6.761814441702541e-10,6.824387166481927e-10,6.887046488657234e-10,6.949815167800466e-10,7.012714853260604e-10,7.075767749498141e-10,7.13899661608508e-10,7.202424212593428e-10,7.266072743483676e-10,7.329966078550854e-10,7.394128087589991e-10,7.458582640396116e-10,7.523354716987285e-10,7.588469852493063e-10,7.653954137154528e-10,7.719834771435785e-10,7.786139510912449e-10,7.852897221383159e-10,7.920137878869582e-10,7.987892014504894e-10,8.056192379868321e-10,8.125072836762115e-10,8.194568912323064e-10,8.264716688799467e-10,8.3355555791087e-10,8.407127216614185e-10,8.479473234679347e-10,8.552640262671218e-10,8.626675485068347e-10,8.701631637464402e-10,8.777562010564566e-10,8.854524335966119e-10,8.932581896381464e-10,9.011799639857543e-10,9.092249730890956e-10,9.174008219758889e-10,9.25715837318819e-10,9.341788453909317e-10,9.42799727177146e-10,9.515889187738935e-10,9.605578554783278e-10,9.697193048552322e-10,9.790869226478094e-10,9.886760299337993e-10,9.985036131254788e-10,1.008588212947359e-09,1.0189509236369076e-09,1.0296150598776421e-09,1.040606933955246e-09,1.0519566329136865e-09,1.0636980185552147e-09,1.0758701707302976e-09,1.0885182755160372e-09,1.101694735439196e-09,1.115461056855338e-09,1.1298901814171813e-09,1.1450695946990663e-09,1.1611052119775422e-09,1.178127595480305e-09,1.1962995039027646e-09,1.2158286599728285e-09,1.2369856250415978e-09,1.2601323318151003e-09,1.2857697129220469e-09,1.3146201904845611e-09,1.3477839955200466e-09,1.3870635751089821e-09,1.43574030442295e-09,1.5008658760251592e-09,1.6030947680434338e-09]);I=$toNativeArray($kindFloat32,[1,0.963599681854248,0.9362826943397522,0.9130436182022095,0.8922816514968872,0.8732430338859558,0.8555005788803101,0.8387836217880249,0.8229072093963623,0.8077383041381836,0.7931770086288452,0.7791460752487183,0.7655841708183289,0.7524415850639343,0.7396772503852844,0.7272568941116333,0.7151514887809753,0.7033361196517944,0.6917891502380371,0.6804918646812439,0.6694276928901672,0.6585819721221924,0.6479418277740479,0.6374954581260681,0.6272324919700623,0.6171433925628662,0.6072195172309875,0.5974531769752502,0.5878370404243469,0.5783646702766418,0.5690299868583679,0.5598273873329163,0.550751805305481,0.5417983531951904,0.5329626798629761,0.5242405533790588,0.5156282186508179,0.5071220397949219,0.49871864914894104,0.4904148280620575,0.48220765590667725,0.47409430146217346,0.466072142124176,0.45813870429992676,0.45029163360595703,0.44252872467041016,0.4348478317260742,0.42724698781967163,0.41972434520721436,0.41227802634239197,0.40490642189979553,0.39760786294937134,0.3903807997703552,0.3832238018512726,0.3761354684829712,0.3691144585609436,0.36215949058532715,0.3552693724632263,0.3484429717063904,0.3416791558265686,0.33497685194015503,0.32833510637283325,0.3217529058456421,0.3152293860912323,0.30876362323760986,0.3023548424243927,0.2960021495819092,0.2897048592567444,0.28346219658851624,0.2772735059261322,0.271138072013855,0.2650552988052368,0.25902456045150757,0.25304529070854187,0.24711695313453674,0.24123899638652802,0.23541094362735748,0.22963231801986694,0.22390270233154297,0.21822164952754974,0.21258877217769623,0.20700371265411377,0.20146611332893372,0.1959756463766098,0.19053204357624054,0.18513499200344086,0.17978426814079285,0.1744796335697174,0.16922089457511902,0.16400785744190216,0.1588403731584549,0.15371830761432648,0.14864157140254974,0.14361007511615753,0.13862377405166626,0.13368265330791473,0.12878671288490295,0.12393598258495331,0.11913054436445236,0.11437050998210907,0.10965602099895477,0.1049872562289238,0.10036443918943405,0.09578784555196762,0.09125780314207077,0.08677466958761215,0.08233889937400818,0.07795098423957825,0.07361150532960892,0.06932111829519272,0.06508058309555054,0.06089077144861221,0.05675266310572624,0.05266740173101425,0.048636294901371,0.044660862535238266,0.040742866694927216,0.03688438981771469,0.03308788686990738,0.029356317594647408,0.025693291798233986,0.02210330404341221,0.018592102453112602,0.015167297795414925,0.011839478276669979,0.0086244847625494,0.005548994988203049,0.0026696291752159595]);AC=$toNativeArray($kindInt64,[new $Int64(1173834291,3952672746),new $Int64(1081821761,3130416987),new $Int64(324977939,3414273807),new $Int64(1241840476,2806224363),new $Int64(669549340,1997590414),new $Int64(2103305448,2402795971),new $Int64(1663160183,1140819369),new $Int64(1120601685,1788868961),new $Int64(1848035537,1089001426),new $Int64(1235702047,873593504),new $Int64(1911387977,581324885),new $Int64(492609478,1609182556),new $Int64(1069394745,1241596776),new $Int64(1895445337,1771189259),new $Int64(772864846,3467012610),new $Int64(2006957225,2344407434),new $Int64(402115761,782467244),new $Int64(26335124,3404933915),new $Int64(1063924276,618867887),new $Int64(1178782866,520164395),new $Int64(555910815,1341358184),new $Int64(632398609,665794848),new $Int64(1527227641,3183648150),new $Int64(1781176124,696329606),new $Int64(1789146075,4151988961),new $Int64(60039534,998951326),new $Int64(1535158725,1364957564),new $Int64(63173359,4090230633),new $Int64(649454641,4009697548),new $Int64(248009524,2569622517),new $Int64(778703922,3742421481),new $Int64(1038377625,1506914633),new $Int64(1738099768,1983412561),new $Int64(236311649,1436266083),new $Int64(1035966148,3922894967),new $Int64(810508934,1792680179),new $Int64(563141142,1188796351),new $Int64(1349617468,405968250),new $Int64(1044074554,433754187),new $Int64(870549669,4073162024),new $Int64(1053232044,433121399),new $Int64(2451824,4162580594),new $Int64(2010221076,4132415622),new $Int64(611252600,3033822028),new $Int64(2016407895,824682382),new $Int64(2366218,3583765414),new $Int64(1522878809,535386927),new $Int64(1637219058,2286693689),new $Int64(1453075389,2968466525),new $Int64(193683513,1351410206),new $Int64(1863677552,1412813499),new $Int64(492736522,4126267639),new $Int64(512765208,2105529399),new $Int64(2132966268,2413882233),new $Int64(947457634,32226200),new $Int64(1149341356,2032329073),new $Int64(106485445,1356518208),new $Int64(79673492,3430061722),new $Int64(663048513,3820169661),new $Int64(481498454,2981816134),new $Int64(1017155588,4184371017),new $Int64(206574701,2119206761),new $Int64(1295374591,2472200560),new $Int64(1587026100,2853524696),new $Int64(1307803389,1681119904),new $Int64(1972496813,95608918),new $Int64(392686347,3690479145),new $Int64(941912722,1397922290),new $Int64(988169623,1516129515),new $Int64(1827305493,1547420459),new $Int64(1311333971,1470949486),new $Int64(194013850,1336785672),new $Int64(2102397034,4131677129),new $Int64(755205548,4246329084),new $Int64(1004983461,3788585631),new $Int64(2081005363,3080389532),new $Int64(1501045284,2215402037),new $Int64(391002300,1171593935),new $Int64(1408774047,1423855166),new $Int64(1628305930,2276716302),new $Int64(1779030508,2068027241),new $Int64(1369359303,3427553297),new $Int64(189241615,3289637845),new $Int64(1057480830,3486407650),new $Int64(634572984,3071877822),new $Int64(1159653919,3363620705),new $Int64(1213226718,4159821533),new $Int64(2070861710,1894661),new $Int64(1472989750,1156868282),new $Int64(348271067,776219088),new $Int64(1646054810,2425634259),new $Int64(1716021749,680510161),new $Int64(1573220192,1310101429),new $Int64(1095885995,2964454134),new $Int64(1821788136,3467098407),new $Int64(1990672920,2109628894),new $Int64(7834944,1232604732),new $Int64(309412934,3261916179),new $Int64(1699175360,434597899),new $Int64(235436061,1624796439),new $Int64(521080809,3589632480),new $Int64(1198416575,864579159),new $Int64(208735487,1380889830),new $Int64(619206309,2654509477),new $Int64(1419738251,1468209306),new $Int64(403198876,100794388),new $Int64(956062190,2991674471),new $Int64(1938816907,2224662036),new $Int64(1973824487,977097250),new $Int64(1351320195,726419512),new $Int64(1964023751,1747974366),new $Int64(1394388465,1556430604),new $Int64(1097991433,1080776742),new $Int64(1761636690,280794874),new $Int64(117767733,919835643),new $Int64(1180474222,3434019658),new $Int64(196069168,2461941785),new $Int64(133215641,3615001066),new $Int64(417204809,3103414427),new $Int64(790056561,3380809712),new $Int64(879802240,2724693469),new $Int64(547796833,598827710),new $Int64(300924196,3452273442),new $Int64(2071705424,649274915),new $Int64(1346182319,2585724112),new $Int64(636549385,3165579553),new $Int64(1185578221,2635894283),new $Int64(2094573470,2053289721),new $Int64(985976581,3169337108),new $Int64(1170569632,144717764),new $Int64(1079216270,1383666384),new $Int64(2022678706,681540375),new $Int64(1375448925,537050586),new $Int64(182715304,315246468),new $Int64(226402871,849323088),new $Int64(1262421183,45543944),new $Int64(1201038398,2319052083),new $Int64(2106775454,3613090841),new $Int64(560472520,2992171180),new $Int64(1765620479,2068244785),new $Int64(917538188,4239862634),new $Int64(777927839,3892253031),new $Int64(720683925,958186149),new $Int64(1724185863,1877702262),new $Int64(1357886971,837674867),new $Int64(1837048883,1507589294),new $Int64(1905518400,873336795),new $Int64(267722611,2764496274),new $Int64(341003118,4196182374),new $Int64(1080717893,550964545),new $Int64(818747069,420611474),new $Int64(222653272,204265180),new $Int64(1549974541,1787046383),new $Int64(1215581865,3102292318),new $Int64(418321538,1552199393),new $Int64(1243493047,980542004),new $Int64(267284263,3293718720),new $Int64(1179528763,3771917473),new $Int64(599484404,2195808264),new $Int64(252818753,3894702887),new $Int64(780007692,2099949527),new $Int64(1424094358,338442522),new $Int64(490737398,637158004),new $Int64(419862118,281976339),new $Int64(574970164,3619802330),new $Int64(1715552825,3084554784),new $Int64(882872465,4129772886),new $Int64(43084605,1680378557),new $Int64(525521057,3339087776),new $Int64(1680500332,4220317857),new $Int64(211654685,2959322499),new $Int64(1675600481,1488354890),new $Int64(1312620086,3958162143),new $Int64(920972075,2773705983),new $Int64(1876039582,225908689),new $Int64(963748535,908216283),new $Int64(1541787429,3574646075),new $Int64(319760557,1936937569),new $Int64(1519770881,75492235),new $Int64(816689472,1935193178),new $Int64(2142521206,2018250883),new $Int64(455141620,3943126022),new $Int64(1546084160,3066544345),new $Int64(1932392669,2793082663),new $Int64(908474287,3297036421),new $Int64(1640597065,2206987825),new $Int64(1594236910,807894872),new $Int64(366158341,766252117),new $Int64(2060649606,3833114345),new $Int64(845619743,1255067973),new $Int64(1201145605,741697208),new $Int64(671241040,2810093753),new $Int64(1109032642,4229340371),new $Int64(1462188720,1361684224),new $Int64(988084219,1906263026),new $Int64(475781207,3904421704),new $Int64(1523946520,1769075545),new $Int64(1062308525,2621599764),new $Int64(1279509432,3431891480),new $Int64(404732502,1871896503),new $Int64(128756421,1412808876),new $Int64(1605404688,952876175),new $Int64(1917039957,1824438899),new $Int64(1662295856,1005035476),new $Int64(1990909507,527508597),new $Int64(1288873303,3066806859),new $Int64(565995893,3244940914),new $Int64(1257737460,209092916),new $Int64(1899814242,1242699167),new $Int64(1433653252,456723774),new $Int64(1776978905,1001252870),new $Int64(1468772157,2026725874),new $Int64(857254202,2137562569),new $Int64(765939740,3183366709),new $Int64(1533887628,2612072960),new $Int64(56977098,1727148468),new $Int64(949899753,3803658212),new $Int64(1883670356,479946959),new $Int64(685713571,1562982345),new $Int64(201241205,1766109365),new $Int64(700596547,3257093788),new $Int64(1962768719,2365720207),new $Int64(93384808,3742754173),new $Int64(1689098413,2878193673),new $Int64(1096135042,2174002182),new $Int64(1313222695,3573511231),new $Int64(1392911121,1760299077),new $Int64(771856457,2260779833),new $Int64(1281464374,1452805722),new $Int64(917811730,2940011802),new $Int64(1890251082,1886183802),new $Int64(893897673,2514369088),new $Int64(1644345561,3924317791),new $Int64(172616216,500935732),new $Int64(1403501753,676580929),new $Int64(581571365,1184984890),new $Int64(1455515235,1271474274),new $Int64(318728910,3163791473),new $Int64(2051027584,2842487377),new $Int64(1511537551,2170968612),new $Int64(573262976,3535856740),new $Int64(94256461,1488599718),new $Int64(966951817,3408913763),new $Int64(60951736,2501050084),new $Int64(1272353200,1639124157),new $Int64(138001144,4088176393),new $Int64(1574896563,3989947576),new $Int64(1982239940,3414355209),new $Int64(1355154361,2275136352),new $Int64(89709303,2151835223),new $Int64(1216338715,1654534827),new $Int64(1467562197,377892833),new $Int64(1664767638,660204544),new $Int64(85706799,390828249),new $Int64(725310955,3402783878),new $Int64(678849488,3717936603),new $Int64(1113532086,2211058823),new $Int64(1564224320,2692150867),new $Int64(1952770442,1928910388),new $Int64(788716862,3931011137),new $Int64(1083670504,1112701047),new $Int64(2079333076,2452299106),new $Int64(1251318826,2337204777),new $Int64(1774877857,273889282),new $Int64(1798719843,1462008793),new $Int64(2138834788,1554494002),new $Int64(952516517,182675323),new $Int64(548928884,1882802136),new $Int64(589279648,3700220025),new $Int64(381039426,3083431543),new $Int64(1295624457,3622207527),new $Int64(338126939,432729309),new $Int64(480013522,2391914317),new $Int64(297925497,235747924),new $Int64(2120733629,3088823825),new $Int64(1402403853,2314658321),new $Int64(1165929723,2957634338),new $Int64(501323675,4117056981),new $Int64(1564699815,1482500298),new $Int64(1406657158,840489337),new $Int64(799522364,3483178565),new $Int64(532129761,2074004656),new $Int64(724246478,3643392642),new $Int64(1482330167,1583624461),new $Int64(1261660694,287473085),new $Int64(1667835381,3136843981),new $Int64(1138806821,1266970974),new $Int64(135185781,1998688839),new $Int64(392094735,1492900209),new $Int64(1031326774,1538112737),new $Int64(76914806,2207265429),new $Int64(260686035,963263315),new $Int64(1671145500,2295892134),new $Int64(1068469660,2002560897),new $Int64(1791233343,1369254035),new $Int64(33436120,3353312708),new $Int64(57507843,947771099),new $Int64(201728503,1747061399),new $Int64(1507240140,2047354631),new $Int64(720000810,4165367136),new $Int64(479265078,3388864963),new $Int64(1195302398,286492130),new $Int64(2045622690,2795735007),new $Int64(1431753082,3703961339),new $Int64(1999047161,1797825479),new $Int64(1429039600,1116589674),new $Int64(482063550,2593309206),new $Int64(1329049334,3404995677),new $Int64(1396904208,3453462936),new $Int64(1014767077,3016498634),new $Int64(75698599,1650371545),new $Int64(1592007860,212344364),new $Int64(1127766888,3843932156),new $Int64(1399463792,3573129983),new $Int64(1256901817,665897820),new $Int64(1071492673,1675628772),new $Int64(243225682,2831752928),new $Int64(2120298836,1486294219),new $Int64(193076235,268782709),new $Int64(1145360145,4186179080),new $Int64(624342951,1613720397),new $Int64(857179861,2703686015),new $Int64(1235864944,2205342611),new $Int64(1474779655,1411666394),new $Int64(619028749,677744900),new $Int64(270855115,4172867247),new $Int64(135494707,2163418403),new $Int64(849547544,2841526879),new $Int64(1029966689,1082141470),new $Int64(377371856,4046134367),new $Int64(51415528,2142943655),new $Int64(1897659315,3124627521),new $Int64(998228909,219992939),new $Int64(1068692697,1756846531),new $Int64(1283749206,1225118210),new $Int64(1621625642,1647770243),new $Int64(111523943,444807907),new $Int64(2036369448,3952076173),new $Int64(53201823,1461839639),new $Int64(315761893,3699250910),new $Int64(702974850,1373688981),new $Int64(734022261,147523747),new $Int64(100152742,1211276581),new $Int64(1294440951,2548832680),new $Int64(1144696256,1995631888),new $Int64(154500578,2011457303),new $Int64(796460974,3057425772),new $Int64(667839456,81484597),new $Int64(465502760,3646681560),new $Int64(775020923,635548515),new $Int64(602489502,2508044581),new $Int64(353263531,1014917157),new $Int64(719992433,3214891315),new $Int64(852684611,959582252),new $Int64(226415134,3347040449),new $Int64(1784615552,4102971975),new $Int64(397887437,4078022210),new $Int64(1610679822,2851767182),new $Int64(749162636,1540160644),new $Int64(598384772,1057290595),new $Int64(2034890660,3907769253),new $Int64(579300318,4248952684),new $Int64(1092907599,132554364),new $Int64(1061621234,1029351092),new $Int64(697840928,2583007416),new $Int64(298619124,1486185789),new $Int64(55905697,2871589073),new $Int64(2017643612,723203291),new $Int64(146250550,2494333952),new $Int64(1064490251,2230939180),new $Int64(342915576,3943232912),new $Int64(1768732449,2181367922),new $Int64(1418222537,2889274791),new $Int64(1824032949,2046728161),new $Int64(1653899792,1376052477),new $Int64(1022327048,381236993),new $Int64(1034385958,3188942166),new $Int64(2073003539,350070824),new $Int64(144881592,61758415),new $Int64(1405659422,3492950336),new $Int64(117440928,3093818430),new $Int64(1693893113,2962480613),new $Int64(235432940,3154871160),new $Int64(511005079,3228564679),new $Int64(610731502,888276216),new $Int64(1200780674,3574998604),new $Int64(870415268,1967526716),new $Int64(591335707,1554691298),new $Int64(574459414,339944798),new $Int64(1223764147,1154515356),new $Int64(1825645307,967516237),new $Int64(1546195135,596588202),new $Int64(279882768,3764362170),new $Int64(492091056,266611402),new $Int64(1754227768,2047856075),new $Int64(1146757215,21444105),new $Int64(1198058894,3065563181),new $Int64(1915064845,1140663212),new $Int64(633187674,2323741028),new $Int64(2126290159,3103873707),new $Int64(1008658319,2766828349),new $Int64(1661896145,1970872996),new $Int64(1628585413,3766615585),new $Int64(1552335120,2036813414),new $Int64(152606527,3105536507),new $Int64(13954645,3396176938),new $Int64(1426081645,1377154485),new $Int64(2085644467,3807014186),new $Int64(543009040,3710110597),new $Int64(396058129,916420443),new $Int64(734556788,2103831255),new $Int64(381322154,717331943),new $Int64(572884752,3550505941),new $Int64(45939673,378749927),new $Int64(149867929,611017331),new $Int64(592130075,758907650),new $Int64(1012992349,154266815),new $Int64(1107028706,1407468696),new $Int64(469292398,970098704),new $Int64(1862426162,1971660656),new $Int64(998365243,3332747885),new $Int64(1947089649,1935189867),new $Int64(1510248801,203520055),new $Int64(842317902,3916463034),new $Int64(1758884993,3474113316),new $Int64(1036101639,316544223),new $Int64(373738757,1650844677),new $Int64(1240292229,4267565603),new $Int64(1077208624,2501167616),new $Int64(626831785,3929401789),new $Int64(56122796,337170252),new $Int64(1186981558,2061966842),new $Int64(1843292800,2508461464),new $Int64(206012532,2791377107),new $Int64(1240791848,1227227588),new $Int64(1813978778,1709681848),new $Int64(1153692192,3768820575),new $Int64(1145186199,2887126398),new $Int64(700372314,296561685),new $Int64(700300844,3729960077),new $Int64(575172304,372833036),new $Int64(2078875613,2409779288),new $Int64(1829161290,555274064),new $Int64(1041887929,4239804901),new $Int64(1839403216,3723486978),new $Int64(498390553,2145871984),new $Int64(564717933,3565480803),new $Int64(578829821,2197313814),new $Int64(974785092,3613674566),new $Int64(438638731,3042093666),new $Int64(2050927384,3324034321),new $Int64(869420878,3708873369),new $Int64(946682149,1698090092),new $Int64(1618900382,4213940712),new $Int64(304003901,2087477361),new $Int64(381315848,2407950639),new $Int64(851258090,3942568569),new $Int64(923583198,4088074412),new $Int64(723260036,2964773675),new $Int64(1473561819,1539178386),new $Int64(1062961552,2694849566),new $Int64(460977733,2120273838),new $Int64(542912908,2484608657),new $Int64(880846449,2956190677),new $Int64(1970902366,4223313749),new $Int64(662161910,3502682327),new $Int64(705634754,4133891139),new $Int64(1116124348,1166449596),new $Int64(1038247601,3362705993),new $Int64(93734798,3892921029),new $Int64(1876124043,786869787),new $Int64(1057490746,1046342263),new $Int64(242763728,493777327),new $Int64(1293910447,3304827646),new $Int64(616460742,125356352),new $Int64(499300063,74094113),new $Int64(1351896723,2500816079),new $Int64(1657235204,514015239),new $Int64(1377565129,543520454),new $Int64(107706923,3614531153),new $Int64(2056746300,2356753985),new $Int64(1390062617,2018141668),new $Int64(131272971,2087974891),new $Int64(644556607,3166972343),new $Int64(372256200,1517638666),new $Int64(1212207984,173466846),new $Int64(1451709187,4241513471),new $Int64(733932806,2783126920),new $Int64(1972004134,4167264826),new $Int64(29260506,3907395640),new $Int64(1236582087,1539634186),new $Int64(1551526350,178241987),new $Int64(2034206012,182168164),new $Int64(1044953189,2386154934),new $Int64(1379126408,4077374341),new $Int64(32803926,1732699140),new $Int64(1726425903,1041306002),new $Int64(1860414813,2068001749),new $Int64(1005320202,3208962910),new $Int64(844054010,697710380),new $Int64(638124245,2228431183),new $Int64(1337169671,3554678728),new $Int64(1396494601,173470263),new $Int64(2061597383,3848297795),new $Int64(1220546671,246236185),new $Int64(163293187,2066374846),new $Int64(1771673660,312890749),new $Int64(703378057,3573310289),new $Int64(1548631747,143166754),new $Int64(613554316,2081511079),new $Int64(1197802104,486038032),new $Int64(240999859,2982218564),new $Int64(364901986,1000939191),new $Int64(1902782651,2750454885),new $Int64(1475638791,3375313137),new $Int64(503615608,881302957),new $Int64(638698903,2514186393),new $Int64(443860803,360024739),new $Int64(1399671872,292500025),new $Int64(1381210821,2276300752),new $Int64(521803381,4069087683),new $Int64(208500981,1637778212),new $Int64(720490469,1676670893),new $Int64(1067262482,3855174429),new $Int64(2114075974,2067248671),new $Int64(2058057389,2884561259),new $Int64(1341742553,2456511185),new $Int64(983726246,561175414),new $Int64(427994085,432588903),new $Int64(885133709,4059399550),new $Int64(2054387382,1075014784),new $Int64(413651020,2728058415),new $Int64(1839142064,1299703678),new $Int64(1262333188,2347583393),new $Int64(1285481956,2468164145),new $Int64(989129637,1140014346),new $Int64(2033889184,1936972070),new $Int64(409904655,3870530098),new $Int64(1662989391,1717789158),new $Int64(1914486492,1153452491),new $Int64(1157059232,3948827651),new $Int64(790338018,2101413152),new $Int64(1495744672,3854091229),new $Int64(83644069,4215565463),new $Int64(762206335,1202710438),new $Int64(1582574611,2072216740),new $Int64(705690639,2066751068),new $Int64(33900336,173902580),new $Int64(1405499842,142459001),new $Int64(172391592,1889151926),new $Int64(1648540523,3034199774),new $Int64(1618587731,516490102),new $Int64(93114264,3692577783),new $Int64(68662295,2953948865),new $Int64(1826544975,4041040923),new $Int64(204965672,592046130),new $Int64(1441840008,384297211),new $Int64(95834184,265863924),new $Int64(2101717619,1333136237),new $Int64(1499611781,1406273556),new $Int64(1074670496,426305476),new $Int64(125704633,2750898176),new $Int64(488068495,1633944332),new $Int64(2037723464,3236349343),new $Int64(444060402,4013676611),new $Int64(1718532237,2265047407),new $Int64(1433593806,875071080),new $Int64(1804436145,1418843655),new $Int64(2009228711,451657300),new $Int64(1229446621,1866374663),new $Int64(1653472867,1551455622),new $Int64(577191481,3560962459),new $Int64(1669204077,3347903778),new $Int64(1849156454,2675874918),new $Int64(316128071,2762991672),new $Int64(530492383,3689068477),new $Int64(844089962,4071997905),new $Int64(1508155730,1381702441),new $Int64(2089931018,2373284878),new $Int64(1283216186,2143983064),new $Int64(308739063,1938207195),new $Int64(1754949306,1188152253),new $Int64(1272345009,615870490),new $Int64(742653194,2662252621),new $Int64(1477718295,3839976789),new $Int64(56149435,306752547),new $Int64(720795581,2162363077),new $Int64(2090431015,2767224719),new $Int64(675859549,2628837712),new $Int64(1678405918,2967771969),new $Int64(1694285728,499792248),new $Int64(403352367,4285253508),new $Int64(962357072,2856511070),new $Int64(679471692,2526409716),new $Int64(353777175,1240875658),new $Int64(1232590226,2577342868),new $Int64(1146185433,4136853496),new $Int64(670368674,2403540137),new $Int64(1372824515,1371410668),new $Int64(1970921600,371758825),new $Int64(1706420536,1528834084),new $Int64(2075795018,1504757260),new $Int64(685663576,699052551),new $Int64(1641940109,3347789870),new $Int64(1951619734,3430604759),new $Int64(2119672219,1935601723),new $Int64(966789690,834676166)]);N=M(new AB.Ptr(new B.Mutex.Ptr(),K(new $Int64(0,1))));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/example/blocks/blocks"]=(function(){var $pkg={},A,B,C,G,D,H,I,E,F,J,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,K,P,U,V,AN,AP,AT,AU,AV,AX,BC,BD,BH,BI,M,X,Y,Z,AA,AK,AR,AZ,BA,BF,a,b,L,N,O,Q,R,S,T,W,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AL,AM,AO,AQ,AS,AW,AY,BB,BE,BG,BJ,BK;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/color"];G=$packages["image/jpeg"];D=$packages["math"];H=$packages["math/rand"];I=$packages["strconv"];E=$packages["strings"];F=$packages["sync"];J=$packages["time"];K=$pkg.Field=$newType(0,$kindStruct,"blocks.Field","Field","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(blocks_,flushCount_,onEndFlushing_){this.$val=this;this.blocks=blocks_!==undefined?blocks_:BR.zero();this.flushCount=flushCount_!==undefined?flushCount_:0;this.onEndFlushing=onEndFlushing_!==undefined?onEndFlushing_:$throwNilPointerError;});P=$pkg.fontImageParts=$newType(8,$kindString,"blocks.fontImageParts","fontImageParts","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);U=$pkg.GameState=$newType(0,$kindStruct,"blocks.GameState","GameState","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(SceneManager_,Input_){this.$val=this;this.SceneManager=SceneManager_!==undefined?SceneManager_:BX.nil;this.Input=Input_!==undefined?Input_:BY.nil;});V=$pkg.Game=$newType(0,$kindStruct,"blocks.Game","Game","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(once_,sceneManager_,input_){this.$val=this;this.once=once_!==undefined?once_:new F.Once.Ptr();this.sceneManager=sceneManager_!==undefined?sceneManager_:BX.nil;this.input=input_!==undefined?input_:BY.nil;});AN=$pkg.GameScene=$newType(0,$kindStruct,"blocks.GameScene","GameScene","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(field_,rand_,currentPiece_,currentPieceX_,currentPieceY_,currentPieceYCarry_,currentPieceAngle_,nextPiece_,landingCount_,currentFrame_,score_,lines_,gameover_){this.$val=this;this.field=field_!==undefined?field_:BZ.nil;this.rand=rand_!==undefined?rand_:CA.nil;this.currentPiece=currentPiece_!==undefined?currentPiece_:CB.nil;this.currentPieceX=currentPieceX_!==undefined?currentPieceX_:0;this.currentPieceY=currentPieceY_!==undefined?currentPieceY_:0;this.currentPieceYCarry=currentPieceYCarry_!==undefined?currentPieceYCarry_:0;this.currentPieceAngle=currentPieceAngle_!==undefined?currentPieceAngle_:0;this.nextPiece=nextPiece_!==undefined?nextPiece_:CB.nil;this.landingCount=landingCount_!==undefined?landingCount_:0;this.currentFrame=currentFrame_!==undefined?currentFrame_:0;this.score=score_!==undefined?score_:0;this.lines=lines_!==undefined?lines_:0;this.gameover=gameover_!==undefined?gameover_:false;});AP=$pkg.Input=$newType(0,$kindStruct,"blocks.Input","Input","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(states_){this.$val=this;this.states=states_!==undefined?states_:false;});AT=$pkg.Angle=$newType(4,$kindInt,"blocks.Angle","Angle","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);AU=$pkg.BlockType=$newType(4,$kindInt,"blocks.BlockType","BlockType","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);AV=$pkg.Piece=$newType(0,$kindStruct,"blocks.Piece","Piece","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(blockType_,blocks_){this.$val=this;this.blockType=blockType_!==undefined?blockType_:0;this.blocks=blocks_!==undefined?blocks_:BN.nil;});AX=$pkg.blocksImageParts=$newType(12,$kindSlice,"blocks.blocksImageParts","blocksImageParts","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);BC=$pkg.Scene=$newType(8,$kindInterface,"blocks.Scene","Scene","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);BD=$pkg.SceneManager=$newType(0,$kindStruct,"blocks.SceneManager","SceneManager","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(current_,next_,transitionCount_){this.$val=this;this.current=current_!==undefined?current_:$ifaceNil;this.next=next_!==undefined?next_:$ifaceNil;this.transitionCount=transitionCount_!==undefined?transitionCount_:0;});BH=$pkg.titleImageParts=$newType(0,$kindStruct,"blocks.titleImageParts","titleImageParts","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(image_,count_){this.$val=this;this.image=image_!==undefined?image_:BL.nil;this.count=count_!==undefined?count_:0;});BI=$pkg.TitleScene=$newType(0,$kindStruct,"blocks.TitleScene","TitleScene","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(count_,parts_){this.$val=this;this.count=count_!==undefined?count_:0;this.parts=parts_!==undefined?parts_:CD.nil;});L=$pkg.NewField=function(){return new K.Ptr(BR.zero(),0,$throwNilPointerError);};K.Ptr.prototype.IsBlocked=function(c,d){var e,f,g;e=this;if(c<0||10<=c){return true;}if(d<0){return false;}if(20<=d){return true;}return!(((f=(g=e.blocks,((c<0||c>=g.length)?$throwRuntimeError("index out of range"):g[c])),((d<0||d>=f.length)?$throwRuntimeError("index out of range"):f[d]))===0));};K.prototype.IsBlocked=function(c,d){return this.$val.IsBlocked(c,d);};K.Ptr.prototype.collides=function(c,d,e,f){var g;g=this;return c.collides(g,d,e,f);};K.prototype.collides=function(c,d,e,f){return this.$val.collides(c,d,e,f);};K.Ptr.prototype.MovePieceToLeft=function(c,d,e,f){var g;g=this;if(g.collides(c,d-1>>0,e,f)){return d;}return d-1>>0;};K.prototype.MovePieceToLeft=function(c,d,e,f){return this.$val.MovePieceToLeft(c,d,e,f);};K.Ptr.prototype.MovePieceToRight=function(c,d,e,f){var g;g=this;if(g.collides(c,d+1>>0,e,f)){return d;}return d+1>>0;};K.prototype.MovePieceToRight=function(c,d,e,f){return this.$val.MovePieceToRight(c,d,e,f);};K.Ptr.prototype.PieceDroppable=function(c,d,e,f){var g;g=this;return!g.collides(c,d,e+1>>0,f);};K.prototype.PieceDroppable=function(c,d,e,f){return this.$val.PieceDroppable(c,d,e,f);};K.Ptr.prototype.DropPiece=function(c,d,e,f){var g;g=this;if(g.collides(c,d,e+1>>0,f)){return e;}return e+1>>0;};K.prototype.DropPiece=function(c,d,e,f){return this.$val.DropPiece(c,d,e,f);};K.Ptr.prototype.RotatePieceRight=function(c,d,e,f){var g;g=this;if(g.collides(c,d,e,new AT(f).RotateRight())){return f;}return new AT(f).RotateRight();};K.prototype.RotatePieceRight=function(c,d,e,f){return this.$val.RotatePieceRight(c,d,e,f);};K.Ptr.prototype.AbsorbPiece=function(c,d,e,f){var g;g=this;c.AbsorbInto(g,d,e,f);if(g.flushable()){g.flushCount=20;}};K.prototype.AbsorbPiece=function(c,d,e,f){return this.$val.AbsorbPiece(c,d,e,f);};K.Ptr.prototype.Flushing=function(){var c;c=this;return 0>0;}return false;};K.prototype.flushable=function(){return this.$val.flushable();};K.Ptr.prototype.flushableLine=function(c){var d,e,f,g;d=this;e=0;while(e<10){if((f=(g=d.blocks,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e])),((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))===0){return false;}e=e+(1)>>0;}return true;};K.prototype.flushableLine=function(c){return this.$val.flushableLine(c);};K.Ptr.prototype.setBlock=function(c,d,e){var f,g,h;f=this;(g=(h=f.blocks,((c<0||c>=h.length)?$throwRuntimeError("index out of range"):h[c])),(d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d]=e);};K.prototype.setBlock=function(c,d,e){return this.$val.setBlock(c,d,e);};K.Ptr.prototype.endFlushing=function(){var c,d,e;c=this;d=0;e=19;while(0<=e){if(c.flushLine(e+d>>0)){d=d+(1)>>0;}e=e-(1)>>0;}return d;};K.prototype.endFlushing=function(){return this.$val.endFlushing();};K.Ptr.prototype.flushLine=function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p;d=this;e=0;while(e<10){if((f=(g=d.blocks,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e])),((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))===0){return false;}e=e+(1)>>0;}h=c;while(1<=h){i=0;while(i<10){(m=(n=d.blocks,((i<0||i>=n.length)?$throwRuntimeError("index out of range"):n[i])),(h<0||h>=m.length)?$throwRuntimeError("index out of range"):m[h]=(j=(k=d.blocks,((i<0||i>=k.length)?$throwRuntimeError("index out of range"):k[i])),l=h-1>>0,((l<0||l>=j.length)?$throwRuntimeError("index out of range"):j[l])));i=i+(1)>>0;}h=h-(1)>>0;}o=0;while(o<10){(p=d.blocks,((o<0||o>=p.length)?$throwRuntimeError("index out of range"):p[o]))[0]=0;o=o+(1)>>0;}return true;};K.prototype.flushLine=function(c){return this.$val.flushLine(c);};K.Ptr.prototype.Update=function(){var c,d;c=this;if(0<=c.flushCount){c.flushCount=c.flushCount-(1)>>0;if(c.flushCount===0){d=c.endFlushing();if(!(c.onEndFlushing===$throwNilPointerError)){c.onEndFlushing(d);}}}return $ifaceNil;};K.prototype.Update=function(){return this.$val.Update();};K.Ptr.prototype.flushingColor=function(){var c,d,e,f,g,h;c=this;d=new A.ColorM.Ptr(false,BT.zero());e=(c.flushCount/20)/2;d.Concat(A.ScaleColor(1,1,1,e));f=(1-c.flushCount/20)*2;g=(1-c.flushCount/20)/2;h=(1-c.flushCount/20)/2;d.Concat(A.TranslateColor(f,g,h,0));return d;};K.prototype.flushingColor=function(){return this.$val.flushingColor();};K.Ptr.prototype.Draw=function(c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;f=this;g=BV.make(10);h=BV.make(10);i=0;while(i<10){(i<0||i>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+i]=BU.make(20);(i<0||i>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]=BU.make(20);i=i+(1)>>0;}j=0;while(j<20){if(f.flushableLine(j)){k=0;while(k<10){(n=((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]),(j<0||j>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+j]=(l=(m=f.blocks,((k<0||k>=m.length)?$throwRuntimeError("index out of range"):m[k])),((j<0||j>=l.length)?$throwRuntimeError("index out of range"):l[j])));k=k+(1)>>0;}}else{o=0;while(o<10){(r=((o<0||o>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+o]),(j<0||j>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+j]=(p=(q=f.blocks,((o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o])),((j<0||j>=p.length)?$throwRuntimeError("index out of range"):p[j])));o=o+(1)>>0;}}j=j+(1)>>0;}s=AY(c,g,d,e,new A.ColorM.Ptr(false,BT.zero()));if(!($interfaceIsEqual(s,$ifaceNil))){return s;}t=AY(c,h,d,e,f.flushingColor());if(!($interfaceIsEqual(t,$ifaceNil))){return t;}return $ifaceNil;};K.prototype.Draw=function(c,d,e){return this.$val.Draw(c,d,e);};N=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;e=B.NewImageFromFile("images/blocks/font.png",0,$BLOCKING);$s=1;case 1:if(e&&e.$blocking){e=e();}d=e;M=d[0];c=d[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}case-1:}return;}};$f.$blocking=true;return $f;};O=function(c){return 8*c.length>>0;};P.prototype.Len=function(){var c;c=this.$val!==undefined?this.$val:this;return c.length;};$ptrType(P).prototype.Len=function(){return new P(this.$get()).Len();};P.prototype.Dst=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r;h=this.$val!==undefined?this.$val:this;i=(c-E.LastIndex(h.substring(0,c),"\n")>>0)-1>>0;j=E.Count(h.substring(0,c),"\n");i=i*(8)>>0;j=j*(8)>>0;if(i<0){k=0;l=0;m=0;n=0;d=k;e=l;f=m;g=n;return[d,e,f,g];}o=i;p=j;q=i+8>>0;r=j+8>>0;d=o;e=p;f=q;g=r;return[d,e,f,g];};$ptrType(P).prototype.Dst=function(c){return new P(this.$get()).Dst(c);};P.prototype.Src=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s,t,u;h=this.$val!==undefined?this.$val:this;i=(h.charCodeAt(c)>>0);if(i===10){j=0;k=0;l=0;m=0;d=j;e=k;f=l;g=m;return[d,e,f,g];}o=((n=i%16,n===n?n:$throwRuntimeError("integer divide by zero")))*8>>0;q=((p=((i-32>>0))/16,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero")))*8>>0;r=o;s=q;t=o+8>>0;u=q+8>>0;d=r;e=s;f=t;g=u;return[d,e,f,g];};$ptrType(P).prototype.Src=function(c){return new P(this.$get()).Src(c);};Q=function(c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r;i=new A.DrawImageOptions.Ptr(new P(d),new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil);i.GeoM.Scale(g,g);i.GeoM.Translate(e,f);j=h.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=k/65535;p=l/65535;q=m/65535;r=n/65535;if(0>0,f+1>>0,g,(i=new C.NRGBA.Ptr(0,0,0,128),new i.constructor.Struct(i)));if(!($interfaceIsEqual(j,$ifaceNil))){return j;}k=Q(c,d,e,f,g,h);if(!($interfaceIsEqual(k,$ifaceNil))){return k;}return $ifaceNil;};S=function(c,d,e,f,g,h,i){var j,k;j=O(d)*g>>0;e=e+((k=((i-j>>0))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")))>>0;return R(c,d,e,f,g,h);};T=function(c,d,e,f,g,h,i){var j;j=O(d)*g>>0;e=e+((i-j>>0))>>0;return R(c,d,e,f,g,h);};W=$pkg.NewGame=function(){var c;c=new V.Ptr(new F.Once.Ptr(),BE(BJ()),AQ());return c;};V.Ptr.prototype.Update=function(c){var d;d=this;d.input.Update();d.sceneManager.Update(new U.Ptr(d.sceneManager,d.input));d.sceneManager.Draw(c);return $ifaceNil;};V.prototype.Update=function(c){return this.$val.Update(c);};AB=function(){var c=0,d=0,e,f;e=20;f=20;c=e;d=f;return[c,d];};AC=function(){var c=0,d=0,e,f,g;e=AB();c=e[0];d=e[1];f=(c+100>>0)+20>>0;g=d;c=f;d=g;return[c,d];};AD=function(){var c=0,d=0,e,f,g;e=AC();c=e[0];d=e[1];f=c;g=d+10>>0;c=f;d=g;return[c,d];};AE=function(){var c,d;c=AD();d=c[0];return 236-d>>0;};AF=function(){var c=0,d=0,e,f,g;e=AD();c=e[0];d=e[1];f=c;g=d+60>>0;c=f;d=g;return[c,d];};AG=function(){var c=0,d=0,e,f,g;e=AF();c=e[0];d=e[1];f=c;g=d+40>>0;c=f;d=g;return[c,d];};AH=function(){var c=0,d=0,e,f,g;e=AG();c=e[0];d=e[1];f=c;g=d+40>>0;c=f;d=g;return[c,d];};AI=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;d=A.NewImage(16,16,0);X=d[0];c=d[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}X.Fill((e=C.White,new e.constructor.Struct(e)));g=B.NewImageFromFile("images/gophers.jpg",1,$BLOCKING);$s=1;case 1:if(g&&g.$blocking){g=g();}f=g;Y=f[0];c=f[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}h=A.NewImage(256,240,0);Z=h[0];c=h[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}i=AB();j=i[0];k=i[1];l=AJ(Z,j,k,100,200);if(!($interfaceIsEqual(l,$ifaceNil))){$panic(l);}m=AC();j=m[0];k=m[1];n=R(Z,"NEXT",j,k,1,new AK.constructor.Struct(AK));if(!($interfaceIsEqual(n,$ifaceNil))){$panic(n);}o=AD();j=o[0];k=o[1];p=AJ(Z,j,k,50,50);if(!($interfaceIsEqual(p,$ifaceNil))){$panic(p);}q=AF();j=q[0];k=q[1];r=AL(Z,"SCORE",j,k,AE());if(!($interfaceIsEqual(r,$ifaceNil))){$panic(r);}s=AG();j=s[0];k=s[1];t=AL(Z,"LEVEL",j,k,AE());if(!($interfaceIsEqual(t,$ifaceNil))){$panic(t);}u=AH();j=u[0];k=u[1];v=AL(Z,"LINES",j,k,AE());if(!($interfaceIsEqual(v,$ifaceNil))){$panic(v);}w=A.NewImage(256,240,0);AA=w[0];c=w[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}AA.Fill((x=new C.NRGBA.Ptr(0,0,0,128),new x.constructor.Struct(x)));k=115;z=S(AA,"GAME OVER",0,k,1,(y=C.White,new y.constructor.Struct(y)),256);if(!($interfaceIsEqual(z,$ifaceNil))){$panic(z);}case-1:}return;}};$f.$blocking=true;return $f;};AJ=function(c,d,e,f,g){var h,i,j,k;h=X.Size();i=h[0];j=h[1];k=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil);k.GeoM.Scale(f/i,g/j);k.GeoM.Translate(d,e);k.ColorM.Scale(0,0,0,0.75);return c.DrawImage(X,k);};AL=function(c,d,e,f,g){var h,i;h=R(c,d,e,f,1,new AK.constructor.Struct(AK));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}f=f+(10)>>0;i=AJ(c,e,f,g,20);if(!($interfaceIsEqual(i,$ifaceNil))){return i;}return $ifaceNil;};AM=function(c,d,e,f,g){var h,i;f=f+(10)>>0;i=T(c,d,e,f+7>>0,1,(h=C.White,new h.constructor.Struct(h)),g-5>>0);if(!($interfaceIsEqual(i,$ifaceNil))){return i;}return $ifaceNil;};AO=$pkg.NewGameScene=function(){return new AN.Ptr(L(),H.New(H.NewSource(J.Now().UnixNano())),CB.nil,0,0,0,0,CB.nil,0,0,0,0,false);};AN.Ptr.prototype.drawBackground=function(c){var d,e,f,g,h,i,j,k,l,m,n,o;d=this;f=c.Fill((e=C.White,new e.constructor.Struct(e)));if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g=Y.Size();h=g[0];i=g[1];j=256/h;k=240/i;l=j;if(l>0)>>0);return(f=$pkg.Pieces[e],f!==undefined?f.v:CB.nil);};AN.prototype.choosePiece=function(){return this.$val.choosePiece();};AN.Ptr.prototype.initCurrentPiece=function(c){var d,e,f,g;d=this;d.currentPiece=c;e=d.currentPiece.InitialPosition();f=e[0];g=e[1];d.currentPieceX=f;d.currentPieceY=g;d.currentPieceYCarry=0;d.currentPieceAngle=0;};AN.prototype.initCurrentPiece=function(c){return this.$val.initCurrentPiece(c);};AN.Ptr.prototype.level=function(){var c,d;c=this;return(d=c.lines/10,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));};AN.prototype.level=function(){return this.$val.level();};AN.Ptr.prototype.addScore=function(c){var d,e,f;d=this;e=0;f=c;if(f===1){e=100;}else if(f===2){e=300;}else if(f===3){e=600;}else if(f===4){e=1000;}else{$panic(new $String("not reach"));}d.score=d.score+((((d.level()+1>>0))*e>>0))>>0;};AN.prototype.addScore=function(c){return this.$val.addScore(c);};AN.Ptr.prototype.Update=function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;d=this;d.field.Update();if(d.gameover){if(c.Input.StateForKey(4)===1){c.SceneManager.GoTo(BJ());}return $ifaceNil;}d.currentFrame=d.currentFrame+(1)>>0;if(d.currentPiece===CB.nil){d.initCurrentPiece(d.choosePiece());}if(d.nextPiece===CB.nil){d.nextPiece=d.choosePiece();}e=false;f=d.currentPiece;g=d.currentPieceAngle;if(!d.field.Flushing()){h=d.currentPiece;i=d.currentPieceX;j=d.currentPieceY;if(c.Input.StateForKey(4)===1){d.currentPieceAngle=d.field.RotatePieceRight(h,i,j,g);e=!((g===d.currentPieceAngle));}k=c.Input.StateForKey(2);if((k===1)||(10<=k&&((l=k%2,l===l?l:$throwRuntimeError("integer divide by zero"))===0))){d.currentPieceX=d.field.MovePieceToLeft(h,i,j,g);e=!((i===d.currentPieceX));}m=c.Input.StateForKey(3);if((m===1)||(10<=m&&((n=m%2,n===n?n:$throwRuntimeError("integer divide by zero"))===0))){d.currentPieceX=d.field.MovePieceToRight(h,i,j,g);e=!((j===d.currentPieceX));}o=c.Input.StateForKey(1);if((p=((o-1>>0))%2,p===p?p:$throwRuntimeError("integer divide by zero"))===0){d.currentPieceY=d.field.DropPiece(h,i,j,g);e=!((j===d.currentPieceY));if(e){d.score=d.score+(1)>>0;}}}if(!d.field.Flushing()){q=d.currentPieceY;r=d.currentPieceAngle;d.currentPieceYCarry=d.currentPieceYCarry+(((2*d.level()>>0)+1>>0))>>0;while(60<=d.currentPieceYCarry){d.currentPieceYCarry=d.currentPieceYCarry-(60)>>0;d.currentPieceY=d.field.DropPiece(f,d.currentPieceX,d.currentPieceY,r);e=!((q===d.currentPieceY));}}if(e){d.landingCount=0;}else if(!d.field.Flushing()&&!d.field.PieceDroppable(f,d.currentPieceX,d.currentPieceY,g)){if(0>0;}else{d.landingCount=d.landingCount+(1)>>0;}if(60<=d.landingCount){d.field.AbsorbPiece(f,d.currentPieceX,d.currentPieceY,g);if(d.field.Flushing()){d.field.SetEndFlushing((function(s){d.lines=d.lines+(s)>>0;if(0>0)>>0;t=q+(d.currentPieceY*10>>0)>>0;u=d.currentPiece.Draw(c,s,t,d.currentPieceAngle);if(!($interfaceIsEqual(u,$ifaceNil))){return u;}}if(!(d.nextPiece===CB.nil)){v=(p+100>>0)+20>>0;w=q+10>>0;x=d.nextPiece.DrawAtCenter(c,v,w,50,50,0);if(!($interfaceIsEqual(x,$ifaceNil))){return x;}}if(d.gameover){c.DrawImage(AA,CC.nil);}return $ifaceNil;};AN.prototype.Draw=function(c){return this.$val.Draw(c);};AQ=$pkg.NewInput=function(){var c,d,e,f,g;c=(d=new $Map(),d);f=0;while(f<5){g=f;(c||$throwRuntimeError("assignment to entry in nil map"))[g]={k:g,v:0};f=f+(1)>>0;}return new AP.Ptr(c);};AP.Ptr.prototype.StateForKey=function(c){var d,e;d=this;return(e=d.states[c],e!==undefined?e.v:0);};AP.prototype.StateForKey=function(c){return this.$val.StateForKey(c);};AP.Ptr.prototype.Update=function(){var c,d,e,f,g,h,i,j,k,l,m;c=this;d=c.states;e=0;f=$keys(d);while(e>0};e++;}};AP.prototype.Update=function(){return this.$val.Update();};AS=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;e=B.NewImageFromFile("images/blocks/blocks.png",0,$BLOCKING);$s=1;case 1:if(e&&e.$blocking){e=e();}d=e;AR=d[0];c=d[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}case-1:}return;}};$f.$blocking=true;return $f;};AT.prototype.RotateRight=function(){var c;c=this.$val!==undefined?this.$val:this;if(c===3){return 0;}return c+1>>0;};$ptrType(AT).prototype.RotateRight=function(){return new AT(this.$get()).RotateRight();};AW=function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;d=BN.make(c.$length);e=c;f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);(g<0||g>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+g]=BM.make(h.$length);f++;}i=c;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=l;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);(q=((o<0||o>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+o]),(k<0||k>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+k]=!((p===0)));n++;}j++;}return d;};AX.prototype.Len=function(){var c;c=this;return c.$length*((0<0||0>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+0]).$length>>0;};$ptrType(AX).prototype.Len=function(){return this.$get().Len();};AX.prototype.Dst=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s;h=this;i=(j=c%h.$length,j===j?j:$throwRuntimeError("integer divide by zero"));k=(l=c/h.$length,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));c=i;m=k;n=c*10>>0;o=m*10>>0;p=n;q=o;r=n+10>>0;s=o+10>>0;d=p;e=q;f=r;g=s;return[d,e,f,g];};$ptrType(AX).prototype.Dst=function(c){return this.$get().Dst(c);};AX.prototype.Src=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;h=this;i=(j=c%h.$length,j===j?j:$throwRuntimeError("integer divide by zero"));k=(l=c/h.$length,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));c=i;m=k;o=(n=((c<0||c>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+c]),((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+m]));if(o===0){p=0;q=0;r=0;s=0;d=p;e=q;f=r;g=s;return[d,e,f,g];}t=(((o>>0)-1>>0))*10>>0;u=t;v=0;w=t+10>>0;x=10;d=u;e=v;f=w;g=x;return[d,e,f,g];};$ptrType(AX).prototype.Src=function(c){return this.$get().Src(c);};AY=function(c,d,e,f,g){var h;g=$clone(g,A.ColorM);h=new A.DrawImageOptions.Ptr($subslice(new AX(d.$array),d.$offset,d.$offset+d.$length),new A.GeoM.Ptr(),$clone(g,A.ColorM),BW.nil);h.GeoM.Translate(e,f);return c.DrawImage(AR,h);};AV.Ptr.prototype.InitialPosition=function(){var c,d,e,f,g,h,i,j,k;c=this;d=c.blocks.$length;f=(e=((10-d>>0))/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"));g=0;h=0;Loop:while(h=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h]))){break Loop;}i=i+(1)>>0;}g=g-(1)>>0;h=h+(1)>>0;}return[f,g];};AV.prototype.InitialPosition=function(){return this.$val.InitialPosition();};AV.Ptr.prototype.isBlocked=function(c,d,e){var f,g,h,i,j,k,l,m,n;f=this;g=f.blocks.$length;h=c;i=d;j=h;k=i;l=e;if(l===0){}else if(l===1){j=d;k=(g-1>>0)-c>>0;}else if(l===2){j=(g-1>>0)-c>>0;k=(g-1>>0)-d>>0;}else if(l===3){j=(g-1>>0)-d>>0;k=c;}return(m=(n=f.blocks,((j<0||j>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+j])),((k<0||k>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+k]));};AV.prototype.isBlocked=function(c,d,e){return this.$val.isBlocked(c,d,e);};AV.Ptr.prototype.collides=function(c,d,e,f){var g,h,i,j;g=this;h=g.blocks.$length;i=0;while(i>0,e+j>>0)&&g.isBlocked(i,j,f)){return true;}j=j+(1)>>0;}i=i+(1)>>0;}return false;};AV.prototype.collides=function(c,d,e,f){return this.$val.collides(c,d,e,f);};AV.Ptr.prototype.Collides=function(c,d,e,f){var g;g=this;return g.collides(c,d,e,f);};AV.prototype.Collides=function(c,d,e,f){return this.$val.Collides(c,d,e,f);};AV.Ptr.prototype.AbsorbInto=function(c,d,e,f){var g,h,i,j;g=this;h=g.blocks.$length;i=0;while(i>0,e+j>>0,g.blockType);}j=j+(1)>>0;}i=i+(1)>>0;}};AV.prototype.AbsorbInto=function(c,d,e,f){return this.$val.AbsorbInto(c,d,e,f);};AV.Ptr.prototype.DrawAtCenter=function(c,d,e,f,g,h){var i,j,k,l;i=this;d=d+((j=((f-((k=i.blocks,((0<0||0>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+0])).$length*10>>0)>>0))/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero")))>>0;e=e+((l=((g-(i.blocks.$length*10>>0)>>0))/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero")))>>0;return i.Draw(c,d,e,h);};AV.prototype.DrawAtCenter=function(c,d,e,f,g,h){return this.$val.DrawAtCenter(c,d,e,f,g,h);};AV.Ptr.prototype.Draw=function(c,d,e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.blocks.$length;i=BV.make(h);j=g.blocks;k=0;while(k=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=BU.make(h);m=((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]);n=0;while(n=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]),(o<0||o>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+o]=g.blockType);}n++;}k++;}return AY(c,i,d,e,new A.ColorM.Ptr(false,BT.zero()));};AV.prototype.Draw=function(c,d,e,f){return this.$val.Draw(c,d,e,f);};BB=function(){var c,d,e;c=$ifaceNil;d=A.NewImage(256,240,0);AZ=d[0];c=d[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}e=A.NewImage(256,240,0);BA=e[0];c=e[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}};BE=$pkg.NewSceneManager=function(c){return new BD.Ptr(c,$ifaceNil,-1);};BD.Ptr.prototype.Update=function(c){var d;d=this;if(d.transitionCount===-1){return d.current.Update(c);}d.transitionCount=d.transitionCount+(1)>>0;if(20<=d.transitionCount){d.current=d.next;d.next=$ifaceNil;d.transitionCount=-1;}return $ifaceNil;};BD.prototype.Update=function(c){return this.$val.Update(c);};BD.Ptr.prototype.Draw=function(c){var d,e,f,g,h,i;d=this;if(d.transitionCount===-1){return d.current.Draw(c);}AZ.Clear();e=d.current.Draw(AZ);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}BA.Clear();f=d.next.Draw(BA);if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g=c.DrawImage(AZ,CC.nil);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=d.transitionCount/20;i=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil);i.ColorM.Scale(1,1,1,h);return c.DrawImage(BA,i);};BD.prototype.Draw=function(c){return this.$val.Draw(c);};BD.Ptr.prototype.GoTo=function(c){var d;d=this;d.next=c;d.transitionCount=0;};BD.prototype.GoTo=function(c){return this.$val.GoTo(c);};BG=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;e=B.NewImageFromFile("images/blocks/background.png",0,$BLOCKING);$s=1;case 1:if(e&&e.$blocking){e=e();}d=e;BF=d[0];c=d[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}case-1:}return;}};$f.$blocking=true;return $f;};BH.Ptr.prototype.Len=function(){var c,d,e,f,g,h;c=this;d=c.image.Size();e=d[0];f=d[1];return(((g=256/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))+1>>0))*(((h=240/f,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))+2>>0))>>0;};BH.prototype.Len=function(){return this.$val.Len();};BH.Ptr.prototype.Dst=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;h=this;i=h.image.Size();j=i[0];k=i[1];l=(m=c%(((n=256/j,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))+1>>0)),m===m?m:$throwRuntimeError("integer divide by zero"));o=(p=c/(((q=256/j,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))+1>>0)),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))-1>>0;c=l;r=o;u=(s=((t=-h.count/4,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero")))%j,s===s?s:$throwRuntimeError("integer divide by zero"));x=(v=((w=h.count/4,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero")))%k,v===v?v:$throwRuntimeError("integer divide by zero"));y=(c*j>>0)+u>>0;z=(r*k>>0)+x>>0;aa=y;ab=z;ac=y+j>>0;ad=z+k>>0;d=aa;e=ab;f=ac;g=ad;return[d,e,f,g];};BH.prototype.Dst=function(c){return this.$val.Dst(c);};BH.Ptr.prototype.Src=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o;h=this;i=h.image.Size();j=i[0];k=i[1];l=0;m=0;n=j;o=k;d=l;e=m;f=n;g=o;return[d,e,f,g];};BH.prototype.Src=function(c){return this.$val.Src(c);};BJ=$pkg.NewTitleScene=function(){return new BI.Ptr(0,new BH.Ptr(BF,0));};BI.Ptr.prototype.Update=function(c){var d;d=this;d.count=d.count+(1)>>0;if(c.Input.StateForKey(4)===1){c.SceneManager.GoTo(AO());}return $ifaceNil;};BI.prototype.Update=function(c){return this.$val.Update(c);};BI.Ptr.prototype.Draw=function(c){var d,e,f,g,h,i,j,k;d=this;e=d.drawTitleBackground(c,d.count);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}f=BK(c,"BLOCKS");if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g="PRESS SPACE TO START";i=(h=((256-O(g)>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));j=192;return R(c,g,i,j,1,(k=new C.NRGBA.Ptr(128,0,0,255),new k.constructor.Struct(k)));};BI.prototype.Draw=function(c){return this.$val.Draw(c);};BI.Ptr.prototype.drawTitleBackground=function(c,d){var e;e=this;e.parts.count=d;return c.DrawImage(BF,new A.DrawImageOptions.Ptr(e.parts,new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil));};BI.prototype.drawTitleBackground=function(c,d){return this.$val.drawTitleBackground(c,d);};BK=function(c,d){var e,f,g,h,i,j;e=4;f=O(d)*e>>0;h=(g=((256-f>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));i=32;return R(c,d,h,i,e,(j=new C.NRGBA.Ptr(0,0,128,255),new j.constructor.Struct(j)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}BL=$ptrType(A.Image);BM=$sliceType($Bool);BN=$sliceType(BM);BO=$sliceType($Int);BP=$sliceType(BO);BQ=$arrayType(AU,20);BR=$arrayType(BQ,10);BS=$arrayType($Float64,5);BT=$arrayType(BS,4);BU=$sliceType(AU);BV=$sliceType(BU);BW=$sliceType(A.ImagePart);BX=$ptrType(BD);BY=$ptrType(AP);BZ=$ptrType(K);CA=$ptrType(H.Rand);CB=$ptrType(AV);CC=$ptrType(A.DrawImageOptions);CD=$ptrType(BH);CE=$funcType([$Int],[],false);CF=$funcType([$Int],[],false);CG=$ptrType(P);CH=$ptrType(V);CI=$ptrType(U);CJ=$ptrType(AN);CK=$mapType(A.Key,$Int);CL=$ptrType(AT);CM=$ptrType(AX);CN=$ptrType(BI);BZ.methods=[["AbsorbPiece","AbsorbPiece","",$funcType([CB,$Int,$Int,AT],[],false),-1],["Draw","Draw","",$funcType([BL,$Int,$Int],[$error],false),-1],["DropPiece","DropPiece","",$funcType([CB,$Int,$Int,AT],[$Int],false),-1],["Flushing","Flushing","",$funcType([],[$Bool],false),-1],["IsBlocked","IsBlocked","",$funcType([$Int,$Int],[$Bool],false),-1],["MovePieceToLeft","MovePieceToLeft","",$funcType([CB,$Int,$Int,AT],[$Int],false),-1],["MovePieceToRight","MovePieceToRight","",$funcType([CB,$Int,$Int,AT],[$Int],false),-1],["PieceDroppable","PieceDroppable","",$funcType([CB,$Int,$Int,AT],[$Bool],false),-1],["RotatePieceRight","RotatePieceRight","",$funcType([CB,$Int,$Int,AT],[AT],false),-1],["SetEndFlushing","SetEndFlushing","",$funcType([CE],[],false),-1],["Update","Update","",$funcType([],[$error],false),-1],["collides","collides","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([CB,$Int,$Int,AT],[$Bool],false),-1],["endFlushing","endFlushing","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[$Int],false),-1],["flushLine","flushLine","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int],[$Bool],false),-1],["flushable","flushable","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[$Bool],false),-1],["flushableLine","flushableLine","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int],[$Bool],false),-1],["flushingColor","flushingColor","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[A.ColorM],false),-1],["setBlock","setBlock","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int,$Int,AU],[],false),-1]];K.init([["blocks","blocks","github.com/hajimehoshi/ebiten/example/blocks/blocks",BR,""],["flushCount","flushCount","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["onEndFlushing","onEndFlushing","github.com/hajimehoshi/ebiten/example/blocks/blocks",CF,""]]);P.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];CG.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];U.init([["SceneManager","SceneManager","",BX,""],["Input","Input","",BY,""]]);CH.methods=[["Update","Update","",$funcType([BL],[$error],false),-1]];V.init([["once","once","github.com/hajimehoshi/ebiten/example/blocks/blocks",F.Once,""],["sceneManager","sceneManager","github.com/hajimehoshi/ebiten/example/blocks/blocks",BX,""],["input","input","github.com/hajimehoshi/ebiten/example/blocks/blocks",BY,""]]);CJ.methods=[["Draw","Draw","",$funcType([BL],[$error],false),-1],["Update","Update","",$funcType([CI],[$error],false),-1],["addScore","addScore","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int],[],false),-1],["choosePiece","choosePiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[CB],false),-1],["drawBackground","drawBackground","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([BL],[$error],false),-1],["goNextPiece","goNextPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[],false),-1],["initCurrentPiece","initCurrentPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([CB],[],false),-1],["level","level","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[$Int],false),-1]];AN.init([["field","field","github.com/hajimehoshi/ebiten/example/blocks/blocks",BZ,""],["rand","rand","github.com/hajimehoshi/ebiten/example/blocks/blocks",CA,""],["currentPiece","currentPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",CB,""],["currentPieceX","currentPieceX","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentPieceY","currentPieceY","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentPieceYCarry","currentPieceYCarry","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentPieceAngle","currentPieceAngle","github.com/hajimehoshi/ebiten/example/blocks/blocks",AT,""],["nextPiece","nextPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",CB,""],["landingCount","landingCount","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentFrame","currentFrame","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["score","score","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["lines","lines","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["gameover","gameover","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Bool,""]]);BY.methods=[["StateForKey","StateForKey","",$funcType([A.Key],[$Int],false),-1],["Update","Update","",$funcType([],[],false),-1]];AP.init([["states","states","github.com/hajimehoshi/ebiten/example/blocks/blocks",CK,""]]);AT.methods=[["RotateRight","RotateRight","",$funcType([],[AT],false),-1]];CL.methods=[["RotateRight","RotateRight","",$funcType([],[AT],false),-1]];CB.methods=[["AbsorbInto","AbsorbInto","",$funcType([BZ,$Int,$Int,AT],[],false),-1],["Collides","Collides","",$funcType([BZ,$Int,$Int,AT],[$Bool],false),-1],["Draw","Draw","",$funcType([BL,$Int,$Int,AT],[$error],false),-1],["DrawAtCenter","DrawAtCenter","",$funcType([BL,$Int,$Int,$Int,$Int,AT],[$error],false),-1],["InitialPosition","InitialPosition","",$funcType([],[$Int,$Int],false),-1],["collides","collides","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([BZ,$Int,$Int,AT],[$Bool],false),-1],["isBlocked","isBlocked","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int,$Int,AT],[$Bool],false),-1]];AV.init([["blockType","blockType","github.com/hajimehoshi/ebiten/example/blocks/blocks",AU,""],["blocks","blocks","github.com/hajimehoshi/ebiten/example/blocks/blocks",BN,""]]);AX.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];CM.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AX.init(BU);BC.init([["Draw","Draw","",$funcType([BL],[$error],false)],["Update","Update","",$funcType([CI],[$error],false)]]);BX.methods=[["Draw","Draw","",$funcType([BL],[$error],false),-1],["GoTo","GoTo","",$funcType([BC],[],false),-1],["Update","Update","",$funcType([CI],[$error],false),-1]];BD.init([["current","current","github.com/hajimehoshi/ebiten/example/blocks/blocks",BC,""],["next","next","github.com/hajimehoshi/ebiten/example/blocks/blocks",BC,""],["transitionCount","transitionCount","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""]]);CD.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BH.init([["image","image","github.com/hajimehoshi/ebiten/example/blocks/blocks",BL,""],["count","count","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""]]);CN.methods=[["Draw","Draw","",$funcType([BL],[$error],false),-1],["Update","Update","",$funcType([CI],[$error],false),-1],["drawTitleBackground","drawTitleBackground","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([BL,$Int],[$error],false),-1]];BI.init([["count","count","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["parts","parts","github.com/hajimehoshi/ebiten/example/blocks/blocks",CD,""]]);M=BL.nil;X=BL.nil;Y=BL.nil;Z=BL.nil;AA=BL.nil;AR=BL.nil;AZ=BL.nil;BA=BL.nil;BF=BL.nil;AK=new C.NRGBA.Ptr(64,64,255,255);$pkg.Pieces=(a=new $Map(),b=1,a[b]={k:b,v:new AV.Ptr(1,AW(new BP([new BO([0,0,0,0]),new BO([1,1,1,1]),new BO([0,0,0,0]),new BO([0,0,0,0])])))},b=2,a[b]={k:b,v:new AV.Ptr(2,AW(new BP([new BO([1,0,0]),new BO([1,1,1]),new BO([0,0,0])])))},b=3,a[b]={k:b,v:new AV.Ptr(3,AW(new BP([new BO([0,1,0]),new BO([1,1,1]),new BO([0,0,0])])))},b=4,a[b]={k:b,v:new AV.Ptr(4,AW(new BP([new BO([0,0,1]),new BO([1,1,1]),new BO([0,0,0])])))},b=5,a[b]={k:b,v:new AV.Ptr(5,AW(new BP([new BO([1,1,0]),new BO([0,1,1]),new BO([0,0,0])])))},b=6,a[b]={k:b,v:new AV.Ptr(6,AW(new BP([new BO([0,1,1]),new BO([1,1,0]),new BO([0,0,0])])))},b=7,a[b]={k:b,v:new AV.Ptr(7,AW(new BP([new BO([1,1]),new BO([1,1])])))},a);$r=N($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=AI($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=AS($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}BB();$r=BG($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/example/blocks/blocks"]=(function(){var $pkg={},A,B,C,G,D,H,I,E,F,J,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,K,P,U,V,AN,AP,AT,AU,AV,AX,BC,BD,BH,BI,M,X,Y,Z,AA,AK,AR,AZ,BA,BF,a,b,L,N,O,Q,R,S,T,W,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AL,AM,AO,AQ,AS,AW,AY,BB,BE,BG,BJ,BK;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/color"];G=$packages["image/jpeg"];D=$packages["math"];H=$packages["math/rand"];I=$packages["strconv"];E=$packages["strings"];F=$packages["sync"];J=$packages["time"];K=$pkg.Field=$newType(0,$kindStruct,"blocks.Field","Field","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(blocks_,flushCount_,onEndFlushing_){this.$val=this;this.blocks=blocks_!==undefined?blocks_:BR.zero();this.flushCount=flushCount_!==undefined?flushCount_:0;this.onEndFlushing=onEndFlushing_!==undefined?onEndFlushing_:$throwNilPointerError;});P=$pkg.fontImageParts=$newType(8,$kindString,"blocks.fontImageParts","fontImageParts","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);U=$pkg.GameState=$newType(0,$kindStruct,"blocks.GameState","GameState","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(SceneManager_,Input_){this.$val=this;this.SceneManager=SceneManager_!==undefined?SceneManager_:BX.nil;this.Input=Input_!==undefined?Input_:BY.nil;});V=$pkg.Game=$newType(0,$kindStruct,"blocks.Game","Game","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(once_,sceneManager_,input_){this.$val=this;this.once=once_!==undefined?once_:new F.Once.Ptr();this.sceneManager=sceneManager_!==undefined?sceneManager_:BX.nil;this.input=input_!==undefined?input_:BY.nil;});AN=$pkg.GameScene=$newType(0,$kindStruct,"blocks.GameScene","GameScene","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(field_,rand_,currentPiece_,currentPieceX_,currentPieceY_,currentPieceYCarry_,currentPieceAngle_,nextPiece_,landingCount_,currentFrame_,score_,lines_,gameover_){this.$val=this;this.field=field_!==undefined?field_:BZ.nil;this.rand=rand_!==undefined?rand_:CA.nil;this.currentPiece=currentPiece_!==undefined?currentPiece_:CB.nil;this.currentPieceX=currentPieceX_!==undefined?currentPieceX_:0;this.currentPieceY=currentPieceY_!==undefined?currentPieceY_:0;this.currentPieceYCarry=currentPieceYCarry_!==undefined?currentPieceYCarry_:0;this.currentPieceAngle=currentPieceAngle_!==undefined?currentPieceAngle_:0;this.nextPiece=nextPiece_!==undefined?nextPiece_:CB.nil;this.landingCount=landingCount_!==undefined?landingCount_:0;this.currentFrame=currentFrame_!==undefined?currentFrame_:0;this.score=score_!==undefined?score_:0;this.lines=lines_!==undefined?lines_:0;this.gameover=gameover_!==undefined?gameover_:false;});AP=$pkg.Input=$newType(0,$kindStruct,"blocks.Input","Input","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(states_){this.$val=this;this.states=states_!==undefined?states_:CD.zero();});AT=$pkg.Angle=$newType(4,$kindInt,"blocks.Angle","Angle","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);AU=$pkg.BlockType=$newType(4,$kindInt,"blocks.BlockType","BlockType","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);AV=$pkg.Piece=$newType(0,$kindStruct,"blocks.Piece","Piece","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(blockType_,blocks_){this.$val=this;this.blockType=blockType_!==undefined?blockType_:0;this.blocks=blocks_!==undefined?blocks_:BN.nil;});AX=$pkg.blocksImageParts=$newType(12,$kindSlice,"blocks.blocksImageParts","blocksImageParts","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);BC=$pkg.Scene=$newType(8,$kindInterface,"blocks.Scene","Scene","github.com/hajimehoshi/ebiten/example/blocks/blocks",null);BD=$pkg.SceneManager=$newType(0,$kindStruct,"blocks.SceneManager","SceneManager","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(current_,next_,transitionCount_){this.$val=this;this.current=current_!==undefined?current_:$ifaceNil;this.next=next_!==undefined?next_:$ifaceNil;this.transitionCount=transitionCount_!==undefined?transitionCount_:0;});BH=$pkg.titleImageParts=$newType(0,$kindStruct,"blocks.titleImageParts","titleImageParts","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(image_,count_){this.$val=this;this.image=image_!==undefined?image_:BL.nil;this.count=count_!==undefined?count_:0;});BI=$pkg.TitleScene=$newType(0,$kindStruct,"blocks.TitleScene","TitleScene","github.com/hajimehoshi/ebiten/example/blocks/blocks",function(count_,parts_){this.$val=this;this.count=count_!==undefined?count_:0;this.parts=parts_!==undefined?parts_:CE.nil;});L=$pkg.NewField=function(){return new K.Ptr(BR.zero(),0,$throwNilPointerError);};K.Ptr.prototype.IsBlocked=function(c,d){var e,f,g;e=this;if(c<0||10<=c){return true;}if(d<0){return false;}if(20<=d){return true;}return!(((f=(g=e.blocks,((c<0||c>=g.length)?$throwRuntimeError("index out of range"):g[c])),((d<0||d>=f.length)?$throwRuntimeError("index out of range"):f[d]))===0));};K.prototype.IsBlocked=function(c,d){return this.$val.IsBlocked(c,d);};K.Ptr.prototype.collides=function(c,d,e,f){var g;g=this;return c.collides(g,d,e,f);};K.prototype.collides=function(c,d,e,f){return this.$val.collides(c,d,e,f);};K.Ptr.prototype.MovePieceToLeft=function(c,d,e,f){var g;g=this;if(g.collides(c,d-1>>0,e,f)){return d;}return d-1>>0;};K.prototype.MovePieceToLeft=function(c,d,e,f){return this.$val.MovePieceToLeft(c,d,e,f);};K.Ptr.prototype.MovePieceToRight=function(c,d,e,f){var g;g=this;if(g.collides(c,d+1>>0,e,f)){return d;}return d+1>>0;};K.prototype.MovePieceToRight=function(c,d,e,f){return this.$val.MovePieceToRight(c,d,e,f);};K.Ptr.prototype.PieceDroppable=function(c,d,e,f){var g;g=this;return!g.collides(c,d,e+1>>0,f);};K.prototype.PieceDroppable=function(c,d,e,f){return this.$val.PieceDroppable(c,d,e,f);};K.Ptr.prototype.DropPiece=function(c,d,e,f){var g;g=this;if(g.collides(c,d,e+1>>0,f)){return e;}return e+1>>0;};K.prototype.DropPiece=function(c,d,e,f){return this.$val.DropPiece(c,d,e,f);};K.Ptr.prototype.RotatePieceRight=function(c,d,e,f){var g;g=this;if(g.collides(c,d,e,new AT(f).RotateRight())){return f;}return new AT(f).RotateRight();};K.prototype.RotatePieceRight=function(c,d,e,f){return this.$val.RotatePieceRight(c,d,e,f);};K.Ptr.prototype.RotatePieceLeft=function(c,d,e,f){var g;g=this;if(g.collides(c,d,e,new AT(f).RotateLeft())){return f;}return new AT(f).RotateLeft();};K.prototype.RotatePieceLeft=function(c,d,e,f){return this.$val.RotatePieceLeft(c,d,e,f);};K.Ptr.prototype.AbsorbPiece=function(c,d,e,f){var g;g=this;c.AbsorbInto(g,d,e,f);if(g.flushable()){g.flushCount=20;}};K.prototype.AbsorbPiece=function(c,d,e,f){return this.$val.AbsorbPiece(c,d,e,f);};K.Ptr.prototype.Flushing=function(){var c;c=this;return 0>0;}return false;};K.prototype.flushable=function(){return this.$val.flushable();};K.Ptr.prototype.flushableLine=function(c){var d,e,f,g;d=this;e=0;while(e<10){if((f=(g=d.blocks,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e])),((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))===0){return false;}e=e+(1)>>0;}return true;};K.prototype.flushableLine=function(c){return this.$val.flushableLine(c);};K.Ptr.prototype.setBlock=function(c,d,e){var f,g,h;f=this;(g=(h=f.blocks,((c<0||c>=h.length)?$throwRuntimeError("index out of range"):h[c])),(d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d]=e);};K.prototype.setBlock=function(c,d,e){return this.$val.setBlock(c,d,e);};K.Ptr.prototype.endFlushing=function(){var c,d,e;c=this;d=0;e=19;while(0<=e){if(c.flushLine(e+d>>0)){d=d+(1)>>0;}e=e-(1)>>0;}return d;};K.prototype.endFlushing=function(){return this.$val.endFlushing();};K.Ptr.prototype.flushLine=function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p;d=this;e=0;while(e<10){if((f=(g=d.blocks,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e])),((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))===0){return false;}e=e+(1)>>0;}h=c;while(1<=h){i=0;while(i<10){(m=(n=d.blocks,((i<0||i>=n.length)?$throwRuntimeError("index out of range"):n[i])),(h<0||h>=m.length)?$throwRuntimeError("index out of range"):m[h]=(j=(k=d.blocks,((i<0||i>=k.length)?$throwRuntimeError("index out of range"):k[i])),l=h-1>>0,((l<0||l>=j.length)?$throwRuntimeError("index out of range"):j[l])));i=i+(1)>>0;}h=h-(1)>>0;}o=0;while(o<10){(p=d.blocks,((o<0||o>=p.length)?$throwRuntimeError("index out of range"):p[o]))[0]=0;o=o+(1)>>0;}return true;};K.prototype.flushLine=function(c){return this.$val.flushLine(c);};K.Ptr.prototype.Update=function(){var c,d;c=this;if(0<=c.flushCount){c.flushCount=c.flushCount-(1)>>0;if(c.flushCount===0){d=c.endFlushing();if(!(c.onEndFlushing===$throwNilPointerError)){c.onEndFlushing(d);}}}return $ifaceNil;};K.prototype.Update=function(){return this.$val.Update();};K.Ptr.prototype.flushingColor=function(){var c,d,e,f,g,h;c=this;d=new A.ColorM.Ptr(false,BT.zero());e=(c.flushCount/20)/2;d.Concat(A.ScaleColor(1,1,1,e));f=(1-c.flushCount/20)*2;g=(1-c.flushCount/20)/2;h=(1-c.flushCount/20)/2;d.Concat(A.TranslateColor(f,g,h,0));return d;};K.prototype.flushingColor=function(){return this.$val.flushingColor();};K.Ptr.prototype.Draw=function(c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;f=this;g=BV.make(10);h=BV.make(10);i=0;while(i<10){(i<0||i>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+i]=BU.make(20);(i<0||i>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]=BU.make(20);i=i+(1)>>0;}j=0;while(j<20){if(f.flushableLine(j)){k=0;while(k<10){(n=((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]),(j<0||j>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+j]=(l=(m=f.blocks,((k<0||k>=m.length)?$throwRuntimeError("index out of range"):m[k])),((j<0||j>=l.length)?$throwRuntimeError("index out of range"):l[j])));k=k+(1)>>0;}}else{o=0;while(o<10){(r=((o<0||o>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+o]),(j<0||j>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+j]=(p=(q=f.blocks,((o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o])),((j<0||j>=p.length)?$throwRuntimeError("index out of range"):p[j])));o=o+(1)>>0;}}j=j+(1)>>0;}s=AY(c,g,d,e,new A.ColorM.Ptr(false,BT.zero()));if(!($interfaceIsEqual(s,$ifaceNil))){return s;}t=AY(c,h,d,e,f.flushingColor());if(!($interfaceIsEqual(t,$ifaceNil))){return t;}return $ifaceNil;};K.prototype.Draw=function(c,d,e){return this.$val.Draw(c,d,e);};N=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;e=B.NewImageFromFile("images/blocks/font.png",0,$BLOCKING);$s=1;case 1:if(e&&e.$blocking){e=e();}d=e;M=d[0];c=d[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}case-1:}return;}};$f.$blocking=true;return $f;};O=function(c){return 8*c.length>>0;};P.prototype.Len=function(){var c;c=this.$val!==undefined?this.$val:this;return c.length;};$ptrType(P).prototype.Len=function(){return new P(this.$get()).Len();};P.prototype.Dst=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r;h=this.$val!==undefined?this.$val:this;i=(c-E.LastIndex(h.substring(0,c),"\n")>>0)-1>>0;j=E.Count(h.substring(0,c),"\n");i=i*(8)>>0;j=j*(8)>>0;if(i<0){k=0;l=0;m=0;n=0;d=k;e=l;f=m;g=n;return[d,e,f,g];}o=i;p=j;q=i+8>>0;r=j+8>>0;d=o;e=p;f=q;g=r;return[d,e,f,g];};$ptrType(P).prototype.Dst=function(c){return new P(this.$get()).Dst(c);};P.prototype.Src=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s,t,u;h=this.$val!==undefined?this.$val:this;i=(h.charCodeAt(c)>>0);if(i===10){j=0;k=0;l=0;m=0;d=j;e=k;f=l;g=m;return[d,e,f,g];}o=((n=i%16,n===n?n:$throwRuntimeError("integer divide by zero")))*8>>0;q=((p=((i-32>>0))/16,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero")))*8>>0;r=o;s=q;t=o+8>>0;u=q+8>>0;d=r;e=s;f=t;g=u;return[d,e,f,g];};$ptrType(P).prototype.Src=function(c){return new P(this.$get()).Src(c);};Q=function(c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r;i=new A.DrawImageOptions.Ptr(new P(d),new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil);i.GeoM.Scale(g,g);i.GeoM.Translate(e,f);j=h.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=k/65535;p=l/65535;q=m/65535;r=n/65535;if(0>0,f+1>>0,g,(i=new C.NRGBA.Ptr(0,0,0,128),new i.constructor.Struct(i)));if(!($interfaceIsEqual(j,$ifaceNil))){return j;}k=Q(c,d,e,f,g,h);if(!($interfaceIsEqual(k,$ifaceNil))){return k;}return $ifaceNil;};S=function(c,d,e,f,g,h,i){var j,k;j=O(d)*g>>0;e=e+((k=((i-j>>0))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")))>>0;return R(c,d,e,f,g,h);};T=function(c,d,e,f,g,h,i){var j;j=O(d)*g>>0;e=e+((i-j>>0))>>0;return R(c,d,e,f,g,h);};W=$pkg.NewGame=function(){var c;c=new V.Ptr(new F.Once.Ptr(),BE(BJ()),AQ());return c;};V.Ptr.prototype.Update=function(c){var d;d=this;d.input.Update();d.sceneManager.Update(new U.Ptr(d.sceneManager,d.input));d.sceneManager.Draw(c);return $ifaceNil;};V.prototype.Update=function(c){return this.$val.Update(c);};AB=function(){var c=0,d=0,e,f;e=20;f=20;c=e;d=f;return[c,d];};AC=function(){var c=0,d=0,e,f,g;e=AB();c=e[0];d=e[1];f=(c+100>>0)+20>>0;g=d;c=f;d=g;return[c,d];};AD=function(){var c=0,d=0,e,f,g;e=AC();c=e[0];d=e[1];f=c;g=d+10>>0;c=f;d=g;return[c,d];};AE=function(){var c,d;c=AD();d=c[0];return 236-d>>0;};AF=function(){var c=0,d=0,e,f,g;e=AD();c=e[0];d=e[1];f=c;g=d+60>>0;c=f;d=g;return[c,d];};AG=function(){var c=0,d=0,e,f,g;e=AF();c=e[0];d=e[1];f=c;g=d+40>>0;c=f;d=g;return[c,d];};AH=function(){var c=0,d=0,e,f,g;e=AG();c=e[0];d=e[1];f=c;g=d+40>>0;c=f;d=g;return[c,d];};AI=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;d=A.NewImage(16,16,0);X=d[0];c=d[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}X.Fill((e=C.White,new e.constructor.Struct(e)));g=B.NewImageFromFile("images/gophers.jpg",1,$BLOCKING);$s=1;case 1:if(g&&g.$blocking){g=g();}f=g;Y=f[0];c=f[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}h=A.NewImage(256,240,0);Z=h[0];c=h[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}i=AB();j=i[0];k=i[1];l=AJ(Z,j,k,100,200);if(!($interfaceIsEqual(l,$ifaceNil))){$panic(l);}m=AC();j=m[0];k=m[1];n=R(Z,"NEXT",j,k,1,new AK.constructor.Struct(AK));if(!($interfaceIsEqual(n,$ifaceNil))){$panic(n);}o=AD();j=o[0];k=o[1];p=AJ(Z,j,k,50,50);if(!($interfaceIsEqual(p,$ifaceNil))){$panic(p);}q=AF();j=q[0];k=q[1];r=AL(Z,"SCORE",j,k,AE());if(!($interfaceIsEqual(r,$ifaceNil))){$panic(r);}s=AG();j=s[0];k=s[1];t=AL(Z,"LEVEL",j,k,AE());if(!($interfaceIsEqual(t,$ifaceNil))){$panic(t);}u=AH();j=u[0];k=u[1];v=AL(Z,"LINES",j,k,AE());if(!($interfaceIsEqual(v,$ifaceNil))){$panic(v);}w=A.NewImage(256,240,0);AA=w[0];c=w[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}AA.Fill((x=new C.NRGBA.Ptr(0,0,0,128),new x.constructor.Struct(x)));k=115;z=S(AA,"GAME OVER",0,k,1,(y=C.White,new y.constructor.Struct(y)),256);if(!($interfaceIsEqual(z,$ifaceNil))){$panic(z);}case-1:}return;}};$f.$blocking=true;return $f;};AJ=function(c,d,e,f,g){var h,i,j,k;h=X.Size();i=h[0];j=h[1];k=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil);k.GeoM.Scale(f/i,g/j);k.GeoM.Translate(d,e);k.ColorM.Scale(0,0,0,0.75);return c.DrawImage(X,k);};AL=function(c,d,e,f,g){var h,i;h=R(c,d,e,f,1,new AK.constructor.Struct(AK));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}f=f+(10)>>0;i=AJ(c,e,f,g,20);if(!($interfaceIsEqual(i,$ifaceNil))){return i;}return $ifaceNil;};AM=function(c,d,e,f,g){var h,i;f=f+(10)>>0;i=T(c,d,e,f+7>>0,1,(h=C.White,new h.constructor.Struct(h)),g-5>>0);if(!($interfaceIsEqual(i,$ifaceNil))){return i;}return $ifaceNil;};AO=$pkg.NewGameScene=function(){return new AN.Ptr(L(),H.New(H.NewSource(J.Now().UnixNano())),CB.nil,0,0,0,0,CB.nil,0,0,0,0,false);};AN.Ptr.prototype.drawBackground=function(c){var d,e,f,g,h,i,j,k,l,m,n,o;d=this;f=c.Fill((e=C.White,new e.constructor.Struct(e)));if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g=Y.Size();h=g[0];i=g[1];j=256/h;k=240/i;l=j;if(l>0)>>0);return(f=$pkg.Pieces[e],f!==undefined?f.v:CB.nil);};AN.prototype.choosePiece=function(){return this.$val.choosePiece();};AN.Ptr.prototype.initCurrentPiece=function(c){var d,e,f,g;d=this;d.currentPiece=c;e=d.currentPiece.InitialPosition();f=e[0];g=e[1];d.currentPieceX=f;d.currentPieceY=g;d.currentPieceYCarry=0;d.currentPieceAngle=0;};AN.prototype.initCurrentPiece=function(c){return this.$val.initCurrentPiece(c);};AN.Ptr.prototype.level=function(){var c,d;c=this;return(d=c.lines/10,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));};AN.prototype.level=function(){return this.$val.level();};AN.Ptr.prototype.addScore=function(c){var d,e,f;d=this;e=0;f=c;if(f===1){e=100;}else if(f===2){e=300;}else if(f===3){e=600;}else if(f===4){e=1000;}else{$panic(new $String("not reach"));}d.score=d.score+((((d.level()+1>>0))*e>>0))>>0;};AN.prototype.addScore=function(c){return this.$val.addScore(c);};AN.Ptr.prototype.Update=function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;d=this;d.field.Update();if(d.gameover){if(c.Input.StateForKey(66)===1){c.SceneManager.GoTo(BJ());}return $ifaceNil;}d.currentFrame=d.currentFrame+(1)>>0;if(d.currentPiece===CB.nil){d.initCurrentPiece(d.choosePiece());}if(d.nextPiece===CB.nil){d.nextPiece=d.choosePiece();}e=false;f=d.currentPiece;g=d.currentPieceAngle;if(!d.field.Flushing()){h=d.currentPiece;i=d.currentPieceX;j=d.currentPieceY;if((c.Input.StateForKey(66)===1)||(c.Input.StateForKey(33)===1)){d.currentPieceAngle=d.field.RotatePieceRight(h,i,j,g);e=!((g===d.currentPieceAngle));}if(c.Input.StateForKey(35)===1){d.currentPieceAngle=d.field.RotatePieceLeft(h,i,j,g);e=!((g===d.currentPieceAngle));}k=c.Input.StateForKey(60);if((k===1)||(10<=k&&((l=k%2,l===l?l:$throwRuntimeError("integer divide by zero"))===0))){d.currentPieceX=d.field.MovePieceToLeft(h,i,j,g);e=!((i===d.currentPieceX));}m=c.Input.StateForKey(64);if((m===1)||(10<=m&&((n=m%2,n===n?n:$throwRuntimeError("integer divide by zero"))===0))){d.currentPieceX=d.field.MovePieceToRight(h,i,j,g);e=!((j===d.currentPieceX));}o=c.Input.StateForKey(42);if((p=((o-1>>0))%2,p===p?p:$throwRuntimeError("integer divide by zero"))===0){d.currentPieceY=d.field.DropPiece(h,i,j,g);e=!((j===d.currentPieceY));if(e){d.score=d.score+(1)>>0;}}}if(!d.field.Flushing()){q=d.currentPieceY;r=d.currentPieceAngle;d.currentPieceYCarry=d.currentPieceYCarry+(((2*d.level()>>0)+1>>0))>>0;while(60<=d.currentPieceYCarry){d.currentPieceYCarry=d.currentPieceYCarry-(60)>>0;d.currentPieceY=d.field.DropPiece(f,d.currentPieceX,d.currentPieceY,r);e=!((q===d.currentPieceY));}}if(e){d.landingCount=0;}else if(!d.field.Flushing()&&!d.field.PieceDroppable(f,d.currentPieceX,d.currentPieceY,g)){if(0>0;}else{d.landingCount=d.landingCount+(1)>>0;}if(60<=d.landingCount){d.field.AbsorbPiece(f,d.currentPieceX,d.currentPieceY,g);if(d.field.Flushing()){d.field.SetEndFlushing((function(s){d.lines=d.lines+(s)>>0;if(0>0)>>0;t=q+(d.currentPieceY*10>>0)>>0;u=d.currentPiece.Draw(c,s,t,d.currentPieceAngle);if(!($interfaceIsEqual(u,$ifaceNil))){return u;}}if(!(d.nextPiece===CB.nil)){v=(p+100>>0)+20>>0;w=q+10>>0;x=d.nextPiece.DrawAtCenter(c,v,w,50,50,0);if(!($interfaceIsEqual(x,$ifaceNil))){return x;}}if(d.gameover){c.DrawImage(AA,CC.nil);}return $ifaceNil;};AN.prototype.Draw=function(c){return this.$val.Draw(c);};AQ=$pkg.NewInput=function(){return new AP.Ptr(CD.zero());};AP.Ptr.prototype.StateForKey=function(c){var d,e;d=this;return(e=d.states,((c<0||c>=e.length)?$throwRuntimeError("index out of range"):e[c]));};AP.prototype.StateForKey=function(c){return this.$val.StateForKey(c);};AP.Ptr.prototype.Update=function(){var c,d,e,f,g,h,i;c=this;d=c.states;e=0;while(e<256){f=e;if(!A.IsKeyPressed((f>>0))){(g=c.states,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=0);e++;continue;}h=c.states;i=f;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(1)>>0;e++;}};AP.prototype.Update=function(){return this.$val.Update();};AS=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;e=B.NewImageFromFile("images/blocks/blocks.png",0,$BLOCKING);$s=1;case 1:if(e&&e.$blocking){e=e();}d=e;AR=d[0];c=d[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}case-1:}return;}};$f.$blocking=true;return $f;};AT.prototype.RotateRight=function(){var c;c=this.$val!==undefined?this.$val:this;if(c===3){return 0;}return c+1>>0;};$ptrType(AT).prototype.RotateRight=function(){return new AT(this.$get()).RotateRight();};AT.prototype.RotateLeft=function(){var c;c=this.$val!==undefined?this.$val:this;if(c===0){return 3;}return c-1>>0;};$ptrType(AT).prototype.RotateLeft=function(){return new AT(this.$get()).RotateLeft();};AW=function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;d=BN.make(c.$length);e=c;f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);(g<0||g>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+g]=BM.make(h.$length);f++;}i=c;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=l;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);(q=((o<0||o>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+o]),(k<0||k>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+k]=!((p===0)));n++;}j++;}return d;};AX.prototype.Len=function(){var c;c=this;return c.$length*((0<0||0>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+0]).$length>>0;};$ptrType(AX).prototype.Len=function(){return this.$get().Len();};AX.prototype.Dst=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s;h=this;i=(j=c%h.$length,j===j?j:$throwRuntimeError("integer divide by zero"));k=(l=c/h.$length,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));c=i;m=k;n=c*10>>0;o=m*10>>0;p=n;q=o;r=n+10>>0;s=o+10>>0;d=p;e=q;f=r;g=s;return[d,e,f,g];};$ptrType(AX).prototype.Dst=function(c){return this.$get().Dst(c);};AX.prototype.Src=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;h=this;i=(j=c%h.$length,j===j?j:$throwRuntimeError("integer divide by zero"));k=(l=c/h.$length,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));c=i;m=k;o=(n=((c<0||c>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+c]),((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+m]));if(o===0){p=0;q=0;r=0;s=0;d=p;e=q;f=r;g=s;return[d,e,f,g];}t=(((o>>0)-1>>0))*10>>0;u=t;v=0;w=t+10>>0;x=10;d=u;e=v;f=w;g=x;return[d,e,f,g];};$ptrType(AX).prototype.Src=function(c){return this.$get().Src(c);};AY=function(c,d,e,f,g){var h;g=$clone(g,A.ColorM);h=new A.DrawImageOptions.Ptr($subslice(new AX(d.$array),d.$offset,d.$offset+d.$length),new A.GeoM.Ptr(),$clone(g,A.ColorM),BW.nil);h.GeoM.Translate(e,f);return c.DrawImage(AR,h);};AV.Ptr.prototype.InitialPosition=function(){var c,d,e,f,g,h,i,j,k;c=this;d=c.blocks.$length;f=(e=((10-d>>0))/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"));g=0;h=0;Loop:while(h=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h]))){break Loop;}i=i+(1)>>0;}g=g-(1)>>0;h=h+(1)>>0;}return[f,g];};AV.prototype.InitialPosition=function(){return this.$val.InitialPosition();};AV.Ptr.prototype.isBlocked=function(c,d,e){var f,g,h,i,j,k,l,m,n;f=this;g=f.blocks.$length;h=c;i=d;j=h;k=i;l=e;if(l===0){}else if(l===1){j=d;k=(g-1>>0)-c>>0;}else if(l===2){j=(g-1>>0)-c>>0;k=(g-1>>0)-d>>0;}else if(l===3){j=(g-1>>0)-d>>0;k=c;}return(m=(n=f.blocks,((j<0||j>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+j])),((k<0||k>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+k]));};AV.prototype.isBlocked=function(c,d,e){return this.$val.isBlocked(c,d,e);};AV.Ptr.prototype.collides=function(c,d,e,f){var g,h,i,j;g=this;h=g.blocks.$length;i=0;while(i>0,e+j>>0)&&g.isBlocked(i,j,f)){return true;}j=j+(1)>>0;}i=i+(1)>>0;}return false;};AV.prototype.collides=function(c,d,e,f){return this.$val.collides(c,d,e,f);};AV.Ptr.prototype.Collides=function(c,d,e,f){var g;g=this;return g.collides(c,d,e,f);};AV.prototype.Collides=function(c,d,e,f){return this.$val.Collides(c,d,e,f);};AV.Ptr.prototype.AbsorbInto=function(c,d,e,f){var g,h,i,j;g=this;h=g.blocks.$length;i=0;while(i>0,e+j>>0,g.blockType);}j=j+(1)>>0;}i=i+(1)>>0;}};AV.prototype.AbsorbInto=function(c,d,e,f){return this.$val.AbsorbInto(c,d,e,f);};AV.Ptr.prototype.DrawAtCenter=function(c,d,e,f,g,h){var i,j,k,l;i=this;d=d+((j=((f-((k=i.blocks,((0<0||0>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+0])).$length*10>>0)>>0))/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero")))>>0;e=e+((l=((g-(i.blocks.$length*10>>0)>>0))/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero")))>>0;return i.Draw(c,d,e,h);};AV.prototype.DrawAtCenter=function(c,d,e,f,g,h){return this.$val.DrawAtCenter(c,d,e,f,g,h);};AV.Ptr.prototype.Draw=function(c,d,e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.blocks.$length;i=BV.make(h);j=g.blocks;k=0;while(k=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=BU.make(h);m=((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]);n=0;while(n=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]),(o<0||o>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+o]=g.blockType);}n++;}k++;}return AY(c,i,d,e,new A.ColorM.Ptr(false,BT.zero()));};AV.prototype.Draw=function(c,d,e,f){return this.$val.Draw(c,d,e,f);};BB=function(){var c,d,e;c=$ifaceNil;d=A.NewImage(256,240,0);AZ=d[0];c=d[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}e=A.NewImage(256,240,0);BA=e[0];c=e[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}};BE=$pkg.NewSceneManager=function(c){return new BD.Ptr(c,$ifaceNil,-1);};BD.Ptr.prototype.Update=function(c){var d;d=this;if(d.transitionCount===-1){return d.current.Update(c);}d.transitionCount=d.transitionCount+(1)>>0;if(20<=d.transitionCount){d.current=d.next;d.next=$ifaceNil;d.transitionCount=-1;}return $ifaceNil;};BD.prototype.Update=function(c){return this.$val.Update(c);};BD.Ptr.prototype.Draw=function(c){var d,e,f,g,h,i;d=this;if(d.transitionCount===-1){return d.current.Draw(c);}AZ.Clear();e=d.current.Draw(AZ);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}BA.Clear();f=d.next.Draw(BA);if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g=c.DrawImage(AZ,CC.nil);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=d.transitionCount/20;i=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil);i.ColorM.Scale(1,1,1,h);return c.DrawImage(BA,i);};BD.prototype.Draw=function(c){return this.$val.Draw(c);};BD.Ptr.prototype.GoTo=function(c){var d;d=this;d.next=c;d.transitionCount=0;};BD.prototype.GoTo=function(c){return this.$val.GoTo(c);};BG=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;e=B.NewImageFromFile("images/blocks/background.png",0,$BLOCKING);$s=1;case 1:if(e&&e.$blocking){e=e();}d=e;BF=d[0];c=d[2];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}case-1:}return;}};$f.$blocking=true;return $f;};BH.Ptr.prototype.Len=function(){var c,d,e,f,g,h;c=this;d=c.image.Size();e=d[0];f=d[1];return(((g=256/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))+1>>0))*(((h=240/f,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))+2>>0))>>0;};BH.prototype.Len=function(){return this.$val.Len();};BH.Ptr.prototype.Dst=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;h=this;i=h.image.Size();j=i[0];k=i[1];l=(m=c%(((n=256/j,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))+1>>0)),m===m?m:$throwRuntimeError("integer divide by zero"));o=(p=c/(((q=256/j,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))+1>>0)),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))-1>>0;c=l;r=o;u=(s=((t=-h.count/4,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero")))%j,s===s?s:$throwRuntimeError("integer divide by zero"));x=(v=((w=h.count/4,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero")))%k,v===v?v:$throwRuntimeError("integer divide by zero"));y=(c*j>>0)+u>>0;z=(r*k>>0)+x>>0;aa=y;ab=z;ac=y+j>>0;ad=z+k>>0;d=aa;e=ab;f=ac;g=ad;return[d,e,f,g];};BH.prototype.Dst=function(c){return this.$val.Dst(c);};BH.Ptr.prototype.Src=function(c){var d=0,e=0,f=0,g=0,h,i,j,k,l,m,n,o;h=this;i=h.image.Size();j=i[0];k=i[1];l=0;m=0;n=j;o=k;d=l;e=m;f=n;g=o;return[d,e,f,g];};BH.prototype.Src=function(c){return this.$val.Src(c);};BJ=$pkg.NewTitleScene=function(){return new BI.Ptr(0,new BH.Ptr(BF,0));};BI.Ptr.prototype.Update=function(c){var d;d=this;d.count=d.count+(1)>>0;if(c.Input.StateForKey(66)===1){c.SceneManager.GoTo(AO());}return $ifaceNil;};BI.prototype.Update=function(c){return this.$val.Update(c);};BI.Ptr.prototype.Draw=function(c){var d,e,f,g,h,i,j,k;d=this;e=d.drawTitleBackground(c,d.count);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}f=BK(c,"BLOCKS");if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g="PRESS SPACE TO START";i=(h=((256-O(g)>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));j=192;return R(c,g,i,j,1,(k=new C.NRGBA.Ptr(128,0,0,255),new k.constructor.Struct(k)));};BI.prototype.Draw=function(c){return this.$val.Draw(c);};BI.Ptr.prototype.drawTitleBackground=function(c,d){var e;e=this;e.parts.count=d;return c.DrawImage(BF,new A.DrawImageOptions.Ptr(e.parts,new A.GeoM.Ptr(),new A.ColorM.Ptr(),BW.nil));};BI.prototype.drawTitleBackground=function(c,d){return this.$val.drawTitleBackground(c,d);};BK=function(c,d){var e,f,g,h,i,j;e=4;f=O(d)*e>>0;h=(g=((256-f>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));i=32;return R(c,d,h,i,e,(j=new C.NRGBA.Ptr(0,0,128,255),new j.constructor.Struct(j)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}BL=$ptrType(A.Image);BM=$sliceType($Bool);BN=$sliceType(BM);BO=$sliceType($Int);BP=$sliceType(BO);BQ=$arrayType(AU,20);BR=$arrayType(BQ,10);BS=$arrayType($Float64,5);BT=$arrayType(BS,4);BU=$sliceType(AU);BV=$sliceType(BU);BW=$sliceType(A.ImagePart);BX=$ptrType(BD);BY=$ptrType(AP);BZ=$ptrType(K);CA=$ptrType(H.Rand);CB=$ptrType(AV);CC=$ptrType(A.DrawImageOptions);CD=$arrayType($Int,256);CE=$ptrType(BH);CF=$funcType([$Int],[],false);CG=$funcType([$Int],[],false);CH=$ptrType(P);CI=$ptrType(V);CJ=$ptrType(U);CK=$ptrType(AN);CL=$ptrType(AT);CM=$ptrType(AX);CN=$ptrType(BI);BZ.methods=[["AbsorbPiece","AbsorbPiece","",$funcType([CB,$Int,$Int,AT],[],false),-1],["Draw","Draw","",$funcType([BL,$Int,$Int],[$error],false),-1],["DropPiece","DropPiece","",$funcType([CB,$Int,$Int,AT],[$Int],false),-1],["Flushing","Flushing","",$funcType([],[$Bool],false),-1],["IsBlocked","IsBlocked","",$funcType([$Int,$Int],[$Bool],false),-1],["MovePieceToLeft","MovePieceToLeft","",$funcType([CB,$Int,$Int,AT],[$Int],false),-1],["MovePieceToRight","MovePieceToRight","",$funcType([CB,$Int,$Int,AT],[$Int],false),-1],["PieceDroppable","PieceDroppable","",$funcType([CB,$Int,$Int,AT],[$Bool],false),-1],["RotatePieceLeft","RotatePieceLeft","",$funcType([CB,$Int,$Int,AT],[AT],false),-1],["RotatePieceRight","RotatePieceRight","",$funcType([CB,$Int,$Int,AT],[AT],false),-1],["SetEndFlushing","SetEndFlushing","",$funcType([CF],[],false),-1],["Update","Update","",$funcType([],[$error],false),-1],["collides","collides","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([CB,$Int,$Int,AT],[$Bool],false),-1],["endFlushing","endFlushing","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[$Int],false),-1],["flushLine","flushLine","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int],[$Bool],false),-1],["flushable","flushable","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[$Bool],false),-1],["flushableLine","flushableLine","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int],[$Bool],false),-1],["flushingColor","flushingColor","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[A.ColorM],false),-1],["setBlock","setBlock","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int,$Int,AU],[],false),-1]];K.init([["blocks","blocks","github.com/hajimehoshi/ebiten/example/blocks/blocks",BR,""],["flushCount","flushCount","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["onEndFlushing","onEndFlushing","github.com/hajimehoshi/ebiten/example/blocks/blocks",CG,""]]);P.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];CH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];U.init([["SceneManager","SceneManager","",BX,""],["Input","Input","",BY,""]]);CI.methods=[["Update","Update","",$funcType([BL],[$error],false),-1]];V.init([["once","once","github.com/hajimehoshi/ebiten/example/blocks/blocks",F.Once,""],["sceneManager","sceneManager","github.com/hajimehoshi/ebiten/example/blocks/blocks",BX,""],["input","input","github.com/hajimehoshi/ebiten/example/blocks/blocks",BY,""]]);CK.methods=[["Draw","Draw","",$funcType([BL],[$error],false),-1],["Update","Update","",$funcType([CJ],[$error],false),-1],["addScore","addScore","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int],[],false),-1],["choosePiece","choosePiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[CB],false),-1],["drawBackground","drawBackground","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([BL],[$error],false),-1],["goNextPiece","goNextPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[],false),-1],["initCurrentPiece","initCurrentPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([CB],[],false),-1],["level","level","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([],[$Int],false),-1]];AN.init([["field","field","github.com/hajimehoshi/ebiten/example/blocks/blocks",BZ,""],["rand","rand","github.com/hajimehoshi/ebiten/example/blocks/blocks",CA,""],["currentPiece","currentPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",CB,""],["currentPieceX","currentPieceX","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentPieceY","currentPieceY","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentPieceYCarry","currentPieceYCarry","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentPieceAngle","currentPieceAngle","github.com/hajimehoshi/ebiten/example/blocks/blocks",AT,""],["nextPiece","nextPiece","github.com/hajimehoshi/ebiten/example/blocks/blocks",CB,""],["landingCount","landingCount","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["currentFrame","currentFrame","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["score","score","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["lines","lines","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["gameover","gameover","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Bool,""]]);BY.methods=[["StateForKey","StateForKey","",$funcType([A.Key],[$Int],false),-1],["Update","Update","",$funcType([],[],false),-1]];AP.init([["states","states","github.com/hajimehoshi/ebiten/example/blocks/blocks",CD,""]]);AT.methods=[["RotateLeft","RotateLeft","",$funcType([],[AT],false),-1],["RotateRight","RotateRight","",$funcType([],[AT],false),-1]];CL.methods=[["RotateLeft","RotateLeft","",$funcType([],[AT],false),-1],["RotateRight","RotateRight","",$funcType([],[AT],false),-1]];CB.methods=[["AbsorbInto","AbsorbInto","",$funcType([BZ,$Int,$Int,AT],[],false),-1],["Collides","Collides","",$funcType([BZ,$Int,$Int,AT],[$Bool],false),-1],["Draw","Draw","",$funcType([BL,$Int,$Int,AT],[$error],false),-1],["DrawAtCenter","DrawAtCenter","",$funcType([BL,$Int,$Int,$Int,$Int,AT],[$error],false),-1],["InitialPosition","InitialPosition","",$funcType([],[$Int,$Int],false),-1],["collides","collides","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([BZ,$Int,$Int,AT],[$Bool],false),-1],["isBlocked","isBlocked","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([$Int,$Int,AT],[$Bool],false),-1]];AV.init([["blockType","blockType","github.com/hajimehoshi/ebiten/example/blocks/blocks",AU,""],["blocks","blocks","github.com/hajimehoshi/ebiten/example/blocks/blocks",BN,""]]);AX.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];CM.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AX.init(BU);BC.init([["Draw","Draw","",$funcType([BL],[$error],false)],["Update","Update","",$funcType([CJ],[$error],false)]]);BX.methods=[["Draw","Draw","",$funcType([BL],[$error],false),-1],["GoTo","GoTo","",$funcType([BC],[],false),-1],["Update","Update","",$funcType([CJ],[$error],false),-1]];BD.init([["current","current","github.com/hajimehoshi/ebiten/example/blocks/blocks",BC,""],["next","next","github.com/hajimehoshi/ebiten/example/blocks/blocks",BC,""],["transitionCount","transitionCount","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""]]);CE.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BH.init([["image","image","github.com/hajimehoshi/ebiten/example/blocks/blocks",BL,""],["count","count","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""]]);CN.methods=[["Draw","Draw","",$funcType([BL],[$error],false),-1],["Update","Update","",$funcType([CJ],[$error],false),-1],["drawTitleBackground","drawTitleBackground","github.com/hajimehoshi/ebiten/example/blocks/blocks",$funcType([BL,$Int],[$error],false),-1]];BI.init([["count","count","github.com/hajimehoshi/ebiten/example/blocks/blocks",$Int,""],["parts","parts","github.com/hajimehoshi/ebiten/example/blocks/blocks",CE,""]]);M=BL.nil;X=BL.nil;Y=BL.nil;Z=BL.nil;AA=BL.nil;AR=BL.nil;AZ=BL.nil;BA=BL.nil;BF=BL.nil;AK=new C.NRGBA.Ptr(64,64,255,255);$pkg.Pieces=(a=new $Map(),b=1,a[b]={k:b,v:new AV.Ptr(1,AW(new BP([new BO([0,0,0,0]),new BO([1,1,1,1]),new BO([0,0,0,0]),new BO([0,0,0,0])])))},b=2,a[b]={k:b,v:new AV.Ptr(2,AW(new BP([new BO([1,0,0]),new BO([1,1,1]),new BO([0,0,0])])))},b=3,a[b]={k:b,v:new AV.Ptr(3,AW(new BP([new BO([0,1,0]),new BO([1,1,1]),new BO([0,0,0])])))},b=4,a[b]={k:b,v:new AV.Ptr(4,AW(new BP([new BO([0,0,1]),new BO([1,1,1]),new BO([0,0,0])])))},b=5,a[b]={k:b,v:new AV.Ptr(5,AW(new BP([new BO([1,1,0]),new BO([0,1,1]),new BO([0,0,0])])))},b=6,a[b]={k:b,v:new AV.Ptr(6,AW(new BP([new BO([0,1,1]),new BO([1,1,0]),new BO([0,0,0])])))},b=7,a[b]={k:b,v:new AV.Ptr(7,AW(new BP([new BO([1,1]),new BO([1,1])])))},a);$r=N($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=AI($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=AS($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}BB();$r=BG($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["log"]=(function(){var $pkg={},A,B,C,D,E,F,Y,Z,AA,AB,AC,G,I,H,J,S;A=$packages["fmt"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];E=$packages["sync"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger","Logger","log",function(mu_,prefix_,flag_,out_,buf_){this.$val=this;this.mu=mu_!==undefined?mu_:new E.Mutex.Ptr();this.prefix=prefix_!==undefined?prefix_:"";this.flag=flag_!==undefined?flag_:0;this.out=out_!==undefined?out_:$ifaceNil;this.buf=buf_!==undefined?buf_:Y.nil;});H=$pkg.New=function(a,b,c){return new G.Ptr(new E.Mutex.Ptr(),b,c,a,Y.nil);};J=function(a,b,c){var d,e,f,g,h;d=(b>>>0);if((d===0)&&c<=1){a.$set($append(a.$get(),48));return;}e=$clone(Z.zero(),Z);f=32;while(d>0||c>0){f=f-(1)>>0;c=c-(1)>>0;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((g=d%10,g===g?g:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24;d=(h=d/(10),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));}a.$set($appendSlice(a.$get(),$subslice(new Y(e),f)));};G.Ptr.prototype.formatHeader=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;e=this;b=$clone(b,F.Time);a.$set($appendSlice(a.$get(),new Y($stringToBytes(e.prefix))));if(!(((e.flag&7)===0))){if(!(((e.flag&1)===0))){f=b.Date();g=f[0];h=f[1];i=f[2];J(a,g,4);a.$set($append(a.$get(),47));J(a,(h>>0),2);a.$set($append(a.$get(),47));J(a,i,2);a.$set($append(a.$get(),32));}if(!(((e.flag&6)===0))){j=b.Clock();k=j[0];l=j[1];m=j[2];J(a,k,2);a.$set($append(a.$get(),58));J(a,l,2);a.$set($append(a.$get(),58));J(a,m,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(n=b.Nanosecond()/1000,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));}}if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){o=c;p=c.length-1>>0;while(p>0){if(c.charCodeAt(p)===47){o=c.substring((p+1>>0));break;}p=p-(1)>>0;}c=o;}a.$set($appendSlice(a.$get(),new Y($stringToBytes(c))));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),new Y($stringToBytes(": "))));}};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.Ptr.prototype.Output=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j;try{$deferFrames.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);c.formatHeader(new AA(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c),d,e,f);c.buf=$appendSlice(c.buf,new Y($stringToBytes(b)));if(b.length>0&&!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}i=c.out.Write(c.buf);j=i[1];return j;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.Ptr.prototype.Printf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.Ptr.prototype.Print=function(a){var b;b=this;b.Output(2,A.Sprint(a));};G.prototype.Print=function(a){return this.$val.Print(a);};G.Ptr.prototype.Println=function(a){var b;b=this;b.Output(2,A.Sprintln(a));};G.prototype.Println=function(a){return this.$val.Println(a);};G.Ptr.prototype.Fatal=function(a){var b;b=this;b.Output(2,A.Sprint(a));C.Exit(1);};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.Ptr.prototype.Fatalf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));C.Exit(1);};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.Ptr.prototype.Fatalln=function(a){var b;b=this;b.Output(2,A.Sprintln(a));C.Exit(1);};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.Ptr.prototype.Panic=function(a){var b,c;b=this;c=A.Sprint(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.Ptr.prototype.Panicf=function(a,b){var c,d;c=this;d=A.Sprintf(a,b);c.Output(2,d);$panic(new $String(d));};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.Ptr.prototype.Panicln=function(a){var b,c;b=this;c=A.Sprintln(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.Ptr.prototype.Flags=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.Ptr.prototype.SetFlags=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.Ptr.prototype.Prefix=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.Ptr.prototype.SetPrefix=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};S=$pkg.Fatal=function(a){I.Output(2,A.Sprint(a));C.Exit(1);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);Z=$arrayType($Uint8,32);AA=$ptrType(Y);AB=$sliceType($emptyInterface);AC=$ptrType(G);AC.methods=[["Fatal","Fatal","",$funcType([AB],[],true),-1],["Fatalf","Fatalf","",$funcType([$String,AB],[],true),-1],["Fatalln","Fatalln","",$funcType([AB],[],true),-1],["Flags","Flags","",$funcType([],[$Int],false),-1],["Output","Output","",$funcType([$Int,$String],[$error],false),-1],["Panic","Panic","",$funcType([AB],[],true),-1],["Panicf","Panicf","",$funcType([$String,AB],[],true),-1],["Panicln","Panicln","",$funcType([AB],[],true),-1],["Prefix","Prefix","",$funcType([],[$String],false),-1],["Print","Print","",$funcType([AB],[],true),-1],["Printf","Printf","",$funcType([$String,AB],[],true),-1],["Println","Println","",$funcType([AB],[],true),-1],["SetFlags","SetFlags","",$funcType([$Int],[],false),-1],["SetPrefix","SetPrefix","",$funcType([$String],[],false),-1],["formatHeader","formatHeader","log",$funcType([AA,F.Time,$String,$Int],[],false),-1]];G.init([["mu","mu","log",E.Mutex,""],["prefix","prefix","log",$String,""],["flag","flag","log",$Int,""],["out","out","log",B.Writer,""],["buf","buf","log",Y,""]]);I=H(C.Stderr,"",3);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["runtime/pprof"]=(function(){var $pkg={},A,B,D,E;A=$packages["io"];B=$packages["sync"];D=$pkg.StartCPUProfile=function(a){return $ifaceNil;};E=$pkg.StopCPUProfile=function(){};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/example/blocks"]=(function(){var $pkg={},A,B,C,D,E,F,I,G,H;A=$packages["flag"];B=$packages["github.com/hajimehoshi/ebiten"];C=$packages["github.com/hajimehoshi/ebiten/example/blocks/blocks"];D=$packages["log"];E=$packages["os"];F=$packages["runtime/pprof"];H=function($b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,a,b,c,d,e,f,g;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:A.Parse();if(!(G.$get()==="")){a=E.Create(G.$get());b=a[0];c=a[1];if(!($interfaceIsEqual(c,$ifaceNil))){D.Fatal(new I([c]));}F.StartCPUProfile(b);$deferred.push([F.StopCPUProfile,[$BLOCKING]]);}d=C.NewGame();e=$methodVal(d,"Update");f=B.Run(e,256,240,2,"Blocks (Ebiten Demo)",$BLOCKING);$s=1;case 1:if(f&&f.$blocking){f=f();}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){}else{$s=2;continue;}D.Fatal(new I([g]));case 2:case-1:}return;}}catch(err){$err=err;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}I=$sliceType($emptyInterface);G=A.String("cpuprofile","","write cpu profile to file");$r=H($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); diff --git a/_docs/public/example/blocks.js.map b/_docs/public/example/blocks.js.map index 7cd1bc20d..87022c937 100644 --- a/_docs/public/example/blocks.js.map +++ b/_docs/public/example/blocks.js.map @@ -1 +1 @@ -{"version":3,"file":"blocks.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/errors/errors.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/exec_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/mutex.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/sleep.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/atob.go","/goroot/src/strconv/atof.go","/goroot/src/strconv/atoi.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/goroot/src/sort/search.go","/goroot/src/sort/sort.go","/goroot/src/flag/flag.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/keys.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/math/rand/exp.go","/goroot/src/math/rand/normal.go","/goroot/src/math/rand/rand.go","/goroot/src/math/rand/rng.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/field.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/font.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/game.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/gamescene.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/input.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/piece.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/scenemanager.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/titlescene.go","/goroot/src/log/log.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/pprof/pprof.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kBACA,A,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kB,AACC,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oBACA,A,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;0NC7DA,oB,yCAQK,OACL,W;2J,AC6BA,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,OACL,A,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qH,AACC,cACC,M,CAED,wFACA,O,C,C,AAIF,oGAWK,OACL,AAMA,uGACA,A,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,e,AACA,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gBANiC,A,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLA,AAAI,0BACJ,M,0CCVK,OACL,AAIA,A,sHAEC,kG,CAED,A,uGAUK,OACL,AAKA,AAAG,mH,Q,AACF,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OAML,AALA,WAOA,0IAEA,A,uIACC,kG,C,AAED,sGAaK,OASL,AARA,2HASA,A,kBACC,IACA,wD,CAGD,AAAI,oBACH,kG,AADuB,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vB,AC6J5B,gBACC,A,8C,CAED,2CACC,AAAI,IACJ,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;qKC3SA,MACA,M,0BA4CA,8B,0BAwBA,AACA,UACC,S,MAEA,S,C,+BAKD,A,WACC,a,CAED,A,WACC,a,CAED,a,yCAIA,A,0B,+BAIA,A,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,2BAIA,A,iBACC,S,CAED,8B,yBAoCA,S,+CAyBA,A,0C,gDAoBA,A,WACC,A,aACC,kB,CAED,S,C,AAED,eACC,kB,CAGD,K,AACA,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,a,AACC,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,c,AACA,WACC,M,CAED,U,CAGD,2B,AACA,4BACC,AAAA,U,CAGD,yD,oDAIA,KACA,A,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,CAED,A,gBACC,oB,CAED,A,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,C,AAED,iBACC,iC,CAGD,oBACA,A,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,c,AACA,WACC,M,CAED,U,CAGD,uO,6DAIA,KACA,A,yFACC,M,CAED,4EACA,0DAEA,A,mCACC,A,gCACC,Y,CAED,S,C,AAED,mCACC,8E,CAED,A,gCACC,oB,CAGD,yD,gCCxSA,QACA,SACA,AAAI,kBACH,+FACA,oO,AAF8B,AAAA,c,4FCX/B,AAPA,AAQA,WACC,A,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4EACA,A,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2EACA,A,6DACC,wB,CAED,A,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;;4PCtBA,Y,AACA,Q,AACC,6C,CAED,uF,AAGA,UACC,A,+C,CAID,A,UACC,A,8C,CAID,A,Q,AACC,6C,CAED,uFACA,A,kBACC,A,8C,CAID,A,UACC,8CACA,A,W,AACC,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,CAID,A,UACC,4E,AACA,YACC,A,oD,CAED,A,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sLAIA,WACA,A,QACC,A,6C,CAED,kB,AAGA,UACC,A,+C,CAID,A,UACC,A,8C,C,AAID,Q,AACC,6C,CAED,kB,AACA,kB,AACC,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,YACC,A,oD,C,AAED,uBACC,A,oD,C,AAED,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oB,AACC,oD,CAID,A,UACC,yG,AACA,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,Y,AACA,UACC,A,gC,CAED,SACA,4FACA,A,U,AACC,4B,CAKD,SACA,A,QACC,I,CAEG,AAAJ,AAAI,uBACH,A,4FACC,M,CAFyB,AAAA,A,YAK3B,A,QACC,I,CAED,oC,AACA,sBACC,A,gC,CAED,A,4B,6BA6CA,AACA,QACC,S,AACD,iBACC,S,AACD,kBACC,SACD,A,6BACC,S,AACD,mBACC,SACD,A,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,S,AACD,wCACC,QAGA,AAFA,mHAGA,6HACA,qHACA,S,AAJD,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACA,AAAI,IACA,AAAJ,uBACC,A,6FACC,AAAA,W,MAEA,2BACA,W,C,AALqB,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aACA,AACA,mBACC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,O,AACL,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mB,AACA,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,CAED,A,sC,AACC,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,aACA,A,wBACC,UACA,gD,AACA,QACC,iE,CAED,mBACA,kBACA,A,sCACC,A,4B,CAID,A,eACC,A,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0BACA,A,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,cACA,A,kBACC,Y,CAED,A,gC,CAED,uCACA,mB,AACA,QACC,a,CAED,Y,qGAOK,OACL,aACA,U,AACA,QACC,I,CAED,sCACA,mB,AACA,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,aACA,A,oC,0JAQK,OACL,aACA,A,yBAEC,cACA,A,0C,CAED,aACA,yG,AACA,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mB,AACA,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,aACA,A,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;qtFClYpC,0BACC,A,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2B,AACA,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kBACA,A,kBACC,c,CAED,QACA,yBACA,+BACA,AAAI,iCACH,6BACA,0I,AAFiC,AAAA,YAIlC,S,8EAeA,4BACC,W,Q,AAGD,a,AACC,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,aACA,A,iH,CAED,A,gCACC,IACA,+BACA,WACA,KACA,A,8D,CAED,IACA,A,iD,0EAIA,AAAG,gB,gBACF,mBACA,A,iH,CAED,A,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACK,AAAJ,sBACC,A,yBACC,mBACA,AAAG,sD,OACF,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,UACA,A,iBACC,A,iC,CAGD,WACA,8CAEA,6DACA,A,OACC,A,iC,CAED,0FACA,AAAI,sBACH,A,yBACC,A,mD,C,AAFsB,AAAA,YAKxB,A,iC,8HCI0B,U,iBCtF1B,A,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sBACH,A,wBACC,0B,C,AAFsB,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfA,AAAI,oBACJ,0BA6BA,A,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sC,AACC,6B,CAID,IACA,AAAG,0E,sCACF,A,6B,CAED,A,U,AACC,qC,CAID,aACA,AAAG,4V,sCACF,A,6B,CAID,A,gHACC,AAAA,Y,CAED,A,mE,kEC3cA,AASA,AAAI,uBACJ,KAEA,2BACA,sBACA,A,sC,AACC,iC,CAKD,AAAG,gX,sC,AACF,iC,CAED,A,+I,iFAQA,YACA,6CACC,2dACA,A,oBACC,SACA,M,CAED,2B,AACA,2CACC,S,CAED,mCACI,AAAJ,qD,AACA,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,OACL,A,SACC,A,0C,CAID,0CACA,A,sCACC,A,iC,CAIG,AAAJ,oBAOA,IAGA,0UACA,eACA,kDACA,6F,AACA,wC,iSAGK,O,AACL,kD,AACC,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slBACC,A,sB,CAIE,AAAH,6C,sC,AACC,a,CAED,0BACA,A,qB,8LAYK,uCACL,A,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAIA,AAGA,wBAIA,AAHA,Y,+CC0DA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,+CAgCA,8CACA,SACA,A,eACC,Y,CAED,Y,gDAgJA,0BACA,A,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2B,AACA,eACC,Y,CAED,S,mDAgBA,kCACA,A,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LI,AAAJ,SACA,qBACA,A,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,6DA0HA,AAAI,SACJ,qB,AACA,sCACC,Y,CAED,uCACA,KACA,S,AACA,eACC,Y,CAED,Y,4DAuBI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMI,AAAJ,I,AACA,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2CACA,A,eACC,Y,CAED,Y,+CAiSA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,IACA,A,eACC,Y,CAED,Y,uCAMA,qBACA,A,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sgBC/1CK,O,AACL,aACC,uD,CAED,c,gGAIK,OACL,A,cACC,wD,CAED,e,yJCKK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;uPC5BA,+D,uCCuCA,IACI,AAAJ,sBACC,sFADyB,A,AAAA,YAG1B,AAAI,uBACJ,AAAI,sB,AACH,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,uCAMA,IACA,AAAI,4BACH,sF,AAD8B,AAAA,YAG3B,AAAJ,uBACA,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAKA,IAGA,AADA,iBAEC,mC,AACD,uBAEC,kBACA,AAAI,sB,AACH,wBACC,AAAA,W,C,AAFsB,AAAA,YAKxB,S,AACD,4BACC,S,AACD,8BACC,A,UACC,S,CAED,S,CAGD,sBACA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,IACA,A,yCACC,AAAA,WACA,W,CAED,AAAI,6BACH,yDACA,gCACA,4FACA,AAAA,WACA,A,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,S,AACD,gBACC,4B,AACD,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sF,AADkB,AAAA,YAGnB,A,kCACC,S,CAED,AAAI,sBACH,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,8DAKA,WACA,AACA,UACC,gBACD,A,gBAEC,kBACI,AAAJ,4BACC,A,wBACC,S,C,AAF2B,AAAA,YAK7B,S,AACD,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,gBACA,AAAI,IACJ,AAAI,4BACH,sF,AAD+B,AAAA,YAGhC,A,gCACC,S,CAEG,AAAJ,qBACC,yDACA,gCACA,qFACA,A,yCACC,S,CALyB,A,AAAA,YAQ3B,S,wDAucA,A,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACA,AAAI,eACH,IACA,A,iB,AACC,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gB,AAZkB,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;+6FC5qBA,sBACA,0BACA,oBACA,oBACA,A,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,qKAIA,YACA,4CAAsC,U,qFACtC,gE,wEAIA,cACA,mGACA,A,kDACC,O,CAED,A,yCACC,kB,CAED,gEACC,eACA,aACA,A,8CACC,uEACA,K,C,4D,sBAMF,gCACA,WACA,eACA,S,sBCoCA,A,iBACC,a,CAED,kBACA,qB,8RAMI,AAAJ,sBACQ,AAAP,2BACA,WACC,A,wDACC,A,4DACC,A,2E,CAED,A,8BACC,A,2E,C,C,AAIH,iBACC,A,uBACC,A,oCACC,A,2DACC,A,2E,CAED,A,8BACC,A,iF,C,CAGF,A,oCACC,A,gF,C,C,AAIH,iBACC,A,+EACC,A,2L,C,AAGF,iBACC,A,sDACC,A,iF,CAED,A,iF,AAED,iBACC,A,yDACC,A,iF,C,AAED,iF,AAED,iBACC,A,sD,AACC,iF,C,AAGF,iBACC,A,iFAED,A,iBACC,A,iF,AAED,iBACC,A,iF,AAED,iBACC,A,sDACC,A,iF,CAGF,A,kB,AACC,uDACC,A,iF,C,AAGF,iBACC,A,4D,AACC,gF,CAED,A,8DACC,A,gF,CAED,A,0DACC,A,gF,CAED,A,2DACC,A,gF,CAED,A,wD,AACC,gF,C,AAGF,iBACC,A,4D,AACC,gF,CAED,A,8DACC,A,gF,C,AAED,0DACC,A,gF,CAED,A,2DACC,A,gF,C,AAGF,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,CAGD,A,cACC,MACA,A,gCACC,M,CAED,sCACA,A,0E,C,C,C,AAjHyB,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,eACA,A,4BACC,a,C,C,AARsB,AAAA,YAYzB,Y,8BAIA,sHACC,A,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,Q,AACA,gEACC,uBACA,iB,CAED,6BACA,2C,AACA,iDACC,A,4B,C,AAED,MACC,K,CAED,A,oC,sCAMA,IACA,AAAI,uBACJ,AAAI,eACH,AAAA,WACA,mJACA,2F,CAGD,A,QACC,I,CAED,A,MACC,iGACC,AAAA,W,C,AAED,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,CAED,A,WACC,M,CAED,KAGA,A,2BACC,sC,CAID,A,2BACC,iC,CAGD,YACA,+BACC,KACA,A,SACC,O,CAED,oF,AACD,mBAEC,KACA,AACA,aACC,gBACA,O,AACD,kBACC,+CACA,O,AACD,iBACC,gDACA,O,AACD,cACC,iDACA,OACD,A,eACC,gD,AACD,gBACC,+CACD,A,iBACC,gB,CAED,kBACD,A,mBACC,4EACD,A,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iBACD,A,mBACC,kB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,iBACD,A,mBACC,kB,AACD,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iFAGC,A,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,C,AAGF,kBACC,A,cACC,4CACA,M,CAID,+FACA,A,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mFACD,A,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kF,AAOA,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kBACC,A,yBACC,A,0CACC,a,CAED,QACA,QACA,S,CAED,A,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAGA,AACC,IACA,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,WACC,A,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+B,AACC,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mB,AACC,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mCACD,A,mBACC,mC,AACD,6BACC,2CACA,A,eACC,U,CAEF,A,mBAEC,2B,AACD,mBACC,2B,AACD,uCACC,A,mDACC,iB,CAED,2CACA,A,cACC,Q,C,AAEF,mBACC,wCACA,A,eACC,S,C,AAEF,6BACC,2CACA,A,cACC,S,C,AAEF,6BACC,2CACA,A,eACC,W,CAEF,A,6BACC,4CACA,A,iBACC,W,CAID,A,iDACC,iBACA,c,AACA,yBAEC,M,CAGD,KACA,6BAA2C,A,AAAA,cAE3C,sCACA,kB,CAEF,A,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,0F,AACC,gEACC,iBACA,YACA,M,CAED,AAAI,gDACJ,A,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kB,AAEA,eACC,MACA,M,CAED,uG,A,+BAEA,A,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+BAEA,A,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAED,AAAI,iCACJ,2B,AACA,oCACC,2B,CAED,A,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mD,AAED,kBAGC,sBACA,A,gBACC,MACA,M,CAED,sCACA,kB,AAED,kB,AACC,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,C,AAED,uCACC,qE,C,C,AAGF,YACC,Y,A,sBAEA,I,C,AAGD,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uFACA,A,kCACC,SACA,qB,CAID,iBACA,qB,C,AAGD,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,C,AAID,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6EAcA,A,eACC,A,gC,CAGD,A,wEACC,A,+B,CAGD,A,6BACC,QACA,A,+B,CAGD,AAAI,IACJ,AAAI,eACH,A,gBACC,M,CAED,AAAG,kB,eACF,M,C,AAL0B,AAAA,YAQ5B,IACA,+BACC,A,gCACD,A,gBACC,A,yBACC,A,+B,C,AAEF,gBACC,A,yBACC,A,mC,C,AAEF,gB,AACC,mC,CAED,A,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,CAED,A,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kB,AACA,eACC,M,CAED,A,mEAEC,A,sD,CAED,iIATiB,A,AAAA,Y,AAWlB,2D,2FAqBA,IACA,IACA,QAGA,A,cACC,kBACA,A,uBACC,SACA,iB,C,CAIF,A,YACC,8B,CAED,A,WACC,uD,CAED,iBACC,IAEA,AAAI,kBACJ,AAAI,Y,AAGJ,0EACC,uD,CAGD,WACA,6BACA,A,sCACC,uD,CAED,gBACA,oBAGA,QACA,A,sCACC,iBACA,WACA,6BACA,A,sCACC,uD,CAED,IACI,AAAJ,2BACC,S,AAD4B,AAAA,YAG7B,sBACA,oB,CAED,A,WAEC,uD,CAID,KACA,mBACC,oB,AACA,gCACC,M,C,AAHgB,AAAA,cAMlB,A,WACC,+D,CAED,qBACA,kBACA,sEACA,A,QACC,sE,CAGD,W,CAGD,A,MACC,K,CAED,A,sDACC,6D,CAED,8B,2B,ACjsCA,0CACC,W,CAED,iFACA,A,yCACC,oC,CAED,S,yCAoBK,OACL,A,kCACC,gE,CAED,c,8FAMA,YACA,mEAQA,OACA,S,+CAMK,O,AACL,kCACC,iE,CAED,QACA,SACA,WACA,OACA,S,oFASA,yC,4BAUA,e,mDCpDK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,Q,AAEA,uBACC,U,CAED,sD,AACA,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,Q,AACA,uBACC,U,CAGD,sD,AACA,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFACA,AAeA,uGAMA,iFACA,A,eACC,AAAA,W,CAKD,A,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACC,AAAG,gF,eACF,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uCACA,A,MACC,gC,C,AAGD,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WAEA,AADA,8BAEC,U,AACD,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sCAGA,A,yCACC,AAAA,WACA,qEACA,gEACA,sCAIA,A,yCACC,AAAA,WACA,qEACA,iC,C,C,CAKH,A,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACI,AAAJ,eACC,mCACA,kCACA,A,MACC,AAAA,WACA,iH,CAED,sCAPqB,A,AAAA,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,Y,AACA,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kB,AACL,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,IACA,A,UAEC,AACA,SAEC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,Q,AACA,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACL,AAAI,IAEJ,A,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,C,AAGD,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2NAEA,A,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,C,AAED,4B,2IAoBA,A,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACC,AAAO,uEACP,gEACC,uD,AACD,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kBACL,A,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iBACA,A,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,K,AACA,QACC,oBACA,AAAA,4E,C,CAMF,AAFA,2JAGC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oE,AACA,gEACC,AAAA,wE,CAED,0D,C,AAED,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mGACA,A,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,CAID,A,gOACC,AAAI,4HACH,A,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gIACC,A,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kGACA,A,eACC,sG,AACA,eACC,A,+C,C,C,KAMH,0CACC,0G,AACA,gBACC,A,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,w9O,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,0O,+E,0E,Y,c,+B,4C;wsECjPA,kBACA,A,kBACC,2B,CAED,SACA,sCACA,AAAI,wCACH,qH,AADgC,AAAA,YAGjC,S,uGCDK,OAEL,A,4BACC,4BAEA,iC,CAED,iBAEA,IACA,A,SACC,MACA,K,CAGD,eACA,kBAEC,A,mBACC,SACA,AAAI,YACJ,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,CAED,A,0BACC,A,gC,CAED,A,oC,iJCsDK,OACL,A,e,AACC,+C,C,AAED,yC,4IAeK,O,AACL,e,AACC,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,Q,AACD,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,OACL,A,eACC,A,0C,CAED,0BACA,A,QACC,I,C,AAED,yD,AACC,gC,CAED,A,sCACC,kC,CAED,A,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,C,AAED,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,eACC,A,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,CAED,A,4B,sIAMK,OACL,A,e,AACC,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,OACL,A,eACC,A,wD,CAED,4B,AACA,6FACC,kB,CAED,A,sCACC,A,wE,CAED,A,oC,oIAKK,OACL,A,e,AACC,0C,CAED,A,+D,mHAyBK,O,AACL,eACC,uB,CAED,AAAG,sB,sCACF,wC,CAED,iB,iHAiBA,A,2C,mBAcA,A,QACC,I,CAED,Y,+FChOA,mCACA,A,+BACC,iB,CAED,A,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAED,AAAG,2B,sCACF,2C,CAED,iB,wHAMK,OACL,A,eACC,A,2B,CAED,AAAG,qB,sCACF,A,wB,CAED,A,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yCACC,A,wHACC,K,C,MAGD,kH,C,0EAcD,2CACA,A,sCACC,A,qD,CAKD,A,QACC,iB,C,AAGD,gD,0CAKK,OACL,A,eACC,uB,CAED,sB,uGAGK,OACL,A,uBACC,uB,CAEG,AAAJ,YACA,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,eACC,A,kD,CAED,AAAI,sCACJ,uBACA,A,sCACC,A,kE,C,AAED,oD,yHAmBA,AAAI,sCACJ,e,AACA,sCACC,A,yD,CAED,A,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sCACC,A,4B,CAED,e,KAED,A,4B,6HAcK,O,AACL,+BACC,4B,CAED,A,gE,0HAMK,OACL,A,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,W,AAKA,0DACC,iBACA,S,CAGD,A,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,OACL,A,+BACC,4B,C,AAED,oE,6IAOK,OACL,A,kD,oFA8CA,gBAEA,mCACC,mB,AAD8B,AAAA,YAI/B,AAAI,AAAA,uBACH,A,yBACC,wBACA,M,C,AAHe,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+B,AACD,oBACC,iC,AACD,mBACC,+B,AACD,oBACC,gC,AACD,oBAEA,A,oBACC,+B,C,AAED,iCACC,8B,CAED,A,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAED,AAAI,IACJ,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCAEL,AAAI,AADJ,uBAEA,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,SAGF,A,UACC,oEACA,AAAA,W,CAED,AACA,kE,AACC,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;s6DCTrC,IACA,kEACC,A,uC,AACD,2EACC,A,wC,CAED,A,+C,4BCGA,A,6BACC,a,CAED,AAAI,sBACH,kB,AACA,iBACC,kB,CAED,kBACA,A,iBACC,kB,C,AAED,eACC,a,C,AAVuB,AAAA,YAazB,Y,kDAIA,A,iBACC,Y,CAED,kBAGA,W,AACC,kCACC,A,sC,C,AAEF,iBACC,A,kCACC,A,uC,C,AAEF,0BACC,A,eACC,A,qC,C,AAEF,0BACC,A,gC,AACC,sC,C,MAfD,Y,CAkBD,Y,8DAGK,OACL,IACA,YACA,cAGA,A,gBACC,S,CAGD,AADA,yBAEC,AAAA,W,AACD,+BACC,WACA,AAAA,W,CAID,QACA,QACA,kBACC,AACA,yBACC,A,MACC,S,CAED,OACA,UAPgB,AAQhB,AARgB,oB,AAUjB,mDACC,OACA,A,uCACC,AAAA,iBACA,AAde,AAAA,oB,CAgBhB,A,aACC,gGACA,AAAA,iB,A,oCAEA,a,CApBe,AAsBhB,AAtBgB,oB,CAwBjB,M,CAED,A,OACC,S,C,AAED,OACC,U,C,AAQD,kEACC,AAAA,WACA,A,gBACC,S,CAED,I,AACA,yBACC,AAAA,W,A,+BAEA,AAAA,WACA,K,CAED,A,wDACC,S,CAED,IACA,4DACC,A,YACC,4C,C,AAF8C,AAAA,YAKhD,wB,CAGD,A,sBACC,S,CAGD,OACA,S,+IAOA,AACA,IAGA,A,gBACC,kB,CAED,AACA,yBACC,AAAA,W,AACD,+BACC,OACA,AAAA,W,CAID,QACA,QACA,IACA,IACA,IACA,kBACC,AAAO,yBACP,iBACC,A,MACC,kB,CAED,OACA,IACA,AARgB,AAAA,oB,AAUjB,2BACC,O,AACA,sBACC,AAAA,WAbe,AAAA,AAcf,oB,CAED,AAAA,W,AACA,SACC,gCACA,gFACA,AAAA,W,A,oCAEA,O,CAtBe,AAwBhB,AAxBgB,oB,CA0BjB,M,CAED,A,OACC,kB,CAED,A,OACC,I,CAQD,A,kEACC,AAAA,WACA,A,gBACC,kB,CAED,IACA,A,yBACC,AAAA,W,A,+BAEA,AAAA,WACA,K,CAED,A,wDACC,kB,CAED,IACA,4DACC,A,YACC,4C,C,AAF8C,AAAA,YAKhD,kB,CAGD,A,sBACC,kB,CAGD,SACA,OACA,kB,mLAOK,QACL,AAAI,IACJ,AAAI,mBAGJ,A,kCACC,mBACA,SACA,c,OAMD,A,kCACC,c,O,AAED,mCAEC,mBACA,SACA,c,OAID,IACA,cACC,AAAI,IACJ,A,oBACC,K,MAEA,gG,CAED,YACA,W,CAED,qCACC,AAAI,IACJ,A,qBACC,K,MAEA,iG,CAED,WACA,W,CAID,AAAA,WAKA,A,oBACC,qBACA,YACA,W,C,AAGD,gFACC,c,OAID,iCACA,qB,AAGA,4GACC,2BACA,AAAA,W,AACA,gFACC,c,O,OAKF,A,iIACC,S,CAED,cAED,OAEC,mBACA,oDACA,OAED,OAEC,qIACA,2JACA,A,UACC,yH,CAED,A,4B,wI,AAmBA,sEACC,Y,CAED,gBACA,A,MACC,K,CAED,AACA,UAEC,A,+B,AAGD,qBAGC,A,SACC,uGACA,K,CAED,A,sBAEC,Y,CAED,A,oH,AACD,sBACC,A,2H,CAED,Y,sDAMA,A,sEACC,Y,CAED,gBACA,A,MACC,K,CAED,AACA,UACC,A,+BAGD,A,qBAGC,A,SACC,uGACA,K,CAED,A,sBAEC,Y,CAED,A,oH,AACD,sBACC,A,2H,CAED,Y,0GAMA,AAAG,qB,M,AACF,oC,CAGD,A,MAEC,0CACA,A,M,AAEC,OACC,AAAG,yB,MACF,A,oC,C,CAIF,eACA,AAAG,8B,MACF,gCACA,kC,AACA,MACC,oB,CAED,A,4B,C,C,CAIC,AAAJ,yBACA,A,eACC,A,gD,CAED,sCACA,mCACA,A,OACC,oB,C,AAED,gC,0GAIA,AAAG,qB,MACF,A,oC,CAGD,A,MAEC,0CACA,A,MAEC,A,OACI,AAAH,yB,MACC,A,oC,C,CAIF,eACG,AAAH,8B,MACC,gCACA,uBACA,A,MACC,oB,CAED,A,4B,C,C,CAIH,AAAI,yBACJ,A,eACC,A,gD,CAED,sCACA,wBACA,A,OACC,oB,CAED,A,gC,0E,AAqBA,WACC,qBACA,A,4C,CAED,qB,AACA,4B,yCCrgBK,OACL,qE,0EAIA,qC,kBAIA,oC,sBAUA,A,QACC,wB,CAED,4G,oKAKA,AAAI,8CAEJ,A,UACC,K,CAGD,IAEA,AADA,sGAEC,iBACA,c,AAED,qB,AAGA,qBAGC,AADA,4JAEC,KACA,iBACA,A,oCACC,iBACA,c,O,AAEF,qBACC,I,qBAEA,K,O,qBAID,+BACA,c,OAGD,mBACA,OACA,6EAEI,AAAJ,8CACC,AAAI,IACJ,kBACA,AACA,oHACC,gBACD,A,uBACC,8B,AACD,uBACC,8B,uBAEA,mBACA,iBACA,c,QAED,A,oCACC,mBACA,iBACA,c,QAGD,A,iFAEC,qCACA,gBACA,c,QAED,+BAEA,kEACA,A,uIAEC,qCACA,gBACA,c,QAED,IApCuB,A,AAAA,kCAuCxB,A,oCAED,O,AACC,qD,wHAoBA,AAEA,A,UACC,K,CAID,A,iB,AACC,wD,CAID,IACA,Q,AACA,yBACC,iB,A,+BAEA,OACA,iB,CAIG,AAAJ,mBACA,yBACA,A,iGACC,kCACA,wB,AACA,0C,CAED,gDACA,A,+DACC,A,uG,C,AAED,6DACC,A,oG,CAED,6B,AACA,MACC,+B,CAED,A,oC,gDCzKK,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,C,AAED,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACI,AAAA,AAAJ,uBACC,mJACA,AAAA,iBAFgB,A,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gCACC,A,YACC,A,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yBAdgB,A,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kCACA,A,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DA,AAAI,sBACH,A,iBACC,Y,C,AAED,gHACC,2G,CALsB,AAAA,A,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGI,AAAJ,AAAI,uBACH,0HACA,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,AAVgB,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2FAMD,A,iBACC,a,CAED,A,yGAEC,A,YACC,Y,CAED,oL,CAGD,qF,0CAOK,O,AACL,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,O,AACL,iBACC,O,CAID,AAAI,qBACH,6EACA,A,SACC,AAAA,2JACA,YACA,O,C,AALuB,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACI,AAAJ,0BACC,uLADgC,A,AAAA,YAGjC,cACC,gCADe,AAAA,A,YAGhB,A,eACC,AAAA,kE,CAED,S,sLCzPK,OACL,cAEA,cAGA,A,oBACC,qBACA,2CACA,W,CAID,kDACA,A,wJAEC,kE,C,AAID,uFACC,2BACA,AAAA,W,C,AAID,2DAEC,mBACA,oDACA,O,A,uIAGA,S,CAGD,qIACA,2JACA,A,UACC,mH,CAED,Y,gLAOK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6GACA,A,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8BACC,A,a,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,I,AACA,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kBACC,A,iB,CAED,4E,AAGA,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iFACA,A,QACC,W,CAED,WAGA,gBACA,2BAQA,eACI,AAAJ,IACA,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qIAKA,A,2XAEC,A,iB,C,AAED,gB,6JAOK,OAOL,AADA,AAIA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,WACD,A,gBACC,AAAA,W,MAEA,W,C,CAKF,iF,AAEA,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACI,AAAJ,2CACC,A,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,I,AACA,QAEC,kFACA,qGACA,qE,MAEA,I,CAIG,AAAJ,uBACA,KACA,AAAI,iBACH,iGACA,4DACA,AAAA,WACA,wFACA,M,CAED,AAAI,kBACH,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gC,AACA,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGG,AAAJ,0B,AACC,kHACC,aACA,M,CAHyB,A,AAAA,cAM3B,Y,kIAYA,A,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,C,AAJY,AAAA,Y,AAOd,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEC,AAAI,uBACJ,KACA,AAAI,qDACH,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gL,AADmB,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,cAEA,A,gBACC,qDACA,Y,CAED,A,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGA,AAAI,KACA,AAAJ,kDACC,A,sFACC,MACA,M,CAED,kC,AALmC,AAAA,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEG,AAAH,wF,gEACC,aACA,aACA,YAGA,0D,C,AAZ6B,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACJ,AAAI,SACJ,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,Q,AACD,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,CAGD,A,OACC,yB,CAGG,AAAJ,0BACA,QAEA,MACA,A,MAEC,eACA,qEACI,AAAJ,wBACA,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qB,AACD,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,a,AACD,4BACC,A,UACC,I,CAED,K,CAED,A,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,CAGF,A,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACI,AAAJ,0BACA,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qB,AACD,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mB,AACD,0BACC,A,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qBACD,A,kBACC,mB,AACD,0BAEC,IACA,A,uBACC,O,CAKD,A,MACC,I,CAED,YACA,A,eACC,A,WACC,O,CAED,sD,CAED,A,WACC,O,CAED,iC,CAID,uB,0E,AAQA,8BACC,OACA,O,CAiBD,c,AACA,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,IACJ,A,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wB,AACJ,WACC,6E,MAEA,K,CAED,6E,AACA,WACC,6E,MAEA,K,CAKD,8CAIA,oDAKA,AADA,UAEC,gBACA,O,AACD,YACC,oBACA,O,AACD,aACC,kBACA,O,C,AAjCoB,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,K,AACA,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,YACA,A,aACC,I,CAED,A,QACC,KACA,K,MAEA,K,CAED,eAGA,AAAI,uBACJ,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,e,AAE/B,MACC,gB,CAID,A,WACC,AAAI,IACJ,AAAI,0BACH,0G,AADgC,AAAA,YAGjC,cACC,gBADe,A,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACI,AAAJ,eACC,KACA,AAAG,Y,iBACF,+F,CAED,e,AALqB,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,CAED,A,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,KAEA,A,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,C,AAED,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGQ,AAAH,uE,QAEN,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iI,AAGA,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,I,AACA,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,CAY3B,A,2BACC,gBACA,0BACA,AAf0B,0B,C,AAiB3B,M,AACC,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gDACD,A,iBACC,gD,MAEA,AACA,SACC,gDACA,2EACA,uE,AACD,oBACC,QAGA,AAFA,gDAGI,AAAJ,iBACC,4E,AADoB,Y,AAFtB,kBACC,gDACI,AAAJ,iBACC,4E,AADoB,Y,MAIrB,gDACA,AAAI,iBACH,4E,AADoB,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iB,AACA,QACC,A,cACC,a,CAED,S,CAED,A,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SACA,AACA,iBACC,A,qCACD,A,wBACC,A,6C,AACD,uBACC,A,6C,CAED,Y,yHAmBA,AAAO,kBACP,kCACC,iBACA,gB,AACD,iBACC,wC,AACA,wE,AACD,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,I,AACD,kBACC,K,AACD,kBACC,K,AACD,kBACC,KACD,A,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,I,AACD,kBACC,I,AACD,iBACC,I,CAED,AAAI,IACJ,A,eACC,iBACA,gB,CAED,AAAI,eACH,qCACA,A,QACC,iBACA,gB,CAED,cANkB,A,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,O,AACD,yEACC,gB,AACA,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mB,AANkB,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,KACD,A,iBACC,K,AACD,yB,AACC,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,W,AACA,QACC,A,0C,CAED,kBACA,A,oCACC,A,0C,CAED,0BAEA,A,W,AACC,aACC,A,0C,C,AAED,oC,CAED,A,6BACC,A,0C,C,AAED,a,AACC,0C,C,AAID,wBACC,IACA,WACC,A,oCACD,A,iBACC,wCACA,A,iDACC,A,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,CAED,A,gCAEC,A,8C,C,CAGF,A,yD,yBAKA,AAAI,sB,AACH,wBACC,Y,CAFsB,AAAA,A,YAKxB,a,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qG,AACA,2FACC,S,MAEA,I,C,CAGF,S,0E,AAcA,WACC,A,kBAEC,Y,C,AAED,mBAEC,mB,CAED,a,C,AASD,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,CAED,A,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,+3E,O,mC,6I,qE,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,Y,AACD,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0D,AAFgC,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,CAED,A,SACC,uD,CAED,A,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qC,AAIA,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2BACD,A,iBACC,2BACD,A,yBACC,sB,AACD,iBACC,sC,AACD,iBACC,4B,AACD,iBACC,4B,AACD,mCACC,uBACD,A,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,aACA,A,2BACC,a,CAED,sDACA,A,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,aACA,A,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,a,AACA,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,eACJ,A,uBACC,+B,CAGD,AAAI,QACJ,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kBACC,A,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,MACJ,A,uBACC,wBACA,A,iCACC,qE,CAED,8G,AACA,0CACC,4D,CAED,qBACA,A,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8G,AACA,0CACC,4D,CAED,WACA,kD,CAED,e,AACA,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,C,AAED,oCACC,6G,CAED,A,iCACC,sB,C,AAGD,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8B,AACD,kBACC,AAAI,6B,AACH,oCACC,a,C,AAF4B,AAAA,c,CAM/B,Y,mJAGK,QACL,A,8CACC,0D,CAED,8GACA,A,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,Q,AACL,+CACC,c,CAED,A,gCACC,iB,AACA,qDACC,iBACA,sCACC,oCACD,A,2BACC,qC,AACD,kB,AACC,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UACA,AACC,KACA,Q,AAED,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,CAGD,A,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,M,AAGD,oBACC,AAAA,a,C,AAED,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGF,AAAI,kBACH,AAAG,8H,yBACF,kF,CAFiB,A,AAAA,cAKnB,A,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACA,AAAG,a,yBACF,0F,CAED,qBALkB,A,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,cACA,A,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,c,AACD,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oBACD,A,2BACC,2C,CAED,2C,oHAGK,QACL,AAAO,gCACP,YACC,eACA,A,mBACC,8B,CAED,qBACA,sC,AAED,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,UACA,A,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACE,AAAP,gCACA,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,UACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iBACA,A,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mC,AACD,kBACC,2C,AACD,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uCACC,A,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,S,AACD,kBACC,A,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uCACA,A,gCACC,iBACA,YACC,+B,AACD,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2BAED,A,kBACC,UACA,eACA,8BAED,A,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2BAED,A,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mBACA,A,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sBACA,A,sCACC,A,6D,CAED,A,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,a,AACA,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAEG,AAAJ,UACA,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,Q,AACL,mBACC,oBACA,sB,CAED,mC,kIAGK,QACL,A,mBACC,oBACA,A,qC,CAED,A,kD,qJAGK,QACL,A,mBACC,oBACA,A,iE,CAED,A,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,QACL,A,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mBACD,A,kBACC,eACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,QACL,A,wBACC,yD,CAED,iBACA,oB,oHAGK,Q,AACL,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,QACL,A,wBACC,mE,CAED,iBACA,8B,iIAGK,QACL,A,wBACC,oD,CAED,eACA,mH,mGAGK,Q,AACL,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,QACL,A,wBACC,uD,CAED,eACA,uB,wGAGK,QACL,A,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,e,AACD,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uB,AACA,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8G,AACA,wB,AACC,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,C,AAED,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,C,AAED,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,W,AACA,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,C,AAED,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oIACC,A,SACC,WACA,A,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,U,AACA,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,C,AAID,WAEC,A,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,C,AAMD,yCACC,c,CAED,iB,AACA,+CACC,uFACA,c,C,AAED,eACC,sB,CAED,uFACA,A,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,SACA,A,eACC,6CACC,6GACA,A,oCACC,QACA,c,C,AAED,wBACC,A,uE,C,M,CAIH,A,QACC,c,CAED,A,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,QACL,A,oCACC,qE,CAED,sBACA,4B,mIAGK,QACL,A,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oBACA,A,2BACC,Y,CAeD,A,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8GACA,A,8FACI,AAAH,AAAG,a,2BACF,Y,C,CAL6B,AAAA,A,cAShC,a,CAGD,8B,AACA,gBACC,a,CAED,KACI,AAAJ,kCACC,8GACA,8GACA,A,+FACI,AAAH,AAAG,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4E,AAED,kBACC,eACA,eACA,A,iHACC,a,CAED,yI,AACC,oHACC,a,C,MAGF,wIACC,A,mHACC,a,C,MAGF,Y,AAED,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,aAED,A,kBACC,oF,AAED,2BACC,8CAED,A,kBACC,iBACA,iB,AACA,+CACC,a,CAED,6CACC,6GACA,6G,AACA,gJACC,a,C,AAED,kKACC,a,CAED,A,uBACC,a,CAED,A,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,Q,AACL,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,CAED,A,2BACC,qF,C,iJAOI,wCACL,A,WACC,2B,C,AAGD,2BACC,qF,CAED,A,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2B,AACA,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4D,AACD,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,S,AACC,kD,AACC,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACF,AAAH,2D,OACC,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qC,AACD,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+BACD,A,iBACC,+BACD,A,iBACC,+BACD,A,iBACC,+B,AACD,iBACC,iB,CAED,+D,uGAIK,Q,AACL,gBACC,mD,CAED,6B,mIAQK,QACL,A,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8BACA,A,WACC,8B,CAED,WACA,sCACA,8BACA,A,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACJ,AAAI,0BACH,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,O,AAjBsB,AAAA,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,CAED,A,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,C,AAED,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kC,AACD,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,c,AACD,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2B,AACA,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACA,AAAO,gCAGP,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wD,AACD,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,C,AAED,oBACC,2BACA,O,CAED,iCACA,sDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACO,AAAP,gCAGA,WACC,2B,AACD,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,2BACD,A,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wBACD,A,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,C,AAED,uBAEC,c,CAKD,sBACA,A,uBAEC,wB,AACA,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gCACD,A,iBACC,gC,AACD,kBACC,gCACD,A,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gC,AAED,wBACC,A,WACC,S,CAED,gB,AACA,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,Q,AACL,iCACC,oB,CAED,0BACA,A,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,2BACC,aACA,2CACC,U,AACD,4DACC,UACD,A,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,C,AAGF,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,AAIH,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,CAMH,A,cACC,U,C,AAID,kHAGC,U,CAGD,A,c,AACC,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gB,AACA,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;miHCl0EA,AAAI,gBACH,sFACA,sF,AAFsB,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,WACA,A,QACC,A,uB,AACC,sC,CAED,A,MACC,A,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,OACL,A,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,OACL,A,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,O,AACL,MACC,S,MAEA,S,C,wJAMI,O,AAEL,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,Q,AACA,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,IACA,A,2BACC,SACA,sB,A,6EAEA,Q,AACA,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,C,AAEF,qCACC,8CACC,AAAA,WACA,oJACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,C,AAID,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,CAGF,A,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,O,AACL,0DACC,SACA,iD,AACC,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,Y,AACA,eACC,W,CAED,8CAEA,AAAI,SACJ,AAAI,eACH,A,0BACC,gB,CAED,A,kDACC,kB,CAED,AAAI,I,AACJ,eACC,kB,MAEA,uF,CAED,uE,AAbkB,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACI,AAAJ,K,AACA,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACL,AAAI,SACJ,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iB,AACC,oBACC,4BAAe,qB,QACf,sB,C,CAMF,A,4D,AACC,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,C,AAGD,kHACC,sFACA,SACA,O,C,AAID,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wB,AACD,kBACC,8B,AACD,iBACC,6B,AACD,0BACC,8B,AACD,kBACC,+B,AACD,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,IAtBa,A,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2B,AACD,iBACC,4B,AACD,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,O,AACL,uH,uHAQA,OACA,gBACA,6FACA,SACA,Y,wCAWA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,2DAWA,OACA,uBACA,6FACA,SACA,Y,uCAaA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,a,AACA,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAED,AAAI,yDACH,kDACA,OAFiE,A,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2CACA,A,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0D,AACD,iBACC,U,AACD,2BACC,2D,AACD,kBACC,0D,AACD,kBACC,A,uFACC,gB,MAEA,a,CAEF,A,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mCACD,A,kBACC,qF,AACD,kBACC,A,0BACC,kB,MAEA,qF,C,AAEF,kBACC,oF,AACD,kBACC,A,uFACC,yC,MAEA,a,C,AAEF,kBACC,qF,AACD,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iBACD,A,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kBACD,A,kBACC,iB,AACD,iBACC,iBACD,A,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oB,AACD,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,C,AAEF,kBACC,e,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,O,AACL,yB,AACC,0BACC,A,e,AACC,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sHACC,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,qC,KAED,A,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGD,AAAI,IACJ,WACA,mDACC,c,MAEA,aACA,O,C,AAGD,0BACC,UACA,iHACA,UACA,U,AACA,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACL,AAAG,a,sCAIF,AAAG,e,+BACF,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uBACA,A,MACC,yBACA,2B,CAED,wBACA,A,MACC,0BACA,4B,CAED,Y,4IAKK,OACL,A,MACC,0BACA,0B,C,AAED,MACC,2BACA,2B,C,oOAII,O,AACL,eACC,S,CAGD,AAAG,2C,MACF,OACA,0FACA,uDACA,cACA,S,CAID,A,0BACI,AAAH,2C,MACC,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,SAED,A,wCACC,OACA,uDACA,wCACA,S,C,C,C,AAIH,iB,0OAGK,OACL,QACA,oC,AAEA,mCACC,A,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oD,AACA,iB,AACD,kBACC,6BACA,A,iB,CAID,IACA,0CACC,e,AACD,mDACC,kB,AACD,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8B,AACD,gDACC,8B,AACD,iDACC,8B,AACD,iDACC,8B,AACD,iDACC,gBACD,A,gDACC,gC,AACD,iDACC,gC,AACD,kDACC,gC,AACD,kDACC,gCACD,A,kDACC,iBACD,A,mDACC,yD,AACD,kDACC,iBACA,uB,AACD,6CACC,4BACA,U,UAGG,AAAH,uB,MACC,A,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iB,AACC,wBACC,2F,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,iD,AACA,iB,AACD,kBACC,kBACA,A,iB,CAKD,gBACA,A,qBACC,oB,CAED,AAAG,uB,MACF,A,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UACD,AACC,AAAO,yBACP,4BACC,sBACD,A,4CACC,sBACD,A,sDACC,wB,AACD,yBACC,A,wBACC,0B,MAEA,0B,CAEF,A,yB,AACC,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0BACD,A,iB,AACC,0BACC,iHACA,A,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACA,AAAI,0BACH,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,A,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iG,AACD,iBACC,WACA,A,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMC,AAAG,W,6FACE,AAAJ,SACA,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,C,AAED,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAEG,AAAJ,qBACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kC,AARwB,AAAA,YAUzB,A,0BACC,iG,MAEA,gG,CAEF,A,iBACC,c,AAGA,wBACQ,AAAP,yBACA,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAGF,AAEA,kB,AADD,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,I,AACA,gBACC,4HACA,S,CAED,c,iEAWA,AAAI,sBACH,A,yBACC,iC,AACA,mBACC,A,+C,CAED,A,mD,C,AAN2B,AAAA,YAS7B,A,0C,+FAMK,O,AACL,2CACC,A,0C,CAED,iBACA,0C,AACA,iB,AACC,8C,CAED,mB,AACA,8C,mKAGK,OACL,WACA,IACA,QACA,kBACI,AAAJ,eACC,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBAEA,AADD,aAEE,kBACA,WACC,0B,AACD,iBACC,yB,AACD,iBACC,yBACD,A,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+D,AACA,+BACC,4F,CAED,Q,MAEA,iEACA,A,iCACC,mB,C,C,AAKF,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iE,AACA,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,CAKH,A,OACC,oD,C,AAGD,SACC,4FACA,S,CAED,qDACA,WAEA,A,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,CAED,A,wBAEC,0BACA,0B,C,CAGF,kB,CAMD,A,8BACC,2FACA,mBACC,uFACA,A,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,C,AARqB,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sBAViC,A,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,OACL,A,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uCACA,A,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,O,AACL,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6B,AACA,sC,AACC,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACI,AAAH,a,sCACC,AAAG,kD,MACF,Q,MAEA,U,C,C,Q,AAIH,8BACC,K,CAED,2BACA,eACA,Y,wLAmBA,A,aACC,a,CAED,eACA,8HACC,A,WACC,a,C,AAED,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,eAEjB,A,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,c,AACA,WACC,O,C,AAED,2BACC,S,CAED,A,W,AACC,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,OACL,A,MACC,mB,CAGD,YACC,cACA,A,WACC,M,CAED,A,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,c,AACA,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;0LCnU1B,gBACA,WACC,qGAEA,A,UACC,S,MAEA,I,C,CAIF,S,qCA6BA,gCAAyC,8F,I,uCAUpC,OAAsC,sE,2GCoJtC,OAAqC,iB,uGACrC,OAAqC,gL,mHACrC,OAAqC,wV,4GAGrC,OAAwB,K;2kECrL7B,UACA,6B,oDAGK,OACL,+BACA,UACA,S,6CAGK,OAAkC,2B,gDAElC,OAAgC,iD,oDAEhC,OAAkC,Y,kBAavC,UACA,6B,oDAGK,OACL,mCACA,iDACA,S,6CAGK,OAAiC,+B,gDAEjC,OAA+B,iD,kBAMpC,UACA,6B,oDAGK,OACL,mCACA,8BACA,S,+CAGK,OAAmC,8C,gDAEnC,OAAiC,0C,kBAMtC,UACA,6B,oDAGK,OACL,oCACA,qBACA,S,6CAGK,OAAkC,iC,gDAElC,OAAgC,iD,kBAMrC,UACA,6B,oDAGK,OACL,oCACA,8BACA,S,+CAGK,OAAoC,+C,gDAEpC,OAAkC,0C,kBAMvC,UACA,6B,8CAGK,OACL,UACA,iB,6CAGK,OAAoC,6B,gDAEpC,OAAkC,iD,kBAMvC,UACA,6B,oDAGK,OACL,mCACA,UACA,S,6CAGK,OAAqC,8B,gDAErC,OAAmC,iD,kBAMxC,UACA,6B,oDAGK,OACL,mCACA,8BACA,S,+CAGK,OAAsC,kD,gDAEtC,OAAoC,sC,+CA0DzC,sCACA,IACA,+C,A,kB,a,OACC,0FACA,AAAA,W,KAED,SACA,qBACA,sHACC,qH,KAED,S,wCAGK,O,AACL,0CACC,gB,CAED,gB,oGAKK,OACL,W,uHAKK,OACL,6HACC,K,K,kHAYI,OACL,6HACC,K,K,yGAWI,OACL,+C,oHAUK,OACL,wE,AACA,OACC,6D,CAED,iBACA,A,sCACC,S,CAED,A,qBACC,oB,CAED,kFACA,iB,6GAUK,OACL,kCACC,mBACG,AAAH,sC,MAEC,mB,CAED,gG,I,4GAMD,iC,iBAKA,A,gBACC,yC,MAEA,kE,CAED,kB,0CAgBK,OAA0B,8B,oGAO1B,OACL,A,2BACC,S,CAED,sG,gGAUK,OAAyB,sB,gGAMzB,OAA8B,c,0GAO9B,OACL,kB,2HAWK,OACL,4BACA,mBACA,S,mHAWK,OACL,kB,wHAWK,OACL,wBACA,kBACA,S,mHAWK,OACL,kB,8HAWK,OACL,sCACA,oBACA,S,sHAWK,OACL,kB,2HAWK,OACL,wBACA,mBACA,S,sHAWK,OACL,kB,iIAWK,OACL,uCACA,qBACA,S,0HAWK,OACL,kB,iIAWK,OACL,yBACA,qBACA,S,sGAMA,sC,sDAKK,OACL,kB,oIAWK,OACL,wBACA,sBACA,S,8HAYK,OACL,kB,uIAaK,OACL,0CACA,uBACA,S,kIAgBK,OAEL,+BACA,iEACA,A,MACK,AAAJ,KACA,A,gBACC,2D,MAEA,kF,CAED,6CACA,uB,CAED,A,qBACC,oB,CAED,kF,8GAeK,OACL,gBACA,gCACA,UACA,S,yGAKK,OACL,A,oCACC,A,yBACC,a,MAEA,M,C,MAGD,U,C,gJAKI,O,AACL,uBACC,wB,CAED,kG,AACA,8DACC,wB,CAED,I,AACA,yBACC,AAAA,WACA,A,iBACC,2BACA,wB,C,CAGF,iBACA,A,mEACC,sE,CAID,2BACA,QACA,KACI,AAAJ,sBACC,A,yBACC,wBACA,OACA,mBACA,M,C,AALyB,AAAA,YAQ3B,WACA,iEACA,A,O,AACC,wBACC,UACA,2B,CAED,qF,CAGD,AAAG,4C,sBACF,A,MACC,AAAG,W,sCACF,wG,C,MAGD,c,C,MAID,A,yBAEC,OACA,qI,CAED,A,OACC,8E,CAED,AAAG,iB,sCACF,qG,C,CAGF,A,qBACC,oB,CAED,kFACA,uB,kHAOK,OACL,cACA,SACA,YACC,6BACA,A,MACC,S,CAED,A,mCACC,M,CAED,kBACA,UACC,S,AACD,gBACC,U,AACD,gBACC,U,C,CAGF,iB,sGAIK,OACL,gB,sFAOA,4C,yCAgBA,2EAIA,S,4CAMK,OACL,SACA,kB,yK,gE,gE,gE,gE,gE,gE,w5J,2C,uH,6BA7bA,4JACA,K;8pECrYK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iB,AACL,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uBACA,A,gD,sHAQK,iBACL,Y,AACA,gD,wHAQK,iBACL,YACA,uB,AACA,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIA,AAAG,+B,MACF,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,C,AAED,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIG,AAAH,+B,MACC,S,CAED,uCACA,A,cACC,8F,C,AAED,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,wE,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIG,AAAH,+B,MACC,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wEACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gC,AACA,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;sKC3EA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCAEA,AADA,UAEA,UACA,UACA,UACA,gB,4G,gE;m8xBCGA,kD,gDA8SA,A,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACA,AAAI,iCACH,wF,AAD8B,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8GAD6B,A,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oB,AACA,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,YACJ,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACA,AAAG,e,+CAEF,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0IACA,A,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yBACA,A,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oE,AACA,OACC,4BACA,2E,CAED,YACA,UACC,yDACD,A,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eACA,AACA,4B,iIAGK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACC,AAAG,O,sCACF,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2CACA,A,mGACC,AAJ2B,AAAA,oB,CAM5B,6C,AAN4B,AAAA,YAa7B,A,kBACC,iB,CAED,iCACA,qHACA,iB,6MCtEA,AACA,AAEA,mD,AACA,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAGD,AACA,iBACA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2IAN6B,A,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACH,AAAI,eACH,uJ,AADkB,AAAA,YADD,A,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gCACA,A,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,CAGD,A,uBACC,wD,CAIG,AAAJ,iBACC,gDACA,A,QACC,U,CAED,e,AACA,sCACC,QACA,O,CAED,A,QACC,O,CAXwC,A,AAAA,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,C,AAED,oBACC,iC,CAGD,0DACC,S,CAGG,AAAJ,YACA,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,YACA,A,UACC,A,sC,C,AAED,cACC,A,0C,AACC,sC,CAED,A,6BAGC,iC,AACA,QACC,U,CAED,A,QACC,gHACA,kB,CAED,A,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iBACC,A,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kB,AACA,oC,gHAIK,OACL,A,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wH,AACA,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEC,AAAG,0C,SACF,yCACA,sBACA,M,CAID,A,0CACC,2BACA,QACA,cACA,M,CAID,A,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAIE,AAAH,iB,SACC,qGACA,kB,CAGD,Y,0JAmBK,OACL,gC,AACA,4C,AAEC,gIAGC,A,YAEC,mE,CAED,AAAA,eACA,kC,CAED,A,iD,CAGD,A,kBACC,A,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACA,AAAJ,SACA,YAEA,YACC,AAAI,YACJ,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oBACA,A,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kDACA,A,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,CAGD,A,+BACC,S,CAGD,eAEC,8BACA,qDACA,A,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kDACA,A,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWG,AAAH,sC,MACC,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iB,AACA,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mEACA,A,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iBACL,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,c,AAC5B,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,qCACC,e,CAED,S,4GAIK,iBAAmB,cACxB,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,c,AACrB,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,C,AAED,oBACC,wC,CAED,S,oG,AAQA,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,O,AACL,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,8GACC,a,CAFmB,A,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,OACL,A,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qB,AACpC,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,O,AACL,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,CAFmB,A,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sB,AACtC,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,OACL,A,mBACC,Y,CAED,0BACI,AAAJ,qCACC,AAAI,eACH,A,8GACC,a,C,AAFmB,AAAA,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+B,AAIA,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,O,AACL,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,OACL,A,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,O,AACL,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+B,AAIA,cACC,kD,CAID,+BACA,uF,0IASK,OACD,AAAJ,uBACA,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,OACL,A,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+BAIA,A,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,IACD,A,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2DACA,A,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sCACC,A,U,AACC,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6C,AACC,eACC,O,C,C,MAGI,AAAG,uC,MACT,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,OACD,A,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4C,AACC,yDACC,iB,C,CAIF,oCACA,2CACA,A,eACC,yCACA,8C,CAGD,AAAI,uCACJ,0BACA,0BACI,AAAJ,0BACC,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAGD,AADA,W,AAEC,U,MAGC,8D,C,AAEF,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,CAjCoB,A,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACI,AAAJ,kCACC,AAAI,eACH,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kB,AAb+B,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACI,AAAJ,eACC,6HACA,6HACA,6HACA,6HAJoB,A,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mC,AAHkC,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBAEC,AADD,gBAEC,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oRAjBqB,A,cAmBtB,WACA,W,AAvBa,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gBACJ,A,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,WAHa,AAAA,A,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+Q,AAlB6B,+BAJd,A,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEI,AAAJ,2BAEC,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yH,AAV6B,+BAJd,A,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sG,AALqB,8C,AAJS,+B,AAYjC,gBACK,AAAJ,2CACC,qCACA,oEACA,kJACI,AAAJ,2CACC,qGACA,0VACA,yGACA,yGACA,yGACA,0GAN+B,A,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mC,AAajC,gBACK,AAAJ,2CACC,qCACA,oEACA,sPACI,AAAJ,wBACC,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oDAJS,A,mC,M,AAahC,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACA,AAAI,gDACH,AAAI,2BACH,uGACA,A,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qUAlB6B,A,+BAoB9B,kBACA,kBACA,kBAvByC,A,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oCACA,A,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACA,AAAI,wBACH,AAAI,wDACH,S,AACA,sCACC,+B,CAED,0DACA,A,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,C,AA7BwC,qDAgC1C,2B,AAjCqB,oD,gB,AAuCtB,QACC,S,C,AAED,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACG,AAAH,sC,MACC,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMD,AAAI,8BACJ,A,MACC,0BACA,0B,CAID,iCACA,AAAI,6BACH,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,C,AAGD,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OAjCuB,AAkCtB,AAlCsB,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+S,AAvEwB,AAAA,cA2EzB,A,MACC,wBACA,sCACC,+G,M,C,AA/EsB,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,a,AACA,YACC,iKACA,qM,CAED,S,iIAaK,OACF,AAAH,qB,sCACC,S,CAED,6C,oIAGK,OACF,AAAH,qB,sCACC,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOA,AAAG,sC,wCACF,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,O,AACL,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0CACA,A,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8CACA,A,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;s+BClEA,yB,kDAWK,OACL,+BACA,uF,8GAGK,OACL,+BACA,wF,6GCJK,OACL,0F,iGCdA,K,gKAIA,oF,4E,6BAQA,a,gC,oKAQA,WACA,+CACC,U,MAED,gEAEA,mBACA,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCAEA,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,sGACC,gFACA,0BACA,a,uFAED,oGACC,gFACA,0BACA,W,uF,+GAKD,mBACA,gCACA,eACA,gBACA,UACA,qJACA,oJ,AACA,oC,4G,gE,gE,gE,gE,soC,uH;g1GCxEA,U,AACA,qBACC,mE,CAGD,AAAI,sBACC,AAAJ,eACC,gCACA,oB,AAFoB,AAAA,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,IACI,AAAJ,sBACC,oC,AADsB,AAAA,YAIvB,A,iBACC,qB,CAED,oBAToB,A,AAAA,Y,AADC,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mB,AACC,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,cACpB,A,mBACC,e,CAED,6BACA,SACA,a,wHAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,2GAMA,AACA,AACA,AAHA,yV,sCAgBA,wN,0CAaA,wN,kCCnHA,8B,0CAeA,AAAI,SACJ,AAAI,YACJ,6BACK,AAAJ,SACA,4CACA,A,sCACC,O,CAED,wBACA,W,IAED,A,sCACC,iB,CAED,uC,iDAKA,AAAI,SACA,AAAJ,YACA,6BACC,AAAI,SACJ,mDACA,A,sCACC,O,CAED,wB,IAED,A,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,O,AACL,mB,AACC,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,cACrB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,O,AACL,mBACC,e,CAED,AAAI,eACH,sJACA,sJAFwB,A,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,e,mHAIK,OACL,A,mBACC,e,CAED,mJ,qHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iB,AACD,gBACC,gB,CAED,iC,yCCdA,sDACA,A,sCACC,iB,CAGD,8CACA,A,sCACC,iB,CAED,wB,AACA,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACL,AAAG,gC,sCACF,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC5CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,OACL,A,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2FACA,A,wE,kIAGK,OACL,2F,AACA,wE,2GAQK,OACL,S,sHAGK,O,AACL,6D,wHAGK,OACL,A,6D,4HAGK,O,AACL,eACC,uD,CAED,eACA,A,mCACC,U,AACA,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6CACA,A,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,O,AACL,sBACC,2BACC,AAAI,YACJ,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,qSC1LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,kCAEC,qCACA,mEACA,A,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAED,AAAG,iC,sCACF,S,CAED,mBACC,iBACA,A,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAED,gE,qB,qT,gE,gE,gE,gE,gE,gE,gE;i5F,AC3DD,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACH,AAAI,IACJ,AAAI,IACJ,AACA,4BAEC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,MACD,A,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2F,AAzBwB,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2F,AAF6B,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACJ,AAAI,gBACJ,kH,AACC,UACC,a,CAED,A,iBACC,I,CAED,A,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,IACJ,A,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACJ,AAAI,gBACH,A,WAEC,UACA,A,UACC,a,CAED,4BACA,AAAI,uBACH,4LACA,uBACA,gBACA,6GACA,qI,AAL0C,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8BAnBuB,A,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACK,AAAJ,oBACC,uF,AAD2C,+C,MAI5C,2G,AACA,8BACC,a,CAED,2GACA,yBACI,AAAJ,kBACC,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACC,AAAG,mB,0CACF,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,U,C,mGAII,O,AACL,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6BACA,A,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACC,AAAG,e,sCACF,S,C,CAGF,qLACA,iCACA,kBARsB,A,AAAA,YAUvB,AAAI,gBACH,oK,AADmC,AAAA,Y,AAGpC,gDACC,2C,CAKD,AAAI,gCACH,gCACA,A,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,KACD,A,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACI,AAAH,gB,uCACC,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAEG,AAAJ,kBACC,8FACA,AAAA,W,AAFoB,AAAA,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACJ,AAAI,IACJ,AACA,UACC,2GACA,AAAA,iB,AACA,iBAEC,gDACA,O,CAED,SACD,A,kBAEC,2CACA,O,AAED,gBACC,WACA,I,AACD,gBACC,kBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,oBACA,I,AACD,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,IACJ,A,kBACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAKF,AADA,QAEC,AAAA,W,AACD,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iCACA,A,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAEE,AAAH,a,QACC,I,CAED,2BACA,WACA,iBACA,2B,AACA,iBAEC,4CACA,Y,C,AAED,cACC,I,C,CAGF,a,4GAGK,O,AACL,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oF,AACA,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,C,AAGD,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gBACA,A,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,OACL,A,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+BACA,A,sC,AACC,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACC,AAAG,e,sCACF,Y,C,CAGF,kGACA,qB,AACA,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,C,AAGF,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sN,AAOA,kBACC,a,CAED,iB,qGAYI,AAAJ,0BACA,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWA,AAAI,0BACJ,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACK,AAAJ,QACA,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,C,AAED,kBACC,A,oC,CAGD,uCACA,iC,AACA,8CACC,QACA,Y,CAIE,AAAH,yD,sCACC,QACA,A,4B,CAGD,iIACA,A,8BACC,uB,AACA,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mC,AACA,MACC,yDACA,A,sCACC,S,CAED,iI,AACA,2BACC,0B,C,CAGF,A,gDACC,A,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACA,AAAI,iBACH,UACA,AAAI,eACH,A,oBACC,wB,MAEA,6B,CAJiB,A,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uB,AACA,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACJ,AAAI,eACH,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,OACA,A,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,Y,AAFG,AAAA,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6FAG1C,A,QACC,S,CAED,S,0EAGK,OACL,A,gBACC,gC,CAEE,AAAH,uD,sCACC,S,CAED,2C,AACA,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wD,AACA,aACC,mC,CAED,0CACA,A,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,CAEF,A,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,OACD,A,gBACC,O,AACD,gBACC,QACD,A,gBACC,O,AACD,gBACC,Q,C,AAEF,iBACC,WACA,UACC,QACD,A,gBACC,QACD,A,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACI,AAAJ,eACC,4a,AADmB,AAAA,YAGpB,AAAI,iBAMH,2J,AANqB,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,O,AACL,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uC,AACD,wBACC,uC,AACD,sCACC,A,wBACC,mC,CAED,AAAI,eACH,wIACA,2O,AAFkB,AAAA,YAIpB,A,wCACC,0C,CAED,0B,uHAUK,O,AACL,kBACC,oB,CAED,wBAEI,AAAH,qB,sCACC,Y,CAID,AAAG,sD,sCACF,Y,CAED,8DACA,A,6DACC,yC,CAED,cACA,0C,CAED,A,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+B,AACA,sCACC,oB,CAED,2CACI,AAAJ,Y,AACA,oBACC,2C,A,0BAGA,kDACA,AAAI,eACH,2C,AACA,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACA,AAAI,mD,AACH,YACC,kC,CAED,qDAJiC,A,AAAA,YAMlC,A,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACL,AAAI,IACJ,IACA,AACC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6BACA,A,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,I,AACD,iBACC,KACA,8BACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEA,AAAI,iBAEH,6BACA,A,uCACC,qB,CAID,mBACA,mBACA,2FACA,W,AAEA,iBACC,AAAI,0BACH,mT,AADsC,AAAA,c,AAGxC,iBACC,oIACC,8M,M,AAEF,iBACC,AAAI,iBACH,gY,AAD8B,AAAA,cAG/B,AAAI,0BACH,mgBADsC,A,AAAA,cAGxC,A,iBACC,W,MAEA,2C,CAID,QACA,WACC,AAAI,iBACH,+LACA,AAAI,+BACH,wEACA,sC,AAFoC,AAAA,c,AAFf,cAOxB,A,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sC,AAFoC,AAAA,c,AAFf,cAOxB,A,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,uEACA,sC,AAFoC,AAAA,c,AAFf,cAOxB,A,iBACC,kCACA,kBACD,A,iBACC,AAAI,iBACH,kHACA,2JAFsB,A,AAAA,c,AAIxB,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,aANsB,A,AAAA,cAQvB,kB,AACD,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mB,AACA,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,cAFf,A,cAWxB,A,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mB,AACA,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,c,AAWxB,kBACC,A,iCACC,AAAI,iBACH,A,uHACC,wI,C,AAFqB,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kBACD,A,kBACC,AAAI,iBACH,2QACA,wCAFsB,AAAA,A,c,AAIxB,kBACC,AAAI,iBACH,2QACA,2QACA,mD,AAHsB,AAAA,c,AAKxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oD,AAJsB,AAAA,c,AAMxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGACA,AACC,SACA,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,IACD,A,6CACC,wBACA,qFACA,I,CAED,uEACI,AAAJ,+BACC,6FACI,AAAJ,+BACC,kCACA,sDACA,a,AAHwC,AAAA,c,AAFD,AAAA,c,8IAUpC,OACL,eACA,+B,AACA,sCACC,A,a,C,AAED,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,sB,AACD,qBACC,A,uDACC,gB,CAED,UACA,sBACD,A,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACL,AAAG,sD,sCACF,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,C,AAED,0EACC,+B,CAED,iB,0GAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIA,AAAG,kB,sC,AACF,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kDACA,A,sBACC,M,CAED,A,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,c,AACD,gBACC,e,AACD,gBACC,c,AACD,sCACC,Y,AACD,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iB,AACD,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;uc,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+B,AACA,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sCACC,A,+BACC,qB,CAED,QACA,O,CAGD,AADA,cAGC,iGACA,AAAA,e,AACA,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,OACD,A,kBACC,mB,AACA,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wCACA,A,qB,AACC,iBACC,a,MAEA,AAAA,wBACA,sD,C,C,AAGF,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wCACD,A,gBACC,wC,MAEA,kCACA,S,CAED,A,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,OACL,A,0CACC,gB,CAED,A,kBACC,oB,CAED,A,wBACC,AAAI,IACJ,mCACA,A,0CACC,gB,CAED,A,UACC,YACA,gB,CAED,qCACA,AAAG,qC,0CACF,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEL,AAAG,sC,MACF,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+BACA,A,sCACC,S,CAED,IACA,WACI,AAAH,oB,sCACC,S,C,AAGF,iBACC,2CACA,A,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qEACC,A,OAEC,uD,CAED,8K,CAED,+B,AACA,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sCACF,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAEE,AAAH,0D,gDACC,A,uCACC,U,CAED,S,CAID,A,0BACC,iIACC,A,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iBACC,A,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oD,AACA,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+B,AACA,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8B,AACD,kB,AAEA,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,CAED,A,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8BACA,A,+CACC,S,CAED,A,4BACC,gD,C,CAGF,YACC,8BACA,A,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACL,AAAG,sD,sCACF,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+BACA,A,+CACC,Y,CAED,oD,sGAkBA,AAAI,SACJ,kBACA,kBACA,oBACA,IACA,4HACC,eACA,AAAI,qBACH,gEACA,WACA,uB,AAH4B,iB,KAM9B,Q,sCAMA,AAAI,wBACD,AAAH,oB,sCACC,oB,CAED,mH,0CA4BI,AAAJ,wBACA,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yB,AACA,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sC,AACC,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,O,AACL,oBACC,AAAG,wB,sCACF,Y,C,CAGF,8BACA,2CACA,yBACA,sEACA,A,gBACC,4C,CAED,oB,8OAKK,OACL,WACC,A,SACC,qC,CAEE,AAAH,4C,sCACC,S,CAED,wBACA,A,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACI,AAAJ,uBACA,wBACC,4JACA,0F,K,AAED,iBACC,8C,CAED,A,iBACC,mD,CAED,+BACA,A,QACC,qC,CAED,AAAG,mD,sCACF,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACA,AAAI,gFAMH,qDACA,wIACI,AAAJ,2DACC,mG,AADgC,AAAA,oBAGjC,AAAA,YACA,AAAA,YAZiC,A,AAAA,Y,AAFF,AAAA,aAmB7B,AAAJ,sBACA,wGACC,A,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,CAGD,A,oCACC,AAAG,mB,2D,AACF,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qCACH,A,iBACI,AAAH,mB,sCACC,Y,C,C,AAGF,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2BAd8C,A,AAAA,YAgB/C,oC,6IAGK,OACL,A,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,O,AACL,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFAbiB,AAcjB,AAdiB,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6G,AA9DkB,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iHAlDkB,A,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2BACA,A,QACC,Y,CAED,S,mHAQK,O,AACL,4BACC,4E,CAED,6CACA,sB,AACA,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sC,AACF,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iB,AACC,4B,CAED,A,4G,AACC,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6BACA,A,sCACC,A,4B,CAED,A,iBACC,sBACA,A,oC,CAGD,6BACA,A,sCACC,sBACA,A,4B,CAED,sB,AACA,eACC,A,mC,CAED,A,sC,qIAKK,O,AAEL,iC,AACC,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2B,AACA,kBACC,M,CAED,AAAG,W,sC,AACF,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,yBACA,A,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAEE,AAAH,2C,sCACC,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAED,AAAI,qBACH,6KACA,8K,AACA,gBAYC,kFACA,kFACA,AAjBuB,AAAA,oB,CAmBxB,+FACA,sGACA,kGAKA,A,UACC,A,uDACC,6C,C,A,sBAGD,6C,CA/BuB,AAAA,A,YAkCzB,iB,yIAIK,OACL,AACA,aACC,AAAG,4C,sCACF,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,aAgBrB,A,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAED,AAAG,2C,sCACF,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,CAED,A,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6BACA,A,sCACC,oB,C,CAGF,A,YACC,M,CAED,A,mBAOC,S,CAKD,AAAG,2C,sCACF,oB,CAED,gDACA,A,QACC,gD,CAID,AADA,yBAEC,sBACA,kBACA,A,MACC,oB,C,AAEF,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,oCACC,c,MAEA,0B,CAED,A,sCACC,oB,C,CAGF,A,uBACC,yB,C,AAED,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IACJ,AACA,qBACC,IACD,A,2BACC,I,AACD,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,OACL,A,gBACC,mC,CAED,A,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kCACA,A,kBACC,2GACA,2GACA,2HACA,wH,AACA,sCACC,8C,C,AAED,2BACC,wE,C,AAED,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACK,AAAJ,iBACC,mFACA,A,uGACC,kS,CAHqB,A,AAAA,c,CAQxB,iCACA,wBACA,AAEC,sBACA,wBAKA,sBACA,KAED,AAAI,kBACC,AAAJ,kBACK,AAAJ,iBACC,mFACA,kLACA,AAAI,gMA0BH,A,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,a,AACA,4CACC,AAxCsD,AAAA,sB,C,CA6CxD,A,kBACC,qT,MAEA,sB,CAGD,A,eACI,AAAH,kN,uCACC,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yM,AACA,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,CAGD,A,sBACC,AAAA,+B,MAGA,sKACA,aACC,yCACA,A,uCACC,U,CAED,mBACA,eACA,A,gBACC,mBACA,A,SACC,M,CAED,yC,AACA,uCACC,U,CAED,6K,MAEA,A,iBACC,4CACA,A,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,CA9BmB,AAAA,A,c,C,CAoCvB,A,kBACC,A,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIxD,AAAI,kBACH,uW,AAD8B,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6F,AACD,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACA,AAAI,iBACH,yFACA,A,YACC,K,A,iBAEA,O,MAEA,e,CAED,qHATkB,A,AAAA,c,AAHD,AAAA,c,AAtJqC,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGC,AAAG,4C,uCACF,U,C,AAED,4CACC,+B,CAED,AAAA,mBACA,A,aACC,O,CAGD,iCAEA,uBAEA,W,CA9LqB,AAAA,A,c,AADD,AAAA,cAoMvB,iB,2KAKK,OAEL,A,U,AACC,eACC,mC,CAED,8B,AACA,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,IACA,A,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wCACA,A,eACC,qC,AACA,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8BACA,A,sCACC,S,CAED,A,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,CAED,A,QACC,sC,CAED,A,eACC,yJ,C,AA3CmB,AAAA,Y,C,AA+CtB,eACC,AAAA,+BACA,AAAG,0C,uCACF,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wFACC,A,UACC,M,CAED,AAAA,WACA,AAPmB,AAAA,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OACC,AAdmB,AAAA,oB,CAgBpB,A,uFACC,2K,MAEA,2K,C,AAnBmB,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wHACC,A,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACI,AAAJ,4FACC,6MACA,AAAA,YACA,AAAA,WAHkC,A,AAAA,kBAKnC,4B,AAP6B,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;i4BC/KI,OACL,YACC,aACA,cACA,uFACA,A,yEACC,S,CAED,A,UACC,2C,CAED,A,iPACC,S,C,C,kFCnBF,A,QACC,e,CAED,c,yDAWK,OACL,YACC,kBACA,QACA,uFACA,A,4EAEC,S,CAGD,A,UAEC,YACC,0CACA,sBACA,A,aACC,M,C,C,AAGF,QACC,wB,CAED,wB,CAED,A,sPACC,S,C,C,yGCtCF,AAAI,0BACJ,UACA,S,yBAU4B,oB,yCAGvB,OAA4B,c,iGAG5B,OAAyB,qB,kGAGzB,OAA2B,gD,qGAG3B,OAAyB,gF,iGAGzB,OACL,uBACA,gC,+GAKK,OACL,A,0CACC,kD,CAED,A,qHACC,qG,CAED,0JACA,YACA,6DACC,Y,CAED,wB,+GAKK,OACL,A,SACC,kD,CAED,A,uBACC,4B,CAED,oGACA,YACA,WACC,Y,CAED,mE,uGAKK,OACL,A,SACC,gD,C,AAED,kBACC,4B,CAED,2E,qGAIK,OAmBL,8C,AACA,UACC,I,CAED,S,yGAIK,OAOL,c,AACA,yBACC,I,CAED,S,2GAIK,OACL,aACA,AAAI,eACH,iBACA,wKACA,qF,AAHkB,AAAA,YAKnB,S,oHAkFK,OACL,YACA,gBACA,cACA,S,mGAGK,OACL,YACA,cACA,c,sFCpDA,2FACA,mEACA,uGACA,A,QACC,oB,CAED,S,0DAIK,OACL,QACA,WAEA,0CACA,A,yCACC,yE,CAED,A,8BACC,yB,CAGD,2CACA,AAAI,mBACH,QACA,A,SACC,AAAI,kBACJ,mCACA,QACA,uFACA,QACA,sEACA,2HACA,kI,C,AAVsB,AAAA,Y,uHAgBnB,OACL,AAAA,mBACA,A,YACC,qB,CAGD,AAAA,qBACA,A,aACC,uB,CAGD,wRACA,sFACA,S,qK,gE,u8C,uxF,+lL,o8J,u5C,ozF,u9E,8unB;ykJCvNA,oD,oDAGK,OACL,A,eACC,Y,CAED,A,QACC,a,C,AAED,UACC,Y,CAED,sK,yHAGK,OACL,2B,sIAGK,O,AACL,6BACC,S,CAED,c,qJAGK,OACL,A,6BACC,S,CAED,c,qJAGK,OACL,gC,4IAGK,OACL,A,6BACC,S,CAED,c,yIAGK,O,AACL,8CACC,S,CAED,+B,kJAGK,OACL,sBACA,A,kBACC,gB,C,8HAII,OACL,sB,iHAGK,OACL,kB,2HAGK,OACL,AAAI,iBACH,A,uBACC,Y,C,AAFmC,AAAA,YAKrC,a,wHAGK,OACL,AAAI,gBACH,A,+JACC,a,CAF8B,AAAA,A,YAKhC,Y,+HAGK,OACL,uJ,2HAGK,OACL,IACI,AAAJ,iB,AACC,wBACC,AAAA,W,C,AAFmC,AAAA,YAKrC,S,0IAGK,OACL,AAAI,gBACH,A,+JACC,a,C,AAF8B,AAAA,YAKhC,AAAI,gBACH,AAAI,gBACH,qTAD+B,A,AAAA,Y,AADX,AAAA,YAKtB,AAAI,gBACH,qF,AAD+B,AAAA,YAGhC,Y,8GAGK,O,AACL,oBACC,AAAA,iC,AACA,qBACC,kBACA,A,+CACC,mB,C,C,CAIH,iB,qHAGK,OACL,oCACA,sBACA,gCACA,wBACA,wBACA,wBACA,oCACA,S,iJAGK,OACL,cACA,cACA,AAAI,gBACH,+FACA,+F,AAF+B,AAAA,YAI5B,AAAJ,gBACC,A,uBACC,AAAI,gBACH,mUAD+B,A,AAAA,Y,MAIhC,AAAI,gBACH,mU,AAD+B,AAAA,Y,CANF,A,AAAA,YAWhC,AAAG,gD,sCACF,S,CAEE,AAAH,gC,sCACC,S,CAED,iB,wNCtKA,AAAI,YACJ,mHACA,A,sCACC,U,C,8DASD,qB,mCAKK,uCACL,gB,+IAGK,uCACL,iDACA,iCACA,WACA,WACA,A,QACC,A,gD,CAED,A,0D,uJAGK,uCACL,uBACA,A,WACC,A,gD,CAED,uEACA,yGACA,A,0D,2HAIA,kFAGA,kBACA,sBAEA,uCACA,AACA,UACA,UACA,UACA,U,AACA,QACC,QACA,QACA,Q,CAED,wBAEA,wB,oCAIA,AAAG,oF,sCACF,S,CAED,AAAG,iB,sCACF,S,CAED,iB,oCAIA,YACA,uGACA,sB,kCAIA,YACA,kBACA,sB,kCC3EA,4CAIA,S,2CAGK,OACL,iBACA,yDAIA,uBACA,iB,4FChBA,A,8B,kCAIA,qBACA,A,2C,kCAIA,qBACA,A,kC,wBAIA,cACA,gB,kCAIA,qBACA,A,kC,kCAIA,qBACA,A,kC,kCAIA,qBACA,A,kC,mMAII,AAAJ,YACA,oCACA,A,sCACC,U,CAED,gDAGA,+GACA,A,sCACC,U,CAID,sCACA,A,sCACC,U,CAGD,qBACA,AAAG,oB,sCACF,U,CAGD,qBACG,AAAH,kD,sCACC,U,CAED,qBACA,AAAG,kB,sCACF,U,CAGD,qBACA,AAAG,yB,sCACF,U,CAGD,qBACA,AAAG,yB,sCACF,U,CAGD,qBACA,AAAG,yB,sCACF,U,CAID,uC,AACA,sCACC,U,CAED,oEACA,MACA,AAAG,sE,sCACF,U,C,mFAKD,yBACA,mFACA,sBACA,sBACA,2BACA,wB,iCAMG,AAAH,6C,sCACC,S,CAED,YACG,AAAH,iB,sCACC,S,CAED,iB,iCAIA,YACA,AAAG,mE,sCACF,S,CAED,iB,kCAoBA,kG,0EAMK,OACL,AAAG,kD,sCACF,S,CAGD,yBACA,QACA,QACA,IACA,A,QACC,I,CAGD,mFACA,4BACA,kBACA,0BAEA,MACA,kCACA,iBACA,gCACA,gBACA,kCACA,wB,mIAMK,OACL,IACA,6BACA,kD,iIAGK,OACL,iBACA,iDACA,kBACA,kBACA,uBACA,sB,6HAGK,OACL,kG,2GAGK,OACL,IACA,IACA,UACC,M,AACD,gBACC,M,AACD,gBACC,MACD,A,gBACC,O,MAEA,iC,CAED,+C,yIAGK,OACL,iB,AAEA,eACC,A,+BACC,0B,CAED,iB,CAGD,AAAA,qCAGA,AADA,A,4BAEC,oC,CAED,A,yBACC,4B,CAGD,QACA,iBACA,sBAGA,A,wBACC,iBACA,kBACA,kBACA,A,+BACC,sDACA,+B,CAED,AAAG,yB,yFACF,iDACA,2B,CAED,AAAG,yB,yFACF,kDACA,2B,CAED,AAAG,yB,8EACF,2CACA,2B,AACA,MACC,AAAA,uB,C,C,C,AAMH,wBACC,kBACA,sBACA,uEACA,gCACC,kDACA,uEACA,2B,C,CAIF,A,MACC,iB,A,4FAEA,A,6BACC,sC,MAEA,AAAA,qC,CAED,A,uBACC,yD,AACA,uBACC,oCACC,uBACA,A,QACC,c,CAED,gB,I,MAGD,gB,C,C,CAKH,iB,6GAGK,OACL,gCACA,4BACA,iBACA,A,yFACC,gB,C,uJAII,OACL,AAAG,sB,sCACF,S,CAGD,AAAG,wB,sCACF,S,CAID,qBACA,AAAG,iC,sCACF,S,CAID,qBACG,AAAH,mC,sCACC,S,CAID,qBACG,AAAH,iC,sCACC,S,CAID,qBACA,AAAG,sB,sCACF,S,CAED,A,oDACC,+BACA,+BACA,AAAG,iD,sCACF,S,C,CAGF,A,4BAEC,mBACA,UACA,AAAG,0C,sCACF,S,C,C,AAIF,eACC,uB,CAGD,iB,qGCpXA,mBACA,AAAI,eACH,2E,AAD8C,AAAA,YAG/C,qB,mDAGK,OACL,0C,sIAGK,OACL,sD,A,kB,a,OACC,A,uBACC,kFACA,a,CAED,AAAA,4H,K,oNClBD,AAAI,YACJ,sHACA,A,sCACC,U,C,0FAaI,uCACL,A,UACC,S,CAED,c,0IAuBA,qBACA,sHACC,sG,KAGD,sHACC,sHACC,uL,K,KAGF,S,oCAqEK,OACL,iH,4IAGK,OACL,8KACA,UACA,UACA,A,4D,wJAGK,OACL,8KACA,gLACA,A,U,AACC,gD,CAED,wBACA,A,uD,kGAGgE,qBAChE,mIAIA,sBACA,yB,oEAGK,OACL,mBACA,iGACA,IAEA,AADD,AACK,oBACH,AAAI,eACH,A,+LACC,W,C,AAFoB,AAAA,YAKtB,AAAA,W,AANqB,AAAA,YAQtB,Y,gJAGK,OACL,mBACA,gBACA,IACA,U,AACA,gBACC,IACA,gB,AACD,gBACC,gBACA,gBACD,A,gBACC,gBACA,I,CAED,iM,qIAGK,OACL,mBACA,AAAI,eACH,AAAI,eACH,A,mDACC,Y,C,AAFoB,AAAA,Y,AADD,AAAA,YAOtB,a,iIAGK,OACL,2B,yIAGK,OACL,mBACA,AAAI,eACH,AAAI,eACH,A,uBACC,sC,C,AAFoB,AAAA,Y,AADD,AAAA,Y,mJASjB,OACL,uNACA,8HACA,uB,+JAGK,OACL,mBACA,aACA,sCACC,8FACA,kHACC,A,uBACC,wL,C,K,KAIH,qD,+FCpOI,AAAJ,YACA,uCACA,A,sCACC,U,CAED,uCACA,A,sCACC,U,C,sCAkBD,kC,4CAMK,OACL,A,2BACC,2B,CAED,AAAA,2CACA,A,0BACC,iBACA,iBACA,qB,CAED,iB,iHAGK,O,AACL,2BACC,yB,CAED,WACA,AAAG,qB,sCACF,S,CAGD,WACA,AAAG,kB,sCACF,S,CAGD,AAAG,yB,sCACF,S,CAGD,uBACA,mFACA,wBACA,yB,mGAGK,OACL,SACA,oB,kNCvEA,AAAI,YACJ,0H,AACA,sCACC,U,C,gGASI,OACL,+BACA,yM,8JAGK,OACL,+BACA,+VACA,2JACA,0JACA,gBACA,gBACA,A,kE,8HAGK,OACL,+BACA,A,gD,0FASA,sC,4CAKK,OACL,AAAA,uBACA,A,+BACC,0B,CAED,iB,qHAGK,OACF,AAAH,mC,sCACC,S,CAEE,AAAH,iB,sCACC,S,CAGD,yBACA,qGACA,MACA,iF,oHAGK,OACL,gBACA,sG,8HAMA,IACA,YACA,kGACA,KACA,iF,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,mpQ,kC,4qB,4D,6D,6D,K;iiBChDA,gD,kCAQA,AAAI,UACJ,A,kBACC,6BACA,O,CAIG,AAAJ,qBACA,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJ,AAHuB,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wBACC,A,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,CAED,A,wBACC,iCACA,SACA,6BACA,SACA,6BACA,SACA,A,wBACC,6BACA,4G,CAED,6B,C,CAGF,A,yBACC,A,yBACC,IACA,AAAI,2BACH,A,yBACC,wBACA,M,C,AAH6B,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACI,AAAJ,KACA,AAAI,IACJ,YACA,+C,AACA,yBAEC,cACA,AAAI,QACJ,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;oICzQA,iB,mC,4G,gE;ggBCMA,U,AACA,qBACC,mCACA,A,sCACC,oB,CAED,qBACA,+C,CAGD,cACA,yBACA,AAAG,gG,2DACF,oB,O,oS,gE,gE,gE,gE,gE,8F,wD"} +{"version":3,"file":"blocks.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/errors/errors.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/exec_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/mutex.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/atob.go","/goroot/src/strconv/atof.go","/goroot/src/strconv/atoi.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/goroot/src/sort/search.go","/goroot/src/sort/sort.go","/goroot/src/flag/flag.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/math/rand/exp.go","/goroot/src/math/rand/normal.go","/goroot/src/math/rand/rand.go","/goroot/src/math/rand/rng.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/field.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/font.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/game.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/gamescene.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/input.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/piece.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/scenemanager.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/blocks/titlescene.go","/goroot/src/log/log.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/pprof/pprof.go","/gopath/src/github.com/hajimehoshi/ebiten/example/blocks/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kBACA,A,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kB,AACC,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oBACA,A,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;0NC7DA,oB,yCAQK,OACL,W;2JC6BA,A,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,OACL,A,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,CAIF,A,oGAWK,OACL,AAMA,uGACA,A,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,eACA,A,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8C,AACA,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gB,AANiC,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLI,AAAJ,0BACA,M,0CCVK,O,AACL,AAIA,sHAEC,kG,C,AAED,uGAUK,OACL,AAKG,AAAH,mH,QACC,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,C,AAGF,wGAWK,OACL,AAKA,WAEA,0IAEA,A,uIACC,kG,CAED,A,sGAaK,OACL,AAQA,2H,AACA,kBACC,IACA,wD,CAGD,AAAI,oBACH,kGADuB,A,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vB,AC6J5B,gBACC,A,8C,CAED,2CACC,AAAI,IACJ,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uD,AAUA,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;qKC3SA,MACA,M,0BA4CA,8B,0BAyBA,AADA,UAEC,S,MAEA,S,C,+B,AAKD,WACC,a,C,AAED,WACC,a,CAED,a,yCAIA,A,0B,+BAIA,A,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,2BAIA,A,iBACC,S,CAED,8B,yBAoCA,S,+CAyBA,A,0C,gDAoBA,A,WACC,A,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,c,AACA,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,c,AACA,WACC,M,CAED,U,CAGD,2B,AACA,4BACC,AAAA,U,CAGD,yD,oDAIA,KACA,A,mCACC,M,CAED,6BACA,oB,AAEA,a,AACC,WACC,Y,CAED,S,C,AAED,gBACC,oB,C,AAED,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,CAED,A,iBACC,iC,CAGD,oBACA,A,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,6DAIA,K,AACA,yFACC,M,CAED,4EACA,0DAEA,A,mC,AACC,gCACC,Y,CAED,S,CAED,A,mCACC,8E,C,AAED,gCACC,oB,CAGD,yD,gCCxSA,QACA,SACA,AAAI,kBACH,+FACA,oOAF8B,AAAA,A,c,4FClB/B,AAOA,AACA,W,AACC,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4EACA,A,4CACC,sEACA,0B,C,AAED,4CACC,O,CAGD,mFACA,SACA,iFACA,2E,AACA,6DACC,wB,CAED,A,OACC,O,C,AAED,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;;4PCtBA,YACA,A,QACC,A,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,UACC,A,8C,CAID,A,QACC,A,6C,CAED,uFACA,A,kBACC,A,8C,C,AAID,UACC,8CACA,A,WACC,A,8C,C,AAED,8C,CAID,A,QACC,A,mD,CAED,wFACA,A,oB,AACC,oD,C,AAID,UACC,4EACA,A,YACC,A,oD,C,AAED,uBACC,A,oD,CAED,A,gD,C,AAID,QACC,A,mD,CAED,wFACA,A,oB,AACC,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sLAIA,W,AACA,QACC,A,6C,CAED,kBAGA,A,UACC,A,+C,CAID,A,UACC,A,8C,CAID,A,QACC,A,6C,CAED,kBACA,A,kBACC,A,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,Y,AACC,oD,CAED,A,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,C,AAED,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,UACC,A,gC,CAED,SACA,4FACA,A,UACC,A,4B,CAKD,SACA,A,QACC,I,CAED,AAAI,AAAA,uB,AACH,4FACC,M,CAFyB,A,AAAA,YAK3B,A,QACC,I,CAED,oC,AACA,sB,AACC,gC,C,AAED,4B,6BA8CA,AADA,QAEC,S,AACD,iBACC,S,AACD,kBACC,S,AACD,6BACC,S,AACD,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,SAJD,A,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACA,AAAI,IACJ,AAAI,uB,AACH,6FACC,AAAA,W,MAEA,2BACA,W,C,AALqB,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aACA,AACA,mBACC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,U,AAEA,4BACC,c,C,AAED,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,OACL,A,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oB,AACA,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,CAED,A,sCACC,A,4B,C,CAGF,A,oC,4IAOA,4B,AACC,+CACC,yB,C,QAGF,kB,wLAOK,OACL,aACA,A,wBACC,UACA,gDACA,A,QACC,iE,CAED,mBACA,kBACA,A,sCACC,A,4B,CAID,A,eACC,A,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0BACA,A,oC,CAED,mDACA,4C,AACA,oC,+HAOK,OACL,aACA,A,yBAEC,c,AACA,kBACC,Y,CAED,A,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,aACA,A,oC,0JAQK,OACL,a,AACA,yBAEC,cACA,A,0C,CAED,aACA,yGACA,A,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mBACA,A,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,a,AACA,4B,0IASK,OACL,+B,AACA,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;qtFClYpC,0BACC,A,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2BACA,A,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kBACA,A,kBACC,c,CAED,QACA,yBACA,+BACA,AAAI,iCACH,6BACA,0IAFiC,A,AAAA,YAIlC,S,8EAeA,4BACC,W,QAGD,A,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,aACA,A,iH,C,AAED,gCACC,IACA,+BACA,WACA,KACA,A,8D,CAED,IACA,A,iD,0EAIA,AAAG,gB,gBACF,mBACA,A,iH,CAED,A,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8I,AACC,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACC,AAAI,sBACH,A,yBACC,mBACG,AAAH,sD,OACC,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,U,AACA,iBACC,A,iC,CAGD,WACA,8CAEA,6DACA,A,OACC,A,iC,CAED,0FACA,AAAI,sBACH,A,yBACC,A,mD,C,AAFsB,AAAA,YAKxB,A,iC,8HCI0B,U,iB,ACtF1B,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sBACH,A,wBACC,0B,C,AAFsB,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfA,AAAI,oBACJ,0BA6BA,A,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sCACC,A,6B,CAID,IACA,AAAG,0E,sCACF,A,6B,CAED,A,UACC,A,qC,CAID,aACA,AAAG,4V,sCACF,A,6B,C,AAID,gHACC,AAAA,Y,C,AAED,mE,kEClcI,AATJ,AASA,uBACA,KAEA,2BACA,sBACA,A,sCACC,A,iC,CAKD,AAAG,gX,sCACF,A,iC,CAED,A,+I,iFAQA,YACA,6CACC,2dACA,A,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACA,AAAI,qD,AACJ,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,O,AACL,SACC,A,0C,CAID,0CACA,A,sCACC,A,iC,CAIG,AAAJ,oBAOA,IAGA,0UACA,eACA,kDACA,6F,AACA,wC,iSAGK,OACL,A,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slBACC,A,sB,CAIE,AAAH,6C,sCACC,A,a,CAED,0BACA,A,qB,8LAYK,uCACL,A,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAIA,AAGA,wBACA,AAGA,Y,+CCuDA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,+CAgCA,8CACA,SACA,A,eACC,Y,CAED,Y,gDAgJA,0BACA,A,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2BACA,A,eACC,Y,CAED,S,mDAgBA,kCACA,A,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMI,AAAJ,I,AACA,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LA,AAAI,SACJ,qBACA,A,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,6DA0HI,AAAJ,SACA,qBACA,A,sCACC,Y,CAED,uCACA,KACA,S,AACA,eACC,Y,CAED,Y,4DAuBA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,S,AACA,eACC,Y,CAED,Y,+CAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2C,AACA,eACC,Y,CAED,Y,+CAiSI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,IACA,A,eACC,Y,CAED,Y,uCAMA,qBACA,A,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sgBC/1CK,OACL,A,aACC,uD,CAED,c,gGAIK,OACL,A,cACC,wD,CAED,e,yJCKK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;uPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,AAAI,uBACJ,AAAI,sB,AACH,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,uCAMA,IACA,AAAI,4BACH,sF,AAD8B,AAAA,YAG/B,AAAI,uBACA,AAAJ,sB,AACC,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAKA,IAGA,AADA,iBAEC,mC,AACD,uBAEC,kBACI,AAAJ,sBACC,A,wBACC,AAAA,W,CAFsB,A,AAAA,YAKxB,S,AACD,4BACC,SACD,A,8BACC,A,UACC,S,CAED,S,CAGD,sBACA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,I,AACA,yCACC,AAAA,WACA,W,CAED,AAAI,6BACH,yDACA,gCACA,4FACA,AAAA,WACA,A,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,SACD,A,gBACC,4B,AACD,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sF,AADkB,AAAA,YAGnB,A,kCACC,S,CAED,AAAI,sBACH,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,8DAKA,WAEA,AADA,UAEC,gB,AACD,gBAEC,kBACI,AAAJ,4B,AACC,wBACC,S,C,AAF2B,AAAA,YAK7B,S,AACD,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,gBACA,AAAI,IACJ,AAAI,4BACH,sF,AAD+B,AAAA,YAGhC,A,gCACC,S,CAED,AAAI,qBACH,yDACA,gCACA,qFACA,A,yCACC,S,CALyB,A,AAAA,YAQ3B,S,wDAucA,A,mBACC,S,CAIE,AAAH,U,UACC,S,A,mBAEA,I,CAID,yDACA,IACA,IACA,AAAI,eACH,IACA,A,iBACC,A,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gB,AAZkB,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;qwEC5qBA,sBACA,0BACA,oBACA,oB,AACA,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,sBCoEA,A,iBACC,a,CAED,kBACA,qB,8RAMA,AAAI,sBACH,AAAO,2BACP,WACC,A,wDACC,A,4DACC,A,2E,CAED,A,8BACC,A,2E,C,C,AAIH,iBACC,A,uBACC,A,oCACC,A,2D,AACC,2E,CAED,A,8B,AACC,iF,C,C,AAGF,oC,AACC,gF,C,CAIH,A,iB,AACC,+EACC,A,2L,CAGF,A,iBACC,A,sDACC,A,iF,CAED,A,iFAED,A,iBACC,A,yD,AACC,iF,CAED,A,iF,AAED,iB,AACC,sDACC,A,iF,C,AAGF,iB,AACC,iF,AAED,iBACC,A,iF,AAED,iB,AACC,iF,AAED,iBACC,A,sDACC,A,iF,C,AAGF,kBACC,A,uDACC,A,iF,CAGF,A,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,CAED,A,0DACC,A,gF,CAED,A,2DACC,A,gF,CAED,A,wDACC,A,gF,C,AAGF,iBACC,A,4D,AACC,gF,CAED,A,8DACC,A,gF,CAED,A,0DACC,A,gF,CAED,A,2DACC,A,gF,C,AAGF,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,CAGD,A,cACC,MACA,A,gCACC,M,CAED,sCACA,A,0E,C,C,C,AAjHyB,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,eACA,A,4BACC,a,C,CARsB,A,AAAA,YAYzB,Y,8BAIA,sHACC,A,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,Q,AACA,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iDACC,A,4B,CAED,A,MACC,K,CAED,A,oC,sCAMA,IACA,AAAI,uBACJ,AAAI,eACH,AAAA,WACA,mJACA,2F,CAGD,A,QACC,I,CAED,A,MACC,iGACC,AAAA,W,C,AAED,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,CAED,A,WACC,M,CAED,KAGA,A,2BACC,sC,C,AAID,2BACC,iC,CAGD,YACA,+BACC,KACA,A,SACC,O,CAED,oF,AACD,mBAEC,KACA,AACA,aACC,gBACA,OACD,A,kBACC,+CACA,O,AACD,iBACC,gDACA,O,AACD,cACC,iDACA,O,AACD,eACC,gD,AACD,gBACC,+C,AACD,iBACC,gB,CAED,kB,AACD,mBACC,4E,AACD,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,kBACD,A,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,iB,AACD,mBACC,kB,AACD,mB,AACC,UACC,+C,MAEA,+C,C,AAEF,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iF,AAGC,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+C,AACC,yBACC,gB,CAED,mF,CAGF,A,kBACC,A,cACC,4CACA,M,CAID,+FACA,A,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mFACD,A,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kF,AAOA,gBACC,a,CAED,kBACA,oB,mB,AAOA,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kBACC,A,yBACC,A,0CACC,a,CAED,QACA,QACA,S,CAED,A,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAIC,AADD,IAEC,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,W,AACC,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+B,AACC,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,CAEF,A,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mC,AACD,mBACC,mCACD,A,6BACC,2CACA,A,eACC,U,CAEF,A,mBAEC,2B,AACD,mBACC,2B,AACD,uCACC,A,mDACC,iB,CAED,2CACA,A,cACC,Q,C,AAEF,mBACC,wCACA,A,eACC,S,CAEF,A,6BACC,2CACA,A,cACC,S,C,AAEF,6BACC,2CACA,A,eACC,W,C,AAEF,6BACC,4CACA,A,iBACC,W,CAID,A,iDACC,iBACA,cACA,A,yBAEC,M,CAGD,KACA,6B,AAA2C,AAAA,cAE3C,sCACA,kB,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,CAEF,A,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,CAEF,A,0FACC,A,gEACC,iBACA,YACA,M,CAEG,AAAJ,gDACA,A,yBACC,A,eACC,MACA,M,C,AAED,8BACC,MACA,M,CAED,mH,A,kBAEA,A,eACC,MACA,M,CAED,uG,A,+BAEA,A,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+B,AAEA,eACC,MACA,M,CAED,+H,M,AAEA,eACC,MACA,M,CAED,mH,CAED,AAAI,iCACJ,2BACA,A,oCACC,2B,CAED,A,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kB,AAEC,0CACC,YACA,iBACA,M,CAED,2B,AACA,QACC,MACA,M,CAED,mDAED,A,kBAGC,sBACA,A,gBACC,MACA,M,CAED,sCACA,kB,AAED,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,CAGF,A,YACC,Y,A,sBAEA,I,CAGD,A,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uF,AACA,kCACC,SACA,qB,CAID,iBACA,qB,C,AAGD,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6E,AAcA,eACC,A,gC,CAGD,A,wEACC,A,+B,CAGD,A,6BACC,Q,AACA,+B,CAGD,AAAI,IACJ,AAAI,eACH,A,gBACC,M,CAEE,AAAH,kB,eACC,M,CAL0B,A,AAAA,YAQ5B,IACA,+BACC,A,gC,AACD,gB,AACC,yBACC,A,+B,C,AAEF,gBACC,A,yBACC,A,mC,C,AAEF,gBACC,A,mC,CAED,A,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0C,AACA,sCACC,S,CAED,A,WACC,+B,CAED,A,sHACC,S,CAED,kC,kD,AAIA,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kBACA,A,eACC,M,CAED,A,mEAEC,A,sD,CAED,iI,AATiB,AAAA,YAWlB,A,2D,2FAqBA,IACA,IACA,QAGA,A,cACC,kBACA,A,uBACC,SACA,iB,C,CAIF,A,YACC,8B,C,AAED,WACC,uD,CAED,iBACC,IAEA,AAAI,kBACA,AAAJ,YAGA,A,0EACC,uD,CAGD,WACA,6BACA,A,sCACC,uD,CAED,gBACA,oBAGA,Q,AACA,sCACC,iBACA,WACA,6BACA,A,sCACC,uD,CAED,IACA,AAAI,2BACH,S,AAD4B,AAAA,YAG7B,sBACA,oB,CAED,A,WAEC,uD,CAID,KACA,mBACC,oBACA,A,gCACC,M,CAHgB,AAAA,A,cAMlB,A,WACC,+D,CAED,qBACA,kBACA,sEACA,A,QACC,sE,CAGD,W,CAGD,A,MACC,K,CAED,A,sDACC,6D,CAED,8B,mDCrqCK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sD,AACA,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sD,AACA,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFACA,AAeA,uGAMA,iFACA,A,eACC,AAAA,W,CAKD,A,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACC,AAAG,gF,eACF,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uCACA,A,MACC,gC,CAGD,A,kDAGK,AAAJ,IACA,AAAA,WACA,qEACA,AAAA,WACA,AACA,8BACC,U,AACD,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sCAGA,A,yCACC,AAAA,WACA,qEACA,gEACA,sCAIA,A,yCACC,AAAA,WACA,qEACA,iC,C,C,CAKH,A,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACA,AAAI,eACH,mCACA,kCACA,A,MACC,AAAA,WACA,iH,CAED,sCAPqB,AAAA,A,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,YACA,A,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,I,AACA,UAEC,AACA,SAEC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,QACA,A,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACL,AAAI,I,AAEJ,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0F,AACA,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,CAGD,A,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2NAEA,A,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,CAED,A,4B,2I,AAoBA,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0J,AACA,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACC,AAAO,uEACP,gEACC,uD,AACD,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kBACL,A,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iB,AACA,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,KACA,A,QACC,oBACA,AAAA,4E,C,CAIF,AAEA,2JACC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,CAED,A,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,C,AAGD,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,C,AAGD,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mG,AACA,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,CAID,A,gOACC,AAAI,4HACH,A,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gI,AACC,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kGACA,A,eACC,sGACA,A,eACC,A,+C,C,C,KAMH,0CACC,0GACA,A,gBACC,A,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,m3N,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,0O,+E,0E,Y,c,+B,4C;wsECjPA,kB,AACA,kBACC,2B,CAED,SACA,sCACA,AAAI,wCACH,qHADgC,A,AAAA,YAGjC,S,uGCDK,O,AAEL,4BACC,4BAEA,iC,CAED,iBAEA,IACA,A,SACC,MACA,K,CAGD,eACA,kB,AAEC,mBACC,SACA,AAAI,YACJ,mEACA,A,sC,AACC,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,CAED,A,0BACC,A,gC,CAED,A,oC,iJCsDK,O,AACL,eACC,A,+C,CAED,A,yC,4IAeK,OACL,A,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,QACD,A,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,O,AACL,eACC,A,0C,CAED,0BACA,A,QACC,I,CAED,A,yD,AACC,gC,CAED,A,sCACC,kC,CAED,A,4B,uIAOK,OACL,A,e,AACC,0C,CAED,mBACC,6BACA,A,4C,AACC,gC,CAED,A,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,e,AACC,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,CAED,A,4B,sIAMK,OACL,A,e,AACC,0C,CAED,mBACC,8B,AACA,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,O,AACL,e,AACC,wD,CAED,4BACA,A,6FACC,kB,C,AAED,sC,AACC,wE,CAED,A,oC,oIAKK,OACL,A,eACC,A,0C,CAED,A,+D,mHAyBK,OACL,A,eACC,uB,CAEE,AAAH,sB,sCACC,wC,CAED,iB,iHAiBA,A,2C,mBAcA,A,QACC,I,CAED,Y,+FChOA,mCACA,A,+BACC,iB,CAED,A,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAED,AAAG,2B,sCACF,2C,CAED,iB,wHAMK,O,AACL,eACC,A,2B,CAED,AAAG,qB,sC,AACF,wB,CAED,A,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yC,AACC,wHACC,K,C,MAGD,kH,C,0EAcD,2CACA,A,sCACC,A,qD,CAKD,A,QACC,iB,CAGD,A,gD,0CAKK,OACL,A,eACC,uB,CAED,sB,uGAGK,OACL,A,uBACC,uB,CAED,AAAI,YACJ,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,eACC,A,kD,CAED,AAAI,sCACJ,uBACA,A,sCACC,A,kE,CAED,A,oD,yHAmBA,AAAI,sCACJ,eACA,A,sCACC,A,yD,C,AAED,0C,4FAGK,OACL,c,AACA,WACC,M,CAED,kCACA,uBACA,kHACC,4B,AACA,UAGC,a,CAED,A,sCACC,A,4B,CAED,e,KAED,A,4B,6HAcK,O,AACL,+BACC,4B,CAED,A,gE,0HAMK,O,AACL,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,I,AACA,+BACC,4B,CAED,qDACA,W,AAKA,0DACC,iBACA,S,CAGD,A,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,OACL,A,+BACC,4B,CAED,A,oE,6IAOK,OACL,A,kD,oFA8CA,gBAEA,mCACC,mB,AAD8B,AAAA,YAI/B,AAAI,AAAA,uBACH,A,yBACC,wBACA,M,C,AAHe,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+B,AACD,oBACC,iC,AACD,mBACC,+BACD,A,oBACC,gC,AACD,oB,AAEA,oBACC,+B,CAED,A,iCACC,8B,CAED,A,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAED,AAAI,IACJ,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCAEL,AADA,AACI,uBACJ,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,SAGF,A,UACC,oEACA,AAAA,W,CAED,AACA,kE,AACC,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;s6DCTrC,IACA,kEACC,A,uC,AACD,2EACC,A,wC,CAED,A,+C,4BCGA,A,6BACC,a,CAED,AAAI,sBACH,kBACA,A,iBACC,kB,CAED,kBACA,A,iBACC,kB,CAED,A,eACC,a,C,AAVuB,AAAA,YAazB,Y,kDAIA,A,iBACC,Y,CAED,kBAGA,WACC,A,kC,AACC,sC,C,AAEF,iB,AACC,kCACC,A,uC,C,AAEF,0BACC,A,e,AACC,qC,CAEF,A,0B,AACC,gCACC,A,sC,C,MAfD,Y,CAkBD,Y,8DAGK,OACL,IACA,YACA,cAGA,A,gBACC,S,CAGD,AADA,yBAEC,AAAA,W,AACD,+BACC,WACA,AAAA,W,CAID,QACA,QACA,kBACC,AACA,yB,AACC,MACC,S,CAED,OACA,UAPgB,AAQhB,AARgB,oB,AAUjB,mDACC,OACA,A,uCACC,AAAA,iBAbe,AAAA,AAcf,oB,CAED,A,aACC,gGACA,AAAA,iB,A,oCAEA,a,CAED,AAtBgB,AAAA,oB,CAwBjB,M,C,AAED,OACC,S,CAED,A,OACC,U,C,AAQD,kEACC,AAAA,WACA,A,gBACC,S,CAED,IACA,A,yBACC,AAAA,W,A,+BAEA,AAAA,WACA,K,C,AAED,wDACC,S,CAED,IACA,4D,AACC,YACC,4C,C,AAF8C,AAAA,YAKhD,wB,CAGD,A,sBACC,S,CAGD,OACA,S,+IAQA,AADA,I,AAIA,gBACC,kB,CAGD,AADA,yBAEC,AAAA,WACD,A,+BACC,OACA,AAAA,W,CAID,QACA,QACA,IACA,IACA,IACA,kBACC,AAAO,yBACP,iBACC,A,MACC,kB,CAED,OACA,IACA,AARgB,AAAA,oB,AAUjB,2BACC,O,AACA,sBACC,AAAA,WAbe,AAcf,AAde,oB,CAgBhB,AAAA,WACA,A,SACC,gCACA,gFACA,AAAA,W,A,oCAEA,O,CAED,AAxBgB,AAAA,oB,CA0BjB,M,CAED,A,OACC,kB,CAED,A,OACC,I,CAQD,A,kEACC,AAAA,WACA,A,gBACC,kB,CAED,IACA,A,yBACC,AAAA,W,A,+BAEA,AAAA,WACA,K,CAED,A,wDACC,kB,CAED,IACA,4DACC,A,YACC,4C,C,AAF8C,AAAA,YAKhD,kB,CAGD,A,sBACC,kB,CAGD,SACA,OACA,kB,mLAOK,QACL,AAAI,IACJ,AAAI,mB,AAGJ,kCACC,mBACA,SACA,c,OAMD,A,kCACC,c,OAED,A,mCAEC,mBACA,SACA,c,OAID,IACA,cACC,AAAI,IACJ,A,oBACC,K,MAEA,gG,CAED,YACA,W,CAED,qCACC,AAAI,IACJ,A,qBACC,K,MAEA,iG,CAED,WACA,W,CAID,AAAA,WAKA,A,oBACC,qBACA,YACA,W,CAGD,A,gFACC,c,OAID,iCACA,qBAGA,A,4GACC,2BACA,AAAA,WACA,A,gFACC,c,O,OAKF,A,iIACC,S,CAED,cAED,OAEC,mBACA,oDACA,OAED,OAEC,qIACA,2JACA,A,UACC,yH,CAED,A,4B,wI,AAmBA,sEACC,Y,CAED,gBACA,A,MACC,K,CAED,AACA,UAEC,A,+B,AAGD,qBAGC,A,SACC,uGACA,K,CAED,A,sBAEC,Y,CAED,A,oH,AACD,sBACC,A,2H,CAED,Y,sDAMA,A,sEACC,Y,CAED,gB,AACA,MACC,K,CAED,AACA,UACC,A,+B,AAGD,qB,AAGC,SACC,uGACA,K,C,AAED,sBAEC,Y,CAED,A,oH,AACD,sB,AACC,2H,CAED,Y,0GAMA,AAAG,qB,M,AACF,oC,CAGD,A,MAEC,0CACA,A,MAEC,A,OACC,AAAG,yB,MACF,A,oC,C,CAIF,eACA,AAAG,8B,MACF,gCACA,kCACA,A,MACC,oB,CAED,A,4B,C,C,CAIH,AAAI,yBACJ,A,eACC,A,gD,CAED,sCACA,mCACA,A,OACC,oB,CAED,A,gC,0GAIA,AAAG,qB,MACF,A,oC,CAGD,A,MAEC,0CACA,A,MAEC,A,OACI,AAAH,yB,MACC,A,oC,C,CAIF,eACG,AAAH,8B,MACC,gCACA,uB,AACA,MACC,oB,CAED,A,4B,C,C,CAIH,AAAI,yBACJ,A,eACC,A,gD,CAED,sCACA,wBACA,A,OACC,oB,CAED,A,gC,0EAqBA,A,WACC,qB,AACA,4C,CAED,qBACA,A,4B,yCCrgBK,OACL,qE,0EAIA,qC,kBAIA,oC,sBAUA,A,QACC,wB,CAED,4G,oKAKI,AAAJ,8CAEA,A,UACC,K,CAGD,IACA,AACA,sGACC,iBACA,c,AAED,qBAGA,A,qBAEC,AACA,4JACC,KACA,iBACA,A,oCACC,iBACA,c,OAEF,A,qBACC,I,qBAEA,K,O,qBAID,+BACA,c,OAGD,mBACA,OACA,6EAEI,AAAJ,8CACK,AAAJ,IACA,kBACA,AACA,oHACC,gBACD,A,uBACC,8B,AACD,uBACC,8B,uBAEA,mBACA,iBACA,c,QAED,A,oCACC,mBACA,iBACA,c,QAGD,A,iFAEC,qCACA,gBACA,c,QAED,+BAEA,kEACA,A,uIAEC,qCACA,gBACA,c,QAED,I,AApCuB,AAAA,kCAuCxB,A,oCAED,O,AACC,qD,wHAoBA,AAEA,A,UACC,K,CAID,A,iB,AACC,wD,CAID,IACA,Q,AACA,yBACC,iB,A,+BAEA,OACA,iB,CAID,AAAI,mBACJ,yBACA,A,iGACC,kCACA,wBACA,A,0C,CAED,gDACA,A,+D,AACC,uG,C,AAED,6DACC,A,oG,CAED,6B,AACA,MACC,+B,CAED,A,oC,gDCzKK,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IAEA,AADA,aAEC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACA,AAAI,AAAA,uBACH,mJACA,AAAA,iB,AAFgB,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gCACC,A,YACC,A,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yBAdgB,A,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kCACA,A,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DA,AAAI,sBACH,A,iBACC,Y,CAED,A,gHACC,2G,CALsB,AAAA,A,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGI,AAAJ,AAAI,uBACH,0HACA,wFACA,iBACA,AAAA,W,AACA,UACC,8F,A,qBAEA,a,CAED,IAVgB,A,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2F,AAMD,iBACC,a,CAED,A,yGAEC,A,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAIG,AAAJ,qBACC,6EACA,A,SACC,AAAA,2JACA,YACA,O,CALuB,A,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACI,AAAJ,0BACC,uLADgC,A,AAAA,YAGjC,cACC,gC,AADe,AAAA,Y,AAGhB,eACC,AAAA,kE,CAED,S,sLCzPK,OACL,cAEA,cAGA,A,oBACC,qBACA,2CACA,W,CAID,kDACA,A,wJAEC,kE,CAID,A,uFACC,2BACA,AAAA,W,CAID,A,2DAEC,mBACA,oDACA,O,A,uIAGA,S,CAGD,qIACA,2JACA,A,UACC,mH,CAED,Y,gLAOK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6GACA,A,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8B,AACC,a,CAED,A,0DACC,uBACA,Y,C,AAED,0DACC,uBACA,Y,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,IACA,A,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kBACC,A,iB,CAED,4EAGA,A,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iF,AACA,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,IACJ,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qIAKA,A,2XAEC,A,iB,C,AAED,gB,6JAOK,OAML,AACA,AAGA,+GACA,oGAEA,AADD,iBAEE,4FACA,AACA,UACC,AAAA,WACD,A,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACA,AAAI,2CACH,A,+EACC,IACA,M,CAED,gCALmC,A,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAID,AAAI,uBACJ,KACI,AAAJ,iBACC,iGACA,4DACA,AAAA,WACA,wFACA,M,CAED,AAAI,kBACH,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gCACA,A,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGD,AAAI,0BACH,A,kHACC,aACA,M,C,AAHyB,AAAA,cAM3B,Y,kI,AAYA,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,C,AAJY,AAAA,YAOd,A,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEC,AAAI,uBACJ,KACI,AAAJ,qDACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gLADmB,A,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,C,AAED,aACC,O,CAED,YACA,Y,CAED,c,AAEA,gBACC,qDACA,Y,C,AAED,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGI,AAAJ,KACA,AAAI,kDACH,A,sFACC,MACA,M,CAED,kC,AALmC,AAAA,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEG,AAAH,wF,gEACC,aACA,aACA,YAGA,0D,C,AAZ6B,AAAA,cAe/B,QACA,eACA,YAII,AAAJ,KACA,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yF,AACA,mFAIC,yG,C,C,gJ,AAYF,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACA,AAAJ,SACA,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,Q,AACD,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,CAGD,A,OACC,yB,CAGG,AAAJ,0BACA,QAEA,MACA,A,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qBACD,A,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,aACD,A,4BACC,A,UACC,I,CAED,K,CAED,A,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,C,AAGF,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACI,AAAJ,0BACA,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qBACD,A,0BACC,O,C,MAID,IACA,oBACC,gBACD,A,kBACC,mB,AACD,0BACC,A,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mB,AACD,0BAEC,IACA,A,uBACC,O,CAKD,A,MACC,I,CAED,YACA,A,eACC,A,WACC,O,CAED,sD,CAED,A,WACC,O,CAED,iC,CAID,uB,0EAQA,A,8BACC,OACA,O,CAiBD,cACA,A,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,IACJ,A,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wBACJ,A,WACC,6E,MAEA,K,CAED,6EACA,A,WACC,6E,MAEA,K,CAKD,8CAIA,oDAKA,AADA,UAEC,gBACA,O,AACD,YACC,oBACA,O,AACD,aACC,kBACA,O,C,AAjCoB,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,Y,AACA,aACC,I,CAED,A,QACC,KACA,K,MAEA,K,CAED,eAGA,AAAI,uBACJ,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,eAE/B,A,MACC,gB,CAID,A,WACC,AAAI,IACJ,AAAI,0BACH,0GADgC,AAAA,A,YAGjC,cACC,gBADe,A,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACA,AAAI,eACH,KACA,AAAG,Y,iBACF,+F,CAED,e,AALqB,AAAA,Y,CASvB,S,2CAKI,AAAJ,uBACA,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,CAED,A,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,KAEA,A,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,CAED,A,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGK,AAAG,uE,QAET,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iI,AAGA,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHI,AAAJ,uBACA,gHACA,eACI,AAAJ,sBACC,uBACA,IACA,A,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,CAY3B,A,2BACC,gBACA,0BAd0B,AAe1B,0B,CAED,A,M,AACC,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gDACD,A,gBACC,gDACD,A,iBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,MAEA,AACA,SACC,gDACA,2EACA,uE,AACD,oBACC,QAGA,AAFA,gDAGI,AAAJ,iBACC,4EADoB,A,Y,AAFtB,kBACC,gDACA,AAAI,iBACH,4E,AADoB,Y,MAIrB,gDACA,AAAI,iBACH,4EADoB,A,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,Q,AACC,cACC,a,CAED,S,CAED,A,cACC,a,C,AAED,4CACC,a,C,CAGF,Y,+CAIA,SACA,AACA,iBACC,A,qC,AACD,wBACC,A,6C,AACD,uB,AACC,6C,CAED,Y,yHAmBA,AAAO,kBACP,kCACC,iBACA,gB,AACD,iBACC,wCACA,A,wE,AACD,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,IACD,A,iBACC,I,AACD,kBACC,KACD,A,kBACC,K,AACD,kBACC,K,AACD,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,I,AACD,kBACC,I,AACD,iBACC,I,CAED,AAAI,IACJ,A,eACC,iBACA,gB,CAED,AAAI,eACH,qCACA,A,QACC,iBACA,gB,CAED,c,AANkB,AAAA,YAQnB,iB,AACA,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,O,AACD,yEACC,gBACA,A,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mB,AANkB,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,K,AACD,iBACC,K,AACD,yB,AACC,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,W,AACA,QACC,A,0C,CAED,kBACA,A,oC,AACC,0C,CAED,0BAEA,A,WACC,A,aACC,A,0C,CAED,A,oC,CAED,A,6BACC,A,0C,C,AAED,aACC,A,0C,CAID,A,wBACC,IACA,WACC,A,oCACD,A,iBACC,wCACA,A,iD,AACC,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,CAED,A,gC,AAEC,8C,C,CAGF,A,yD,yBAKA,AAAI,sBACH,A,wBACC,Y,C,AAFsB,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qG,AACA,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,W,AACC,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,CAED,A,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,+3E,O,mC,6I,qE,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,YACD,A,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0D,AAFgC,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,CAED,A,SACC,uD,C,AAED,SACC,uD,C,AAED,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kB,AACA,wBACC,W,CAED,a,qCAIA,A,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2B,AACD,iBACC,2B,AACD,yBACC,sBACD,A,iBACC,sC,AACD,iBACC,4BACD,A,iBACC,4B,AACD,mCACC,uB,AACD,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,a,AACA,2BACC,a,CAED,sD,AACA,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,aACA,A,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,a,AACA,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,e,AACJ,uBACC,+B,CAGG,AAAJ,QACA,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iCACD,A,kBACC,A,0B,AACC,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+BACD,A,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,MACJ,A,uBACC,wBACA,A,iCACC,qE,CAED,8GACA,A,0CACC,4D,CAED,qBACA,A,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8G,AACA,0CACC,4D,CAED,WACA,kD,CAED,e,AACA,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,CAED,A,oCACC,6G,C,AAED,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8B,AACD,kBACC,AAAI,6B,AACH,oCACC,a,CAF4B,A,AAAA,c,CAM/B,Y,mJAGK,QACL,A,8CACC,0D,CAED,8GACA,A,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,QACL,A,+CACC,c,CAED,A,gCACC,iBACA,A,qDACC,iBACA,sCACC,oC,AACD,2BACC,qC,AACD,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UAEC,AADD,KAEC,QAED,A,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,CAGD,A,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,MAGD,A,oBACC,AAAA,a,CAED,A,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGE,AAAJ,kBACC,AAAG,8H,yBACF,kF,C,AAFiB,AAAA,cAKnB,A,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACA,AAAG,a,yBACF,0F,CAED,qB,AALkB,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,cACA,A,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,cACD,A,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oB,AACD,2BACC,2C,CAED,2C,oHAGK,QACL,AAAO,gCACP,YACC,eACA,A,mBACC,8B,CAED,qBACA,sC,AAED,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,UACA,A,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,UACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uBAED,A,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iBACA,A,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACE,AAAP,gCACA,8BACC,mC,AACD,kBACC,2C,AACD,kBACC,2BACD,A,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uC,AACC,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,S,AACD,kBACC,A,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uC,AACA,gCACC,iBACA,YACC,+B,AACD,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2BAED,A,kBACC,UACA,eACA,8B,AAED,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,C,AAGD,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2BAED,A,kBACC,UACA,eACA,8B,MAGA,8C,C,AAGD,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mBACA,A,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sBACA,A,sCACC,A,6D,CAED,A,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,Q,AACL,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,QACL,A,mBACC,oBACA,sB,CAED,mC,kIAGK,QACL,A,mBACC,oBACA,A,qC,C,AAED,kD,qJAGK,QACL,A,mBACC,oBACA,A,iE,C,AAED,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,QACL,A,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mB,AACD,kBACC,eACA,mB,AACD,kBACC,cACA,mBACD,A,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,Q,AACL,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,Q,AACL,wBACC,mE,CAED,iBACA,8B,iIAGK,QACL,A,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,Q,AACL,wBACC,uD,CAED,eACA,uB,wGAGK,QACL,A,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,eACD,A,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,Q,AACL,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wBACC,A,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,Q,AACL,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,CAED,A,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oI,AACC,SACC,W,AACA,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQI,AAAJ,SAOA,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,U,AACJ,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,CAID,A,WAEC,A,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iB,AACA,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uFACA,A,+CACC,uF,CAEG,AAAJ,UACA,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,SACA,A,eACC,6CACC,6GACA,A,oCACC,QACA,c,C,AAED,wBACC,A,uE,C,M,CAIH,A,QACC,c,C,AAED,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,C,AAED,wBACC,6E,CAED,iC,8HAGK,QACL,A,oCACC,qE,CAED,sBACA,4B,mIAGK,Q,AACL,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oBACA,A,2BACC,Y,CAeD,A,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8GACA,A,8FACI,AAAH,AAAG,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,CAGD,8BACA,A,gBACC,a,CAED,KACI,AAAJ,kCACC,8GACA,8G,AACA,+FACI,AAAH,AAAG,a,2BACF,Y,C,CAL6B,A,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4E,AAED,kBACC,eACA,eACA,A,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wIACC,A,mHACC,a,C,MAGF,YAED,A,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,a,AAED,kBACC,oF,AAED,2BACC,8CAED,A,kBACC,iBACA,iBACA,A,+CACC,a,CAED,6CACC,6GACA,6GACA,A,gJACC,a,C,AAED,kKACC,a,CAED,A,uBACC,a,CAED,A,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,QACL,A,6CACC,iE,C,AAED,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,CAED,A,2BACC,qF,C,iJAOI,wCACL,A,WACC,2B,CAGD,A,2BACC,qF,C,AAED,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2B,AACA,kCACC,6D,CAGD,qB,oGAKK,QACL,2B,AACA,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4D,AACD,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oI,AACC,S,AACC,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACG,AAAH,uD,OACC,iC,CAED,8B,yIAOK,QACF,AAAH,2D,OACC,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qC,AACD,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+BACD,A,iBACC,+B,AACD,iBACC,+B,AACD,iBACC,+BACD,A,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,Q,AACL,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8BACA,A,WACC,8B,CAED,WACA,sCACA,8BACA,A,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACJ,AAAI,0BACH,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,O,AAjBsB,AAAA,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,CAED,A,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,CAED,A,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kCACD,A,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,c,AACD,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACO,AAAP,gCAGA,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wDACD,A,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wD,AACD,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,C,AAED,oBACC,2BACA,O,CAED,iCACA,sDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACA,AAAO,gCAGP,WACC,2B,AACD,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,2B,AACD,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,CAED,A,uBAEC,c,CAKD,sB,AACA,uBAEC,wBACA,A,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gCACD,A,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gC,AAED,wBACC,A,WACC,S,CAED,gBACA,A,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0BACA,A,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,UACD,A,kBACC,U,CAGF,A,4DACC,aACA,8FACC,U,AACD,2BACC,UACD,A,kBACC,U,CAGF,A,2BACC,aACA,2CACC,U,AACD,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,C,AAGF,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,AAIH,kB,AACC,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,CAMH,A,cACC,U,CAID,A,kHAGC,U,CAGD,A,cACC,A,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gBACA,A,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;miHCl0EA,AAAI,gBACH,sFACA,sF,AAFsB,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,W,AACA,QACC,A,uBACC,A,sC,CAED,A,MACC,A,sC,M,AAGA,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,OACL,A,wCACC,eACA,O,CAED,wD,AACA,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,OACL,A,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,OACL,A,MACC,S,MAEA,S,C,wJAMI,OAEL,A,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,IACA,A,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,CAEF,A,qCACC,8CACC,AAAA,WACA,oJACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,CAID,A,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,C,AAGF,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,O,AACL,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,YACA,A,eACC,W,CAED,8CAEA,AAAI,SACJ,AAAI,e,AACH,0BACC,gB,CAED,A,kDACC,kB,CAED,AAAI,IACJ,A,eACC,kB,MAEA,uF,CAED,uEAbkB,A,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,O,AACL,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,K,AACJ,wCACC,Y,M,AAEA,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACL,AAAI,SACJ,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,C,AAGD,iBACC,A,oBACC,4BAAe,qB,QACf,sB,C,C,AAMF,4DACC,A,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACI,AAAJ,gBACC,IACA,WACC,wB,AACD,kBACC,8BACD,A,iBACC,6B,AACD,0BACC,8B,AACD,kBACC,+B,AACD,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,I,AAtBa,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iC,AACA,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4BACD,A,iBACC,2B,AACD,iBACC,4BACD,A,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,uHAQA,OACA,gBACA,6FACA,SACA,Y,wCAWA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,2DAWA,OACA,uBACA,6FACA,SACA,Y,uCAaA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,aACA,A,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAEG,AAAJ,yDACC,kDACA,O,AAFiE,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2C,AACA,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0D,AACD,iBACC,UACD,A,2BACC,2D,AACD,kBACC,0D,AACD,kB,AACC,uFACC,gB,MAEA,a,C,AAEF,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mC,AACD,kBACC,qF,AACD,kBACC,A,0BACC,kB,MAEA,qF,CAEF,A,kBACC,oF,AACD,kB,AACC,uFACC,yC,MAEA,a,C,AAEF,kBACC,qFACD,A,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kBACD,A,kBACC,iB,AACD,iBACC,iBACD,A,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oB,AACD,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,Y,AACC,0BACC,e,MAEA,e,C,AAEF,kBACC,eACD,A,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yBACC,A,0BACC,A,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,C,AAED,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sH,AACC,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,qC,KAED,A,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+BACD,A,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qBAEA,A,oDACC,Q,MAGA,aACA,O,CAGG,AAAJ,IACA,WACA,mDACC,c,MAEA,aACA,O,CAGD,A,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACL,AAAG,a,sCAIF,AAAG,e,+BACF,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uBACA,A,MACC,yBACA,2B,CAED,wBACA,A,MACC,0BACA,4B,CAED,Y,4IAKK,OACL,A,MACC,0BACA,0B,C,AAED,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGD,AAAG,2C,MACF,OACA,0FACA,uDACA,cACA,S,C,AAID,0BACC,AAAG,2C,MACF,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,SAED,A,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oCAEA,A,mCACC,A,wBACC,a,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,oD,AACA,iBACD,A,kBACC,6BACA,A,iB,CAID,IACA,0CACC,e,AACD,mDACC,kBACD,A,mDACC,kB,AACD,qDACC,oBACD,A,sDACC,qB,AACD,+CACC,8BACD,A,gDACC,8B,AACD,iDACC,8B,AACD,iDACC,8BACD,A,iDACC,gBACD,A,gDACC,gC,AACD,iDACC,gC,AACD,kDACC,gC,AACD,kDACC,gC,AACD,kDACC,iBACD,A,mDACC,yD,AACD,kDACC,iBACA,uB,AACD,6CACC,4BACA,U,UAGA,AAAG,uB,MACF,A,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iBACC,A,wBACC,2F,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,iD,AACA,iB,AACD,kBACC,kBACA,A,iB,CAKD,gBACA,A,qBACC,oB,CAED,AAAG,uB,MACF,A,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UAEA,AAAO,AADR,yBAEC,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wB,AACD,yB,AACC,wBACC,0B,MAEA,0B,C,AAEF,yB,AACC,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0B,AACD,iBACC,A,0BACC,iHACA,A,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,K,AAED,0BACC,iG,MAEA,gG,CAEF,A,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACA,AAAI,0BACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,A,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iG,AACD,iBACC,WACA,A,iB,AACC,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMC,AAAG,W,6FACF,AAAI,SACJ,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,C,AAED,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAED,AAAI,qBACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kC,AARwB,AAAA,YAUzB,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,c,AAGA,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAGF,AAEA,kB,AADD,iCACC,kB,MAEA,iB,EAED,U,AACA,a,oIAKA,I,AACA,gBACC,4HACA,S,CAED,c,iEAWI,AAAJ,sBACC,A,yBACC,iCACA,A,mBACC,A,+C,CAED,A,mD,C,AAN2B,AAAA,Y,AAS7B,0C,+FAMK,OACL,A,2C,AACC,0C,CAED,iBACA,0CACA,A,iBACC,A,8C,CAED,mBACA,A,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBACD,AACC,aACC,kBACA,WACC,0B,AACD,iBACC,yB,AACD,iBACC,yB,AACD,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iEACA,A,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iEACA,A,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,CAKH,A,OACC,oD,C,AAGD,SACC,4FACA,S,CAED,qDACA,WAEA,A,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,C,AAED,wBAEC,0BACA,0B,C,CAGF,kB,C,AAMD,8BACC,2FACA,mBACC,uFACA,A,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,C,AARqB,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sBAViC,A,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,O,AACL,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uCACA,A,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,O,AACL,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6BACA,A,sCACC,A,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACC,AAAG,a,sCACF,AAAG,kD,MACF,Q,MAEA,U,C,C,QAIH,A,8BACC,K,CAED,2BACA,eACA,Y,wL,AAmBA,aACC,a,CAED,eACA,8H,AACC,WACC,a,C,AAED,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,eAEjB,A,gBACC,oBACA,O,C,AAGD,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,CAED,A,2BACC,S,CAED,A,WACC,A,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,OACL,A,MACC,mB,CAGD,YACC,cACA,A,WACC,M,CAED,A,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,c,AACA,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;0LCnU1B,gBACA,WACC,qGAEA,A,UACC,S,MAEA,I,C,CAIF,S,qCA6BA,gCAAyC,8F,I,uCAUpC,OAAsC,sE,2GCoJtC,OAAqC,iB,uGACrC,OAAqC,gL,mHACrC,OAAqC,wV,4GAGrC,OAAwB,K;2kECrL7B,UACA,6B,oDAGK,OACL,+BACA,UACA,S,6CAGK,OAAkC,2B,gDAElC,OAAgC,iD,oDAEhC,OAAkC,Y,kBAavC,UACA,6B,oDAGK,OACL,mCACA,iDACA,S,6CAGK,OAAiC,+B,gDAEjC,OAA+B,iD,kBAMpC,UACA,6B,oDAGK,OACL,mCACA,8BACA,S,+CAGK,OAAmC,8C,gDAEnC,OAAiC,0C,kBAMtC,UACA,6B,oDAGK,OACL,oCACA,qBACA,S,6CAGK,OAAkC,iC,gDAElC,OAAgC,iD,kBAMrC,UACA,6B,oDAGK,OACL,oCACA,8BACA,S,+CAGK,OAAoC,+C,gDAEpC,OAAkC,0C,kBAMvC,UACA,6B,8CAGK,OACL,UACA,iB,6CAGK,OAAoC,6B,gDAEpC,OAAkC,iD,kBAMvC,UACA,6B,oDAGK,OACL,mCACA,UACA,S,6CAGK,OAAqC,8B,gDAErC,OAAmC,iD,kBAMxC,UACA,6B,oDAGK,OACL,mCACA,8BACA,S,+CAGK,OAAsC,kD,gDAEtC,OAAoC,sC,+CA0DzC,sCACA,IACA,+C,A,kB,a,OACC,0FACA,AAAA,W,KAED,SACA,qBACA,sHACC,qH,KAED,S,wCAGK,OACL,A,0CACC,gB,CAED,gB,oGAKK,OACL,W,uHAKK,OACL,6HACC,K,K,kHAYI,OACL,6HACC,K,K,yGAWI,OACL,+C,oHAUK,OACL,wE,AACA,OACC,6D,CAED,iB,AACA,sCACC,S,C,AAED,qBACC,oB,CAED,kFACA,iB,6GAUK,OACL,kCACC,mBACG,AAAH,sC,MAEC,mB,CAED,gG,I,4GAMD,iC,iB,AAKA,gBACC,yC,MAEA,kE,CAED,kB,0CAgBK,OAA0B,8B,oGAO1B,OACL,A,2BACC,S,CAED,sG,gGAUK,OAAyB,sB,gGAMzB,OAA8B,c,0GAO9B,OACL,kB,2HAWK,OACL,4BACA,mBACA,S,mHAWK,OACL,kB,wHAWK,OACL,wBACA,kBACA,S,mHAWK,OACL,kB,8HAWK,OACL,sCACA,oBACA,S,sHAWK,OACL,kB,2HAWK,OACL,wBACA,mBACA,S,sHAWK,OACL,kB,iIAWK,OACL,uCACA,qBACA,S,0HAWK,OACL,kB,iIAWK,OACL,yBACA,qBACA,S,sGAMA,sC,sDAKK,OACL,kB,oIAWK,OACL,wBACA,sBACA,S,8HAYK,OACL,kB,uIAaK,OACL,0CACA,uBACA,S,kIAgBK,OAEL,+BACA,iE,AACA,MACC,AAAI,KACJ,A,gBACC,2D,MAEA,kF,CAED,6CACA,uB,CAED,A,qBACC,oB,CAED,kF,8GAeK,OACL,gBACA,gCACA,UACA,S,yGAKK,OACL,A,oC,AACC,yBACC,a,MAEA,M,C,MAGD,U,C,gJAKI,OACL,A,uBACC,wB,CAED,kGACA,A,8DACC,wB,CAED,IACA,A,yBACC,AAAA,WACA,A,iBACC,2BACA,wB,C,CAGF,iBACA,A,mEACC,sE,CAID,2BACA,QACA,KACA,AAAI,sBACH,A,yBACC,wBACA,OACA,mBACA,M,C,AALyB,AAAA,YAQ3B,WACA,iEACA,A,OACC,A,wBACC,UACA,2B,CAED,qF,CAGD,AAAG,4C,sBACF,A,MACC,AAAG,W,sCACF,wG,C,MAGD,c,C,M,AAID,yBAEC,OACA,qI,CAED,A,OACC,8E,CAED,AAAG,iB,sCACF,qG,C,CAGF,A,qBACC,oB,CAED,kFACA,uB,kHAOK,OACL,cACA,SACA,YACC,6B,AACA,MACC,S,C,AAED,mCACC,M,CAED,kBACA,UACC,S,AACD,gBACC,U,AACD,gBACC,U,C,CAGF,iB,sGAIK,OACL,gB,sFAOA,4C,yCAgBA,2EAIA,S,4CAMK,OACL,SACA,kB,yK,gE,gE,gE,gE,gE,gE,w5J,2C,uH,6BA7bA,4JACA,K;8pECrYK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iBACL,A,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uBACA,A,gD,sHAQK,iBACL,Y,AACA,gD,wHAQK,iBACL,YACA,uB,AACA,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIA,AAAG,+B,MACF,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,wE,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0D,AACA,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wEACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;sKC3EA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCACA,AACA,UACA,UACA,UACA,UACA,gB,4G,gE;m8xBCGA,kD,gD,AA8SA,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6E,AACA,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACA,AAAI,iCACH,wF,AAD8B,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8G,AAD6B,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oBACA,A,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,YACJ,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACA,AAAG,e,+CAEF,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0IACA,A,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,C,AAED,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yBACA,A,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eACA,AACA,4B,iIAGK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACC,AAAG,O,sCACF,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2CACA,A,mGACC,AAJ2B,AAAA,oB,CAM5B,6CAN4B,AAAA,A,YAa7B,A,kBACC,iB,CAED,iCACA,qHACA,iB,6MCnEA,AAHA,AACA,mDAGA,A,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAID,AADA,iBAEA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2IAN6B,A,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACH,AAAI,eACH,uJ,AADkB,AAAA,YADD,A,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gCACA,A,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,CAGD,A,uBACC,wD,CAID,AAAI,iBACH,gDACA,A,QACC,U,CAED,eACA,A,sCACC,QACA,O,CAED,A,QACC,O,CAXwC,AAAA,A,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,C,AAED,oBACC,iC,CAGD,0DACC,S,CAGD,AAAI,YACJ,AAAG,a,QAEF,IACA,c,AACA,mCACC,qB,C,CAGF,0C,6IAQK,OACL,Y,AACA,UACC,A,sC,C,AAED,cACC,A,0CACC,A,sC,CAED,A,6BAGC,iCACA,A,QACC,U,CAED,A,QACC,gHACA,kB,CAED,A,sC,CAED,SACA,A,c,AACC,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iBACC,A,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kB,AACA,oC,gHAIK,O,AACL,mCACC,iC,C,AAGD,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEI,AAAH,0C,SACC,yCACA,sBACA,M,CAID,A,0CACC,2BACA,QACA,cACA,M,C,AAID,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gC,AACA,4CAEC,A,gIAGC,A,YAEC,mE,CAED,AAAA,eACA,kC,CAED,A,iD,C,AAGD,kB,AACC,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,I,AACA,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACJ,AAAI,SACJ,YAEA,YACC,AAAI,YACJ,+B,AACA,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oBACA,A,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kD,AACA,4B,CAGE,AAAH,iD,MACC,iCACA,kD,AACA,4B,C,AAGD,+BACC,S,CAGD,eAEC,8BACA,qD,AACA,sC,AACC,gC,CAED,S,C,AAGD,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kDACA,A,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iB,AACA,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mEACA,A,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iB,AACL,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,C,AAED,qCACC,e,CAED,S,4GAIK,iBAAmB,cACxB,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,cACrB,A,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oG,AAQA,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,O,AACL,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,8GACC,a,CAFmB,A,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,O,AACL,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,O,AACL,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sB,AACtC,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,CAFmB,A,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oB,AAClC,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+B,AAIA,cACC,wC,CAED,+BACA,2D,0HAQK,OACL,A,mBACC,Y,CAED,0BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,C,AAFmB,AAAA,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,O,AACL,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,O,AACL,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+B,AAIA,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,OACL,A,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,OACL,A,0BACC,iB,C,AAED,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+BAIA,A,cACC,kD,CAID,+BACA,uF,0IASK,OACL,AAAI,uBACJ,0BACI,AAAJ,qCACC,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,O,AACL,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+BACD,A,gBACC,+BACD,A,gBACC,+B,AACD,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,OACL,A,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+B,AAIA,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oMACD,A,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2DACA,A,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sCACC,A,UACC,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,MAGI,AAAG,uC,MACT,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,OACD,A,4CACC,A,yDACC,iB,C,CAIF,oCACA,2CACA,A,eACC,yCACA,8C,CAGD,AAAI,uCACJ,0BACA,0BACA,AAAI,0BACH,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAED,AACA,WACC,A,U,MAGC,8D,C,AAEF,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,C,AAjCoB,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACI,AAAJ,kCACK,AAAJ,eACC,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yRAToB,A,YAWrB,kBACA,kBAb+B,A,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACA,AAAI,eACH,6HACA,6HACA,6HACA,6HAJoB,A,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mC,AAHkC,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBAEC,AADD,gBAEC,wB,AAED,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,W,AAvBa,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gBACJ,A,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,W,AAHa,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+Q,AAlB6B,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yH,AAV6B,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sGALqB,A,8C,AAJS,+B,AAYjC,gBACC,AAAI,2CACH,qCACA,oEACA,kJACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0GAN+B,A,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,sPACI,AAAJ,wBACC,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oD,AAJS,mC,M,AAahC,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACA,AAAI,gDACH,AAAI,2BACH,uGACA,A,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oCACA,A,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACI,AAAJ,wBACC,AAAI,wDACH,S,AACA,sCACC,+B,CAED,0D,AACA,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,C,AA7BwC,qDAgC1C,2BAjCqB,A,oD,gBAuCtB,A,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACG,AAAH,sC,MACC,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMD,AAAI,8BACJ,A,MACC,0BACA,0B,CAID,iCACA,AAAI,6BACH,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,C,AAGD,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OACC,AAlCsB,AAAA,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+S,AAvEwB,AAAA,c,AA2EzB,MACC,wBACA,sCACC,+G,M,CA/EsB,A,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,aACA,A,YACC,iKACA,qM,CAED,S,iIAaK,OACF,AAAH,qB,sCACC,S,CAED,6C,oIAGK,OACL,AAAG,qB,sCACF,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOA,AAAG,sC,wCACF,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,OACL,A,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0C,AACA,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8CACA,A,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;y+BCxEK,OACL,0F,0GCHA,yB,sDAWK,OACL,4DACA,A,OACC,O,CAED,uF,kHAGK,OACL,4DACA,A,OACC,O,CAED,wF,4GAGK,OACL,uBACA,IACA,UACC,qB,AACD,gBACC,qB,AACD,gBACC,qB,C,kHAII,OACL,uBACA,IACA,UACC,sBACD,A,gBACC,sB,AACD,gBACC,sB,C,kHAII,OACL,gC,qFC5CA,mC,yBAIA,K,sJAIA,YACA,8DACC,U,QAED,gE,8MAIA,0DACA,kCACC,0D,qB,4E,6BASD,a,gC,oKAQA,YACA,+CACC,U,OAED,gEAEA,mBACA,4CACC,0BAEA,A,UACC,a,CAGD,A,mBACC,a,CAGD,A,uBAEC,a,CAED,Y,OAGD,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCACA,wCACC,U,OAGD,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,4CACC,0BACA,aACA,a,OAED,0CACC,0BACA,WACA,a,OAED,8CACC,yBACA,eACA,a,OAED,4CACC,yBACA,aACA,a,OAED,0CACC,a,O,mEAMD,gDACA,A,UACC,I,CAED,S,qEAIA,mBACA,gCAEA,WACA,eACA,gBACA,UAEA,SACA,SACA,6CACA,8CACA,8IACA,6IAEA,0DACC,4BACA,4DACA,gCACA,+BACA,uL,OAED,UAEA,A,oC,4G,gE,gE,gE,u8C,87C;42GClJA,UACA,A,qBACC,mE,CAGD,AAAI,sBACC,AAAJ,eACC,gCACA,oB,AAFoB,AAAA,Y,AADC,AAAA,Y,kCASvB,U,AACA,qBACC,mE,CAGD,AAAI,sBACC,AAAJ,eACC,IACA,AAAI,sBACH,oCADsB,A,AAAA,Y,AAIvB,iBACC,qB,CAED,oB,AAToB,AAAA,YADC,A,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,cACpB,A,mBACC,e,CAED,6BACA,SACA,a,wHAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,2GAQA,AAFA,AACA,AAFA,yV,sCAgBA,wN,0CAaA,wN,kCCnHA,8B,0CAeA,AAAI,SACA,AAAJ,YACA,6BACK,AAAJ,SACA,4CACA,A,sCACC,O,CAED,wBACA,W,IAED,A,sCACC,iB,CAED,uC,iDAKA,AAAI,SACJ,AAAI,YACJ,6BACK,AAAJ,SACA,mDACA,A,sCACC,O,CAED,wB,I,AAED,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,cACrB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,O,AACL,mBACC,e,CAED,AAAI,eACH,sJACA,sJAFwB,A,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,gB,mHAIK,OACL,A,mBACC,e,CAED,mJ,sHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iBACD,A,gBACC,gB,CAED,iC,yCCdA,sD,AACA,sCACC,iB,CAGD,8C,AACA,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACL,AAAG,gC,sCACF,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC3CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,OACL,A,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2FACA,A,wE,kIAGK,OACL,2FACA,A,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,OACL,A,6D,4HAGK,O,AACL,eACC,uD,CAED,e,AACA,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6C,AACA,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,UACC,A,iF,CAED,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,OACL,A,sBACC,2BACK,AAAJ,YACA,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,6SC5LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,IACA,qBACA,kCACC,mE,AACA,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAED,AAAG,iC,sCACF,S,CAED,mBACC,iBACA,A,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAID,qBACA,AAAA,WACA,A,oIACC,yJAEA,IACA,I,C,qB,qT,gE,gE,gE,gE,gE,gE,gE,gE,25J;i5FCrEF,A,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACH,AAAI,IACA,AAAJ,IAEA,AADA,4BAGC,gBACA,IACA,MACD,A,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2F,AAzBwB,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACI,AAAJ,gBACC,qFACA,2FAF6B,A,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACJ,AAAI,gBACJ,kHACC,A,UACC,a,CAED,A,iBACC,I,CAED,A,QACC,I,CAED,AAAA,mJ,K,AAED,UACC,a,CAGD,QACI,AAAJ,IACA,AAAI,IACJ,A,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACA,AAAJ,gB,AACC,WAEC,UACA,A,UACC,a,CAED,4BACI,AAAJ,uBACC,4LACA,uBACA,gBACA,6GACA,qIAL0C,A,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8B,AAnBuB,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACC,AAAI,oBACH,uF,AAD2C,+C,MAI5C,2GACA,A,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACI,AAAH,mB,0CACC,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iBACD,A,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,U,C,mGAII,OACL,A,mCACC,iB,CAED,a,qMAQK,OAEL,eACI,AAAH,e,sCACC,S,C,CAGF,6B,AACA,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACI,AAAH,e,sCACC,S,C,CAGF,qLACA,iCACA,kBARsB,A,AAAA,YAUvB,AAAI,gBACH,oKADmC,A,AAAA,YAGpC,A,gDACC,2C,CAKG,AAAJ,gCACC,gCACA,A,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+GACD,A,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACI,AAAH,gB,uCACC,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,W,AAFoB,AAAA,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gC,AACA,sCACC,QACA,O,CAED,AAAI,IACJ,AAAI,IACJ,AACA,UACC,2GACA,AAAA,iB,AACA,iBAEC,gDACA,O,CAED,SACD,A,kBAEC,2CACA,O,AAED,gBACC,WACA,I,AACD,gBACC,kBACA,IACD,A,gBACC,mBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,oBACA,IACD,A,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,IACJ,A,kBACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAIF,AACA,QACC,AAAA,WACD,A,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,C,AAID,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iC,AACA,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACG,AAAH,gB,QACC,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,OACL,A,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,C,AAGD,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gBACA,A,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,OACL,A,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+BACA,A,sCACC,A,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACC,AAAG,e,sCACF,Y,C,CAGF,kGACA,qBACA,A,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,CAGF,A,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYA,AAAI,0BACJ,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWA,AAAI,0BACJ,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,CAED,A,kBACC,A,oC,CAGD,uCACA,iC,AACA,8CACC,QACA,Y,CAIE,AAAH,yD,sCACC,QACA,A,4B,CAGD,iIACA,A,8BACC,uBACA,A,gC,CAED,Y,iGAIK,O,AACL,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mCACA,A,MACC,yDACA,A,sCACC,S,CAED,iI,AACA,2BACC,0B,C,CAGF,A,gD,AACC,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACI,AAAJ,iBACC,UACI,AAAJ,e,AACC,oBACC,wB,MAEA,6B,CAJiB,A,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uBACA,A,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACJ,AAAI,eACH,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,OACA,A,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,YAFG,AAAA,A,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6FAG1C,A,QACC,S,CAED,S,0EAGK,OACL,A,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2CACA,A,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wDACA,A,aACC,mC,CAED,0CACA,A,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,OACD,A,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,AACD,gBACC,Q,AACD,gBACC,OACD,A,gBACC,Q,C,AAEF,iBACC,WACA,UACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4a,AADmB,AAAA,YAGpB,AAAI,iBAMH,2J,AANqB,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,OACL,A,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uC,AACD,wBACC,uC,AACD,sCACC,A,wBACC,mC,CAEG,AAAJ,eACC,wIACA,2O,AAFkB,AAAA,Y,AAIpB,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAID,AAAG,sD,sCACF,Y,CAED,8DACA,A,6DACC,yC,CAED,cACA,0C,C,AAED,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+BACA,A,sCACC,oB,CAED,2CACA,AAAI,YACJ,A,oBACC,2C,A,0BAGA,kDACI,AAAJ,eACC,2CACA,A,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACI,AAAJ,mD,AACC,YACC,kC,CAED,qDAJiC,A,AAAA,YAMlC,A,qEACC,mC,C,AAED,sCACC,+C,CAGD,oB,snBAIK,OACL,AAAI,IACJ,IACA,AACC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6BACA,A,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,IACD,A,iBACC,KACA,8BACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,IACD,A,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEA,AAAI,iBAEH,6BACA,A,uCACC,qB,CAID,mBACA,mBACA,2FACA,WAEA,A,iBACK,AAAJ,0BACC,mT,AADsC,AAAA,cAGxC,A,iBACC,oIACC,8M,M,AAEF,iBACC,AAAI,iBACH,gY,AAD8B,AAAA,cAG/B,AAAI,0BACH,mgB,AADsC,AAAA,c,AAGxC,iBACC,W,MAEA,2C,CAID,QACA,WACC,AAAI,iBACH,+LACA,AAAI,+BACH,wEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,uEACA,sC,AAFoC,AAAA,c,AAFf,cAOxB,A,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2J,AAFsB,AAAA,c,AAIxB,iBACC,qCACI,AAAJ,iBACC,8MACA,8MACA,8MACA,0GACA,aACA,a,AANsB,AAAA,cAQvB,kB,AACD,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,cAWxB,A,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mB,AACA,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,cAWxB,A,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,cAWxB,A,kB,AACC,iCACC,AAAI,iBACH,A,uHACC,wI,CAFqB,A,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kB,AACD,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,c,AAIxB,kBACC,AAAI,iBACH,2QACA,2QACA,mD,AAHsB,AAAA,c,AAKxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oD,AAJsB,AAAA,cAMxB,A,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGAEC,AADD,SAEC,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACA,AAAI,+BACH,6FACA,AAAI,+BACH,kCACA,sDACA,a,AAHwC,AAAA,c,AAFD,AAAA,c,8IAUpC,OACL,eACA,+BACA,A,sCACC,A,a,CAED,A,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sBACD,A,qBACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,sBACD,A,qBACC,A,uDACC,gB,CAED,UACA,sB,AACD,qB,AACC,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACL,AAAG,sD,sCACF,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIG,AAAH,kB,sCACC,A,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kDACA,A,sBACC,M,CAED,A,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,c,AACD,gBACC,e,AACD,gBACC,c,AACD,sCACC,Y,AACD,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iBACD,A,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;8a,gE,gE,gE,gE,gE,gE,gE,gE,gE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+BACA,A,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,Y,AACC,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sCACC,A,+BACC,qB,CAED,QACA,O,CAED,AACA,cAEC,iGACA,AAAA,e,AACA,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,O,AACD,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wCACA,A,qBACC,A,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wC,AACD,gBACC,wC,MAEA,kCACA,S,CAED,A,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,OACL,A,0CACC,gB,CAED,A,kBACC,oB,CAED,A,wBACC,AAAI,IACJ,mCACA,A,0CACC,gB,CAED,A,UACC,YACA,gB,CAED,qCACA,AAAG,qC,0CACF,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEL,AAAG,sC,MACF,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACI,AAAH,gD,sCACC,S,C,CAIF,YACC,+B,AACA,sCACC,S,CAED,IACA,WACI,AAAH,oB,sCACC,S,CAGF,A,iBACC,2C,AACA,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qEACC,A,OAEC,uD,CAED,8K,CAED,+B,AACA,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sCACF,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAEE,AAAH,0D,gDACC,A,uCACC,U,CAED,S,C,AAID,0BACC,iIACC,A,+BACC,S,C,M,C,AAMH,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iB,AACC,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oDACA,A,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+BACA,A,sCACC,S,CAED,IACA,IACA,UACC,KACD,A,kBACC,8B,AACD,kB,AAEA,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,CAED,A,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8BACA,A,+CACC,S,C,AAED,4BACC,gD,C,CAGF,YACC,8BACA,A,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACF,AAAH,sD,sCACC,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gD,AACA,uEACC,mE,CAED,iD,6IAGK,OACL,+B,AACA,+CACC,Y,CAED,oD,sGAkBA,AAAI,SACJ,kBACA,kBACA,oBACA,IACA,4HACC,eACI,AAAJ,qBACC,gEACA,WACA,uBAH4B,A,iB,KAM9B,Q,sCAMI,AAAJ,wBACA,AAAG,oB,sCACF,oB,CAED,mH,0CA4BI,AAAJ,wBACA,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yBACA,A,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sC,AACC,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,O,AACL,oBACC,AAAG,wB,sCACF,Y,C,CAGF,8BACA,2CACA,yBACA,sEACA,A,gBACC,4C,CAED,oB,8OAKK,OACL,WACC,A,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wBACA,A,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,KAED,A,iBACC,8C,CAED,A,iBACC,mD,CAED,+BACA,A,QACC,qC,CAED,AAAG,mD,sCACF,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACI,AAAJ,gFAMC,qDACA,wIACA,AAAI,2DACH,mGADgC,AAAA,A,oBAGjC,AAAA,YACA,AAAA,Y,AAZiC,AAAA,YAFF,A,AAAA,aAmBjC,AAAI,sBACJ,wG,AACC,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,CAGD,A,oCACC,AAAG,mB,2DACF,A,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qCACH,A,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2B,AAd8C,AAAA,YAgB/C,oC,6IAGK,OACL,A,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,OACL,A,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,S,AAEA,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,AAdiB,AAAA,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6G,AA9DkB,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iH,AAlDkB,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2BACA,A,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sBACA,A,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sCACF,A,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iB,AACC,4B,CAED,A,4GACC,A,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6BACA,A,sCACC,A,4B,CAED,A,iBACC,sB,AACA,oC,CAGD,6BACA,A,sCACC,sBACA,A,4B,CAED,sBACA,A,e,AACC,mC,CAED,A,sC,qIAKK,O,AAEL,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,O,AAEL,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,yBACA,A,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAED,AAAG,W,sC,AACF,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,UACD,A,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAED,AAAI,qBACH,6KACA,8KACA,A,gBAYC,kFACA,kFAhBuB,AAiBvB,AAjBuB,oB,CAmBxB,+FACA,sGACA,kG,AAKA,UACC,A,uDACC,6C,C,A,sBAGD,6C,C,AA/BuB,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACI,AAAH,4C,sCACC,S,CAED,wB,AACA,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,KAbmB,A,aAgBrB,A,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAEE,AAAH,2C,sCACC,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,C,AAED,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6BACA,A,sCACC,oB,C,CAGF,A,YACC,M,C,AAED,mBAOC,S,CAKD,AAAG,2C,sCACF,oB,CAED,gDACA,A,QACC,gD,CAGD,AACA,yBACC,sBACA,kB,AACA,MACC,oB,C,AAEF,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,oCACC,c,MAEA,0B,CAED,A,sCACC,oB,C,CAGF,A,uBACC,yB,CAED,A,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iEAKD,A,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IACJ,AACA,qBACC,I,AACD,2BACC,IACD,A,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,OACL,A,gBACC,mC,CAED,A,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2GACC,A,YACC,I,C,K,AAGF,QACC,2C,CAED,0FACA,gL,AACA,4EACC,6B,CAED,4K,AACA,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kC,AACA,kBACC,2GACA,2GACA,2HACA,wHACA,A,sCACC,8C,CAED,A,2BACC,wE,CAED,A,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACK,AAAJ,iBACC,mFACA,A,uGACC,kS,CAHqB,A,AAAA,c,CAQxB,iCACA,wBACA,AAEC,sBACA,wBAKA,sBACA,KAED,AAAI,kBACH,AAAI,kBACH,AAAI,iBACH,mFACA,kLACA,AAAI,gM,AA0BH,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,aACA,A,4CACC,AAxCsD,AAAA,sB,C,CA6CxD,A,kBACC,qT,MAEA,sB,CAGD,A,eACC,AAAG,kN,uCACF,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yM,AACA,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,CAGD,A,sBACC,AAAA,+B,MAGA,sKACA,aACC,yCACA,A,uCACC,U,CAED,mBACA,eACA,A,gBACC,mBACA,A,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,M,AAEA,iBACC,4C,AACA,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,CAoCvB,A,kBACC,A,6BAEC,qTAvHsD,AA6HtD,AA7HsD,sB,C,CAkIxD,AAAI,kBACH,uWAD8B,A,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6F,AACD,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACA,AAAI,iBACH,yF,AACA,YACC,K,A,iBAEA,O,MAEA,e,CAED,qH,AATkB,AAAA,cAHD,A,AAAA,cAtJqC,A,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGC,AAAG,4C,uCACF,U,CAED,A,4CACC,+B,CAED,AAAA,mBACA,A,aACC,O,CAGD,iCAEA,uBAEA,W,C,AA9LqB,AAAA,cADD,AAAA,A,cAoMvB,iB,2KAKK,O,AAEL,UACC,A,eACC,mC,CAED,8BACA,A,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,I,AACA,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wCACA,A,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8BACA,A,sCACC,S,CAED,A,OACC,K,C,MAGD,wC,CAGD,qD,AACA,sCACC,S,CAED,A,QACC,sC,C,AAED,eACC,yJ,C,AA3CmB,AAAA,Y,C,AA+CtB,eACC,AAAA,+BACG,AAAH,0C,uCACC,U,C,CAGF,iB,wJAKK,OACL,YACC,qE,AACA,wFACC,A,UACC,M,CAED,AAAA,WACA,AAPmB,AAAA,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OAboB,AAcnB,AAdmB,oB,C,AAgBpB,uFACC,2K,MAEA,2K,CAnBmB,A,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wH,AACC,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,W,AAHkC,AAAA,kBAKnC,4BAP6B,A,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;i4BC/KI,OACL,YACC,aACA,cACA,uFACA,A,yEACC,S,CAED,A,UACC,2C,C,AAED,iPACC,S,C,C,kFCnBF,A,QACC,e,CAED,c,yDAWK,OACL,YACC,kBACA,QACA,uFACA,A,4EAEC,S,CAGD,A,UAEC,YACC,0CACA,sBACA,A,aACC,M,C,CAGF,A,QACC,wB,CAED,wB,CAED,A,sPACC,S,C,C,yGCtCF,AAAI,0BACJ,UACA,S,yBAU4B,oB,yCAGvB,OAA4B,c,iGAG5B,OAAyB,qB,kGAGzB,OAA2B,gD,qGAG3B,OAAyB,gF,iGAGzB,OACL,uBACA,gC,+GAKK,OACL,A,0CACC,kD,CAED,A,qHACC,qG,CAED,0JACA,YACA,6DACC,Y,CAED,wB,+GAKK,O,AACL,SACC,kD,CAED,A,uBACC,4B,CAED,oGACA,YACA,WACC,Y,CAED,mE,uGAKK,OACL,A,SACC,gD,CAED,A,kBACC,4B,CAED,2E,qGAIK,OAmBL,8CACA,A,UACC,I,CAED,S,yGAIK,OAOL,cACA,A,yBACC,I,CAED,S,2GAIK,OACL,aACA,AAAI,eACH,iBACA,wKACA,qF,AAHkB,AAAA,YAKnB,S,oHAkFK,OACL,YACA,gBACA,cACA,S,mGAGK,OACL,YACA,cACA,c,sFCpDA,2FACA,mEACA,uG,AACA,QACC,oB,CAED,S,0DAIK,OACL,QACA,WAEA,0CACA,A,yCACC,yE,CAED,A,8BACC,yB,CAGD,2CACA,AAAI,mBACH,Q,AACA,SACK,AAAJ,kBACA,mCACA,QACA,uFACA,QACA,sEACA,2HACA,kI,C,AAVsB,AAAA,Y,uHAgBnB,OACL,AAAA,mBACA,A,YACC,qB,CAGD,AAAA,qBACA,A,aACC,uB,CAGD,wRACA,sFACA,S,qK,gE,u8C,uxF,+lL,o8J,u5C,ozF,u9E,8unB;6kJCvNA,oD,oDAGK,O,AACL,eACC,Y,CAED,A,QACC,a,CAED,A,UACC,Y,CAED,sK,yHAGK,OACL,2B,sIAGK,OACL,A,6BACC,S,CAED,c,qJAGK,OACL,A,6BACC,S,CAED,c,qJAGK,OACL,gC,4IAGK,OACL,A,6BACC,S,CAED,c,yIAGK,OACL,A,8CACC,S,CAED,+B,sJAGK,O,AACL,6CACC,S,CAED,8B,gJAGK,OACL,sBACA,A,kBACC,gB,C,8HAII,OACL,sB,iHAGK,OACL,kB,2HAGK,OACL,AAAI,iBACH,A,uBACC,Y,C,AAFmC,AAAA,YAKrC,a,wHAGK,OACL,AAAI,gBACH,A,+JACC,a,C,AAF8B,AAAA,YAKhC,Y,+HAGK,OACL,uJ,2HAGK,OACL,IACA,AAAI,iB,AACH,wBACC,AAAA,W,CAFmC,A,AAAA,YAKrC,S,0IAGK,OACL,AAAI,gB,AACH,+JACC,a,C,AAF8B,AAAA,YAKhC,AAAI,gBACH,AAAI,gBACH,qTAD+B,A,AAAA,Y,AADX,AAAA,YAKtB,AAAI,gBACH,qF,AAD+B,AAAA,YAGhC,Y,8GAGK,OACL,A,oBACC,AAAA,iCACA,A,qBACC,kBACA,A,+CACC,mB,C,C,CAIH,iB,qHAGK,OACL,oCACA,sBACA,gCACA,wBACA,wBACA,wBACA,oCACA,S,iJAGK,OACL,cACA,cACA,AAAI,gBACH,+FACA,+F,AAF+B,AAAA,YAIhC,AAAI,gBACH,A,uBACC,AAAI,gBACH,mUAD+B,A,AAAA,Y,MAIhC,AAAI,gBACH,mU,AAD+B,AAAA,Y,CANF,A,AAAA,YAWhC,AAAG,gD,sCACF,S,CAED,AAAG,gC,sCACF,S,CAED,iB,wNC7KI,AAAJ,YACA,mHACA,A,sCACC,U,C,8DASD,qB,mCAKK,uCACL,gB,+IAGK,uCACL,iDACA,iCACA,WACA,WACA,A,QACC,A,gD,CAED,A,0D,uJAGK,uCACL,uBACA,A,WACC,A,gD,CAED,uEACA,yG,AACA,0D,2HAIA,kFAGA,kBACA,sBAEA,uCACA,AACA,UACA,UACA,UACA,UACA,A,QACC,QACA,QACA,Q,CAED,wBAEA,wB,oCAIA,AAAG,oF,sCACF,S,CAED,AAAG,iB,sCACF,S,CAED,iB,oCAIA,YACA,uGACA,sB,kCAIA,YACA,kBACA,sB,kCC3EA,4CAIA,S,2CAGK,OACL,iBACA,yDAIA,uBACA,iB,4FChBA,A,8B,kCAIA,qBACA,A,2C,kCAIA,qBACA,A,kC,wBAIA,cACA,gB,kCAIA,qBACA,A,kC,kCAIA,qBACA,A,kC,kCAIA,qBACA,A,kC,mMAII,AAAJ,YACA,oCACA,A,sCACC,U,CAED,gDAGA,+G,AACA,sCACC,U,CAID,sC,AACA,sCACC,U,CAGD,qBACG,AAAH,oB,sCACC,U,CAGD,qBACA,AAAG,kD,sCACF,U,CAED,qBACA,AAAG,kB,sCACF,U,CAGD,qBACA,AAAG,yB,sCACF,U,CAGD,qBACA,AAAG,yB,sCACF,U,CAGD,qBACA,AAAG,yB,sCACF,U,CAID,uCACA,A,sCACC,U,CAED,oEACA,MACG,AAAH,sE,sCACC,U,C,mFAKD,yBACA,mFACA,sBACA,sBACA,2BACA,wB,iCAMG,AAAH,6C,sCACC,S,CAED,YACA,AAAG,iB,sCACF,S,CAED,iB,iCAIA,YACA,AAAG,mE,sCACF,S,CAED,iB,kCAoBA,kG,0EAMK,OACL,AAAG,kD,sCACF,S,CAGD,yBACA,QACA,QACA,IACA,A,QACC,I,CAGD,mFACA,4BACA,kBACA,0BAEA,MACA,kCACA,iBACA,gCACA,gBACA,kCACA,wB,mIAMK,OACL,IACA,6BACA,kD,iIAGK,OACL,iBACA,iDACA,kBACA,kBACA,uBACA,sB,6HAGK,OACL,kG,2GAGK,OACL,IACA,IACA,UACC,M,AACD,gBACC,MACD,A,gBACC,M,AACD,gBACC,O,MAEA,iC,CAED,+C,yIAGK,OACL,iBAEA,A,eACC,A,gCACC,0B,CAED,iB,CAGD,AAAA,qCAEA,AACA,A,4BACC,oC,CAED,A,yBACC,4B,CAGD,QACA,iBACA,sB,AAGA,wBACC,iBACA,kBACA,kBACA,A,iEACC,sDACA,+B,CAED,A,gCACC,qDACA,+B,CAED,AAAG,0B,yFACF,iDACA,2B,CAED,AAAG,0B,yFACF,kDACA,2B,CAED,AAAG,0B,8EACF,2CACA,2BACA,A,MACC,AAAA,uB,C,C,CAMH,A,wBACC,kBACA,sBACA,uEACA,gCACC,kDACA,uEACA,2B,C,CAIF,A,MACC,iB,A,4F,AAEA,8BACC,sC,MAEA,AAAA,qC,CAED,A,uBACC,yDACA,A,uBACC,oCACC,uBACA,A,QACC,c,CAED,gB,I,MAGD,gB,C,C,CAKH,iB,6GAGK,OACL,gCACA,4BACA,iBACA,A,yFACC,gB,C,uJAII,OACL,AAAG,sB,sCACF,S,CAGE,AAAH,wB,sCACC,S,CAID,qBACA,AAAG,iC,sCACF,S,CAID,qBACG,AAAH,mC,sCACC,S,CAID,qBACG,AAAH,iC,sCACC,S,CAID,qBACG,AAAH,sB,sCACC,S,CAED,A,oDACC,+BACA,+BACA,AAAG,iD,sCACF,S,C,CAGF,A,4BAEC,mBACA,UACA,AAAG,0C,sCACF,S,C,CAIF,A,eACC,uB,CAGD,iB,uFCxXA,6B,mDAGK,OACL,sF,8HAGK,OACL,gCACC,A,4BACC,gFACA,a,CAED,AAAA,0J,K,oNCdD,AAAI,YACJ,sHACA,A,sCACC,U,C,0FAaI,uCACL,A,UACC,S,CAED,c,oIAGK,uCACL,A,UACC,S,CAED,c,wIAuBA,qBACA,sHACC,sG,KAGD,sHACC,sHACC,uL,K,KAGF,S,oCAqEK,OACL,iH,4IAGK,OACL,8KACA,UACA,UACA,A,4D,wJAGK,OACL,8KACA,gLACA,A,UACC,A,gD,CAED,wBACA,A,uD,kGAGgE,qBAChE,mIAIA,sBACA,yB,oEAGK,OACL,mBACA,iGACA,IAEA,AADD,AACK,oBACC,AAAJ,eACC,A,+LACC,W,C,AAFoB,AAAA,YAKtB,AAAA,WANqB,AAAA,A,YAQtB,Y,gJAGK,OACL,mBACA,gBACA,IACA,U,AACA,gBACC,IACA,gBACD,A,gBACC,gBACA,gB,AACD,gBACC,gBACA,I,CAED,iM,qIAGK,OACL,mBACA,AAAI,eACH,AAAI,eACH,A,mDACC,Y,CAFoB,A,AAAA,Y,AADD,AAAA,YAOtB,a,iIAGK,OACL,2B,yIAGK,OACL,mBACA,AAAI,eACC,AAAJ,e,AACC,uBACC,sC,CAFoB,A,AAAA,Y,AADD,AAAA,Y,mJASjB,OACL,uNACA,8HACA,uB,+JAGK,OACL,mBACA,aACA,sCACC,8FACA,kHACC,A,uBACC,wL,C,K,KAIH,qD,+FC3OI,AAAJ,YACA,uCACA,A,sCACC,U,CAED,uCACA,A,sCACC,U,C,sCAkBD,kC,4CAMK,OACL,A,2BACC,2B,CAED,AAAA,2CACA,A,0BACC,iBACA,iBACA,qB,CAED,iB,iHAGK,O,AACL,2BACC,yB,CAED,WACA,AAAG,qB,sCACF,S,CAGD,WACA,AAAG,kB,sCACF,S,CAGD,AAAG,yB,sCACF,S,CAGD,uBACA,mFACA,wBACA,yB,mGAGK,OACL,SACA,oB,kNCvEA,AAAI,YACJ,0HACA,A,sCACC,U,C,gGASI,OACL,+BACA,yM,8JAGK,OACL,+BACA,+VACA,2JACA,0JACA,gBACA,gBACA,A,kE,8HAGK,OACL,+B,AACA,gD,0FASA,sC,4CAKK,OACL,AAAA,uBACA,A,gCACC,0B,CAED,iB,qHAGK,OACL,AAAG,mC,sCACF,S,CAED,AAAG,iB,sCACF,S,CAGD,yBACA,qGACA,MACA,iF,oHAGK,OACL,gBACA,sG,8HAMA,IACA,YACA,kGACA,KACA,iF,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,61Q,kC,4qB,4D,6D,6D,K;iiBChDA,gD,kCAQA,AAAI,UACJ,A,kBACC,6BACA,O,CAID,AAAI,qBACJ,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJAHuB,A,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wBACC,A,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,CAED,A,wBACC,iCACA,SACA,6BACA,SACA,6BACA,S,AACA,wBACC,6BACA,4G,CAED,6B,C,CAGF,A,yBACC,A,yBACC,IACA,AAAI,2BACH,A,yBACC,wBACA,M,CAH6B,AAAA,A,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACI,AAAJ,KACA,AAAI,IACJ,YACA,+CACA,A,yBAEC,cACI,AAAJ,QACA,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;oICzQA,iB,mC,4G,gE;ggBCMA,U,AACA,qBACC,mCACA,A,sCACC,oB,CAED,qBACA,+C,CAGD,cACA,yBACA,AAAG,gG,2DACF,oB,O,oS,gE,gE,gE,gE,gE,8F,wD"} diff --git a/_docs/public/example/hue.content.html b/_docs/public/example/hue.content.html new file mode 100644 index 000000000..c7de8c8fa --- /dev/null +++ b/_docs/public/example/hue.content.html @@ -0,0 +1,18 @@ + + + diff --git a/_docs/public/example/hue.html b/_docs/public/example/hue.html index c7de8c8fa..db6ebe433 100644 --- a/_docs/public/example/hue.html +++ b/_docs/public/example/hue.html @@ -15,4 +15,68 @@ See the License for the specific language governing permissions and limitations under the License. --> - + + + +

hue

+ +
package main
+
+import (
+    "github.com/hajimehoshi/ebiten"
+    "github.com/hajimehoshi/ebiten/ebitenutil"
+    _ "image/jpeg"
+    "log"
+    "math"
+)
+
+const (
+    screenWidth  = 320
+    screenHeight = 240
+)
+
+var (
+    count        int
+    gophersImage *ebiten.Image
+)
+
+func update(screen *ebiten.Image) error {
+    count++
+    w, h := gophersImage.Size()
+    op := &ebiten.DrawImageOptions{}
+    op.GeoM.Translate(float64(screenWidth-w)/2, float64(screenHeight-h)/2)
+    op.ColorM.Concat(ebiten.RotateHue(float64(count%360) * 2 * math.Pi / 360))
+    if err := screen.DrawImage(gophersImage, op); err != nil {
+        return err
+    }
+    return nil
+}
+
+func main() {
+    var err error
+    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
+    if err != nil {
+        log.Fatal(err)
+    }
+    if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Hue (Ebiten Demo)"); err != nil {
+        log.Fatal(err)
+    }
+}
+
+ + +
© 2015 Hajime Hoshi
diff --git a/_docs/public/example/hue.js b/_docs/public/example/hue.js index e5b0e903a..5fbd2673a 100644 --- a/_docs/public/example/hue.js +++ b/_docs/public/example/hue.js @@ -4,10 +4,10 @@ Error.stackTraceLimit=Infinity;var $global,$module;if(typeof window!=="undefined"){$global=window;}else if(typeof self!=="undefined"){$global=self;}else if(typeof global!=="undefined"){$global=global;$global.require=require;}else{console.log("warning: no global object found");}if(typeof module!=="undefined"){$module=module;}var $packages={},$reflect,$idCounter=0;var $keys=function(m){return m?Object.keys(m):[];};var $min=Math.min;var $mod=function(x,y){return x%y;};var $parseInt=parseInt;var $parseFloat=function(f){if(f!==undefined&&f!==null&&f.constructor===Number){return f;}return parseFloat(f);};var $flushConsole=function(){};var $mapArray=function(array,f){var newArray=new array.constructor(array.length),i;for(i=0;islice.$capacity||max>slice.$capacity){$throwRuntimeError("slice bounds out of range");}var s=new slice.constructor(slice.$array);s.$offset=slice.$offset+low;s.$length=slice.$length-low;s.$capacity=slice.$capacity-low;if(high!==undefined){s.$length=high-low;}if(max!==undefined){s.$capacity=max-low;}return s;};var $sliceToArray=function(slice){if(slice.$length===0){return[];}if(slice.$array.constructor!==Array){return slice.$array.subarray(slice.$offset,slice.$offset+slice.$length);}return slice.$array.slice(slice.$offset,slice.$offset+slice.$length);};var $decodeRune=function(str,pos){var c0=str.charCodeAt(pos);if(c0<0x80){return[c0,1];}if(c0!==c0||c0<0xC0){return[0xFFFD,1];}var c1=str.charCodeAt(pos+1);if(c1!==c1||c1<0x80||0xC0<=c1){return[0xFFFD,1];}if(c0<0xE0){var r=(c0&0x1F)<<6|(c1&0x3F);if(r<=0x7F){return[0xFFFD,1];}return[r,2];}var c2=str.charCodeAt(pos+2);if(c2!==c2||c2<0x80||0xC0<=c2){return[0xFFFD,1];}if(c0<0xF0){var r=(c0&0x0F)<<12|(c1&0x3F)<<6|(c2&0x3F);if(r<=0x7FF){return[0xFFFD,1];}if(0xD800<=r&&r<=0xDFFF){return[0xFFFD,1];}return[r,3];}var c3=str.charCodeAt(pos+3);if(c3!==c3||c3<0x80||0xC0<=c3){return[0xFFFD,1];}if(c0<0xF8){var r=(c0&0x07)<<18|(c1&0x3F)<<12|(c2&0x3F)<<6|(c3&0x3F);if(r<=0xFFFF||0x10FFFF0x10FFFF||(0xD800<=r&&r<=0xDFFF)){r=0xFFFD;}if(r<=0x7F){return String.fromCharCode(r);}if(r<=0x7FF){return String.fromCharCode(0xC0|r>>6,0x80|(r&0x3F));}if(r<=0xFFFF){return String.fromCharCode(0xE0|r>>12,0x80|(r>>6&0x3F),0x80|(r&0x3F));}return String.fromCharCode(0xF0|r>>18,0x80|(r>>12&0x3F),0x80|(r>>6&0x3F),0x80|(r&0x3F));};var $stringToBytes=function(str){var array=new Uint8Array(str.length),i;for(i=0;inewCapacity){newOffset=0;newCapacity=Math.max(newLength,slice.$capacity<1024?slice.$capacity*2:Math.floor(slice.$capacity*5/4));if(slice.$array.constructor===Array){newArray=slice.$array.slice(slice.$offset,slice.$offset+slice.$length);newArray.length=newCapacity;var zero=slice.constructor.elem.zero,i;for(i=slice.$length;i>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindUint64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindComplex64:case $kindComplex128:typ=function(real,imag){this.$real=real;this.$imag=imag;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$real+"$"+this.$imag;};break;case $kindArray:typ=function(v){this.$val=v;};typ.Ptr=$newType(4,$kindPtr,"*"+string,"","",function(array){this.$get=function(){return array;};this.$set=function(v){$copy(this,v,typ);};this.$val=array;});typ.init=function(elem,len){typ.elem=elem;typ.len=len;typ.prototype.$key=function(){return string+"$"+Array.prototype.join.call($mapArray(this.$val,function(e){var key=e.$key?e.$key():String(e);return key.replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}),"$");};typ.extendReflectType=function(rt){rt.arrayType=new $reflect.arrayType.Ptr(rt,elem.reflectType(),undefined,len);};typ.Ptr.init(typ);Object.defineProperty(typ.Ptr.nil,"nilCheck",{get:$throwNilPointerError});};break;case $kindChan:typ=function(capacity){this.$val=this;this.$capacity=capacity;this.$buffer=[];this.$sendQueue=[];this.$recvQueue=[];this.$closed=false;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem,sendOnly,recvOnly){typ.elem=elem;typ.sendOnly=sendOnly;typ.recvOnly=recvOnly;typ.nil=new typ(0);typ.nil.$sendQueue=typ.nil.$recvQueue={length:0,push:function(){},shift:function(){return undefined;},indexOf:function(){return-1;}};typ.extendReflectType=function(rt){rt.chanType=new $reflect.chanType.Ptr(rt,elem.reflectType(),sendOnly?$reflect.SendDir:(recvOnly?$reflect.RecvDir:$reflect.BothDir));};};break;case $kindFunc:typ=function(v){this.$val=v;};typ.init=function(params,results,variadic){typ.params=params;typ.results=results;typ.variadic=variadic;typ.extendReflectType=function(rt){var typeSlice=($sliceType($ptrType($reflect.rtype.Ptr)));rt.funcType=new $reflect.funcType.Ptr(rt,variadic,new typeSlice($mapArray(params,function(p){return p.reflectType();})),new typeSlice($mapArray(results,function(p){return p.reflectType();})));};};break;case $kindInterface:typ={implementedBy:{},missingMethodFor:{}};typ.init=function(methods){typ.methods=methods;typ.extendReflectType=function(rt){var imethods=$mapArray(methods,function(m){return new $reflect.imethod.Ptr($newStringPtr(m[1]),$newStringPtr(m[2]),m[3].reflectType());});var methodSlice=($sliceType($ptrType($reflect.imethod.Ptr)));rt.interfaceType=new $reflect.interfaceType.Ptr(rt,new methodSlice(imethods));};};break;case $kindMap:typ=function(v){this.$val=v;};typ.init=function(key,elem){typ.key=key;typ.elem=elem;typ.extendReflectType=function(rt){rt.mapType=new $reflect.mapType.Ptr(rt,key.reflectType(),elem.reflectType(),undefined,undefined);};};break;case $kindPtr:typ=constructor||function(getter,setter,target){this.$get=getter;this.$set=setter;this.$target=target;this.$val=this;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem){typ.nil=new typ($throwNilPointerError,$throwNilPointerError);typ.extendReflectType=function(rt){rt.ptrType=new $reflect.ptrType.Ptr(rt,elem.reflectType());};};break;case $kindSlice:var nativeArray;typ=function(array){if(array.constructor!==nativeArray){array=new nativeArray(array);}this.$array=array;this.$offset=0;this.$length=array.length;this.$capacity=array.length;this.$val=this;};typ.make=function(length,capacity){capacity=capacity||length;var array=new nativeArray(capacity),i;if(nativeArray===Array){for(i=0;i1){string+=" ("+$mapArray(results,function(r){return r.string;}).join(", ")+")";}var typ=$funcTypes[string];if(typ===undefined){typ=$newType(4,$kindFunc,string,"","",null);typ.init(params,results,variadic);$funcTypes[string]=typ;}return typ;};var $interfaceTypes={};var $interfaceType=function(methods){var string="interface {}";if(methods.length!==0){string="interface { "+$mapArray(methods,function(m){return(m[2]!==""?m[2]+".":"")+m[1]+m[3].string.substr(4);}).join("; ")+" }";}var typ=$interfaceTypes[string];if(typ===undefined){typ=$newType(8,$kindInterface,string,"","",null);typ.init(methods);$interfaceTypes[string]=typ;}return typ;};var $emptyInterface=$interfaceType([]);var $ifaceNil={$key:function(){return"nil";}};var $error=$newType(8,$kindInterface,"error","error","",null);$error.init([["Error","Error","",$funcType([],[$String],false)]]);var $Map=function(){};(function(){var names=Object.getOwnPropertyNames(Object.prototype),i;for(i=0;i>>(32-y),(x.$low<>>0);}if(y<64){return new x.constructor(x.$low<<(y-32),0);}return new x.constructor(0,0);};var $shiftRightInt64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(x.$high>>31,(x.$high>>(y-32))>>>0);}if(x.$high<0){return new x.constructor(-1,4294967295);}return new x.constructor(0,0);};var $shiftRightUint64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(0,x.$high>>>(y-32));}return new x.constructor(0,0);};var $mul64=function(x,y){var high=0,low=0,i;if((y.$low&1)!==0){high=x.$high;low=x.$low;}for(i=1;i<32;i++){if((y.$low&1<>>(32-i);low+=(x.$low<>>0;}}for(i=0;i<32;i++){if((y.$high&1<yHigh)||(xHigh===yHigh&&xLow>yLow))){yHigh=(yHigh<<1|yLow>>>31)>>>0;yLow=(yLow<<1)>>>0;n++;}for(i=0;i<=n;i++){high=high<<1|low>>>31;low=(low<<1)>>>0;if((xHigh>yHigh)||(xHigh===yHigh&&xLow>=yLow)){xHigh=xHigh-yHigh;xLow=xLow-yLow;if(xLow<0){xHigh--;xLow+=4294967296;}low++;if(low===4294967296){high++;low=0;}}yLow=(yLow>>>1|yHigh<<(32-1))>>>0;yHigh=yHigh>>>1;}if(returnRemainder){return new x.constructor(xHigh*rs,xLow*rs);}return new x.constructor(high*s,low*s);};var $divComplex=function(n,d){var ninf=n.$real===1/0||n.$real===-1/0||n.$imag===1/0||n.$imag===-1/0;var dinf=d.$real===1/0||d.$real===-1/0||d.$imag===1/0||d.$imag===-1/0;var nnan=!ninf&&(n.$real!==n.$real||n.$imag!==n.$imag);var dnan=!dinf&&(d.$real!==d.$real||d.$imag!==d.$imag);if(nnan||dnan){return new n.constructor(0/0,0/0);}if(ninf&&!dinf){return new n.constructor(1/0,1/0);}if(!ninf&&dinf){return new n.constructor(0,0);}if(d.$real===0&&d.$imag===0){if(n.$real===0&&n.$imag===0){return new n.constructor(0/0,0/0);}return new n.constructor(1/0,1/0);}var a=Math.abs(d.$real);var b=Math.abs(d.$imag);if(a<=b){var ratio=d.$real/d.$imag;var denom=d.$real*ratio+d.$imag;return new n.constructor((n.$real*ratio+n.$imag)/denom,(n.$imag*ratio-n.$real)/denom);}var ratio=d.$imag/d.$real;var denom=d.$imag*ratio+d.$real;return new n.constructor((n.$imag*ratio+n.$real)/denom,(n.$imag-n.$real*ratio)/denom);};var $stackDepthOffset=0;var $getStackDepth=function(){var err=new Error();if(err.stack===undefined){return undefined;}return $stackDepthOffset+err.stack.split("\n").length;};var $deferFrames=[],$skippedDeferFrames=0,$jumpToDefer=false,$panicStackDepth=null,$panicValue;var $callDeferred=function(deferred,jsErr){if($skippedDeferFrames!==0){$skippedDeferFrames--;throw jsErr;}if($jumpToDefer){$jumpToDefer=false;throw jsErr;}if(jsErr){var newErr=null;try{$deferFrames.push(deferred);$panic(new $packages["github.com/gopherjs/gopherjs/js"].Error.Ptr(jsErr));}catch(err){newErr=err;}$deferFrames.pop();$callDeferred(deferred,newErr);return;}$stackDepthOffset--;var outerPanicStackDepth=$panicStackDepth;var outerPanicValue=$panicValue;var localPanicValue=$curGoroutine.panicStack.pop();if(localPanicValue!==undefined){$panicStackDepth=$getStackDepth();$panicValue=localPanicValue;}var call,localSkippedDeferFrames=0;try{while(true){if(deferred===null){deferred=$deferFrames[$deferFrames.length-1-localSkippedDeferFrames];if(deferred===undefined){var msg;if(localPanicValue.constructor===$String){msg=localPanicValue.$val;}else if(localPanicValue.Error!==undefined){msg=localPanicValue.Error();}else if(localPanicValue.String!==undefined){msg=localPanicValue.String();}else{msg=localPanicValue;}var e=new Error(msg);if(localPanicValue.Stack!==undefined){e.stack=localPanicValue.Stack();e.stack=msg+e.stack.substr(e.stack.indexOf("\n"));}throw e;}}var call=deferred.pop();if(call===undefined){if(localPanicValue!==undefined){localSkippedDeferFrames++;deferred=null;continue;}return;}var r=call[0].apply(undefined,call[1]);if(r&&r.$blocking){deferred.push([r,[]]);}if(localPanicValue!==undefined&&$panicStackDepth===null){throw null;}}}finally{$skippedDeferFrames+=localSkippedDeferFrames;if($curGoroutine.asleep){deferred.push(call);$jumpToDefer=true;}if(localPanicValue!==undefined){if($panicStackDepth!==null){$curGoroutine.panicStack.push(localPanicValue);}$panicStackDepth=outerPanicStackDepth;$panicValue=outerPanicValue;}$stackDepthOffset++;}};var $panic=function(value){$curGoroutine.panicStack.push(value);$callDeferred(null,null);};var $recover=function(){if($panicStackDepth===null||($panicStackDepth!==undefined&&$panicStackDepth!==$getStackDepth()-2)){return $ifaceNil;}$panicStackDepth=null;return $panicValue;};var $throw=function(err){throw err;};var $throwRuntimeError;var $BLOCKING=new Object();var $nonblockingCall=function(){$panic(new $packages["runtime"].NotSupportedError.Ptr("non-blocking call to blocking function, see https://github.com/gopherjs/gopherjs#goroutines"));};var $dummyGoroutine={asleep:false,exit:false,panicStack:[]};var $curGoroutine=$dummyGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=true;var $go=function(fun,args,direct){$totalGoroutines++;$awakeGoroutines++;args.push($BLOCKING);var goroutine=function(){var rescheduled=false;try{$curGoroutine=goroutine;$skippedDeferFrames=0;$jumpToDefer=false;var r=fun.apply(undefined,args);if(r&&r.$blocking){fun=r;args=[];$schedule(goroutine,direct);rescheduled=true;return;}goroutine.exit=true;}catch(err){if(!$curGoroutine.asleep){goroutine.exit=true;throw err;}}finally{$curGoroutine=$dummyGoroutine;if(goroutine.exit&&!rescheduled){$totalGoroutines--;goroutine.asleep=true;}if(goroutine.asleep&&!rescheduled){$awakeGoroutines--;if($awakeGoroutines===0&&$totalGoroutines!==0&&$checkForDeadlock){console.error("fatal error: all goroutines are asleep - deadlock!");}}}};goroutine.asleep=false;goroutine.exit=false;goroutine.panicStack=[];$schedule(goroutine,direct);};var $scheduled=[],$schedulerLoopActive=false;var $schedule=function(goroutine,direct){if(goroutine.asleep){goroutine.asleep=false;$awakeGoroutines++;}if(direct){goroutine();return;}$scheduled.push(goroutine);if(!$schedulerLoopActive){$schedulerLoopActive=true;setTimeout(function(){while(true){var r=$scheduled.shift();if(r===undefined){$schedulerLoopActive=false;break;}r();};},0);}};var $send=function(chan,value){if(chan.$closed){$throwRuntimeError("send on closed channel");}var queuedRecv=chan.$recvQueue.shift();if(queuedRecv!==undefined){queuedRecv([value,true]);return;}if(chan.$buffer.length>24;case $kindInt16:return parseInt(v)<<16>>16;case $kindInt32:return parseInt(v)>>0;case $kindUint:return parseInt(v);case $kindUint8:return parseInt(v)<<24>>>24;case $kindUint16:return parseInt(v)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(v)>>>0;case $kindInt64:case $kindUint64:return new t(0,v);case $kindFloat32:case $kindFloat64:return parseFloat(v);case $kindArray:if(v.length!==t.len){$throwRuntimeError("got array with wrong size from JavaScript native");}return $mapArray(v,function(e){return $internalize(e,t.elem);});case $kindFunc:return function(){var args=[],i;for(i=0;i>0)];if(f===undefined){g=0;h="";i=0;j=false;b=g;c=h;d=i;e=j;return[b,c,d,e];}k=f.substring(($parseInt(f.indexOf($externalize("(",$String)))>>0)+1>>0,$parseInt(f.indexOf($externalize(")",$String)))>>0).split($externalize(":",$String));l=0;m=$internalize(k[0],$String);n=$parseInt(k[1])>>0;o=true;b=l;c=m;d=n;e=o;return[b,c,d,e];};P=$pkg.SetFinalizer=function(a,b){};X.Ptr.prototype.RuntimeError=function(){};X.prototype.RuntimeError=function(){return this.$val.RuntimeError();};X.Ptr.prototype.Error=function(){var a,b;a=this;b=a.interfaceString;if(b===""){b="interface";}if(a.concreteString===""){return"interface conversion: "+b+" is nil, not "+a.assertedString;}if(a.missingMethod===""){return"interface conversion: "+b+" is "+a.concreteString+", not "+a.assertedString;}return"interface conversion: "+a.concreteString+" is not "+a.assertedString+": missing method "+a.missingMethod;};X.prototype.Error=function(){return this.$val.Error();};Z.prototype.RuntimeError=function(){var a;a=this.$val!==undefined?this.$val:this;};$ptrType(Z).prototype.RuntimeError=function(){return new Z(this.$get()).RuntimeError();};Z.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"runtime error: "+a;};$ptrType(Z).prototype.Error=function(){return new Z(this.$get()).Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}AN=$ptrType(C);AR=$ptrType(X);AS=$ptrType(Z);AN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];C.init([["Feature","Feature","",$String,""]]);AR.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];X.init([["interfaceString","interfaceString","runtime",$String,""],["concreteString","concreteString","runtime",$String,""],["assertedString","assertedString","runtime",$String,""],["missingMethod","missingMethod","runtime",$String,""]]);Z.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];AS.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];D();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color"]=(function(){var $pkg={},Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,A,B,C,D,E,F,G,H,I,J,L,U,X,K,M,N,O,P,Q,R,S,T,V,W,Y;A=$pkg.Color=$newType(8,$kindInterface,"color.Color","Color","image/color",null);B=$pkg.RGBA=$newType(0,$kindStruct,"color.RGBA","RGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});C=$pkg.RGBA64=$newType(0,$kindStruct,"color.RGBA64","RGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});D=$pkg.NRGBA=$newType(0,$kindStruct,"color.NRGBA","NRGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});E=$pkg.NRGBA64=$newType(0,$kindStruct,"color.NRGBA64","NRGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});F=$pkg.Alpha=$newType(0,$kindStruct,"color.Alpha","Alpha","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});G=$pkg.Alpha16=$newType(0,$kindStruct,"color.Alpha16","Alpha16","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});H=$pkg.Gray=$newType(0,$kindStruct,"color.Gray","Gray","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});I=$pkg.Gray16=$newType(0,$kindStruct,"color.Gray16","Gray16","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});J=$pkg.Model=$newType(8,$kindInterface,"color.Model","Model","image/color",null);L=$pkg.modelFunc=$newType(0,$kindStruct,"color.modelFunc","modelFunc","image/color",function(f_){this.$val=this;this.f=f_!==undefined?f_:$throwNilPointerError;});U=$pkg.Palette=$newType(12,$kindSlice,"color.Palette","Palette","image/color",null);X=$pkg.YCbCr=$newType(0,$kindStruct,"color.YCbCr","YCbCr","image/color",function(Y_,Cb_,Cr_){this.$val=this;this.Y=Y_!==undefined?Y_:0;this.Cb=Cb_!==undefined?Cb_:0;this.Cr=Cr_!==undefined?Cr_:0;});B.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e;e=$clone(this,B);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};B.prototype.RGBA=function(){return this.$val.RGBA();};C.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,C);f=(e.R>>>0);g=(e.G>>>0);h=(e.B>>>0);i=(e.A>>>0);a=f;b=g;c=h;d=i;return[a,b,c,d];};C.prototype.RGBA=function(){return this.$val.RGBA();};D.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,D);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(255),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(255),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(255),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};D.prototype.RGBA=function(){return this.$val.RGBA();};E.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,E);a=(e.R>>>0);a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(65535),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(65535),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(65535),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);return[a,b,c,d];};E.prototype.RGBA=function(){return this.$val.RGBA();};F.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,F);d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};F.prototype.RGBA=function(){return this.$val.RGBA();};G.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,G);d=(e.A>>>0);f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};G.prototype.RGBA=function(){return this.$val.RGBA();};H.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,H);f=(e.Y>>>0);f=(f|((f<<8>>>0)))>>>0;g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};H.prototype.RGBA=function(){return this.$val.RGBA();};I.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,I);f=(e.Y>>>0);g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};I.prototype.RGBA=function(){return this.$val.RGBA();};K=$pkg.ModelFunc=function(a){return new L.Ptr(a);};L.Ptr.prototype.Convert=function(a){var b;b=this;return b.f(a);};L.prototype.Convert=function(a){return this.$val.Convert(a);};M=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,B,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new B.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new i.constructor.Struct(i));};N=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,C,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new C.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new i.constructor.Struct(i));};O=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,D,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),255),new i.constructor.Struct(i));}if(h===0){return(j=new D.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new n.constructor.Struct(n));};P=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,E,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),65535),new i.constructor.Struct(i));}if(h===0){return(j=new E.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new n.constructor.Struct(n));};Q=function(a){var b,c,d,e,f;b=$assertType(a,F,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new F.Ptr(((e>>>8>>>0)<<24>>>24)),new f.constructor.Struct(f));};R=function(a){var b,c,d,e,f;b=$assertType(a,G,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new G.Ptr((e<<16>>>16)),new f.constructor.Struct(f));};S=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,H,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new H.Ptr(((i>>>8>>>0)<<24>>>24)),new j.constructor.Struct(j));};T=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,I,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new I.Ptr((i<<16>>>16)),new j.constructor.Struct(j));};U.prototype.Convert=function(a){var b,c;b=this;if(b.$length===0){return $ifaceNil;}return(c=b.Index(a),((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]));};$ptrType(U).prototype.Convert=function(a){return this.$get().Convert(a);};U.prototype.Index=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;b=this;c=a.RGBA();d=c[0];e=c[1];f=c[2];g=0;h=4294967295;i=g;j=h;k=b;l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);o=n.RGBA();p=o[0];q=o[1];r=o[2];s=(((d>>0)-(p>>0)>>0))>>1>>0;t=(((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0);s=(((e>>0)-(q>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;s=(((f>>0)-(r>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;if(t>0);e=(b>>0);f=(c>>0);g=(((((19595*d>>0)+(38470*e>>0)>>0)+(7471*f>>0)>>0)+32768>>0))>>16>>0;h=(((((-11056*d>>0)-(21712*e>>0)>>0)+(32768*f>>0)>>0)+8421376>>0))>>16>>0;i=(((((32768*d>>0)-(27440*e>>0)>>0)-(5328*f>>0)>>0)+8421376>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};W=$pkg.YCbCrToRGB=function(a,b,c){var d,e,f,g,h,i;d=((a>>0)<<16>>0)+32768>>0;e=(b>>0)-128>>0;f=(c>>0)-128>>0;g=((d+(91881*f>>0)>>0))>>16>>0;h=(((d-(22554*e>>0)>>0)-(46802*f>>0)>>0))>>16>>0;i=((d+(116130*e>>0)>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};X.Ptr.prototype.RGBA=function(){var a,b,c,d,e,f,g,h;a=$clone(this,X);b=W(a.Y,a.Cb,a.Cr);c=b[0];d=b[1];e=b[2];return[(f=(c>>>0),(((f>>>16<<16)*257>>>0)+(f<<16>>>16)*257)>>>0),(g=(d>>>0),(((g>>>16<<16)*257>>>0)+(g<<16>>>16)*257)>>>0),(h=(e>>>0),(((h>>>16<<16)*257>>>0)+(h<<16>>>16)*257)>>>0),65535];};X.prototype.RGBA=function(){return this.$val.RGBA();};Y=function(a){var b,c,d,e,f,g,h,i,j,k,l;b=$assertType(a,X,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=V(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24));i=h[0];j=h[1];k=h[2];return(l=new X.Ptr(i,j,k),new l.constructor.Struct(l));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:Z=$ptrType(B);AA=$ptrType(C);AB=$ptrType(D);AC=$ptrType(E);AD=$ptrType(F);AE=$ptrType(G);AF=$ptrType(H);AG=$ptrType(I);AH=$ptrType(L);AI=$funcType([A],[A],false);AJ=$ptrType(U);AK=$ptrType(X);A.init([["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)]]);B.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];Z.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];B.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);C.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AA.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];C.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);D.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AB.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];D.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);E.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AC.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];E.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);F.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AD.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];F.init([["A","A","",$Uint8,""]]);G.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AE.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];G.init([["A","A","",$Uint16,""]]);H.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AF.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];H.init([["Y","Y","",$Uint8,""]]);I.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AG.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];I.init([["Y","Y","",$Uint16,""]]);J.init([["Convert","Convert","",$funcType([A],[A],false)]]);AH.methods=[["Convert","Convert","",$funcType([A],[A],false),-1]];L.init([["f","f","image/color",AI,""]]);U.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];AJ.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];U.init(A);X.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AK.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];X.init([["Y","Y","",$Uint8,""],["Cb","Cb","",$Uint8,""],["Cr","Cr","",$Uint8,""]]);$pkg.RGBAModel=K(M);$pkg.RGBA64Model=K(N);$pkg.NRGBAModel=K(O);$pkg.NRGBA64Model=K(P);$pkg.AlphaModel=K(Q);$pkg.Alpha16Model=K(R);$pkg.GrayModel=K(S);$pkg.Gray16Model=K(T);$pkg.Black=new I.Ptr(0);$pkg.White=new I.Ptr(65535);$pkg.Transparent=new G.Ptr(0);$pkg.Opaque=new G.Ptr(65535);$pkg.YCbCrModel=K(Y);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["math"]=(function(){var $pkg={},A,FG,B,C,D,E,F,EN,ER,ES,G,X,Y,Z,AI,AN,AO,AR,AS,AT,EP,EV;A=$packages["github.com/gopherjs/gopherjs/js"];G=function(){AR(0);AS(0);};X=$pkg.IsInf=function(ao,ap){if(ao===D){return ap>=0;}if(ao===E){return ap<=0;}return false;};Y=$pkg.IsNaN=function(ao){var ap=false;ap=!((ao===ao));return ap;};Z=$pkg.Ldexp=function(ao,ap){if(ao===0){return ao;}if(ap>=1024){return ao*$parseFloat(B.pow(2,1023))*$parseFloat(B.pow(2,ap-1023>>0));}if(ap<=-1024){return ao*$parseFloat(B.pow(2,-1023))*$parseFloat(B.pow(2,ap+1023>>0));}return ao*$parseFloat(B.pow(2,ap));};AI=$pkg.NaN=function(){return F;};AN=$pkg.Sincos=function(ao){var ap=0,aq=0,ar;ar=EV(ao);ap=ar[0];aq=ar[1];return[ap,aq];};AO=$pkg.Sqrt=function(ao){return $parseFloat(B.sqrt(ao));};AR=$pkg.Float32bits=function(ao){var ap,aq,ar;if(ao===0){if(1/ao===E){return 2147483648;}return 0;}if(!(ao===ao)){return 2143289344;}ap=0;if(ao<0){ap=2147483648;ao=-ao;}aq=150;while(ao>=1.6777216e+07){ao=ao/(2);aq=aq+(1)>>>0;if(aq===255){if(ao>=8.388608e+06){ao=D;}break;}}while(ao<8.388608e+06){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}ar=$parseFloat($mod(ao,2));if((ar>0.5&&ar<1)||ar>=1.5){ao=ao+(1);}return(((ap|(aq<<23>>>0))>>>0)|(((ao>>0)&~8388608)))>>>0;};AS=$pkg.Float32frombits=function(ao){var ap,aq,ar;ap=1;if(!((((ao&2147483648)>>>0)===0))){ap=-1;}aq=(((ao>>>23>>>0))&255)>>>0;ar=(ao&8388607)>>>0;if(aq===255){if(ar===0){return ap/0;}return F;}if(!((aq===0))){ar=ar+(8388608)>>>0;}if(aq===0){aq=1;}return Z(ar,((aq>>0)-127>>0)-23>>0)*ap;};AT=$pkg.Float64bits=function(ao){var ap,aq,ar,as,at,au;if(ao===0){if(1/ao===E){return new $Uint64(2147483648,0);}return new $Uint64(0,0);}if(!((ao===ao))){return new $Uint64(2146959360,1);}ap=new $Uint64(0,0);if(ao<0){ap=new $Uint64(2147483648,0);ao=-ao;}aq=1075;while(ao>=9.007199254740992e+15){ao=ao/(2);aq=aq+(1)>>>0;if(aq===2047){break;}}while(ao<4.503599627370496e+15){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}return(ar=(as=$shiftLeft64(new $Uint64(0,aq),52),new $Uint64(ap.$high|as.$high,(ap.$low|as.$low)>>>0)),at=(au=new $Uint64(0,ao),new $Uint64(au.$high&~1048576,(au.$low&~0)>>>0)),new $Uint64(ar.$high|at.$high,(ar.$low|at.$low)>>>0));};EP=function(){var ao,ap,aq,ar;EN[0]=1;EN[1]=10;ao=2;while(ao<70){aq=(ap=ao/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));(ao<0||ao>=EN.length)?$throwRuntimeError("index out of range"):EN[ao]=((aq<0||aq>=EN.length)?$throwRuntimeError("index out of range"):EN[aq])*(ar=ao-aq>>0,((ar<0||ar>=EN.length)?$throwRuntimeError("index out of range"):EN[ar]));ao=ao+(1)>>0;}};EV=function(ao){var ap=0,aq=0,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk;if(ao===0){ar=ao;as=1;ap=ar;aq=as;return[ap,aq];}else if(Y(ao)||X(ao,0)){at=AI();au=AI();ap=at;aq=au;return[ap,aq];}av=false;aw=false;ax=av;ay=aw;if(ao<0){ao=-ao;ax=true;}az=new $Int64(0,ao*1.2732395447351625);ba=$flatten64(az);if((bb=new $Int64(az.$high&0,(az.$low&1)>>>0),(bb.$high===0&&bb.$low===1))){az=(bc=new $Int64(0,1),new $Int64(az.$high+bc.$high,az.$low+bc.$low));ba=ba+(1);}az=(bd=new $Int64(0,7),new $Int64(az.$high&bd.$high,(az.$low&bd.$low)>>>0));if((az.$high>0||(az.$high===0&&az.$low>3))){az=(be=new $Int64(0,4),new $Int64(az.$high-be.$high,az.$low-be.$low));bf=!ax;bg=!ay;ax=bf;ay=bg;}if((az.$high>0||(az.$high===0&&az.$low>1))){ay=!ay;}bh=((ao-ba*0.7853981256484985)-ba*3.774894707930798e-08)-ba*2.6951514290790595e-15;bi=bh*bh;aq=1-0.5*bi+bi*bi*((((((ES[0]*bi)+ES[1])*bi+ES[2])*bi+ES[3])*bi+ES[4])*bi+ES[5]);ap=bh+bh*bi*((((((ER[0]*bi)+ER[1])*bi+ER[2])*bi+ER[3])*bi+ER[4])*bi+ER[5]);if((az.$high===0&&az.$low===1)||(az.$high===0&&az.$low===2)){bj=aq;bk=ap;ap=bj;aq=bk;}if(ay){aq=-aq;}if(ax){ap=-ap;}return[ap,aq];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}FG=$arrayType($Float64,70);EN=FG.zero();B=$global.Math;C=0;D=1/C;E=-1/C;F=0/C;ER=$toNativeArray($kindFloat64,[1.5896230157654656e-10,-2.5050747762857807e-08,2.7557313621385722e-06,-0.0001984126982958954,0.008333333333322118,-0.1666666666666663]);ES=$toNativeArray($kindFloat64,[-1.1358536521387682e-11,2.087570084197473e-09,-2.755731417929674e-07,2.4801587288851704e-05,-0.0013888888888873056,0.041666666666666595]);G();EP();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal"]=(function(){var $pkg={},A,B,C,D;A=$packages["image/color"];B=$packages["math"];C=$pkg.NextPowerOf2Int=function(a){a=a-(1)>>0;a=a|(((a>>1>>0)));a=a|(((a>>2>>0)));a=a|(((a>>4>>0)));a=a|(((a>>8>>0)));a=a|(((a>>16>>0)));return a+1>>0;};D=$pkg.RGBA=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=a.RGBA();g=f[0];h=f[1];i=f[2];j=f[3];b=g/65535;c=h/65535;d=i/65535;e=j/65535;return[b,c,d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync/atomic"]=(function(){var $pkg={},A,H,N,U,Y,AA;A=$packages["github.com/gopherjs/gopherjs/js"];H=$pkg.CompareAndSwapInt32=function(ad,ae,af){if(ad.$get()===ae){ad.$set(af);return true;}return false;};N=$pkg.AddInt32=function(ad,ae){var af;af=ad.$get()+ae>>0;ad.$set(af);return af;};U=$pkg.LoadUint32=function(ad){return ad.$get();};Y=$pkg.StoreInt32=function(ad,ae){ad.$set(ae);};AA=$pkg.StoreUint32=function(ad,ae){ad.$set(ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync"]=(function(){var $pkg={},B,A,AJ,AK,AM,AN,AP,AS,AT,AV,AW,AX,AY,AZ,BA,C,I,J,K,L,AC,AG,AH,O,D,E,M,P,Q,X,AA,AB,AF;B=$packages["runtime"];A=$packages["sync/atomic"];C=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool","Pool","sync",function(local_,localSize_,store_,New_){this.$val=this;this.local=local_!==undefined?local_:0;this.localSize=localSize_!==undefined?localSize_:0;this.store=store_!==undefined?store_:AS.nil;this.New=New_!==undefined?New_:$throwNilPointerError;});I=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex","Mutex","sync",function(state_,sema_){this.$val=this;this.state=state_!==undefined?state_:0;this.sema=sema_!==undefined?sema_:0;});J=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker","Locker","sync",null);K=$pkg.Once=$newType(0,$kindStruct,"sync.Once","Once","sync",function(m_,done_){this.$val=this;this.m=m_!==undefined?m_:new I.Ptr();this.done=done_!==undefined?done_:0;});L=$pkg.poolLocal=$newType(0,$kindStruct,"sync.poolLocal","poolLocal","sync",function(private$0_,shared_,Mutex_,pad_){this.$val=this;this.private$0=private$0_!==undefined?private$0_:$ifaceNil;this.shared=shared_!==undefined?shared_:AS.nil;this.Mutex=Mutex_!==undefined?Mutex_:new I.Ptr();this.pad=pad_!==undefined?pad_:AY.zero();});AC=$pkg.syncSema=$newType(0,$kindStruct,"sync.syncSema","syncSema","sync",function(lock_,head_,tail_){this.$val=this;this.lock=lock_!==undefined?lock_:0;this.head=head_!==undefined?head_:0;this.tail=tail_!==undefined?tail_:0;});AG=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex","RWMutex","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});AH=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker","rlocker","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});C.Ptr.prototype.Get=function(){var d,e,f,g;d=this;if(d.store.$length===0){if(!(d.New===$throwNilPointerError)){return d.New();}return $ifaceNil;}g=(e=d.store,f=d.store.$length-1>>0,((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]));d.store=$subslice(d.store,0,(d.store.$length-1>>0));return g;};C.prototype.Get=function(){return this.$val.Get();};C.Ptr.prototype.Put=function(d){var e;e=this;if($interfaceIsEqual(d,$ifaceNil)){return;}e.store=$append(e.store,d);};C.prototype.Put=function(d){return this.$val.Put(d);};D=function(d){};E=function(d){};I.Ptr.prototype.Lock=function(){var d,e,f,g;d=this;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),0,1)){return;}e=false;while(true){f=d.state;g=f|1;if(!(((f&1)===0))){g=f+4>>0;}if(e){g=g&~(2);}if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,g)){if((f&1)===0){break;}AA(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));e=true;}}};I.prototype.Lock=function(){return this.$val.Lock();};I.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),-1);if((((e+1>>0))&1)===0){$panic(new $String("sync: unlock of unlocked mutex"));}f=e;while(true){if(((f>>2>>0)===0)||!(((f&3)===0))){return;}e=((f-4>>0))|2;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,e)){AB(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));return;}f=d.state;}};I.prototype.Unlock=function(){return this.$val.Unlock();};K.Ptr.prototype.Do=function(d){var $deferred=[],$err=null,e;try{$deferFrames.push($deferred);e=this;if(A.LoadUint32(new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e))===1){return;}e.m.Lock();$deferred.push([$methodVal(e.m,"Unlock"),[]]);if(e.done===0){$deferred.push([A.StoreUint32,[new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e),1]]);d();}}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};K.prototype.Do=function(d){return this.$val.Do(d);};M=function(){var d,e,f,g,h,i,j,k,l,m;d=O;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);(f<0||f>=O.$length)?$throwRuntimeError("index out of range"):O.$array[O.$offset+f]=AJ.nil;h=0;while(h<(g.localSize>>0)){i=Q(g.local,h);i.private$0=$ifaceNil;j=i.shared;k=0;while(k=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+l]=$ifaceNil);k++;}i.shared=AS.nil;h=h+(1)>>0;}g.local=0;g.localSize=0;e++;}O=new AK([]);};P=function(){D(M);};Q=function(d,e){var f;return(f=d,(f.nilCheck,((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e])));};X=function(){};AA=function(){$panic("Native function not implemented: sync.runtime_Semacquire");};AB=function(){$panic("Native function not implemented: sync.runtime_Semrelease");};AF=function(){var d;d=$clone(new AC.Ptr(),AC);E(12);};AG.Ptr.prototype.RLock=function(){var d;d=this;if(A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1)<0){AA(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));}};AG.prototype.RLock=function(){return this.$val.RLock();};AG.Ptr.prototype.RUnlock=function(){var d,e;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1);if(e<0){if(((e+1>>0)===0)||((e+1>>0)===-1073741824)){X();$panic(new $String("sync: RUnlock of unlocked RWMutex"));}if(A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),-1)===0){AB(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}}};AG.prototype.RUnlock=function(){return this.$val.RUnlock();};AG.Ptr.prototype.Lock=function(){var d,e;d=this;d.w.Lock();e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1073741824)+1073741824>>0;if(!((e===0))&&!((A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),e)===0))){AA(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}};AG.prototype.Lock=function(){return this.$val.Lock();};AG.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1073741824);if(e>=1073741824){X();$panic(new $String("sync: Unlock of unlocked RWMutex"));}f=0;while(f<(e>>0)){AB(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));f=f+(1)>>0;}d.w.Unlock();};AG.prototype.Unlock=function(){return this.$val.Unlock();};AG.Ptr.prototype.RLocker=function(){var d;d=this;return $clone(d,AH);};AG.prototype.RLocker=function(){return this.$val.RLocker();};AH.Ptr.prototype.Lock=function(){var d;d=this;$clone(d,AG).RLock();};AH.prototype.Lock=function(){return this.$val.Lock();};AH.Ptr.prototype.Unlock=function(){var d;d=this;$clone(d,AG).RUnlock();};AH.prototype.Unlock=function(){return this.$val.Unlock();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}AJ=$ptrType(C);AK=$sliceType(AJ);AM=$ptrType($Uint32);AN=$ptrType($Int32);AP=$ptrType(L);AS=$sliceType($emptyInterface);AT=$funcType([],[$emptyInterface],false);AV=$ptrType(I);AW=$funcType([],[],false);AX=$ptrType(K);AY=$arrayType($Uint8,128);AZ=$ptrType(AG);BA=$ptrType(AH);AJ.methods=[["Get","Get","",$funcType([],[$emptyInterface],false),-1],["Put","Put","",$funcType([$emptyInterface],[],false),-1],["getSlow","getSlow","sync",$funcType([],[$emptyInterface],false),-1],["pin","pin","sync",$funcType([],[AP],false),-1],["pinSlow","pinSlow","sync",$funcType([],[AP],false),-1]];C.init([["local","local","sync",$UnsafePointer,""],["localSize","localSize","sync",$Uintptr,""],["store","store","sync",AS,""],["New","New","",AT,""]]);AV.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];I.init([["state","state","sync",$Int32,""],["sema","sema","sync",$Uint32,""]]);J.init([["Lock","Lock","",$funcType([],[],false)],["Unlock","Unlock","",$funcType([],[],false)]]);AX.methods=[["Do","Do","",$funcType([AW],[],false),-1]];K.init([["m","m","sync",I,""],["done","done","sync",$Uint32,""]]);AP.methods=[["Lock","Lock","",$funcType([],[],false),2],["Unlock","Unlock","",$funcType([],[],false),2]];L.init([["private$0","private","sync",$emptyInterface,""],["shared","shared","sync",AS,""],["Mutex","","",I,""],["pad","pad","sync",AY,""]]);AC.init([["lock","lock","sync",$Uintptr,""],["head","head","sync",$UnsafePointer,""],["tail","tail","sync",$UnsafePointer,""]]);AZ.methods=[["Lock","Lock","",$funcType([],[],false),-1],["RLock","RLock","",$funcType([],[],false),-1],["RLocker","RLocker","",$funcType([],[J],false),-1],["RUnlock","RUnlock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AG.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);BA.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AH.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);O=AK.nil;P();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io"]=(function(){var $pkg={},B,A,C,AW,E,F,J,P,Q,T,W,AI,AJ,AA,AB;B=$packages["errors"];A=$packages["runtime"];C=$packages["sync"];E=$pkg.Reader=$newType(8,$kindInterface,"io.Reader","Reader","io",null);F=$pkg.Writer=$newType(8,$kindInterface,"io.Writer","Writer","io",null);J=$pkg.ReadCloser=$newType(8,$kindInterface,"io.ReadCloser","ReadCloser","io",null);P=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom","ReaderFrom","io",null);Q=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo","WriterTo","io",null);T=$pkg.ByteReader=$newType(8,$kindInterface,"io.ByteReader","ByteReader","io",null);W=$pkg.RuneReader=$newType(8,$kindInterface,"io.RuneReader","RuneReader","io",null);AA=$pkg.ReadAtLeast=function(b,c,d){var e=0,f=$ifaceNil,g,h,i,j;if(c.$length>0;}if(e>=d){f=$ifaceNil;}else if(e>0&&$interfaceIsEqual(f,$pkg.EOF)){f=$pkg.ErrUnexpectedEOF;}return[e,f];};AB=$pkg.ReadFull=function(b,c){var d=0,e=$ifaceNil,f;f=AA(b,c,c.$length);d=f[0];e=f[1];return[d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}AW=$sliceType($Uint8);E.init([["Read","Read","",$funcType([AW],[$Int,$error],false)]]);F.init([["Write","Write","",$funcType([AW],[$Int,$error],false)]]);J.init([["Close","Close","",$funcType([],[$error],false)],["Read","Read","",$funcType([AW],[$Int,$error],false)]]);P.init([["ReadFrom","ReadFrom","",$funcType([E],[$Int64,$error],false)]]);Q.init([["WriteTo","WriteTo","",$funcType([F],[$Int64,$error],false)]]);T.init([["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);W.init([["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false)]]);$pkg.ErrShortWrite=B.New("short write");$pkg.ErrShortBuffer=B.New("short buffer");$pkg.EOF=B.New("EOF");$pkg.ErrUnexpectedEOF=B.New("unexpected EOF");$pkg.ErrNoProgress=B.New("multiple Read calls return no data or error");AI=B.New("Seek: invalid whence");AJ=B.New("Seek: invalid offset");$pkg.ErrClosedPipe=B.New("io: read/write on closed pipe");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -17,7 +17,7 @@ $packages["bytes"]=(function(){var $pkg={},A,B,D,C,BJ,BK,BL,BM,H,I,E,J,K;A=$pack $packages["syscall"]=(function(){var $pkg={},A,E,B,D,C,MD,ME,MF,ML,MS,MT,MZ,NE,NG,NH,NK,NX,NY,NZ,OA,OF,OG,OI,OK,EQ,ER,KF,KI,KO,KW,F,G,N,O,P,AP,AQ,AR,AS,DT,FS,H,I,J,K,L,Q,R,S,V,AU,AW,CQ,CR,CT,CY,DO,DY,DZ,ET,EU,GM,HA,HE,HF,HH,HI,HL,HN,HO,HP,II,IT,IU,IV,JA,JY,JZ,KA;A=$packages["bytes"];E=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["runtime"];C=$packages["sync"];EQ=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper","mmapper","syscall",function(Mutex_,active_,mmap_,munmap_){this.$val=this;this.Mutex=Mutex_!==undefined?Mutex_:new C.Mutex.Ptr();this.active=active_!==undefined?active_:false;this.mmap=mmap_!==undefined?mmap_:$throwNilPointerError;this.munmap=munmap_!==undefined?munmap_:$throwNilPointerError;});ER=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno","Errno","syscall",null);KF=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int","_C_int","syscall",null);KI=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec","Timespec","syscall",function(Sec_,Nsec_){this.$val=this;this.Sec=Sec_!==undefined?Sec_:new $Int64(0,0);this.Nsec=Nsec_!==undefined?Nsec_:new $Int64(0,0);});KO=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t","Stat_t","syscall",function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;this.Dev=Dev_!==undefined?Dev_:0;this.Mode=Mode_!==undefined?Mode_:0;this.Nlink=Nlink_!==undefined?Nlink_:0;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Uid=Uid_!==undefined?Uid_:0;this.Gid=Gid_!==undefined?Gid_:0;this.Rdev=Rdev_!==undefined?Rdev_:0;this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:NG.zero();this.Atimespec=Atimespec_!==undefined?Atimespec_:new KI.Ptr();this.Mtimespec=Mtimespec_!==undefined?Mtimespec_:new KI.Ptr();this.Ctimespec=Ctimespec_!==undefined?Ctimespec_:new KI.Ptr();this.Birthtimespec=Birthtimespec_!==undefined?Birthtimespec_:new KI.Ptr();this.Size=Size_!==undefined?Size_:new $Int64(0,0);this.Blocks=Blocks_!==undefined?Blocks_:new $Int64(0,0);this.Blksize=Blksize_!==undefined?Blksize_:0;this.Flags=Flags_!==undefined?Flags_:0;this.Gen=Gen_!==undefined?Gen_:0;this.Lspare=Lspare_!==undefined?Lspare_:0;this.Qspare=Qspare_!==undefined?Qspare_:OG.zero();});KW=$pkg.Dirent=$newType(0,$kindStruct,"syscall.Dirent","Dirent","syscall",function(Ino_,Seekoff_,Reclen_,Namlen_,Type_,Name_,Pad_cgo_0_){this.$val=this;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Seekoff=Seekoff_!==undefined?Seekoff_:new $Uint64(0,0);this.Reclen=Reclen_!==undefined?Reclen_:0;this.Namlen=Namlen_!==undefined?Namlen_:0;this.Type=Type_!==undefined?Type_:0;this.Name=Name_!==undefined?Name_:OI.zero();this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:OK.zero();});H=function(){$flushConsole=(function(){if(!((G.$length===0))){$global.console.log($externalize($bytesToString(G),$String));G=MD.nil;}});};I=function(){if(!F){console.log("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md");}F=true;};J=function(i){var j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=A.IndexByte(G,10);if(k===-1){break;}$global.console.log($externalize($bytesToString($subslice(G,0,k)),$String));G=$subslice(G,(k+1>>0));}};K=function(i){};L=function(){var i,j,k,l,m,n;i=$global.process;if(i===undefined){return ME.nil;}j=i.env;k=$global.Object.keys(j);l=ME.make($parseInt(k.length));m=0;while(m<$parseInt(k.length)){n=$internalize(k[m],$String);(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String);m=m+(1)>>0;}return l;};Q=function(i){var $deferred=[],$err=null,j;try{$deferFrames.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(N===null){if(O){return null;}O=true;j=$global.require;if(j===undefined){$panic(new $String(""));}N=j($externalize("syscall",$String));}return N[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};R=$pkg.Syscall=function(i,j,k,l){var m=0,n=0,o=0,p,q,r,s,t,u,v,w,x,y,z,aa,ab;p=Q("Syscall");if(!(p===null)){q=p(i,j,k,l);r=(($parseInt(q[0])>>0)>>>0);s=(($parseInt(q[1])>>0)>>>0);t=(($parseInt(q[2])>>0)>>>0);m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=MD.make($parseInt(u.length));v.$array=u;J(v);w=($parseInt(u.length)>>>0);x=0;y=0;m=w;n=x;o=y;return[m,n,o];}I();z=(P>>>0);aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};S=$pkg.Syscall6=function(i,j,k,l,m,n,o){var p=0,q=0,r=0,s,t,u,v,w,x,y,z;s=Q("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=(($parseInt(t[0])>>0)>>>0);v=(($parseInt(t[1])>>0)>>>0);w=(($parseInt(t[2])>>0)>>>0);p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=(P>>>0);y=0;z=13;p=x;q=y;r=z;return[p,q,r];};V=$pkg.BytePtrFromString=function(i){var j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=new MD($stringToBytes(i));l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(n===0){return[MF.nil,new ER(22)];}j[m]=n;l++;}j[i.length]=0;return[j,$ifaceNil];};AU=function(){var i,j,k,l,m,n,o,p,q,r;AR=new $Map();i=AS;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=0;while(m=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+k]="";}break;}m=m+(1)>>0;}j++;}};AW=$pkg.Getenv=function(i){var j="",k=false,$deferred=[],$err=null,l,m,n,o,p,q,r,s,t,u,v,w,x,y;try{$deferFrames.push($deferred);AP.Do(AU);if(i.length===0){l="";m=false;j=l;k=m;return[j,k];}AQ.RLock();$deferred.push([$methodVal(AQ,"RUnlock"),[]]);n=(o=AR[i],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;return[j,k];}t=((p<0||p>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+p]);u=0;while(u>0));w=true;j=v;k=w;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;return[j,k];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[j,k];}};CQ=function(i){if(i<0){return"-"+CR((-i>>>0));}return CR((i>>>0));};CR=function(i){var j,k,l,m;j=$clone(MZ.zero(),MZ);k=31;while(i>=10){(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((i+48>>>0)<<24>>>24);return $bytesToString($subslice(new MD(j),k));};CT=$pkg.ByteSliceFromString=function(i){var j,k;j=0;while(j>0;}k=MD.make((i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};KI.Ptr.prototype.Unix=function(){var i=new $Int64(0,0),j=new $Int64(0,0),k,l,m;k=this;l=k.Sec;m=k.Nsec;i=l;j=m;return[i,j];};KI.prototype.Unix=function(){return this.$val.Unix();};KI.Ptr.prototype.Nano=function(){var i,j,k;i=this;return(j=$mul64(i.Sec,new $Int64(0,1000000000)),k=i.Nsec,new $Int64(j.$high+k.$high,j.$low+k.$low));};KI.prototype.Nano=function(){return this.$val.Nano();};CY=$pkg.ReadDirent=function(i,j){var k=0,l=$ifaceNil,m,n;m=new Uint8Array(8);n=HP(i,j,m);k=n[0];l=n[1];if(true&&($interfaceIsEqual(l,new ER(22))||$interfaceIsEqual(l,new ER(2)))){l=$ifaceNil;}return[k,l];};DO=$pkg.Sysctl=function(i){var j="",k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=DY(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=GM(m,MF.nil,new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){q="";r=k;j=q;k=r;return[j,k];}if(p===0){s="";t=$ifaceNil;j=s;k=t;return[j,k];}u=MD.make(p);k=GM(m,new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},u),new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){v="";w=k;j=v;k=w;return[j,k];}if(p>0&&((x=p-1>>>0,((x<0||x>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+x]))===0)){p=p-(1)>>>0;}y=$bytesToString($subslice(u,0,p));z=$ifaceNil;j=y;k=z;return[j,k];};DY=function(i){var j=MS.nil,k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w;l=$clone(NH.zero(),NH);m=48;n=$sliceToArray(new NE(l));o=CT(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=MS.nil;r=k;j=q;k=r;return[j,k];}k=GM(new MS([0,3]),n,new MT(function(){return m;},function($v){m=$v;}),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),(i.length>>>0));if(!($interfaceIsEqual(k,$ifaceNil))){s=MS.nil;t=k;j=s;k=t;return[j,k];}u=$subslice(new MS(l),0,(v=m/4,(v===v&&v!==1/0&&v!==-1/0)?v>>>0:$throwRuntimeError("integer divide by zero")));w=$ifaceNil;j=u;k=w;return[j,k];};DZ=$pkg.ParseDirent=function(i,j,k){var l=0,m=0,n=ME.nil,o,p,q,r,s,t,u,v,w,x,y;o=i.$length;while(!((j===0))&&i.$length>0){p=[undefined];p[0]=(q=$sliceToArray(i),r=new KW.Ptr(),s=new DataView(q.buffer,q.byteOffset),r.Ino=new $Uint64(s.getUint32(4,true),s.getUint32(0,true)),r.Seekoff=new $Uint64(s.getUint32(12,true),s.getUint32(8,true)),r.Reclen=s.getUint16(16,true),r.Namlen=s.getUint16(18,true),r.Type=s.getUint8(20,true),r.Name=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+21,q.buffer.byteLength)),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+1045,q.buffer.byteLength)),r);if(p[0].Reclen===0){i=MD.nil;break;}i=$subslice(i,p[0].Reclen);if((t=p[0].Ino,(t.$high===0&&t.$low===0))){continue;}u=$sliceToArray(new NE(p[0].Name));v=$bytesToString($subslice(new MD(u),0,p[0].Namlen));if(v==="."||v===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,v);}w=o-i.$length>>0;x=m;y=k;l=w;m=x;n=y;return[l,m,n];};EQ.Ptr.prototype.Mmap=function(i,j,k,l,m){var n=MD.nil,o=$ifaceNil,$deferred=[],$err=null,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;try{$deferFrames.push($deferred);p=this;if(k<=0){q=MD.nil;r=new ER(22);n=q;o=r;return[n,o];}s=p.mmap(0,(k>>>0),l,m,i,j);t=s[0];u=s[1];if(!($interfaceIsEqual(u,$ifaceNil))){v=MD.nil;w=u;n=v;o=w;return[n,o];}x=new NK.Ptr(t,k,k);y=x;ab=new MF(function(){return(aa=y.$capacity-1>>0,((aa<0||aa>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+aa]));},function($v){(z=y.$capacity-1>>0,(z<0||z>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+z]=$v);},y);p.Mutex.Lock();$deferred.push([$methodVal(p.Mutex,"Unlock"),[]]);ac=ab;(p.active||$throwRuntimeError("assignment to entry in nil map"))[ac.$key()]={k:ac,v:y};ad=y;ae=$ifaceNil;n=ad;o=ae;return[n,o];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[n,o];}};EQ.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EQ.Ptr.prototype.Munmap=function(i){var j=$ifaceNil,$deferred=[],$err=null,k,l,m,n,o,p,q;try{$deferFrames.push($deferred);k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new ER(22);return j;}n=new MF(function(){return(m=i.$capacity-1>>0,((m<0||m>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+m]));},function($v){(l=i.$capacity-1>>0,(l<0||l>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+l]=$v);},i);k.Mutex.Lock();$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);p=(o=k.active[n.$key()],o!==undefined?o.v:MD.nil);if(p===MD.nil||!($pointerIsEqual(new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},i)))){j=new ER(22);return j;}q=k.munmap($sliceToArray(p),(p.$length>>>0));if(!($interfaceIsEqual(q,$ifaceNil))){j=q;return j;}delete k.active[n.$key()];j=$ifaceNil;return j;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return j;}};EQ.prototype.Munmap=function(i){return this.$val.Munmap(i);};ER.prototype.Error=function(){var i,j;i=this.$val!==undefined?this.$val:this;if(0<=(i>>0)&&(i>>0)<106){j=((i<0||i>=FS.length)?$throwRuntimeError("index out of range"):FS[i]);if(!(j==="")){return j;}}return"errno "+CQ((i>>0));};$ptrType(ER).prototype.Error=function(){return new ER(this.$get()).Error();};ER.prototype.Temporary=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===4)||(i===24)||(i===54)||(i===53)||new ER(i).Timeout();};$ptrType(ER).prototype.Temporary=function(){return new ER(this.$get()).Temporary();};ER.prototype.Timeout=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===35)||(i===35)||(i===60);};$ptrType(ER).prototype.Timeout=function(){return new ER(this.$get()).Timeout();};ET=$pkg.Read=function(i,j){var k=0,l=$ifaceNil,m;m=IV(i,j);k=m[0];l=m[1];return[k,l];};EU=$pkg.Write=function(i,j){var k=0,l=$ifaceNil,m;m=JY(i,j);k=m[0];l=m[1];return[k,l];};GM=function(i,j,k,l,m){var n=$ifaceNil,o,p,q;o=0;if(i.$length>0){o=$sliceToArray(i);}else{o=new Uint8Array(0);}p=S(202,o,(i.$length>>>0),j,k,l,m);q=p[2];if(!((q===0))){n=new ER(q);}return n;};HA=$pkg.Close=function(i){var j=$ifaceNil,k,l;k=R(6,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HE=$pkg.Exit=function(i){R(1,(i>>>0),0,0);return;};HF=$pkg.Fchdir=function(i){var j=$ifaceNil,k,l;k=R(13,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HH=$pkg.Fchmod=function(i,j){var k=$ifaceNil,l,m;l=R(124,(i>>>0),(j>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HI=$pkg.Fchown=function(i,j,k){var l=$ifaceNil,m,n;m=R(123,(i>>>0),(j>>>0),(k>>>0));n=m[2];if(!((n===0))){l=new ER(n);}return l;};HL=$pkg.Fstat=function(i,j){var k=$ifaceNil,l,m,n,o,p;m=new Uint8Array(144);l=R(339,(i>>>0),m,0);p=l[2];n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));if(!((p===0))){k=new ER(p);}return k;};HN=$pkg.Fsync=function(i){var j=$ifaceNil,k,l;k=R(95,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HO=$pkg.Ftruncate=function(i,j){var k=$ifaceNil,l,m;l=R(201,(i>>>0),(j.$low>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HP=$pkg.Getdirentries=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(344,(i>>>0),n,(j.$length>>>0),k,0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};II=$pkg.Lstat=function(i,j){var k=$ifaceNil,l,m,n,o,p,q,r;l=MF.nil;m=V(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=R(340,l,o,0);r=n[2];p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));K(l);if(!((r===0))){k=new ER(r);}return k;};IT=$pkg.Pread=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(153,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IU=$pkg.Pwrite=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(154,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IV=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(3,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JA=$pkg.Seek=function(i,j,k){var l=new $Int64(0,0),m=$ifaceNil,n,o,p;n=R(199,(i>>>0),(j.$low>>>0),(k>>>0));o=n[0];p=n[2];l=new $Int64(0,o.constructor===Number?o:1);if(!((p===0))){m=new ER(p);}return[l,m];};JY=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(4,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JZ=function(i,j,k,l,m,n){var o=0,p=$ifaceNil,q,r,s;q=S(197,i,j,(k>>>0),(l>>>0),(m>>>0),(n.$low>>>0));r=q[0];s=q[2];o=r;if(!((s===0))){p=new ER(s);}return[o,p];};KA=function(i,j){var k=$ifaceNil,l,m;l=R(73,i,j,0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}MD=$sliceType($Uint8);ME=$sliceType($String);MF=$ptrType($Uint8);ML=$ptrType(ER);MS=$sliceType(KF);MT=$ptrType($Uintptr);MZ=$arrayType($Uint8,32);NE=$sliceType($Uint8);NG=$arrayType($Uint8,4);NH=$arrayType(KF,14);NK=$structType([["addr","addr","syscall",$Uintptr,""],["len","len","syscall",$Int,""],["cap","cap","syscall",$Int,""]]);NX=$ptrType(EQ);NY=$mapType(MF,MD);NZ=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);OA=$funcType([$Uintptr,$Uintptr],[$error],false);OF=$ptrType(KI);OG=$arrayType($Int64,2);OI=$arrayType($Int8,1024);OK=$arrayType($Uint8,3);NX.methods=[["Lock","Lock","",$funcType([],[],false),0],["Mmap","Mmap","",$funcType([$Int,$Int64,$Int,$Int,$Int],[MD,$error],false),-1],["Munmap","Munmap","",$funcType([MD],[$error],false),-1],["Unlock","Unlock","",$funcType([],[],false),0]];EQ.init([["Mutex","","",C.Mutex,""],["active","active","syscall",NY,""],["mmap","mmap","syscall",NZ,""],["munmap","munmap","syscall",OA,""]]);ER.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];ML.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];OF.methods=[["Nano","Nano","",$funcType([],[$Int64],false),-1],["Unix","Unix","",$funcType([],[$Int64,$Int64],false),-1]];KI.init([["Sec","Sec","",$Int64,""],["Nsec","Nsec","",$Int64,""]]);KO.init([["Dev","Dev","",$Int32,""],["Mode","Mode","",$Uint16,""],["Nlink","Nlink","",$Uint16,""],["Ino","Ino","",$Uint64,""],["Uid","Uid","",$Uint32,""],["Gid","Gid","",$Uint32,""],["Rdev","Rdev","",$Int32,""],["Pad_cgo_0","Pad_cgo_0","",NG,""],["Atimespec","Atimespec","",KI,""],["Mtimespec","Mtimespec","",KI,""],["Ctimespec","Ctimespec","",KI,""],["Birthtimespec","Birthtimespec","",KI,""],["Size","Size","",$Int64,""],["Blocks","Blocks","",$Int64,""],["Blksize","Blksize","",$Int32,""],["Flags","Flags","",$Uint32,""],["Gen","Gen","",$Uint32,""],["Lspare","Lspare","",$Int32,""],["Qspare","Qspare","",OG,""]]);KW.init([["Ino","Ino","",$Uint64,""],["Seekoff","Seekoff","",$Uint64,""],["Reclen","Reclen","",$Uint16,""],["Namlen","Namlen","",$Uint16,""],["Type","Type","",$Uint8,""],["Name","Name","",OI,""],["Pad_cgo_0","Pad_cgo_0","",OK,""]]);G=MD.nil;N=null;AP=new C.Once.Ptr();AQ=new C.RWMutex.Ptr();AR=false;F=false;O=false;P=-1;AS=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;FS=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by 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","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","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 family","address already in use","can't 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","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);DT=new EQ.Ptr(new C.Mutex.Ptr(),new $Map(),JZ,KA);H();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},I,J,D;D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once","Once","github.com/gopherjs/gopherjs/nosync",function(doing_,done_){this.$val=this;this.doing=doing_!==undefined?doing_:false;this.done=done_!==undefined?done_:false;});D.Ptr.prototype.Do=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;if(b.done){return;}if(b.doing){$panic(new $String("nosync: Do called within f"));}b.doing=true;$deferred.push([(function(){b.doing=false;b.done=true;}),[]]);a();}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};D.prototype.Do=function(a){return this.$val.Do(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:I=$funcType([],[],false);J=$ptrType(D);J.methods=[["Do","Do","",$funcType([I],[],false),-1]];D.init([["doing","doing","github.com/gopherjs/gopherjs/nosync",$Bool,""],["done","done","github.com/gopherjs/gopherjs/nosync",$Bool,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strings"]=(function(){var $pkg={},B,A,C,E,D,BY,F,AB,AD,AH,BU;B=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];E=$packages["unicode"];D=$packages["unicode/utf8"];F=$pkg.IndexByte=function(b,c){return $parseInt(b.indexOf($global.String.fromCharCode(c)))>>0;};AB=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=0;while(d>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d+(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AD=$pkg.Count=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=0;if(c.length===0){return D.RuneCountInString(b)+1>>0;}else if(c.length===1){e=c.charCodeAt(0);f=0;while(f>0;}f=f+(1)>>0;}return d;}else if(c.length>b.length){return 0;}else if(c.length===b.length){if(c===b){return 1;}return 0;}g=AB(c);h=g[0];i=g[1];j=0;k=0;while(k>>16<<16)*16777619>>>0)+(j<<16>>>16)*16777619)>>>0)+(b.charCodeAt(k)>>>0)>>>0;k=k+(1)>>0;}l=0;if((j===h)&&b.substring(0,c.length)===c){d=d+(1)>>0;l=c.length;}m=c.length;while(m>>16<<16)*n>>>0)+(j<<16>>>16)*n)>>>0);j=j+((b.charCodeAt(m)>>>0))>>>0;j=j-((o=(b.charCodeAt((m-c.length>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;m=m+(1)>>0;if((j===h)&&l<=(m-c.length>>0)&&b.substring((m-c.length>>0),m)===c){d=d+(1)>>0;l=m;}}return d;};AH=$pkg.Index=function(b,c){var d,e,f,g,h,i,j,k,l;d=c.length;if(d===0){return 0;}else if(d===1){return F(b,c.charCodeAt(0));}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}e=AB(c);f=e[0];g=e[1];h=0;i=0;while(i>>16<<16)*16777619>>>0)+(h<<16>>>16)*16777619)>>>0)+(b.charCodeAt(i)>>>0)>>>0;i=i+(1)>>0;}if((h===f)&&b.substring(0,d)===c){return 0;}j=d;while(j>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);h=h+((b.charCodeAt(j)>>>0))>>>0;h=h-((l=(b.charCodeAt((j-d>>0))>>>0),(((g>>>16<<16)*l>>>0)+(g<<16>>>16)*l)>>>0))>>>0;j=j+(1)>>0;if((h===f)&&b.substring((j-d>>0),j)===c){return j-d>>0;}}return-1;};BU=$pkg.Replace=function(b,c,d,e){var f,g,h,i,j,k,l,m;if(c===d||(e===0)){return b;}f=AD(b,c);if(f===0){return b;}else if(e<0||f>0))>>0)>>0));h=0;i=0;j=0;while(j0){l=D.DecodeRuneInString(b.substring(i));m=l[1];k=k+(m)>>0;}}else{k=k+(AH(b.substring(i),c))>>0;}h=h+($copyString($subslice(g,h),b.substring(i,k)))>>0;h=h+($copyString($subslice(g,h),d))>>0;i=k+c.length>>0;j=j+(1)>>0;}h=h+($copyString($subslice(g,h),b.substring(i)))>>0;return $bytesToString($subslice(g,0,h));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}BY=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DM,DN,DO,DQ,DR,DS,DT,G,AB,AS,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,K,L,M,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,AR,AT,AU,AV,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];G=$pkg.runtimeTimer=$newType(0,$kindStruct,"time.runtimeTimer","runtimeTimer","time",function(i_,when_,period_,f_,arg_,timeout_,active_){this.$val=this;this.i=i_!==undefined?i_:0;this.when=when_!==undefined?when_:new $Int64(0,0);this.period=period_!==undefined?period_:new $Int64(0,0);this.f=f_!==undefined?f_:$throwNilPointerError;this.arg=arg_!==undefined?arg_:$ifaceNil;this.timeout=timeout_!==undefined?timeout_:null;this.active=active_!==undefined?active_:false;});AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});AS=$pkg.Timer=$newType(0,$kindStruct,"time.Timer","Timer","time",function(C_,r_){this.$val=this;this.C=C_!==undefined?C_:DJ.nil;this.r=r_!==undefined?r_:new G.Ptr();});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};K=$pkg.Sleep=function(k,$b){var $this=this,$args=arguments,$r,$s=0,l,m,n;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:l=new DB(0);$global.setTimeout($externalize((function(){$close(l);}),DC),((m=$div64(k,new BN(0,1000000),false),m.$low+((m.$high>>31)*4294967296))>>0));n=$recv(l,$BLOCKING);$s=1;case 1:if(n&&n.$blocking){n=n();}n[0];case-1:}return;}};$f.$blocking=true;return $f;};L=function(k){var 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=$global.setTimeout($externalize((function(){var o,p,q;k.active=false;k.f(k.arg,0);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);}}),DC),$externalize(new $Int64(n.$high+0,n.$low+1),$Int64));};M=function(k){var l;$global.clearTimeout(k.timeout);l=k.active;k.active=false;return l;};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};AR=function(k){var 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;};AS.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);};AS.prototype.Stop=function(){return this.$val.Stop();};AT=$pkg.NewTimer=function(k){var l,m;l=new DI(1);m=new AS.Ptr(l,new G.Ptr(0,AR(k),new $Int64(0,0),AU,l,null,false));L(m.r);return m;};AS.Ptr.prototype.Reset=function(k){var l,m,n;l=this;if(l.r.f===$throwNilPointerError){$panic(new $String("time: Reset called on uninitialized Timer"));}m=AR(k);n=M(l.r);l.r.when=m;L(l.r);return n;};AS.prototype.Reset=function(k){return this.$val.Reset(k);};AU=function(k,l){var m;m=$select([[$assertType(k,DI),BU()],[]]);};AV=$pkg.After=function(k){return AT(k).C;};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DA=$structType([]);DB=$chanType(DA,false,false);DC=$funcType([],[],false);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DI=$chanType(BG,false,false);DJ=$chanType(BG,false,true);DM=$funcType([$emptyInterface,$Uintptr],[],false);DN=$ptrType(AB);DO=$ptrType(AS);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);G.init([["i","i","time",$Int32,""],["when","when","time",$Int64,""],["period","period","time",$Int64,""],["f","f","time",DM,""],["arg","arg","time",$emptyInterface,""],["timeout","timeout","time",B.Object,""],["active","active","time",$Bool,""]]);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);DO.methods=[["Reset","Reset","",$funcType([BN],[$Bool],false),-1],["Stop","Stop","",$funcType([],[$Bool],false),-1]];AS.init([["C","C","",DJ,""],["r","r","time",G,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DD,DE,DF,DG,DH,DN,DQ,DR,DS,DT,AB,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DN=$ptrType(AB);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["os"]=(function(){var $pkg={},E,A,B,F,H,G,C,D,CX,CY,CZ,DB,DC,DD,DE,DK,DQ,DR,DS,DW,DX,DZ,W,X,AQ,BG,BH,BJ,CS,CT,CV,AO,AV,BV,CP,I,Y,AA,AD,AX,AY,BB,BI,BK,BN,BQ,BX,BY,CD,CJ,CL,CM,CQ;E=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["io"];F=$packages["runtime"];H=$packages["sync"];G=$packages["sync/atomic"];C=$packages["syscall"];D=$packages["time"];W=$pkg.PathError=$newType(0,$kindStruct,"os.PathError","PathError","os",function(Op_,Path_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Path=Path_!==undefined?Path_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});X=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError","SyscallError","os",function(Syscall_,Err_){this.$val=this;this.Syscall=Syscall_!==undefined?Syscall_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});AQ=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError","LinkError","os",function(Op_,Old_,New_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Old=Old_!==undefined?Old_:"";this.New=New_!==undefined?New_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});BG=$pkg.File=$newType(0,$kindStruct,"os.File","File","os",function(file_){this.$val=this;this.file=file_!==undefined?file_:DQ.nil;});BH=$pkg.file=$newType(0,$kindStruct,"os.file","file","os",function(fd_,name_,dirinfo_,nepipe_){this.$val=this;this.fd=fd_!==undefined?fd_:0;this.name=name_!==undefined?name_:"";this.dirinfo=dirinfo_!==undefined?dirinfo_:CY.nil;this.nepipe=nepipe_!==undefined?nepipe_:0;});BJ=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo","dirInfo","os",function(buf_,nbuf_,bufp_){this.$val=this;this.buf=buf_!==undefined?buf_:CZ.nil;this.nbuf=nbuf_!==undefined?nbuf_:0;this.bufp=bufp_!==undefined?bufp_:0;});CS=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo","FileInfo","os",null);CT=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode","FileMode","os",null);CV=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat","fileStat","os",function(name_,size_,mode_,modTime_,sys_){this.$val=this;this.name=name_!==undefined?name_:"";this.size=size_!==undefined?size_:new $Int64(0,0);this.mode=mode_!==undefined?mode_:0;this.modTime=modTime_!==undefined?modTime_:new D.Time.Ptr();this.sys=sys_!==undefined?sys_:$ifaceNil;});I=function(){var b,c,d,e;b=$global.process;if(b===undefined){return new CX(["browser"]);}c=b.argv;d=CX.make(($parseInt(c.length)-1>>0));e=0;while(e<($parseInt(c.length)-1>>0)){(e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=$internalize(c[(e+1>>0)],$String);e=e+(1)>>0;}return d;};BG.Ptr.prototype.readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=this;if(e.file.dirinfo===CY.nil){e.file.dirinfo=new BJ.Ptr();e.file.dirinfo.buf=CZ.make(4096);}f=e.file.dirinfo;g=b;if(g<=0){g=100;b=-1;}c=CX.make(0,g);while(!((b===0))){if(f.bufp>=f.nbuf){f.bufp=0;h=$ifaceNil;j=C.ReadDirent(e.file.fd,f.buf);i=AX(j[0],j[1]);f.nbuf=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){k=c;l=Y("readdirent",h);c=k;d=l;return[c,d];}if(f.nbuf<=0){break;}}m=0;n=0;o=m;p=n;q=C.ParseDirent($subslice(f.buf,f.bufp,f.nbuf),b,c);o=q[0];p=q[1];c=q[2];f.bufp=f.bufp+(o)>>0;b=b-(p)>>0;}if(b>=0&&(c.$length===0)){r=c;s=B.EOF;c=r;d=s;return[c,d];}t=c;u=$ifaceNil;c=t;d=u;return[c,d];};BG.prototype.readdirnames=function(b){return this.$val.readdirnames(b);};BG.Ptr.prototype.Readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=DB.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdir(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdir=function(b){return this.$val.Readdir(b);};BG.Ptr.prototype.Readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=CX.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdirnames(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdirnames=function(b){return this.$val.Readdirnames(b);};W.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Path+": "+b.Err.Error();};W.prototype.Error=function(){return this.$val.Error();};X.Ptr.prototype.Error=function(){var b;b=this;return b.Syscall+": "+b.Err.Error();};X.prototype.Error=function(){return this.$val.Error();};Y=$pkg.NewSyscallError=function(b,c){if($interfaceIsEqual(c,$ifaceNil)){return $ifaceNil;}return new X.Ptr(b,c);};AA=$pkg.IsNotExist=function(b){return AD(b);};AD=function(b){var c,d;d=b;if(d===$ifaceNil){c=d;return false;}else if($assertType(d,DD,true)[1]){c=d.$val;b=c.Err;}else if($assertType(d,DE,true)[1]){c=d.$val;b=c.Err;}return $interfaceIsEqual(b,new C.Errno(2))||$interfaceIsEqual(b,$pkg.ErrNotExist);};BG.Ptr.prototype.Name=function(){var b;b=this;return b.file.name;};BG.prototype.Name=function(){return this.$val.Name();};AQ.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Old+" "+b.New+": "+b.Err.Error();};AQ.prototype.Error=function(){return this.$val.Error();};BG.Ptr.prototype.Read=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l,m;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.read(b);c=h[0];i=h[1];if(c<0){c=0;}if((c===0)&&b.$length>0&&$interfaceIsEqual(i,$ifaceNil)){j=0;k=B.EOF;c=j;d=k;return[c,d];}if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("read",e.file.name,i);}l=c;m=d;c=l;d=m;return[c,d];};BG.prototype.Read=function(b){return this.$val.Read(b);};BG.Ptr.prototype.ReadAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l,m,n;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pread(b,c);j=i[0];k=i[1];if((j===0)&&$interfaceIsEqual(k,$ifaceNil)){l=d;m=B.EOF;d=l;e=m;return[d,e];}if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("read",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(n=new $Int64(0,j),new $Int64(c.$high+n.$high,c.$low+n.$low));}return[d,e];};BG.prototype.ReadAt=function(b,c){return this.$val.ReadAt(b,c);};BG.Ptr.prototype.Write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.write(b);c=h[0];i=h[1];if(c<0){c=0;}if(!((c===b.$length))){d=B.ErrShortWrite;}BK(e,i);if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("write",e.file.name,i);}j=c;k=d;c=j;d=k;return[c,d];};BG.prototype.Write=function(b){return this.$val.Write(b);};BG.Ptr.prototype.WriteAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pwrite(b,c);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("write",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(l=new $Int64(0,j),new $Int64(c.$high+l.$high,c.$low+l.$low));}return[d,e];};BG.prototype.WriteAt=function(b,c){return this.$val.WriteAt(b,c);};BG.Ptr.prototype.Seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g,h,i,j,k,l,m,n,o;f=this;if(f===DC.nil){g=new $Int64(0,0);h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.seek(b,c);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&!(f.file.dirinfo===CY.nil)&&!((j.$high===0&&j.$low===0))){k=new C.Errno(21);}if(!($interfaceIsEqual(k,$ifaceNil))){l=new $Int64(0,0);m=new W.Ptr("seek",f.file.name,k);d=l;e=m;return[d,e];}n=j;o=$ifaceNil;d=n;e=o;return[d,e];};BG.prototype.Seek=function(b,c){return this.$val.Seek(b,c);};BG.Ptr.prototype.WriteString=function(b){var c=0,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.Write(new CZ($stringToBytes(b)));c=h[0];d=h[1];return[c,d];};BG.prototype.WriteString=function(b){return this.$val.WriteString(b);};BG.Ptr.prototype.Chdir=function(){var b,c;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}c=C.Fchdir(b.file.fd);if(!($interfaceIsEqual(c,$ifaceNil))){return new W.Ptr("chdir",b.file.name,c);}return $ifaceNil;};BG.prototype.Chdir=function(){return this.$val.Chdir();};AX=function(b,c){if(b<0){b=0;}return[b,c];};AY=function(){$panic("Native function not implemented: os.sigpipe");};BB=function(b){var c=0;c=(c|((new CT(b).Perm()>>>0)))>>>0;if(!((((b&8388608)>>>0)===0))){c=(c|(2048))>>>0;}if(!((((b&4194304)>>>0)===0))){c=(c|(1024))>>>0;}if(!((((b&1048576)>>>0)===0))){c=(c|(512))>>>0;}return c;};BG.Ptr.prototype.Chmod=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Fchmod(c.file.fd,BB(b));if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("chmod",c.file.name,d);}return $ifaceNil;};BG.prototype.Chmod=function(b){return this.$val.Chmod(b);};BG.Ptr.prototype.Chown=function(b,c){var d,e;d=this;if(d===DC.nil){return $pkg.ErrInvalid;}e=C.Fchown(d.file.fd,b,c);if(!($interfaceIsEqual(e,$ifaceNil))){return new W.Ptr("chown",d.file.name,e);}return $ifaceNil;};BG.prototype.Chown=function(b,c){return this.$val.Chown(b,c);};BG.Ptr.prototype.Truncate=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Ftruncate(c.file.fd,b);if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("truncate",c.file.name,d);}return $ifaceNil;};BG.prototype.Truncate=function(b){return this.$val.Truncate(b);};BG.Ptr.prototype.Sync=function(){var b=$ifaceNil,c,d;c=this;if(c===DC.nil){b=$pkg.ErrInvalid;return b;}d=C.Fsync(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){b=Y("fsync",d);return b;}b=$ifaceNil;return b;};BG.prototype.Sync=function(){return this.$val.Sync();};BG.Ptr.prototype.Fd=function(){var b;b=this;if(b===DC.nil){return 4294967295;}return(b.file.fd>>>0);};BG.prototype.Fd=function(){return this.$val.Fd();};BI=$pkg.NewFile=function(b,c){var d,e;d=(b>>0);if(d<0){return DC.nil;}e=new BG.Ptr(new BH.Ptr(d,c,CY.nil,0));F.SetFinalizer(e.file,new DR($methodExpr(DQ.prototype.close)));return e;};BK=function(b,c){if($interfaceIsEqual(c,new C.Errno(32))){if(G.AddInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),1)>=10){AY();}}else{G.StoreInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),0);}};BG.Ptr.prototype.Close=function(){var b;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}return b.file.close();};BG.prototype.Close=function(){return this.$val.Close();};BH.Ptr.prototype.close=function(){var b,c,d;b=this;if(b===DQ.nil||b.fd<0){return new C.Errno(22);}c=$ifaceNil;d=C.Close(b.fd);if(!($interfaceIsEqual(d,$ifaceNil))){c=new W.Ptr("close",b.name,d);}b.fd=-1;F.SetFinalizer(b,$ifaceNil);return c;};BH.prototype.close=function(){return this.$val.close();};BG.Ptr.prototype.Stat=function(){var b=$ifaceNil,c=$ifaceNil,d,e,f,g,h,i,j,k;d=this;if(d===DC.nil){e=$ifaceNil;f=$pkg.ErrInvalid;b=e;c=f;return[b,c];}g=$clone(new C.Stat_t.Ptr(),C.Stat_t);c=C.Fstat(d.file.fd,g);if(!($interfaceIsEqual(c,$ifaceNil))){h=$ifaceNil;i=new W.Ptr("stat",d.file.name,c);b=h;c=i;return[b,c];}j=CL(g,d.file.name);k=$ifaceNil;b=j;c=k;return[b,c];};BG.prototype.Stat=function(){return this.$val.Stat();};BN=$pkg.Lstat=function(b){var c=$ifaceNil,d=$ifaceNil,e,f,g,h,i;e=$clone(new C.Stat_t.Ptr(),C.Stat_t);d=C.Lstat(b,e);if(!($interfaceIsEqual(d,$ifaceNil))){f=$ifaceNil;g=new W.Ptr("lstat",b,d);c=f;d=g;return[c,d];}h=CL(e,b);i=$ifaceNil;c=h;d=i;return[c,d];};BG.Ptr.prototype.readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=this;f=e.file.name;if(f===""){f=".";}g=e.Readdirnames(b);h=g[0];d=g[1];c=DB.make(0,h.$length);i=h;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);l=AV(f+"/"+k);m=l[0];n=l[1];if(AA(n)){j++;continue;}if(!($interfaceIsEqual(n,$ifaceNil))){o=c;p=n;c=o;d=p;return[c,d];}c=$append(c,m);j++;}q=c;r=d;c=q;d=r;return[c,d];};BG.prototype.readdir=function(b){return this.$val.readdir(b);};BG.Ptr.prototype.read=function(b){var c=0,d=$ifaceNil,e,f,g;e=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}g=C.Read(e.file.fd,b);f=AX(g[0],g[1]);c=f[0];d=f[1];return[c,d];};BG.prototype.read=function(b){return this.$val.read(b);};BG.Ptr.prototype.pread=function(b,c){var d=0,e=$ifaceNil,f,g,h;f=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}h=C.Pread(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pread=function(b,c){return this.$val.pread(b,c);};BG.Ptr.prototype.write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l;e=this;while(true){f=b;if(true&&f.$length>1073741824){f=$subslice(f,0,1073741824);}h=C.Write(e.file.fd,f);g=AX(h[0],h[1]);i=g[0];j=g[1];c=c+(i)>>0;if(01073741824){b=$subslice(b,0,1073741824);}h=C.Pwrite(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pwrite=function(b,c){return this.$val.pwrite(b,c);};BG.Ptr.prototype.seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g;f=this;g=C.Seek(f.file.fd,b,c);d=g[0];e=g[1];return[d,e];};BG.prototype.seek=function(b,c){return this.$val.seek(b,c);};BQ=function(b){var c;c=b.length-1>>0;while(c>0&&(b.charCodeAt(c)===47)){b=b.substring(0,c);c=c-(1)>>0;}c=c-(1)>>0;while(c>=0){if(b.charCodeAt(c)===47){b=b.substring((c+1>>0));break;}c=c-(1)>>0;}return b;};BX=function(){BV=BY;};BY=function(b){return!($interfaceIsEqual(b,new C.Errno(45)));};CD=function(){$pkg.Args=I();};CJ=$pkg.Exit=function(b){C.Exit(b);};CL=function(b,c){var d,e;d=new CV.Ptr(BQ(c),b.Size,0,$clone(CM(b.Mtimespec),D.Time),b);d.mode=(((b.Mode&511)>>>0)>>>0);e=(b.Mode&61440)>>>0;if(e===24576||e===57344){d.mode=(d.mode|(67108864))>>>0;}else if(e===8192){d.mode=(d.mode|(69206016))>>>0;}else if(e===16384){d.mode=(d.mode|(2147483648))>>>0;}else if(e===4096){d.mode=(d.mode|(33554432))>>>0;}else if(e===40960){d.mode=(d.mode|(134217728))>>>0;}else if(e===32768){}else if(e===49152){d.mode=(d.mode|(16777216))>>>0;}if(!((((b.Mode&1024)>>>0)===0))){d.mode=(d.mode|(4194304))>>>0;}if(!((((b.Mode&2048)>>>0)===0))){d.mode=(d.mode|(8388608))>>>0;}if(!((((b.Mode&512)>>>0)===0))){d.mode=(d.mode|(1048576))>>>0;}return d;};CM=function(b){b=$clone(b,C.Timespec);return D.Unix(b.Sec,b.Nsec);};CQ=function(){var b,c,d,e,f,g,h;b=C.Sysctl("kern.osrelease");c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}e=0;f=c;g=0;while(g2||(e===2)&&c.charCodeAt(0)>=49&&c.charCodeAt(1)>=49){CP=true;}};CT.prototype.String=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=this.$val!==undefined?this.$val:this;c=$clone(DK.zero(),DK);d=0;e="dalTLDpSugct";f=0;while(f>0)>>>0),j<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(i<<24>>>24);d=d+(1)>>0;}f+=g[1];}if(d===0){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;d=d+(1)>>0;}k="rwxrwxrwx";l=0;while(l>0)>>>0),p<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(o<<24>>>24);}else{(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;}d=d+(1)>>0;l+=m[1];}return $bytesToString($subslice(new CZ(c),0,d));};$ptrType(CT).prototype.String=function(){return new CT(this.$get()).String();};CT.prototype.IsDir=function(){var b;b=this.$val!==undefined?this.$val:this;return!((((b&2147483648)>>>0)===0));};$ptrType(CT).prototype.IsDir=function(){return new CT(this.$get()).IsDir();};CT.prototype.IsRegular=function(){var b;b=this.$val!==undefined?this.$val:this;return((b&2399141888)>>>0)===0;};$ptrType(CT).prototype.IsRegular=function(){return new CT(this.$get()).IsRegular();};CT.prototype.Perm=function(){var b;b=this.$val!==undefined?this.$val:this;return(b&511)>>>0;};$ptrType(CT).prototype.Perm=function(){return new CT(this.$get()).Perm();};CV.Ptr.prototype.Name=function(){var b;b=this;return b.name;};CV.prototype.Name=function(){return this.$val.Name();};CV.Ptr.prototype.IsDir=function(){var b;b=this;return new CT(b.Mode()).IsDir();};CV.prototype.IsDir=function(){return this.$val.IsDir();};CV.Ptr.prototype.Size=function(){var b;b=this;return b.size;};CV.prototype.Size=function(){return this.$val.Size();};CV.Ptr.prototype.Mode=function(){var b;b=this;return b.mode;};CV.prototype.Mode=function(){return this.$val.Mode();};CV.Ptr.prototype.ModTime=function(){var b;b=this;return b.modTime;};CV.prototype.ModTime=function(){return this.$val.ModTime();};CV.Ptr.prototype.Sys=function(){var b;b=this;return b.sys;};CV.prototype.Sys=function(){return this.$val.Sys();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}CX=$sliceType($String);CY=$ptrType(BJ);CZ=$sliceType($Uint8);DB=$sliceType(CS);DC=$ptrType(BG);DD=$ptrType(W);DE=$ptrType(AQ);DK=$arrayType($Uint8,32);DQ=$ptrType(BH);DR=$funcType([DQ],[$error],false);DS=$ptrType($Int32);DW=$ptrType(CV);DX=$ptrType(X);DZ=$ptrType(CT);DD.methods=[["Error","Error","",$funcType([],[$String],false),-1]];W.init([["Op","Op","",$String,""],["Path","Path","",$String,""],["Err","Err","",$error,""]]);DX.methods=[["Error","Error","",$funcType([],[$String],false),-1]];X.init([["Syscall","Syscall","",$String,""],["Err","Err","",$error,""]]);DE.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AQ.init([["Op","Op","",$String,""],["Old","Old","",$String,""],["New","New","",$String,""],["Err","Err","",$error,""]]);BG.methods=[["close","close","os",$funcType([],[$error],false),0]];DC.methods=[["Chdir","Chdir","",$funcType([],[$error],false),-1],["Chmod","Chmod","",$funcType([CT],[$error],false),-1],["Chown","Chown","",$funcType([$Int,$Int],[$error],false),-1],["Close","Close","",$funcType([],[$error],false),-1],["Fd","Fd","",$funcType([],[$Uintptr],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Read","Read","",$funcType([CZ],[$Int,$error],false),-1],["ReadAt","ReadAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["Readdir","Readdir","",$funcType([$Int],[DB,$error],false),-1],["Readdirnames","Readdirnames","",$funcType([$Int],[CX,$error],false),-1],["Seek","Seek","",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["Stat","Stat","",$funcType([],[CS,$error],false),-1],["Sync","Sync","",$funcType([],[$error],false),-1],["Truncate","Truncate","",$funcType([$Int64],[$error],false),-1],["Write","Write","",$funcType([CZ],[$Int,$error],false),-1],["WriteAt","WriteAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1],["close","close","os",$funcType([],[$error],false),0],["pread","pread","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["pwrite","pwrite","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["read","read","os",$funcType([CZ],[$Int,$error],false),-1],["readdir","readdir","os",$funcType([$Int],[DB,$error],false),-1],["readdirnames","readdirnames","os",$funcType([$Int],[CX,$error],false),-1],["seek","seek","os",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["write","write","os",$funcType([CZ],[$Int,$error],false),-1]];BG.init([["file","","os",DQ,""]]);DQ.methods=[["close","close","os",$funcType([],[$error],false),-1]];BH.init([["fd","fd","os",$Int,""],["name","name","os",$String,""],["dirinfo","dirinfo","os",CY,""],["nepipe","nepipe","os",$Int32,""]]);BJ.init([["buf","buf","os",CZ,""],["nbuf","nbuf","os",$Int,""],["bufp","bufp","os",$Int,""]]);CS.init([["IsDir","IsDir","",$funcType([],[$Bool],false)],["ModTime","ModTime","",$funcType([],[D.Time],false)],["Mode","Mode","",$funcType([],[CT],false)],["Name","Name","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Int64],false)],["Sys","Sys","",$funcType([],[$emptyInterface],false)]]);CT.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DZ.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DW.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[D.Time],false),-1],["Mode","Mode","",$funcType([],[CT],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];CV.init([["name","name","os",$String,""],["size","size","os",$Int64,""],["mode","mode","os",CT,""],["modTime","modTime","os",D.Time,""],["sys","sys","os",$emptyInterface,""]]);$pkg.Args=CX.nil;CP=false;$pkg.ErrInvalid=E.New("invalid argument");$pkg.ErrPermission=E.New("permission denied");$pkg.ErrExist=E.New("file already exists");$pkg.ErrNotExist=E.New("file does not exist");AO=E.New("os: process already finished");$pkg.Stdin=BI((C.Stdin>>>0),"/dev/stdin");$pkg.Stdout=BI((C.Stdout>>>0),"/dev/stdout");$pkg.Stderr=BI((C.Stderr>>>0),"/dev/stderr");BV=(function(b){return true;});AV=BN;BX();CD();CQ();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strconv"]=(function(){var $pkg={},B,A,C,CI,CJ,CK,CL,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,Z,AD,AI,AP,AY,G,AE,AJ,AK,AL,AQ,AR,BD,BE,BF,BG,BM,AA,AB,AC,AF,AG,AH,AM,AN,AO,AT,AU,AV,AW,AX,AZ,BA,BB,BC,BI,BJ,BN,BO,BP,BR,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];Z=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal","decimal","strconv",function(d_,nd_,dp_,neg_,trunc_){this.$val=this;this.d=d_!==undefined?d_:CU.zero();this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;this.trunc=trunc_!==undefined?trunc_:false;});AD=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat","leftCheat","strconv",function(delta_,cutoff_){this.$val=this;this.delta=delta_!==undefined?delta_:0;this.cutoff=cutoff_!==undefined?cutoff_:"";});AI=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat","extFloat","strconv",function(mant_,exp_,neg_){this.$val=this;this.mant=mant_!==undefined?mant_:new $Uint64(0,0);this.exp=exp_!==undefined?exp_:0;this.neg=neg_!==undefined?neg_:false;});AP=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo","floatInfo","strconv",function(mantbits_,expbits_,bias_){this.$val=this;this.mantbits=mantbits_!==undefined?mantbits_:0;this.expbits=expbits_!==undefined?expbits_:0;this.bias=bias_!==undefined?bias_:0;});AY=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice","decimalSlice","strconv",function(d_,nd_,dp_,neg_){this.$val=this;this.d=d_!==undefined?d_:CL.nil;this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;});Z.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=CL.make(b);d=0;if(a.nd===0){return"0";}else if(a.dp<=0){(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=48;d=d+(1)>>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+(AA($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;}else if(a.dp>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;d=d+(AA($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return $bytesToString($subslice(c,0,d));};Z.prototype.String=function(){return this.$val.String();};AA=function(a){var b,c,d;b=a;c=0;while(c=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+d]=48;c++;}return a.$length;};AB=function(a){var b,c;while(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]))===48)){a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Z.Ptr.prototype.Assign=function(a){var b,c,d,e,f,g,h;b=this;c=$clone(CN.zero(),CN);d=0;while((a.$high>0||(a.$high===0&&a.$low>0))){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"):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(d>=0){(g=b.d,h=b.nd,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AB(b);};Z.prototype.Assign=function(a){return this.$val.Assign(a);};AC=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=0;d=0;e=0;while(((e>>$min(b,31))>>0)===0){if(c>=a.nd){if(e===0){a.nd=0;return;}while(((e>>$min(b,31))>>0)===0){e=e*10>>0;c=c+(1)>>0;}break;}g=((f=a.d,((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))>>0);e=((e*10>>0)+g>>0)-48>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;while(c=h.length)?$throwRuntimeError("index out of range"):h[c]))>>0);j=(e>>$min(b,31))>>0;e=e-(((k=b,k<32?(j<>0))>>0;(l=a.d,(d<0||d>=l.length)?$throwRuntimeError("index out of range"):l[d]=((j+48>>0)<<24>>>24));d=d+(1)>>0;e=((e*10>>0)+i>>0)-48>>0;c=c+(1)>>0;}while(e>0){m=(e>>$min(b,31))>>0;e=e-(((n=b,n<32?(m<>0))>>0;if(d<800){(o=a.d,(d<0||d>=o.length)?$throwRuntimeError("index out of range"):o[d]=((m+48>>0)<<24>>>24));d=d+(1)>>0;}else if(m>0){a.trunc=true;}e=e*10>>0;}a.nd=d;AB(a);};AF=function(a,b){var c;c=0;while(c=a.$length){return true;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])>0;}return false;};AG=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).delta;if(AF($subslice(new CL(a.d),0,a.nd),((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(d>=0){f=f+(((g=b,g<32?(((((h=a.d,((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]))>>0)-48>>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"):l[e]=((k+48>>0)<<24>>>24));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(f>0){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"):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;AB(a);};Z.Ptr.prototype.Shift=function(a){var b;b=this;if(b.nd===0){}else if(a>0){while(a>27){AG(b,27);a=a-(27)>>0;}AG(b,(a>>>0));}else if(a<0){while(a<-27){AC(b,27);a=a+(27)>>0;}AC(b,(-a>>>0));}};Z.prototype.Shift=function(a){return this.$val.Shift(a);};AH=function(a,b){var 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"):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"):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"):g[b]))>=53;};Z.Ptr.prototype.Round=function(a){var b;b=this;if(a<0||a>=b.nd){return;}if(AH(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Z.prototype.Round=function(a){return this.$val.Round(a);};Z.Ptr.prototype.RoundDown=function(a){var b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AB(b);};Z.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Z.Ptr.prototype.RoundUp=function(a){var b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(c>=0){e=(d=b.d,((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));if(e<57){f=b.d;g=c;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(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;};Z.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Z.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(b=f.length)?$throwRuntimeError("index out of range"):f[b]))-48<<24>>>24)),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(b>0;}if(AH(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Z.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AI.Ptr.prototype.AssignComputeBounds=function(a,b,c,d){var e=new AI.Ptr(),f=new AI.Ptr(),g,h,i,j,k,l,m,n,o;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,AI);j=$clone(g,AI);$copy(e,i,AI);$copy(f,j,AI);return[e,f];}k=b-d.bias>>0;$copy(f,new AI.Ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg),AI);if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){$copy(e,new AI.Ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg),AI);}else{$copy(e,new AI.Ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg),AI);}return[e,f];};AI.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AI.Ptr.prototype.Normalize=function(){var a=0,b,c,d,e,f,g,h,i,j,k,l,m,n;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;};AI.prototype.Normalize=function(){return this.$val.Normalize();};AI.Ptr.prototype.Multiply=function(a){var 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;a=$clone(a,AI);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;};AI.prototype.Multiply=function(a){return this.$val.Multiply(a);};AI.Ptr.prototype.AssignDecimal=function(a,b,c,d,e){var f=false,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;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>=AL.length)?$throwRuntimeError("index out of range"):AL[n])),(a.$high=AL.length)?$throwRuntimeError("index out of range"):AL[l])));g.Normalize();}else{g.Normalize();g.Multiply(((l<0||l>=AJ.length)?$throwRuntimeError("index out of range"):AJ[l]));h=h+(4)>>0;}g.Multiply(((j<0||j>=AK.length)?$throwRuntimeError("index out of range"):AK[j]));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<>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>0))*28>>0)/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>=AK.length)?$throwRuntimeError("index out of range"):AK[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(((g<0||g>=AK.length)?$throwRuntimeError("index out of range"):AK[g]));i=-((-348+(g*8>>0)>>0));j=g;a=i;b=j;return[a,b];};AI.prototype.frexp10=function(){return this.$val.frexp10();};AM=function(a,b,c){var d=0,e,f;e=c.frexp10();d=e[0];f=e[1];a.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));b.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));return d;};AI.Ptr.prototype.FixedDecimal=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,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,an,ao,ap;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(r<20){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>=AL.length)?$throwRuntimeError("index out of range"):AL[v]));h=(w=h/((o.$low>>>0)),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-((x=(o.$low>>>0),(((h>>>16<<16)*x>>>0)+(h<<16>>>16)*x)>>>0))>>>0;}else{u=0;}y=$clone(CO.zero(),CO);z=32;aa=h;while(aa>0){ac=(ab=aa/10,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"));aa=aa-(((((10>>>16<<16)*ac>>>0)+(10<<16>>>16)*ac)>>>0))>>>0;z=z-(1)>>0;(z<0||z>=y.length)?$throwRuntimeError("index out of range"):y[z]=((aa+48>>>0)<<24>>>24);aa=ac;}ad=z;while(ad<32){(ae=a.d,af=ad-z>>0,(af<0||af>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+af]=((ad<0||ad>=y.length)?$throwRuntimeError("index out of range"):y[ad]));ad=ad+(1)>>0;}ag=32-z>>0;a.nd=ag;a.dp=n+f>>0;m=m-(ag)>>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(m>0){k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ah=$mul64(new $Uint64(0,2),l),ai=$shiftLeft64(new $Uint64(0,1),g),(ah.$high>ai.$high||(ah.$high===ai.$high&&ah.$low>ai.$low)))){return false;}aj=$shiftRightUint64(k,g);(ak=a.d,(ag<0||ag>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+ag]=(new $Uint64(aj.$high+0,aj.$low+48).$low<<24>>>24));k=(al=$shiftLeft64(aj,g),new $Uint64(k.$high-al.$high,k.$low-al.$low));ag=ag+(1)>>0;m=m-(1)>>0;}a.nd=ag;}an=AN(a,(am=$shiftLeft64(new $Uint64(0,u),g),new $Uint64(am.$high|k.$high,(am.$low|k.$low)>>>0)),o,g,l);if(!an){return false;}ao=a.nd-1>>0;while(ao>=0){if(!(((ap=a.d,((ao<0||ao>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+ao]))===48))){a.nd=ao+1>>0;break;}ao=ao-(1)>>0;}return true;};AI.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AN=function(a,b,c,d,e){var 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<h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(m>=0){if((n=a.d,((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):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<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0]=49);a.nd=1;a.dp=a.dp+(1)>>0;}else{p=a.d;q=m;(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q])+(1)<<24>>>24;}return true;}return false;};AI.Ptr.prototype.ShortestDecimal=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;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,AI)&&$equal(b,c,AI)){f=$clone(CN.zero(),CN);g=23;h=d.mant;while((h.$high>0||(h.$high===0&&h.$low>0))){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"):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(l=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?$throwRuntimeError("index out of range"):f[m])));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))===48)){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=AM(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(al<20){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(ao>0)-1>>0,((ap<0||ap>=AL.length)?$throwRuntimeError("index out of range"):AL[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"):at.$array[at.$offset+ao]=((as+48>>>0)<<24>>>24));y=y-((au=(aq.$low>>>0),(((as>>>16<<16)*au>>>0)+(as<<16>>>16)*au)>>>0))>>>0;aw=(av=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(av.$high+ab.$high,av.$low+ab.$low));if((aw.$high>0;a.dp=ai+s>>0;a.neg=d.neg;return AO(a,aw,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;ax=0;ay=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ay=$mul64(ay,(new $Uint64(0,10)));ax=($shiftRightUint64(ab,x).$low>>0);(az=a.d,ba=a.nd,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=((ax+48>>0)<<24>>>24));a.nd=a.nd+(1)>>0;ab=(bb=$shiftLeft64(new $Uint64(0,ax),x),new $Uint64(ab.$high-bb.$high,ab.$low-bb.$low));if((bc=$mul64(ae,ay),(ab.$high>0;(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])-(1)<<24>>>24;b=(m=e,new $Uint64(b.$high+m.$high,b.$low+m.$low));}if((n=new $Uint64(b.$high+e.$high,b.$low+e.$low),o=(p=(q=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+q.$high,c.$low+q.$low)),new $Uint64(p.$high+f.$high,p.$low+f.$low)),(n.$highr.$high||(b.$high===r.$high&&b.$low>r.$low)))){return false;}if((a.nd===1)&&((s=a.d,((0<0||0>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AT=$pkg.AppendFloat=function(a,b,c,d,e){return AU(a,b,c,d,e);};AU=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;f=new $Uint64(0,0);g=CP.nil;h=e;if(h===32){f=new $Uint64(0,A.Float32bits(b));g=AQ;}else if(h===64){f=A.Float64bits(b);g=AR;}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<>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<>0)-1>>0)){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,new CL($stringToBytes(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 BB(a,j,o,l,g);}if(!G){return AV(a,d,c,j,o,l,g);}t=$clone(new AY.Ptr(),AY);u=false;v=d<0;if(v){w=new AI.Ptr();x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AI);z=$clone(x[1],AI);aa=$clone(CO.zero(),CO);t.d=new CL(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AV(a,d,c,j,o,l,g);}ab=c;if(ab===101||ab===69){d=t.nd-1>>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=$clone(CN.zero(),CN);t.d=new CL(ae);af=new AI.Ptr(o,l-(g.mantbits>>0)>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AV(a,d,c,j,o,l,g);}return AW(a,v,j,t,d,c);};AV=function(a,b,c,d,e,f,g){var h,i,j,k,l;h=new Z.Ptr();h.Assign(e);h.Shift(f-(g.mantbits>>0)>>0);i=$clone(new AY.Ptr(),AY);j=b<0;if(j){AX(h,e,f,g);$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);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);}$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);}return AW(a,j,d,i,b,c);};AW=function(a,b,c,d,e,f){var g,h,i;d=$clone(d,AY);g=f;if(g===101||g===69){return AZ(a,c,d,e,f);}else if(g===102){return BA(a,c,d,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 AZ(a,c,d,e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return BA(a,c,d,BC(e-d.dp>>0,0));}return $append(a,37,f);};AX=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&(332*((a.dp-a.nd>>0))>>0)>=(100*((c-(d.mantbits>>0)>>0))>>0)){return;}f=new Z.Ptr();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 Z.Ptr();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(p=w.length)?$throwRuntimeError("index out of range"):w[p]));}else{t=48;}u=(x=a.d,((p<0||p>=x.length)?$throwRuntimeError("index out of range"):x[p]));if(p=y.length)?$throwRuntimeError("index out of range"):y[p]));}else{v=48;}z=!((t===u))||(o&&(t===u)&&((p+1>>0)===l.nd));aa=!((u===v))&&(o||(u+1<<24>>>24)>0)>0);return;}else if(z){a.RoundDown(p+1>>0);return;}else if(aa){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AZ=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;c=$clone(c,AY);if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,((0<0||0>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=((c.nd+d>>0)+1>>0)-BC(c.nd,d+1>>0)>>0;while(h=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])));h=h+(1)>>0;}while(h<=d){a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);k=c.dp-1>>0;if(c.nd===0){k=0;}if(k<0){f=45;k=-k;}else{f=43;}a=$append(a,f);l=$clone(CQ.zero(),CQ);m=3;while(k>=10){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((n=k%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);k=(o=k/(10),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));}m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((k+48>>0)<<24>>>24);p=m;if(p===0){a=$append(a,l[0],l[1],l[2]);}else if(p===1){a=$append(a,l[1],l[2]);}else if(p===2){a=$append(a,48,l[2]);}return a;};BA=function(a,b,c,d){var e,f,g,h,i,j;c=$clone(c,AY);if(b){a=$append(a,45);}if(c.dp>0){e=0;e=0;while(e=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+e])));e=e+(1)>>0;}while(e>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);g=0;while(g>0;if(0<=i&&i=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]));}a=$append(a,h);g=g+(1)>>0;}}return a;};BB=function(a,b,c,d,e){var f,g,h,i,j,k,l;f=$clone(CR.zero(),CR);g=50;d=d-((e.mantbits>>0))>>0;h=43;if(d<0){h=45;d=-d;}i=0;while(d>0||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(((j=d%10,j===j?j:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);d=(k=d/(10),(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));}g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=h;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=112;i=0;while((c.$high>0||(c.$high===0&&c.$low>0))||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((l=$div64(c,new $Uint64(0,10),true),new $Uint64(l.$high+0,l.$low+48)).$low<<24>>>24);c=$div64(c,(new $Uint64(0,10)),false);}if(b){g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=45;}return $appendSlice(a,$subslice(new CL(f),g));};BC=function(a,b){if(a>b){return a;}return b;};BI=$pkg.FormatInt=function(a,b){var c,d;c=BN(CL.nil,new $Uint64(a.$high,a.$low),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};BJ=$pkg.Itoa=function(a){return BI(new $Int64(0,a),10);};BN=function(a,b,c,d,e){var f=CL.nil,g="",h,i,j,k,l,m,n,o,p,q,r,s,t;if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=$clone(CS.zero(),CS);i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){while((b.$high>0||(b.$high===0&&b.$low>=100))){i=i-(2)>>0;j=$div64(b,new $Uint64(0,100),false);l=((k=$mul64(j,new $Uint64(0,100)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0);(m=i+1>>0,(m<0||m>=h.length)?$throwRuntimeError("index out of range"):h[m]="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".charCodeAt(l));(n=i+0>>0,(n<0||n>=h.length)?$throwRuntimeError("index out of range"):h[n]="0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999".charCodeAt(l));b=j;}if((b.$high>0||(b.$high===0&&b.$low>=10))){i=i-(1)>>0;o=$div64(b,new $Uint64(0,10),false);(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((p=$mul64(o,new $Uint64(0,10)),new $Uint64(b.$high-p.$high,b.$low-p.$low)).$low>>>0));b=o;}}else{q=((c<0||c>=BM.length)?$throwRuntimeError("index out of range"):BM[c]);if(q>0){r=new $Uint64(0,c);s=(r.$low>>>0)-1>>>0;while((b.$high>r.$high||(b.$high===r.$high&&b.$low>=r.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((b.$low>>>0)&s)>>>0));b=$shiftRightUint64(b,(q));}}else{t=new $Uint64(0,c);while((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(($div64(b,t,true).$low>>>0));b=$div64(b,(t),false);}}}i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0));if(d){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=45;}if(e){f=$appendSlice(a,$subslice(new CL(h),i));return[f,g];}g=$bytesToString($subslice(new CL(h),i));return[f,g];};BO=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=$clone(CT.zero(),CT);f=CL.make(0,(e=(3*a.length>>0)/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")));f=$append(f,b);g=0;while(a.length>0){h=(a.charCodeAt(0)>>0);g=1;if(h>=128){i=C.DecodeRuneInString(a);h=i[0];g=i[1];}if((g===1)&&(h===65533)){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));a=a.substring(g);continue;}if((h===(b>>0))||(h===92)){f=$append(f,92);f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}if(c){if(h<128&&CE(h)){f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}}else if(CE(h)){j=C.EncodeRune(new CL(d),h);f=$appendSlice(f,$subslice(new CL(d),0,j));a=a.substring(g);continue;}k=h;if(k===7){f=$appendSlice(f,new CL($stringToBytes("\\a")));}else if(k===8){f=$appendSlice(f,new CL($stringToBytes("\\b")));}else if(k===12){f=$appendSlice(f,new CL($stringToBytes("\\f")));}else if(k===10){f=$appendSlice(f,new CL($stringToBytes("\\n")));}else if(k===13){f=$appendSlice(f,new CL($stringToBytes("\\r")));}else if(k===9){f=$appendSlice(f,new CL($stringToBytes("\\t")));}else if(k===11){f=$appendSlice(f,new CL($stringToBytes("\\v")));}else{if(h<32){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));}else if(h>1114111){h=65533;f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else if(h<65536){f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else{f=$appendSlice(f,new CL($stringToBytes("\\U")));m=28;while(m>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((m>>>0),31))>>0)&15)));m=m-(4)>>0;}}}a=a.substring(g);}f=$append(f,b);return $bytesToString(f);};BP=$pkg.Quote=function(a){return BO(a,34,false);};BR=$pkg.QuoteToASCII=function(a){return BO(a,34,true);};BT=$pkg.QuoteRune=function(a){return BO($encodeRune(a),39,false);};BU=$pkg.AppendQuoteRune=function(a,b){return $appendSlice(a,new CL($stringToBytes(BT(b))));};BV=$pkg.QuoteRuneToASCII=function(a){return BO($encodeRune(a),39,true);};BW=$pkg.AppendQuoteRuneToASCII=function(a,b){return $appendSlice(a,new CL($stringToBytes(BV(b))));};BX=$pkg.CanBackquote=function(a){var b,c,d;while(a.length>0){b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=a.substring(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;};BY=function(a){var b=0,c=false,d,e,f,g,h,i,j;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];};BZ=$pkg.UnquoteChar=function(a,b){var c=0,d=false,e="",f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;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=a.substring(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=a.substring(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=a.substring(2);t=s;switch(0){default: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>0)|z;x=x+(1)>>0;}a=a.substring(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(ac<2){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=a.substring(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];};CA=$pkg.Unquote=function(a){var b="",c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,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,an;d=a.length;if(d<2){e="";f=$pkg.ErrSyntax;b=e;c=f;return[b,c];}g=a.charCodeAt(0);if(!((g===a.charCodeAt((d-1>>0))))){h="";i=$pkg.ErrSyntax;b=h;c=i;return[b,c];}a=a.substring(1,(d-1>>0));if(g===96){if(CB(a,96)){j="";k=$pkg.ErrSyntax;b=j;c=k;return[b,c];}l=a;m=$ifaceNil;b=l;c=m;return[b,c];}if(!((g===34))&&!((g===39))){n="";o=$pkg.ErrSyntax;b=n;c=o;return[b,c];}if(CB(a,10)){p="";q=$pkg.ErrSyntax;b=p;c=q;return[b,c];}if(!CB(a,92)&&!CB(a,g)){r=g;if(r===34){s=a;t=$ifaceNil;b=s;c=t;return[b,c];}else if(r===39){u=C.DecodeRuneInString(a);v=u[0];w=u[1];if((w===a.length)&&(!((v===65533))||!((w===1)))){x=a;y=$ifaceNil;b=x;c=y;return[b,c];}}}z=$clone(CT.zero(),CT);ab=CL.make(0,(aa=(3*a.length>>0)/2,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>0:$throwRuntimeError("integer divide by zero")));while(a.length>0){ac=BZ(a,g);ad=ac[0];ae=ac[1];af=ac[2];ag=ac[3];if(!($interfaceIsEqual(ag,$ifaceNil))){ah="";ai=ag;b=ah;c=ai;return[b,c];}a=af;if(ad<128||!ae){ab=$append(ab,(ad<<24>>>24));}else{aj=C.EncodeRune(new CL(z),ad);ab=$appendSlice(ab,$subslice(new CL(z),0,aj));}if((g===39)&&!((a.length===0))){ak="";al=$pkg.ErrSyntax;b=ak;c=al;return[b,c];}}am=$bytesToString(ab);an=$ifaceNil;b=am;c=an;return[b,c];};CB=function(a,b){var c;c=0;while(c>0;}return false;};CC=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CD=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CE=$pkg.IsPrint=function(a){var 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=CC(f,e);if(h>=f.$length||e<(i=h&~1,((i<0||i>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]))=g.$length||!((((k<0||k>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+k])===e));}l=(a>>>0);m=BF;n=BG;o=l;p=m;q=n;r=CD(p,o);if(r>=p.$length||o<(s=r&~1,((s<0||s>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+t]))=131072){return true;}a=a-(65536)>>0;u=CC(q,(a<<16>>>16));return u>=q.$length||!((((u<0||u>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+u])===(a<<16>>>16)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}CI=$sliceType(AD);CJ=$sliceType($Uint16);CK=$sliceType($Uint32);CL=$sliceType($Uint8);CN=$arrayType($Uint8,24);CO=$arrayType($Uint8,32);CP=$ptrType(AP);CQ=$arrayType($Uint8,3);CR=$arrayType($Uint8,50);CS=$arrayType($Uint8,65);CT=$arrayType($Uint8,4);CU=$arrayType($Uint8,800);CV=$ptrType(Z);CW=$ptrType(AY);CX=$ptrType(AI);CV.methods=[["Assign","Assign","",$funcType([$Uint64],[],false),-1],["Round","Round","",$funcType([$Int],[],false),-1],["RoundDown","RoundDown","",$funcType([$Int],[],false),-1],["RoundUp","RoundUp","",$funcType([$Int],[],false),-1],["RoundedInteger","RoundedInteger","",$funcType([],[$Uint64],false),-1],["Shift","Shift","",$funcType([$Int],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["set","set","strconv",$funcType([$String],[$Bool],false),-1]];Z.init([["d","d","strconv",CU,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""],["trunc","trunc","strconv",$Bool,""]]);AD.init([["delta","delta","strconv",$Int,""],["cutoff","cutoff","strconv",$String,""]]);CX.methods=[["AssignComputeBounds","AssignComputeBounds","",$funcType([$Uint64,$Int,$Bool,CP],[AI,AI],false),-1],["AssignDecimal","AssignDecimal","",$funcType([$Uint64,$Int,$Bool,$Bool,CP],[$Bool],false),-1],["FixedDecimal","FixedDecimal","",$funcType([CW,$Int],[$Bool],false),-1],["Multiply","Multiply","",$funcType([AI],[],false),-1],["Normalize","Normalize","",$funcType([],[$Uint],false),-1],["ShortestDecimal","ShortestDecimal","",$funcType([CW,CX,CX],[$Bool],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["frexp10","frexp10","strconv",$funcType([],[$Int,$Int],false),-1]];AI.init([["mant","mant","strconv",$Uint64,""],["exp","exp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);AP.init([["mantbits","mantbits","strconv",$Uint,""],["expbits","expbits","strconv",$Uint,""],["bias","bias","strconv",$Int,""]]);AY.init([["d","d","strconv",CL,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);G=true;$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AE=new CI([new AD.Ptr(0,""),new AD.Ptr(1,"5"),new AD.Ptr(1,"25"),new AD.Ptr(1,"125"),new AD.Ptr(2,"625"),new AD.Ptr(2,"3125"),new AD.Ptr(2,"15625"),new AD.Ptr(3,"78125"),new AD.Ptr(3,"390625"),new AD.Ptr(3,"1953125"),new AD.Ptr(4,"9765625"),new AD.Ptr(4,"48828125"),new AD.Ptr(4,"244140625"),new AD.Ptr(4,"1220703125"),new AD.Ptr(5,"6103515625"),new AD.Ptr(5,"30517578125"),new AD.Ptr(5,"152587890625"),new AD.Ptr(6,"762939453125"),new AD.Ptr(6,"3814697265625"),new AD.Ptr(6,"19073486328125"),new AD.Ptr(7,"95367431640625"),new AD.Ptr(7,"476837158203125"),new AD.Ptr(7,"2384185791015625"),new AD.Ptr(7,"11920928955078125"),new AD.Ptr(8,"59604644775390625"),new AD.Ptr(8,"298023223876953125"),new AD.Ptr(8,"1490116119384765625"),new AD.Ptr(9,"7450580596923828125")]);AJ=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(2147483648,0),-63,false),new AI.Ptr(new $Uint64(2684354560,0),-60,false),new AI.Ptr(new $Uint64(3355443200,0),-57,false),new AI.Ptr(new $Uint64(4194304000,0),-54,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3276800000,0),-47,false),new AI.Ptr(new $Uint64(4096000000,0),-44,false),new AI.Ptr(new $Uint64(2560000000,0),-40,false)]);AK=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(4203730336,136053384),-1220,false),new AI.Ptr(new $Uint64(3132023167,2722021238),-1193,false),new AI.Ptr(new $Uint64(2333539104,810921078),-1166,false),new AI.Ptr(new $Uint64(3477244234,1573795306),-1140,false),new AI.Ptr(new $Uint64(2590748842,1432697645),-1113,false),new AI.Ptr(new $Uint64(3860516611,1025131999),-1087,false),new AI.Ptr(new $Uint64(2876309015,3348809418),-1060,false),new AI.Ptr(new $Uint64(4286034428,3200048207),-1034,false),new AI.Ptr(new $Uint64(3193344495,1097586188),-1007,false),new AI.Ptr(new $Uint64(2379227053,2424306748),-980,false),new AI.Ptr(new $Uint64(3545324584,827693699),-954,false),new AI.Ptr(new $Uint64(2641472655,2913388981),-927,false),new AI.Ptr(new $Uint64(3936100983,602835915),-901,false),new AI.Ptr(new $Uint64(2932623761,1081627501),-874,false),new AI.Ptr(new $Uint64(2184974969,1572261463),-847,false),new AI.Ptr(new $Uint64(3255866422,1308317239),-821,false),new AI.Ptr(new $Uint64(2425809519,944281679),-794,false),new AI.Ptr(new $Uint64(3614737867,629291719),-768,false),new AI.Ptr(new $Uint64(2693189581,2545915892),-741,false),new AI.Ptr(new $Uint64(4013165208,388672741),-715,false),new AI.Ptr(new $Uint64(2990041083,708162190),-688,false),new AI.Ptr(new $Uint64(2227754207,3536207675),-661,false),new AI.Ptr(new $Uint64(3319612455,450088378),-635,false),new AI.Ptr(new $Uint64(2473304014,3139815830),-608,false),new AI.Ptr(new $Uint64(3685510180,2103616900),-582,false),new AI.Ptr(new $Uint64(2745919064,224385782),-555,false),new AI.Ptr(new $Uint64(4091738259,3737383206),-529,false),new AI.Ptr(new $Uint64(3048582568,2868871352),-502,false),new AI.Ptr(new $Uint64(2271371013,1820084875),-475,false),new AI.Ptr(new $Uint64(3384606560,885076051),-449,false),new AI.Ptr(new $Uint64(2521728396,2444895829),-422,false),new AI.Ptr(new $Uint64(3757668132,1881767613),-396,false),new AI.Ptr(new $Uint64(2799680927,3102062735),-369,false),new AI.Ptr(new $Uint64(4171849679,2289335700),-343,false),new AI.Ptr(new $Uint64(3108270227,2410191823),-316,false),new AI.Ptr(new $Uint64(2315841784,3205436779),-289,false),new AI.Ptr(new $Uint64(3450873173,1697722806),-263,false),new AI.Ptr(new $Uint64(2571100870,3497754540),-236,false),new AI.Ptr(new $Uint64(3831238852,707476230),-210,false),new AI.Ptr(new $Uint64(2854495385,1769181907),-183,false),new AI.Ptr(new $Uint64(4253529586,2197867022),-157,false),new AI.Ptr(new $Uint64(3169126500,2450594539),-130,false),new AI.Ptr(new $Uint64(2361183241,1867548876),-103,false),new AI.Ptr(new $Uint64(3518437208,3793315116),-77,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3906250000,0),-24,false),new AI.Ptr(new $Uint64(2910383045,2892103680),3,false),new AI.Ptr(new $Uint64(2168404344,4170451332),30,false),new AI.Ptr(new $Uint64(3231174267,3372684723),56,false),new AI.Ptr(new $Uint64(2407412430,2078956656),83,false),new AI.Ptr(new $Uint64(3587324068,2884206696),109,false),new AI.Ptr(new $Uint64(2672764710,395977285),136,false),new AI.Ptr(new $Uint64(3982729777,3569679143),162,false),new AI.Ptr(new $Uint64(2967364920,2361961896),189,false),new AI.Ptr(new $Uint64(2210859150,447440347),216,false),new AI.Ptr(new $Uint64(3294436857,1114709402),242,false),new AI.Ptr(new $Uint64(2454546732,2786846552),269,false),new AI.Ptr(new $Uint64(3657559652,443583978),295,false),new AI.Ptr(new $Uint64(2725094297,2599384906),322,false),new AI.Ptr(new $Uint64(4060706939,3028118405),348,false),new AI.Ptr(new $Uint64(3025462433,2044532855),375,false),new AI.Ptr(new $Uint64(2254145170,1536935362),402,false),new AI.Ptr(new $Uint64(3358938053,3365297469),428,false),new AI.Ptr(new $Uint64(2502603868,4204241075),455,false),new AI.Ptr(new $Uint64(3729170365,2577424355),481,false),new AI.Ptr(new $Uint64(2778448436,3677981733),508,false),new AI.Ptr(new $Uint64(4140210802,2744688476),534,false),new AI.Ptr(new $Uint64(3084697427,1424604878),561,false),new AI.Ptr(new $Uint64(2298278679,4062331362),588,false),new AI.Ptr(new $Uint64(3424702107,3546052773),614,false),new AI.Ptr(new $Uint64(2551601907,2065781727),641,false),new AI.Ptr(new $Uint64(3802183132,2535403578),667,false),new AI.Ptr(new $Uint64(2832847187,1558426518),694,false),new AI.Ptr(new $Uint64(4221271257,2762425404),720,false),new AI.Ptr(new $Uint64(3145092172,2812560400),747,false),new AI.Ptr(new $Uint64(2343276271,3057687578),774,false),new AI.Ptr(new $Uint64(3491753744,2790753324),800,false),new AI.Ptr(new $Uint64(2601559269,3918606633),827,false),new AI.Ptr(new $Uint64(3876625403,2711358621),853,false),new AI.Ptr(new $Uint64(2888311001,1648096297),880,false),new AI.Ptr(new $Uint64(2151959390,2057817989),907,false),new AI.Ptr(new $Uint64(3206669376,61660461),933,false),new AI.Ptr(new $Uint64(2389154863,1581580175),960,false),new AI.Ptr(new $Uint64(3560118173,2626467905),986,false),new AI.Ptr(new $Uint64(2652494738,3034782633),1013,false),new AI.Ptr(new $Uint64(3952525166,3135207385),1039,false),new AI.Ptr(new $Uint64(2944860731,2616258155),1066,false)]);AL=$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)]);AQ=new AP.Ptr(23,8,-127);AR=new AP.Ptr(52,11,-1023);BD=new CJ([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,2226,2276,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,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,3161,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3406,3415,3415,3424,3427,3430,3445,3449,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,5108,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,7295,7360,7367,7376,7417,7424,7669,7676,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8381,8400,8432,8448,8585,8592,9210,9216,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11842,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40908,40960,42124,42128,42182,42192,42539,42560,42743,42752,42925,42928,42929,42999,43051,43056,43065,43072,43127,43136,43204,43214,43225,43232,43259,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43871,43876,43877,43968,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,65069,65072,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CJ([173,907,909,930,1328,1376,1416,1424,1757,2111,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,3200,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,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42654,42895,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CK([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65932,65936,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,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67840,67867,67871,67897,67903,67903,67968,68023,68030,68031,68096,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,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70088,70093,70093,70096,70106,70113,70132,70144,70205,70320,70378,70384,70393,70401,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70487,70487,70493,70499,70502,70508,70512,70516,70784,70855,70864,70873,71040,71093,71096,71113,71168,71236,71248,71257,71296,71351,71360,71369,71840,71922,71935,71935,72384,72440,73728,74648,74752,74868,77824,78894,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119261,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,120831,124928,125124,125127,125142,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,127386,127462,127490,127504,127546,127552,127560,127568,127569,127744,127788,127792,127869,127872,127950,127956,127991,128000,128330,128336,128578,128581,128719,128736,128748,128752,128755,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,131072,173782,173824,177972,177984,178205,194560,195101,917760,917999]);BG=new CJ([12,39,59,62,926,2057,2102,2134,2564,2580,2584,4285,4405,4626,4868,4905,4913,4916,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,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,62719,62842,62884]);BM=$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;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["reflect"]=(function(){var $pkg={},B,E,A,C,D,FF,FG,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GE,GF,GG,GH,GI,GJ,GO,GQ,GR,GS,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HF,HG,HH,HI,AF,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BS,BT,BU,CT,CU,CX,CZ,F,BR,DG,G,H,I,J,K,L,M,N,O,P,T,U,V,W,Y,AC,AD,AE,AG,AH,AI,AJ,AK,AM,AN,AO,AP,AQ,BW,BY,BZ,CA,CL,CQ,DH,DZ,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW;B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["math"];A=$packages["runtime"];C=$packages["strconv"];D=$packages["sync"];AF=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter","mapIter","reflect",function(t_,m_,keys_,i_){this.$val=this;this.t=t_!==undefined?t_:$ifaceNil;this.m=m_!==undefined?m_:null;this.keys=keys_!==undefined?keys_:null;this.i=i_!==undefined?i_:0;});AZ=$pkg.Type=$newType(8,$kindInterface,"reflect.Type","Type","reflect",null);BA=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind","Kind","reflect",null);BB=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype","rtype","reflect",function(size_,hash_,_$2_,align_,fieldAlign_,kind_,alg_,gc_,string_,uncommonType_,ptrToThis_,zero_){this.$val=this;this.size=size_!==undefined?size_:0;this.hash=hash_!==undefined?hash_:0;this._$2=_$2_!==undefined?_$2_:0;this.align=align_!==undefined?align_:0;this.fieldAlign=fieldAlign_!==undefined?fieldAlign_:0;this.kind=kind_!==undefined?kind_:0;this.alg=alg_!==undefined?alg_:FP.nil;this.gc=gc_!==undefined?gc_:FQ.zero();this.string=string_!==undefined?string_:FR.nil;this.uncommonType=uncommonType_!==undefined?uncommonType_:FS.nil;this.ptrToThis=ptrToThis_!==undefined?ptrToThis_:FF.nil;this.zero=zero_!==undefined?zero_:0;});BC=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg","typeAlg","reflect",function(hash_,equal_){this.$val=this;this.hash=hash_!==undefined?hash_:$throwNilPointerError;this.equal=equal_!==undefined?equal_:$throwNilPointerError;});BD=$pkg.method=$newType(0,$kindStruct,"reflect.method","method","reflect",function(name_,pkgPath_,mtyp_,typ_,ifn_,tfn_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.mtyp=mtyp_!==undefined?mtyp_:FF.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.ifn=ifn_!==undefined?ifn_:0;this.tfn=tfn_!==undefined?tfn_:0;});BE=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType","uncommonType","reflect",function(name_,pkgPath_,methods_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.methods=methods_!==undefined?methods_:FT.nil;});BF=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir","ChanDir","reflect",null);BG=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType","arrayType","reflect",function(rtype_,elem_,slice_,len_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.slice=slice_!==undefined?slice_:FF.nil;this.len=len_!==undefined?len_:0;});BH=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType","chanType","reflect",function(rtype_,elem_,dir_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.dir=dir_!==undefined?dir_:0;});BI=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType","funcType","reflect",function(rtype_,dotdotdot_,in$2_,out_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.dotdotdot=dotdotdot_!==undefined?dotdotdot_:false;this.in$2=in$2_!==undefined?in$2_:FU.nil;this.out=out_!==undefined?out_:FU.nil;});BJ=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod","imethod","reflect",function(name_,pkgPath_,typ_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;});BK=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType","interfaceType","reflect",function(rtype_,methods_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.methods=methods_!==undefined?methods_:FV.nil;});BL=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType","mapType","reflect",function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.key=key_!==undefined?key_:FF.nil;this.elem=elem_!==undefined?elem_:FF.nil;this.bucket=bucket_!==undefined?bucket_:FF.nil;this.hmap=hmap_!==undefined?hmap_:FF.nil;this.keysize=keysize_!==undefined?keysize_:0;this.indirectkey=indirectkey_!==undefined?indirectkey_:0;this.valuesize=valuesize_!==undefined?valuesize_:0;this.indirectvalue=indirectvalue_!==undefined?indirectvalue_:0;this.bucketsize=bucketsize_!==undefined?bucketsize_:0;});BM=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType","ptrType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BN=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType","sliceType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BO=$pkg.structField=$newType(0,$kindStruct,"reflect.structField","structField","reflect",function(name_,pkgPath_,typ_,tag_,offset_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.tag=tag_!==undefined?tag_:FR.nil;this.offset=offset_!==undefined?offset_:0;});BP=$pkg.structType=$newType(0,$kindStruct,"reflect.structType","structType","reflect",function(rtype_,fields_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.fields=fields_!==undefined?fields_:FW.nil;});BQ=$pkg.Method=$newType(0,$kindStruct,"reflect.Method","Method","reflect",function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Func=Func_!==undefined?Func_:new CT.Ptr();this.Index=Index_!==undefined?Index_:0;});BS=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField","StructField","reflect",function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Tag=Tag_!==undefined?Tag_:"";this.Offset=Offset_!==undefined?Offset_:0;this.Index=Index_!==undefined?Index_:GH.nil;this.Anonymous=Anonymous_!==undefined?Anonymous_:false;});BT=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag","StructTag","reflect",null);BU=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan","fieldScan","reflect",function(typ_,index_){this.$val=this;this.typ=typ_!==undefined?typ_:GJ.nil;this.index=index_!==undefined?index_:GH.nil;});CT=$pkg.Value=$newType(0,$kindStruct,"reflect.Value","Value","reflect",function(typ_,ptr_,flag_){this.$val=this;this.typ=typ_!==undefined?typ_:FF.nil;this.ptr=ptr_!==undefined?ptr_:0;this.flag=flag_!==undefined?flag_:0;});CU=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag","flag","reflect",null);CX=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError","ValueError","reflect",function(Method_,Kind_){this.$val=this;this.Method=Method_!==undefined?Method_:"";this.Kind=Kind_!==undefined?Kind_:0;});CZ=$pkg.nonEmptyInterface=$newType(0,$kindStruct,"reflect.nonEmptyInterface","nonEmptyInterface","reflect",function(itab_,word_){this.$val=this;this.itab=itab_!==undefined?itab_:GA.nil;this.word=word_!==undefined?word_:0;});G=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar;ad=(function(ad){});ad((ae=new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0),new ae.constructor.Struct(ae)));ad((af=new BE.Ptr(FR.nil,FR.nil,FT.nil),new af.constructor.Struct(af)));ad((ag=new BD.Ptr(FR.nil,FR.nil,FF.nil,FF.nil,0,0),new ag.constructor.Struct(ag)));ad((ah=new BG.Ptr(new BB.Ptr(),FF.nil,FF.nil,0),new ah.constructor.Struct(ah)));ad((ai=new BH.Ptr(new BB.Ptr(),FF.nil,0),new ai.constructor.Struct(ai)));ad((aj=new BI.Ptr(new BB.Ptr(),false,FU.nil,FU.nil),new aj.constructor.Struct(aj)));ad((ak=new BK.Ptr(new BB.Ptr(),FV.nil),new ak.constructor.Struct(ak)));ad((al=new BL.Ptr(new BB.Ptr(),FF.nil,FF.nil,FF.nil,FF.nil,0,0,0,0,0),new al.constructor.Struct(al)));ad((am=new BM.Ptr(new BB.Ptr(),FF.nil),new am.constructor.Struct(am)));ad((an=new BN.Ptr(new BB.Ptr(),FF.nil),new an.constructor.Struct(an)));ad((ao=new BP.Ptr(new BB.Ptr(),FW.nil),new ao.constructor.Struct(ao)));ad((ap=new BJ.Ptr(FR.nil,FR.nil,FF.nil),new ap.constructor.Struct(ap)));ad((aq=new BO.Ptr(FR.nil,FR.nil,FF.nil,FR.nil,0),new aq.constructor.Struct(aq)));ar=$pkg;ar.RecvDir=1;ar.SendDir=2;ar.BothDir=3;$reflect=ar;F=true;DG=$assertType(O(new $Uint8(0)),FF);};H=function(ad){return ad.jsType;};I=function(ad){return ad.reflectType();};J=function(ad){var ae;ae=ad.Kind();if(ae===1||ae===2||ae===3||ae===4||ae===5||ae===7||ae===8||ae===9||ae===10||ae===12||ae===13||ae===14||ae===17||ae===21||ae===19||ae===24||ae===25){return true;}else if(ae===22){return ad.Elem().Kind()===17;}return false;};K=function(ad,ae,af){var ag,ah,ai;ag=H(af).fields;ah=0;while(ah<$parseInt(ag.length)){ai=$internalize(ag[ah][0],$String);ad[$externalize(ai,$String)]=ae[$externalize(ai,$String)];ah=ah+(1)>>0;}};L=function(ad,ae,af){var ag;ag=ad.common();if((ad.Kind()===17)||(ad.Kind()===25)||(ad.Kind()===22)){return new CT.Ptr(ag,ae,(af|(ad.Kind()>>>0))>>>0);}return new CT.Ptr(ag,$newDataPointer(ae,H(ag.ptrTo())),(((af|(ad.Kind()>>>0))>>>0)|64)>>>0);};M=$pkg.MakeSlice=function(ad,ae,af){if(!((ad.Kind()===23))){$panic(new $String("reflect.MakeSlice of non-slice type"));}if(ae<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(af<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ae>af){$panic(new $String("reflect.MakeSlice: len > cap"));}return L(ad,H(ad).make(ae,af,(function(){return H(ad.Elem()).zero();})),0);};N=function(){return I($packages[$externalize("github.com/gopherjs/gopherjs/js",$String)].Object);};O=$pkg.TypeOf=function(ad){var ae;if(!F){return new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0);}if($interfaceIsEqual(ad,$ifaceNil)){return $ifaceNil;}ae=ad.constructor;if(ae.kind===undefined){return N();}return I(ae);};P=$pkg.ValueOf=function(ad){var ae;if($interfaceIsEqual(ad,$ifaceNil)){return new CT.Ptr(FF.nil,0,0);}ae=ad.constructor;if(ae.kind===undefined){return new CT.Ptr(N(),ad,20);}return L(I(ae),ad.$val,0);};BB.Ptr.prototype.ptrTo=function(){var ad;ad=this;return I($ptrType(H(ad)));};BB.prototype.ptrTo=function(){return this.$val.ptrTo();};T=$pkg.SliceOf=function(ad){return I($sliceType(H(ad)));};U=$pkg.Zero=function(ad){return L(ad,H(ad).zero(),0);};V=function(ad){var ae;ae=ad.Kind();if(ae===25){return new(H(ad).Ptr)();}else if(ae===17){return H(ad).zero();}else{return $newDataPointer(H(ad).zero(),H(ad.ptrTo()));}};W=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.Kind();if(ai===3){ah.$set((ae.$low<<24>>24));}else if(ai===4){ah.$set((ae.$low<<16>>16));}else if(ai===2||ai===5){ah.$set((ae.$low>>0));}else if(ai===6){ah.$set(new $Int64(ae.$high,ae.$low));}else if(ai===8){ah.$set((ae.$low<<24>>>24));}else if(ai===9){ah.$set((ae.$low<<16>>>16));}else if(ai===7||ai===10||ai===12){ah.$set((ae.$low>>>0));}else if(ai===11){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};Y=function(ad,ae,af){ad.$set(ae.$get());};AC=function(ad,ae,af){var ag,ah;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}ah=ae[$externalize($internalize(ag,$String),$String)];if(ah===undefined){return 0;}return $newDataPointer(ah.v,H(BW(ad.Elem())));};AD=function(ad,ae,af,ag){var ah,ai,aj,ak,al,am;ah=af.$get();ai=ah;if(!(ai.$key===undefined)){ai=ai.$key();}aj=ag.$get();ak=ad.Elem();if(ak.Kind()===25){al=H(ak).zero();K(al,aj,ak);aj=al;}am=new($global.Object)();am.k=ah;am.v=aj;ae[$externalize($internalize(ai,$String),$String)]=am;};AE=function(ad,ae,af){var ag;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}delete ae[$externalize($internalize(ag,$String),$String)];};AG=function(ad,ae){return new AF.Ptr(ad,ae,$keys(ae),0);};AH=function(ad){var ae,af;ae=ad;af=ae.keys[ae.i];return $newDataPointer(ae.m[$externalize($internalize(af,$String),$String)].k,H(BW(ae.t.Key())));};AI=function(ad){var ae;ae=ad;ae.i=ae.i+(1)>>0;};AJ=function(ad){return $parseInt($keys(ad).length);};AK=function(ad,ae){var af,ag,ah,ai,aj;ad=ad;af=ad.object();if(af===H(ad.typ).nil){return L(ae,H(ae).nil,ad.flag);}ag=null;ah=ae.Kind();ai=ah;switch(0){default:if(ai===18){ag=new(H(ae))();}else if(ai===23){aj=new(H(ae))(af.$array);aj.$offset=af.$offset;aj.$length=af.$length;aj.$capacity=af.$capacity;ag=$newDataPointer(aj,H(BW(ae)));}else if(ai===22){if(ae.Elem().Kind()===25){if($interfaceIsEqual(ae.Elem(),ad.typ.Elem())){ag=af;break;}ag=new(H(ae))();K(ag,af,ae.Elem());break;}ag=new(H(ae))(af.$get,af.$set);}else if(ai===25){ag=new(H(ae).Ptr)();K(ag,af,ae);}else if(ai===17||ai===19||ai===20||ai===21||ai===24){ag=ad.ptr;}else{$panic(new CX.Ptr("reflect.Convert",ah));}}return new CT.Ptr(ae.common(),ag,(((ad.flag&96)>>>0)|(ae.Kind()>>>0))>>>0);};AM=function(ad,ae,af){var ag=FF.nil,ah=FF.nil,ai=0,aj,ak,al,am,an,ao,ap,aq,ar;ae=ae;aj="";if(ae.typ.Kind()===20){ak=ae.typ.interfaceType;if(af<0||af>=ak.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}am=(al=ak.methods,((af<0||af>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+af]));if(!($pointerIsEqual(am.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}an=$clone(ae.ptr,CZ);if(an.itab===GA.nil){$panic(new $String("reflect: "+ad+" of method on nil interface value"));}ah=am.typ;aj=am.name.$get();}else{ao=ae.typ.uncommonType.uncommon();if(ao===FS.nil||af<0||af>=ao.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}aq=(ap=ao.methods,((af<0||af>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+af]));if(!($pointerIsEqual(aq.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}ah=aq.mtyp;aj=$internalize(H(ae.typ).methods[af][0],$String);}ar=ae.object();if(J(ae.typ)){ar=new(H(ae.typ))(ar);}ai=ar[$externalize(aj,$String)];return[ag,ah,ai];};AN=function(ad,ae){ad=ad;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.Interface",0));}if(ae&&!((((ad.flag&32)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((ad.flag&256)>>>0)===0))){ad=AQ("Interface",ad);}if(J(ad.typ)){return new(H(ad.typ))(ad.object());}return ad.object();};AO=function(ad,ae,af){af.$set(ae);};AP=function(){return"?FIXME?";};AQ=function(ad,ae){var af,ag,ah,ai;ae=ae;if(((ae.flag&256)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}af=AM(ad,ae,(ae.flag>>0)>>9>>0);ag=af[2];ah=ae.object();if(J(ae.typ)){ah=new(H(ae.typ))(ah);}ai=(function(){return ag.apply(ah,$externalize(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),GB));});return new CT.Ptr(ae.Type().common(),ai,(((ae.flag&32)>>>0)|19)>>>0);};BB.Ptr.prototype.pointers=function(){var ad,ae;ad=this;ae=ad.Kind();if(ae===22||ae===21||ae===18||ae===19||ae===25||ae===17){return true;}else{return false;}};BB.prototype.pointers=function(){return this.$val.pointers();};BB.Ptr.prototype.Comparable=function(){var ad,ae,af;ad=this;ae=ad.Kind();if(ae===19||ae===23||ae===21){return false;}else if(ae===17){return ad.Elem().Comparable();}else if(ae===25){af=0;while(af>0;}}return true;};BB.prototype.Comparable=function(){return this.$val.Comparable();};BE.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah,ai,aj,ak,al;af=this;if(af===FS.nil||ad<0||ad>=af.methods.$length){$panic(new $String("reflect: Method index out of range"));}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}ai=19;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();ai=(ai|(32))>>>0;}aj=ah.typ;ae.Type=aj;ak=$internalize(af.jsType.methods[ad][0],$String);al=(function(al){return al[$externalize(ak,$String)].apply(al,$externalize($subslice(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),1),GB));});ae.Func=new CT.Ptr(aj,al,ai);ae.Index=ad;return ae;};BE.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.object=function(){var ad,ae,af,ag;ad=this;if((ad.typ.Kind()===17)||(ad.typ.Kind()===25)){return ad.ptr;}if(!((((ad.flag&64)>>>0)===0))){ae=ad.ptr.$get();if(!(ae===$ifaceNil)&&!(ae.constructor===H(ad.typ))){af=ad.typ.Kind();switch(0){default:if(af===11||af===6){ae=new(H(ad.typ))(ae.$high,ae.$low);}else if(af===15||af===16){ae=new(H(ad.typ))(ae.$real,ae.$imag);}else if(af===23){if(ae===ae.constructor.nil){ae=H(ad.typ).nil;break;}ag=new(H(ad.typ))(ae.$array);ag.$offset=ae.$offset;ag.$length=ae.$length;ag.$capacity=ae.$capacity;ae=ag;}}}return ae;}return ad.ptr;};CT.prototype.object=function(){return this.$val.object();};CT.Ptr.prototype.call=function(ad,ae){var 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;af=this;ag=af.typ;ah=0;ai=null;if(!((((af.flag&256)>>>0)===0))){aj=AM(ad,af,(af.flag>>0)>>9>>0);ag=aj[1];ah=aj[2];ai=af.object();if(J(af.typ)){ai=new(H(af.typ))(ai);}}else{ah=af.object();}if(ah===0){$panic(new $String("reflect.Value.Call: call of nil function"));}ak=ad==="CallSlice";al=ag.NumIn();if(ak){if(!ag.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ae.$lengthal){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(ag.IsVariadic()){al=al-(1)>>0;}if(ae.$lengthal){$panic(new $String("reflect: Call with too many input arguments"));}}am=ae;an=0;while(an=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);if(ao.Kind()===0){$panic(new $String("reflect: "+ad+" using zero Value argument"));}an++;}ap=0;while(ap=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ap]).Type();ar=ag.In(ap);as=aq;at=ar;if(!as.AssignableTo(at)){$panic(new $String("reflect: "+ad+" using "+as.String()+" as type "+at.String()));}ap=ap+(1)>>0;}if(!ak&&ag.IsVariadic()){au=ae.$length-al>>0;av=M(ag.In(al),au,au);aw=ag.In(al).Elem();ax=0;while(ax>0,((ay<0||ay>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ay]));ba=az.Type();if(!ba.AssignableTo(aw)){$panic(new $String("reflect: cannot use "+ba.String()+" as type "+aw.String()+" in "+ad));}av.Index(ax).Set(az);ax=ax+(1)>>0;}bb=ae;ae=FX.make((al+1>>0));$copySlice($subslice(ae,0,al),bb);(al<0||al>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+al]=av;}bc=ae.$length;if(!((bc===ag.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bd=ag.NumOut();be=new($global.Array)(ag.NumIn());bf=ae;bg=0;while(bg=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bg]);be[bh]=bi.assignTo("reflect.Value.Call",ag.In(bh).common(),0).object();bg++;}bj=ah.apply(ai,be);bk=bd;if(bk===0){return FX.nil;}else if(bk===1){return new FX([$clone(L(ag.Out(0),bj,0),CT)]);}else{bl=FX.make(bd);bm=bl;bn=0;while(bn=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bo]=L(ag.Out(bo),bj[bo],0);bn++;}return bl;}};CT.prototype.call=function(ad,ae){return this.$val.call(ad,ae);};CT.Ptr.prototype.Cap=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17){return ad.typ.Len();}else if(af===18||af===23){return $parseInt(ad.object().$capacity)>>0;}$panic(new CX.Ptr("reflect.Value.Cap",ae));};CT.prototype.Cap=function(){return this.$val.Cap();};CT.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj,ak;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===20){ag=ad.object();if(ag===$ifaceNil){return new CT.Ptr(FF.nil,0,0);}ah=I(ag.constructor);return L(ah,ag.$val,(ad.flag&32)>>>0);}else if(af===22){if(ad.IsNil()){return new CT.Ptr(FF.nil,0,0);}ai=ad.object();aj=ad.typ.ptrType;ak=(((((ad.flag&32)>>>0)|64)>>>0)|128)>>>0;ak=(ak|((aj.elem.Kind()>>>0)))>>>0;return new CT.Ptr(aj.elem,ai,ak);}else{$panic(new CX.Ptr("reflect.Value.Elem",ae));}};CT.prototype.Elem=function(){return this.$val.Elem();};CT.Ptr.prototype.Field=function(ad){var ae,af,ag,ah,ai,aj,ak,al;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.structType;if(ad<0||ad>=af.fields.$length){$panic(new $String("reflect: Field index out of range"));}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ai=$internalize(H(ae.typ).fields[ad][0],$String);aj=ah.typ;ak=(ae.flag&224)>>>0;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ak=(ak|(32))>>>0;}ak=(ak|((aj.Kind()>>>0)))>>>0;al=ae.ptr;if(!((((ak&64)>>>0)===0))&&!((aj.Kind()===17))&&!((aj.Kind()===25))){return new CT.Ptr(aj,new(H(BW(aj)))((function(){return al[$externalize(ai,$String)];}),(function(am){al[$externalize(ai,$String)]=am;})),ak);}return L(aj,al[$externalize(ai,$String)],ak);};CT.prototype.Field=function(ad){return this.$val.Field(ad);};CT.Ptr.prototype.Index=function(ad){var ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===17){ah=ae.typ.arrayType;if(ad<0||ad>(ah.len>>0)){$panic(new $String("reflect: array index out of range"));}ai=ah.elem;aj=(ae.flag&224)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;ak=ae.ptr;if(!((((aj&64)>>>0)===0))&&!((ai.Kind()===17))&&!((ai.Kind()===25))){return new CT.Ptr(ai,new(H(BW(ai)))((function(){return ak[ad];}),(function(al){ak[ad]=al;})),aj);}return L(ai,ak[ad],aj);}else if(ag===23){al=ae.object();if(ad<0||ad>=($parseInt(al.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}am=ae.typ.sliceType;an=am.elem;ao=(192|((ae.flag&32)>>>0))>>>0;ao=(ao|((an.Kind()>>>0)))>>>0;ad=ad+(($parseInt(al.$offset)>>0))>>0;ap=al.$array;if(!((((ao&64)>>>0)===0))&&!((an.Kind()===17))&&!((an.Kind()===25))){return new CT.Ptr(an,new(H(BW(an)))((function(){return ap[ad];}),(function(aq){ap[ad]=aq;})),ao);}return L(an,ap[ad],ao);}else if(ag===24){aq=ae.ptr.$get();if(ad<0||ad>=aq.length){$panic(new $String("reflect: string index out of range"));}ar=(((ae.flag&32)>>>0)|8)>>>0;as=aq.charCodeAt(ad);return new CT.Ptr(DG,new GC(function(){return as;},function($v){as=$v;}),(ar|64)>>>0);}else{$panic(new CX.Ptr("reflect.Value.Index",af));}};CT.prototype.Index=function(ad){return this.$val.Index(ad);};CT.Ptr.prototype.IsNil=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===22||af===23){return ad.object()===H(ad.typ).nil;}else if(af===19){return ad.object()===$throwNilPointerError;}else if(af===21){return ad.object()===false;}else if(af===20){return ad.object()===$ifaceNil;}else{$panic(new CX.Ptr("reflect.Value.IsNil",ae));}};CT.prototype.IsNil=function(){return this.$val.IsNil();};CT.Ptr.prototype.Len=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17||af===24){return $parseInt(ad.object().length);}else if(af===23){return $parseInt(ad.object().$length)>>0;}else if(af===18){return $parseInt(ad.object().$buffer.length)>>0;}else if(af===21){return $parseInt($keys(ad.object()).length);}else{$panic(new CX.Ptr("reflect.Value.Len",ae));}};CT.prototype.Len=function(){return this.$val.Len();};CT.Ptr.prototype.Pointer=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===21||af===22||af===26){if(ad.IsNil()){return 0;}return ad.object();}else if(af===19){if(ad.IsNil()){return 0;}return 1;}else if(af===23){if(ad.IsNil()){return 0;}return ad.object().$array;}else{$panic(new CX.Ptr("reflect.Value.Pointer",ae));}};CT.prototype.Pointer=function(){return this.$val.Pointer();};CT.Ptr.prototype.Set=function(ad){var ae,af;ae=this;ad=ad;new CU(ae.flag).mustBeAssignable();new CU(ad.flag).mustBeExported();ad=ad.assignTo("reflect.Set",ae.typ,0);if(!((((ae.flag&64)>>>0)===0))){af=ae.typ.Kind();if(af===17){$copy(ae.ptr,ad.ptr,H(ae.typ));}else if(af===20){ae.ptr.$set(AN(ad,false));}else if(af===25){K(ae.ptr,ad.ptr,ae.typ);}else{ae.ptr.$set(ad.object());}return;}ae.ptr=ad.ptr;};CT.prototype.Set=function(ad){return this.$val.Set(ad);};CT.Ptr.prototype.SetCap=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<($parseInt(af.$length)>>0)||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=af.$length;ag.$capacity=ad;ae.ptr.$set(ag);};CT.prototype.SetCap=function(ad){return this.$val.SetCap(ad);};CT.Ptr.prototype.SetLen=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<0||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=ad;ag.$capacity=af.$capacity;ae.ptr.$set(ag);};CT.prototype.SetLen=function(ad){return this.$val.SetLen(ad);};CT.Ptr.prototype.Slice=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am;af=this;ag=0;ah=$ifaceNil;ai=null;aj=new CU(af.flag).kind();ak=aj;if(ak===17){if(((af.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}al=af.typ.arrayType;ag=(al.len>>0);ah=T(al.elem);ai=new(H(ah))(af.object());}else if(ak===23){ah=af.typ;ai=af.object();ag=$parseInt(ai.$capacity)>>0;}else if(ak===24){am=af.ptr.$get();if(ad<0||aeam.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}return P(new $String(am.substring(ad,ae)));}else{$panic(new CX.Ptr("reflect.Value.Slice",aj));}if(ad<0||aeag){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}return L(ah,$subslice(ai,ad,ae),(af.flag&32)>>>0);};CT.prototype.Slice=function(ad,ae){return this.$val.Slice(ad,ae);};CT.Ptr.prototype.Slice3=function(ad,ae,af){var ag,ah,ai,aj,ak,al,am;ag=this;ah=0;ai=$ifaceNil;aj=null;ak=new CU(ag.flag).kind();al=ak;if(al===17){if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}am=ag.typ.arrayType;ah=(am.len>>0);ai=T(am.elem);aj=new(H(ai))(ag.object());}else if(al===23){ai=ag.typ;aj=ag.object();ah=$parseInt(aj.$capacity)>>0;}else{$panic(new CX.Ptr("reflect.Value.Slice3",ak));}if(ad<0||aeah){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}return L(ai,$subslice(aj,ad,ae,af),(ag.flag&32)>>>0);};CT.prototype.Slice3=function(ad,ae,af){return this.$val.Slice3(ad,ae,af);};CT.Ptr.prototype.Close=function(){var ad;ad=this;new CU(ad.flag).mustBe(18);new CU(ad.flag).mustBeExported();$close(ad.object());};CT.prototype.Close=function(){return this.$val.Close();};CT.Ptr.prototype.TrySend=function(ad){var ae,af,ag;ae=this;ad=ad;new CU(ae.flag).mustBe(18);new CU(ae.flag).mustBeExported();af=ae.typ.chanType;if(((af.dir>>0)&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new CU(ad.flag).mustBeExported();ag=ae.object();if(!!!(ag.$closed)&&($parseInt(ag.$recvQueue.length)===0)&&($parseInt(ag.$buffer.length)===($parseInt(ag.$capacity)>>0))){return false;}ad=ad.assignTo("reflect.Value.Send",af.elem,0);$send(ag,ad.object());return true;};CT.prototype.TrySend=function(ad){return this.$val.TrySend(ad);};CT.Ptr.prototype.Send=function(ad){var ae;ae=this;ad=ad;$panic(new A.NotSupportedError.Ptr("reflect.Value.Send, use reflect.Value.TrySend is possible"));};CT.prototype.Send=function(ad){return this.$val.Send(ad);};CT.Ptr.prototype.TryRecv=function(){var ad=new CT.Ptr(),ae=false,af,ag,ah,ai,aj,ak,al;af=this;new CU(af.flag).mustBe(18);new CU(af.flag).mustBeExported();ag=af.typ.chanType;if(((ag.dir>>0)&1)===0){$panic(new $String("reflect: recv on send-only channel"));}ah=$recv(af.object());if(ah.constructor===$global.Function){ai=new CT.Ptr(FF.nil,0,0);aj=false;ad=ai;ae=aj;return[ad,ae];}ak=L(ag.elem,ah[0],0);al=!!(ah[1]);ad=ak;ae=al;return[ad,ae];};CT.prototype.TryRecv=function(){return this.$val.TryRecv();};CT.Ptr.prototype.Recv=function(){var ad=new CT.Ptr(),ae=false,af;af=this;$panic(new A.NotSupportedError.Ptr("reflect.Value.Recv, use reflect.Value.TryRecv is possible"));};CT.prototype.Recv=function(){return this.$val.Recv();};BA.prototype.String=function(){var ad;ad=this.$val!==undefined?this.$val:this;if((ad>>0)=BR.$length)?$throwRuntimeError("index out of range"):BR.$array[BR.$offset+ad]);}return"kind"+C.Itoa((ad>>0));};$ptrType(BA).prototype.String=function(){return new BA(this.$get()).String();};BE.Ptr.prototype.uncommon=function(){var ad;ad=this;return ad;};BE.prototype.uncommon=function(){return this.$val.uncommon();};BE.Ptr.prototype.PkgPath=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.pkgPath,FR.nil)){return"";}return ad.pkgPath.$get();};BE.prototype.PkgPath=function(){return this.$val.PkgPath();};BE.Ptr.prototype.Name=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.name,FR.nil)){return"";}return ad.name.$get();};BE.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.String=function(){var ad;ad=this;return ad.string.$get();};BB.prototype.String=function(){return this.$val.String();};BB.Ptr.prototype.Size=function(){var ad;ad=this;return ad.size;};BB.prototype.Size=function(){return this.$val.Size();};BB.Ptr.prototype.Bits=function(){var ad,ae;ad=this;if(ad===FF.nil){$panic(new $String("reflect: Bits of nil Type"));}ae=ad.Kind();if(ae<2||ae>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+ad.String()));}return(ad.size>>0)*8>>0;};BB.prototype.Bits=function(){return this.$val.Bits();};BB.Ptr.prototype.Align=function(){var ad;ad=this;return(ad.align>>0);};BB.prototype.Align=function(){return this.$val.Align();};BB.Ptr.prototype.FieldAlign=function(){var ad;ad=this;return(ad.fieldAlign>>0);};BB.prototype.FieldAlign=function(){return this.$val.FieldAlign();};BB.Ptr.prototype.Kind=function(){var ad;ad=this;return(((ad.kind&31)>>>0)>>>0);};BB.prototype.Kind=function(){return this.$val.Kind();};BB.Ptr.prototype.common=function(){var ad;ad=this;return ad;};BB.prototype.common=function(){return this.$val.common();};BE.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad===FS.nil){return 0;}return ad.methods.$length;};BE.prototype.NumMethod=function(){return this.$val.NumMethod();};BE.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===FS.nil){return[ae,af];}ah=GE.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(!($pointerIsEqual(ah.name,FR.nil))&&ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BE.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.NumMethod=function(){var ad,ae;ad=this;if(ad.Kind()===20){ae=ad.interfaceType;return ae.NumMethod();}return ad.uncommonType.NumMethod();};BB.prototype.NumMethod=function(){return this.$val.NumMethod();};BB.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag;af=this;if(af.Kind()===20){ag=af.interfaceType;$copy(ae,ag.Method(ad),BQ);return ae;}$copy(ae,af.uncommonType.Method(ad),BQ);return ae;};BB.prototype.Method=function(ad){return this.$val.Method(ad);};BB.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj;ag=this;if(ag.Kind()===20){ah=ag.interfaceType;ai=ah.MethodByName(ad);$copy(ae,ai[0],BQ);af=ai[1];return[ae,af];}aj=ag.uncommonType.MethodByName(ad);$copy(ae,aj[0],BQ);af=aj[1];return[ae,af];};BB.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.PkgPath=function(){var ad;ad=this;return ad.uncommonType.PkgPath();};BB.prototype.PkgPath=function(){return this.$val.PkgPath();};BB.Ptr.prototype.Name=function(){var ad;ad=this;return ad.uncommonType.Name();};BB.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.ChanDir=function(){var ad,ae;ad=this;if(!((ad.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}ae=ad.chanType;return(ae.dir>>0);};BB.prototype.ChanDir=function(){return this.$val.ChanDir();};BB.Ptr.prototype.IsVariadic=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}ae=ad.funcType;return ae.dotdotdot;};BB.prototype.IsVariadic=function(){return this.$val.IsVariadic();};BB.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj;ad=this;ae=ad.Kind();if(ae===17){af=ad.arrayType;return CL(af.elem);}else if(ae===18){ag=ad.chanType;return CL(ag.elem);}else if(ae===21){ah=ad.mapType;return CL(ah.elem);}else if(ae===22){ai=ad.ptrType;return CL(ai.elem);}else if(ae===23){aj=ad.sliceType;return CL(aj.elem);}$panic(new $String("reflect: Elem of invalid type"));};BB.prototype.Elem=function(){return this.$val.Elem();};BB.Ptr.prototype.Field=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}af=ae.structType;return af.Field(ad);};BB.prototype.Field=function(ad){return this.$val.Field(ad);};BB.Ptr.prototype.FieldByIndex=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}af=ae.structType;return af.FieldByIndex(ad);};BB.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BB.Ptr.prototype.FieldByName=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}af=ae.structType;return af.FieldByName(ad);};BB.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BB.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}af=ae.structType;return af.FieldByNameFunc(ad);};BB.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BB.Ptr.prototype.In=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}af=ae.funcType;return CL((ag=af.in$2,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.In=function(ad){return this.$val.In(ad);};BB.Ptr.prototype.Key=function(){var ad,ae;ad=this;if(!((ad.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}ae=ad.mapType;return CL(ae.key);};BB.prototype.Key=function(){return this.$val.Key();};BB.Ptr.prototype.Len=function(){var ad,ae;ad=this;if(!((ad.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}ae=ad.arrayType;return(ae.len>>0);};BB.prototype.Len=function(){return this.$val.Len();};BB.Ptr.prototype.NumField=function(){var ad,ae;ad=this;if(!((ad.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}ae=ad.structType;return ae.fields.$length;};BB.prototype.NumField=function(){return this.$val.NumField();};BB.Ptr.prototype.NumIn=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}ae=ad.funcType;return ae.in$2.$length;};BB.prototype.NumIn=function(){return this.$val.NumIn();};BB.Ptr.prototype.NumOut=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}ae=ad.funcType;return ae.out.$length;};BB.prototype.NumOut=function(){return this.$val.NumOut();};BB.Ptr.prototype.Out=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}af=ae.funcType;return CL((ag=af.out,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.Out=function(ad){return this.$val.Out(ad);};BF.prototype.String=function(){var ad,ae;ad=this.$val!==undefined?this.$val:this;ae=ad;if(ae===2){return"chan<-";}else if(ae===1){return"<-chan";}else if(ae===3){return"chan";}return"ChanDir"+C.Itoa((ad>>0));};$ptrType(BF).prototype.String=function(){return new BF(this.$get()).String();};BK.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah;af=this;if(ad<0||ad>=af.methods.$length){return ae;}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Name=ah.name.$get();if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}ae.Type=CL(ah.typ);ae.Index=ad;return ae;};BK.prototype.Method=function(ad){return this.$val.Method(ad);};BK.Ptr.prototype.NumMethod=function(){var ad;ad=this;return ad.methods.$length;};BK.prototype.NumMethod=function(){return this.$val.NumMethod();};BK.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===GF.nil){return[ae,af];}ah=GG.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BK.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BT.prototype.Get=function(ad){var ae,af,ag,ah,ai,aj;ae=this.$val!==undefined?this.$val:this;while(!(ae==="")){af=0;while(af>0;}ae=ae.substring(af);if(ae===""){break;}af=0;while(af>0;}if((af+1>>0)>=ae.length||!((ae.charCodeAt(af)===58))||!((ae.charCodeAt((af+1>>0))===34))){break;}ag=ae.substring(0,af);ae=ae.substring((af+1>>0));af=1;while(af>0;}af=af+(1)>>0;}if(af>=ae.length){break;}ah=ae.substring(0,(af+1>>0));ae=ae.substring((af+1>>0));if(ad===ag){ai=C.Unquote(ah);aj=ai[0];return aj;}}return"";};$ptrType(BT).prototype.Get=function(ad){return new BT(this.$get()).Get(ad);};BP.Ptr.prototype.Field=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai;af=this;if(ad<0||ad>=af.fields.$length){return ae;}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Type=CL(ah.typ);if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}else{ai=ae.Type;if(ai.Kind()===22){ai=ai.Elem();}ae.Name=ai.Name();ae.Anonymous=true;}if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}if(!($pointerIsEqual(ah.tag,FR.nil))){ae.Tag=ah.tag.$get();}ae.Offset=ah.offset;ae.Index=new GH([ad]);return ae;};BP.prototype.Field=function(ad){return this.$val.Field(ad);};BP.Ptr.prototype.FieldByIndex=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai,aj,ak;af=this;ae.Type=CL(af.rtype);ag=ad;ah=0;while(ah=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]);if(ai>0){ak=ae.Type;if((ak.Kind()===22)&&(ak.Elem().Kind()===25)){ak=ak.Elem();}ae.Type=ak;}$copy(ae,ae.Type.Field(aj),BS);ah++;}return ae;};BP.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BP.Ptr.prototype.FieldByNameFunc=function(ad){var ae=new BS.Ptr(),af=false,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;ag=this;ah=new GI([]);ai=new GI([new BU.Ptr(ag,GH.nil)]);aj=false;ak=(al=new $Map(),al);while(ai.$length>0){an=ai;ao=$subslice(ah,0,0);ah=an;ai=ao;ap=aj;aj=false;aq=ah;ar=0;while(ar=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]),BU);at=as.typ;if((au=ak[at.$key()],au!==undefined?au.v:false)){ar++;continue;}av=at;(ak||$throwRuntimeError("assignment to entry in nil map"))[av.$key()]={k:av,v:true};aw=at.fields;ax=0;while(ax=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ay]));bb="";bc=FF.nil;if(!($pointerIsEqual(ba.name,FR.nil))){bb=ba.name.$get();}else{bc=ba.typ;if(bc.Kind()===22){bc=bc.Elem().common();}bb=bc.Name();}if(ad(bb)){if((bd=ap[at.$key()],bd!==undefined?bd.v:0)>1||af){be=new BS.Ptr("","",$ifaceNil,"",0,GH.nil,false);bf=false;$copy(ae,be,BS);af=bf;return[ae,af];}$copy(ae,at.Field(ay),BS);ae.Index=GH.nil;ae.Index=$appendSlice(ae.Index,as.index);ae.Index=$append(ae.Index,ay);af=true;ax++;continue;}if(af||bc===FF.nil||!((bc.Kind()===25))){ax++;continue;}bg=bc.structType;if((bh=aj[bg.$key()],bh!==undefined?bh.v:0)>0){bi=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bi.$key()]={k:bi,v:2};ax++;continue;}if(aj===false){aj=(bj=new $Map(),bj);}bl=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bl.$key()]={k:bl,v:1};if((bm=ap[at.$key()],bm!==undefined?bm.v:0)>1){bn=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bn.$key()]={k:bn,v:2};}bo=GH.nil;bo=$appendSlice(bo,as.index);bo=$append(bo,ay);ai=$append(ai,new BU.Ptr(bg,bo));ax++;}ar++;}if(af){break;}}return[ae,af];};BP.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BP.Ptr.prototype.FieldByName=function(ad){var ae=new BS.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an,ao,ap;ag=this;ah=false;if(!(ad==="")){ai=ag.fields;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if($pointerIsEqual(am.name,FR.nil)){ah=true;aj++;continue;}if(am.name.$get()===ad){an=$clone(ag.Field(ak),BS);ao=true;$copy(ae,an,BS);af=ao;return[ae,af];}aj++;}}if(!ah){return[ae,af];}ap=ag.FieldByNameFunc((function(aq){return aq===ad;}));$copy(ae,ap[0],BS);af=ap[1];return[ae,af];};BP.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BW=$pkg.PtrTo=function(ad){return $assertType(ad,FF).ptrTo();};BB.Ptr.prototype.Implements=function(ad){var ae;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}if(!((ad.Kind()===20))){$panic(new $String("reflect: non-interface type passed to Type.Implements"));}return BY($assertType(ad,FF),ae);};BB.prototype.Implements=function(ad){return this.$val.Implements(ad);};BB.Ptr.prototype.AssignableTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}af=$assertType(ad,FF);return BZ(af,ae)||BY(af,ae);};BB.prototype.AssignableTo=function(ad){return this.$val.AssignableTo(ad);};BB.Ptr.prototype.ConvertibleTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}af=$assertType(ad,FF);return!(EB(af,ae)===$throwNilPointerError);};BB.prototype.ConvertibleTo=function(ad){return this.$val.ConvertibleTo(ad);};BY=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at;if(!((ad.Kind()===20))){return false;}af=ad.interfaceType;if(af.methods.$length===0){return true;}if(ae.Kind()===20){ag=ae.interfaceType;ah=0;ai=0;while(ai=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ah]));am=(al=ag.methods,((ai<0||ai>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ai]));if($pointerIsEqual(am.name,ak.name)&&$pointerIsEqual(am.pkgPath,ak.pkgPath)&&am.typ===ak.typ){ah=ah+(1)>>0;if(ah>=af.methods.$length){return true;}}ai=ai+(1)>>0;}return false;}an=ae.uncommonType.uncommon();if(an===FS.nil){return false;}ao=0;ap=0;while(ap=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ao]));at=(as=an.methods,((ap<0||ap>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ap]));if($pointerIsEqual(at.name,ar.name)&&$pointerIsEqual(at.pkgPath,ar.pkgPath)&&at.mtyp===ar.typ){ao=ao+(1)>>0;if(ao>=af.methods.$length){return true;}}ap=ap+(1)>>0;}return false;};BZ=function(ad,ae){if(ad===ae){return true;}if(!(ad.Name()==="")&&!(ae.Name()==="")||!((ad.Kind()===ae.Kind()))){return false;}return CA(ad,ae);};CA=function(ad,ae){var 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;if(ad===ae){return true;}af=ad.Kind();if(!((af===ae.Kind()))){return false;}if(1<=af&&af<=16||(af===24)||(af===26)){return true;}ag=af;if(ag===17){return $interfaceIsEqual(ad.Elem(),ae.Elem())&&(ad.Len()===ae.Len());}else if(ag===18){if((ae.ChanDir()===3)&&$interfaceIsEqual(ad.Elem(),ae.Elem())){return true;}return(ae.ChanDir()===ad.ChanDir())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===19){ah=ad.funcType;ai=ae.funcType;if(!(ah.dotdotdot===ai.dotdotdot)||!((ah.in$2.$length===ai.in$2.$length))||!((ah.out.$length===ai.out.$length))){return false;}aj=ah.in$2;ak=0;while(ak=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(!(am===(an=ai.in$2,((al<0||al>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+al])))){return false;}ak++;}ao=ah.out;ap=0;while(ap=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+ap]);if(!(ar===(as=ai.out,((aq<0||aq>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+aq])))){return false;}ap++;}return true;}else if(ag===20){at=ad.interfaceType;au=ae.interfaceType;if((at.methods.$length===0)&&(au.methods.$length===0)){return true;}return false;}else if(ag===21){return $interfaceIsEqual(ad.Key(),ae.Key())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===22||ag===23){return $interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===25){av=ad.structType;aw=ae.structType;if(!((av.fields.$length===aw.fields.$length))){return false;}ax=av.fields;ay=0;while(ay=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+az]));bd=(bc=aw.fields,((az<0||az>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+az]));if(!($pointerIsEqual(bb.name,bd.name))&&($pointerIsEqual(bb.name,FR.nil)||$pointerIsEqual(bd.name,FR.nil)||!(bb.name.$get()===bd.name.$get()))){return false;}if(!($pointerIsEqual(bb.pkgPath,bd.pkgPath))&&($pointerIsEqual(bb.pkgPath,FR.nil)||$pointerIsEqual(bd.pkgPath,FR.nil)||!(bb.pkgPath.$get()===bd.pkgPath.$get()))){return false;}if(!(bb.typ===bd.typ)){return false;}if(!($pointerIsEqual(bb.tag,bd.tag))&&($pointerIsEqual(bb.tag,FR.nil)||$pointerIsEqual(bd.tag,FR.nil)||!(bb.tag.$get()===bd.tag.$get()))){return false;}if(!((bb.offset===bd.offset))){return false;}ay++;}return true;}return false;};CL=function(ad){if(ad===FF.nil){return $ifaceNil;}return ad;};CQ=function(ad){return((ad.kind&32)>>>0)===0;};CU.prototype.kind=function(){var ad;ad=this.$val!==undefined?this.$val:this;return(((ad&31)>>>0)>>>0);};$ptrType(CU).prototype.kind=function(){return new CU(this.$get()).kind();};CT.Ptr.prototype.pointer=function(){var ad;ad=this;if(!((ad.typ.size===4))||!ad.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((ad.flag&64)>>>0)===0))){return ad.ptr.$get();}return ad.ptr;};CT.prototype.pointer=function(){return this.$val.pointer();};CX.Ptr.prototype.Error=function(){var ad;ad=this;if(ad.Kind===0){return"reflect: call of "+ad.Method+" on zero Value";}return"reflect: call of "+ad.Method+" on "+new BA(ad.Kind).String()+" Value";};CX.prototype.Error=function(){return this.$val.Error();};CU.prototype.mustBe=function(ad){var ae;ae=this.$val!==undefined?this.$val:this;if(!((new CU(ae).kind()===ad))){$panic(new CX.Ptr(AP(),new CU(ae).kind()));}};$ptrType(CU).prototype.mustBe=function(ad){return new CU(this.$get()).mustBe(ad);};CU.prototype.mustBeExported=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}};$ptrType(CU).prototype.mustBeExported=function(){return new CU(this.$get()).mustBeExported();};CU.prototype.mustBeAssignable=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}if(((ad&128)>>>0)===0){$panic(new $String("reflect: "+AP()+" using unaddressable value"));}};$ptrType(CU).prototype.mustBeAssignable=function(){return new CU(this.$get()).mustBeAssignable();};CT.Ptr.prototype.Addr=function(){var ad;ad=this;if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new CT.Ptr(ad.typ.ptrTo(),ad.ptr,((((ad.flag&32)>>>0))|22)>>>0);};CT.prototype.Addr=function(){return this.$val.Addr();};CT.Ptr.prototype.Bool=function(){var ad;ad=this;new CU(ad.flag).mustBe(1);return ad.ptr.$get();};CT.prototype.Bool=function(){return this.$val.Bool();};CT.Ptr.prototype.Bytes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.Bytes of non-byte slice"));}return ad.ptr.$get();};CT.prototype.Bytes=function(){return this.$val.Bytes();};CT.Ptr.prototype.runes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.Bytes of non-rune slice"));}return ad.ptr.$get();};CT.prototype.runes=function(){return this.$val.runes();};CT.Ptr.prototype.CanAddr=function(){var ad;ad=this;return!((((ad.flag&128)>>>0)===0));};CT.prototype.CanAddr=function(){return this.$val.CanAddr();};CT.Ptr.prototype.CanSet=function(){var ad;ad=this;return((ad.flag&160)>>>0)===128;};CT.prototype.CanSet=function(){return this.$val.CanSet();};CT.Ptr.prototype.Call=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("Call",ad);};CT.prototype.Call=function(ad){return this.$val.Call(ad);};CT.Ptr.prototype.CallSlice=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("CallSlice",ad);};CT.prototype.CallSlice=function(ad){return this.$val.CallSlice(ad);};CT.Ptr.prototype.Complex=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===15){return(ag=ad.ptr.$get(),new $Complex128(ag.$real,ag.$imag));}else if(af===16){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Complex",new CU(ad.flag).kind()));};CT.prototype.Complex=function(){return this.$val.Complex();};CT.Ptr.prototype.FieldByIndex=function(ad){var ae,af,ag,ah,ai;ae=this;if(ad.$length===1){return ae.Field(((0<0||0>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+0]));}new CU(ae.flag).mustBe(25);af=ad;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if(ah>0){if((ae.Kind()===22)&&(ae.typ.Elem().Kind()===25)){if(ae.IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ae=ae.Elem();}}ae=ae.Field(ai);ag++;}return ae;};CT.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};CT.Ptr.prototype.FieldByName=function(ad){var ae,af,ag,ah;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.FieldByName(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};CT.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af,ag,ah;ae=this;af=ae.typ.FieldByNameFunc(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};CT.Ptr.prototype.Float=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===13){return $coerceFloat32(ad.ptr.$get());}else if(af===14){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Float",new CU(ad.flag).kind()));};CT.prototype.Float=function(){return this.$val.Float();};CT.Ptr.prototype.Int=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===2){return new $Int64(0,af.$get());}else if(ag===3){return new $Int64(0,af.$get());}else if(ag===4){return new $Int64(0,af.$get());}else if(ag===5){return new $Int64(0,af.$get());}else if(ag===6){return af.$get();}$panic(new CX.Ptr("reflect.Value.Int",new CU(ad.flag).kind()));};CT.prototype.Int=function(){return this.$val.Int();};CT.Ptr.prototype.CanInterface=function(){var ad;ad=this;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.CanInterface",0));}return((ad.flag&32)>>>0)===0;};CT.prototype.CanInterface=function(){return this.$val.CanInterface();};CT.Ptr.prototype.Interface=function(){var ad=$ifaceNil,ae;ae=this;ad=AN(ae,true);return ad;};CT.prototype.Interface=function(){return this.$val.Interface();};CT.Ptr.prototype.InterfaceData=function(){var ad;ad=this;new CU(ad.flag).mustBe(20);return ad.ptr;};CT.prototype.InterfaceData=function(){return this.$val.InterfaceData();};CT.Ptr.prototype.IsValid=function(){var ad;ad=this;return!((ad.flag===0));};CT.prototype.IsValid=function(){return this.$val.IsValid();};CT.Ptr.prototype.Kind=function(){var ad;ad=this;return new CU(ad.flag).kind();};CT.prototype.Kind=function(){return this.$val.Kind();};CT.Ptr.prototype.MapIndex=function(ad){var ae,af,ag,ah,ai,aj,ak;ae=this;ad=ad;new CU(ae.flag).mustBe(21);af=ae.typ.mapType;ad=ad.assignTo("reflect.Value.MapIndex",af.key,0);ag=0;if(!((((ad.flag&64)>>>0)===0))){ag=ad.ptr;}else{ag=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}ah=AC(ae.typ,ae.pointer(),ag);if(ah===0){return new CT.Ptr(FF.nil,0,0);}ai=af.elem;aj=((((ae.flag|ad.flag)>>>0))&32)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;if(CQ(ai)){ak=V(ai);Y(ak,ah,ai.size);return new CT.Ptr(ai,ak,(aj|64)>>>0);}else{return new CT.Ptr(ai,ah.$get(),aj);}};CT.prototype.MapIndex=function(ad){return this.$val.MapIndex(ad);};CT.Ptr.prototype.MapKeys=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an;ad=this;new CU(ad.flag).mustBe(21);ae=ad.typ.mapType;af=ae.key;ag=(((ad.flag&32)>>>0)|(af.Kind()>>>0))>>>0;ah=ad.pointer();ai=0;if(!(ah===0)){ai=AJ(ah);}aj=AG(ad.typ,ah);ak=FX.make(ai);al=0;al=0;while(al=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,an,(ag|64)>>>0);}else{(al<0||al>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,am.$get(),ag);}AI(aj);al=al+(1)>>0;}return $subslice(ak,0,al);};CT.prototype.MapKeys=function(){return this.$val.MapKeys();};CT.Ptr.prototype.Method=function(ad){var ae,af;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.Method",0));}if(!((((ae.flag&256)>>>0)===0))||(ad>>>0)>=(ae.typ.NumMethod()>>>0)){$panic(new $String("reflect: Method index out of range"));}if((ae.typ.Kind()===20)&&ae.IsNil()){$panic(new $String("reflect: Method on nil interface value"));}af=(ae.flag&96)>>>0;af=(af|(19))>>>0;af=(af|(((((ad>>>0)<<9>>>0)|256)>>>0)))>>>0;return new CT.Ptr(ae.typ,ae.ptr,af);};CT.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.NumMethod",0));}if(!((((ad.flag&256)>>>0)===0))){return 0;}return ad.typ.NumMethod();};CT.prototype.NumMethod=function(){return this.$val.NumMethod();};CT.Ptr.prototype.MethodByName=function(ad){var ae,af,ag,ah;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.MethodByName",0));}if(!((((ae.flag&256)>>>0)===0))){return new CT.Ptr(FF.nil,0,0);}af=ae.typ.MethodByName(ad);ag=$clone(af[0],BQ);ah=af[1];if(!ah){return new CT.Ptr(FF.nil,0,0);}return ae.Method(ag.Index);};CT.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};CT.Ptr.prototype.NumField=function(){var ad,ae;ad=this;new CU(ad.flag).mustBe(25);ae=ad.typ.structType;return ae.fields.$length;};CT.prototype.NumField=function(){return this.$val.NumField();};CT.Ptr.prototype.OverflowComplex=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===15){return DH(ad.$real)||DH(ad.$imag);}else if(ag===16){return false;}$panic(new CX.Ptr("reflect.Value.OverflowComplex",new CU(ae.flag).kind()));};CT.prototype.OverflowComplex=function(ad){return this.$val.OverflowComplex(ad);};CT.Ptr.prototype.OverflowFloat=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===13){return DH(ad);}else if(ag===14){return false;}$panic(new CX.Ptr("reflect.Value.OverflowFloat",new CU(ae.flag).kind()));};CT.prototype.OverflowFloat=function(ad){return this.$val.OverflowFloat(ad);};DH=function(ad){if(ad<0){ad=-ad;}return 3.4028234663852886e+38>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightInt64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowInt",new CU(ae.flag).kind()));};CT.prototype.OverflowInt=function(ad){return this.$val.OverflowInt(ad);};CT.Ptr.prototype.OverflowUint=function(ad){var ae,af,ag,ah,ai,aj;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===7||ag===12||ag===8||ag===9||ag===10||ag===11){ai=(ah=ae.typ.size,(((ah>>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightUint64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowUint",new CU(ae.flag).kind()));};CT.prototype.OverflowUint=function(ad){return this.$val.OverflowUint(ad);};CT.Ptr.prototype.SetBool=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(1);ae.ptr.$set(ad);};CT.prototype.SetBool=function(ad){return this.$val.SetBool(ad);};CT.Ptr.prototype.SetBytes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.SetBytes of non-byte slice"));}ae.ptr.$set(ad);};CT.prototype.SetBytes=function(ad){return this.$val.SetBytes(ad);};CT.Ptr.prototype.setRunes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.setRunes of non-rune slice"));}ae.ptr.$set(ad);};CT.prototype.setRunes=function(ad){return this.$val.setRunes(ad);};CT.Ptr.prototype.SetComplex=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===15){ae.ptr.$set(new $Complex64(ad.$real,ad.$imag));}else if(ag===16){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetComplex",new CU(ae.flag).kind()));}};CT.prototype.SetComplex=function(ad){return this.$val.SetComplex(ad);};CT.Ptr.prototype.SetFloat=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===13){ae.ptr.$set(ad);}else if(ag===14){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetFloat",new CU(ae.flag).kind()));}};CT.prototype.SetFloat=function(ad){return this.$val.SetFloat(ad);};CT.Ptr.prototype.SetInt=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===2){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===3){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<24>>24));}else if(ag===4){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<16>>16));}else if(ag===5){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===6){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetInt",new CU(ae.flag).kind()));}};CT.prototype.SetInt=function(ad){return this.$val.SetInt(ad);};CT.Ptr.prototype.SetMapIndex=function(ad,ae){var af,ag,ah,ai;af=this;ae=ae;ad=ad;new CU(af.flag).mustBe(21);new CU(af.flag).mustBeExported();new CU(ad.flag).mustBeExported();ag=af.typ.mapType;ad=ad.assignTo("reflect.Value.SetMapIndex",ag.key,0);ah=0;if(!((((ad.flag&64)>>>0)===0))){ah=ad.ptr;}else{ah=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}if(ae.typ===FF.nil){AE(af.typ,af.pointer(),ah);return;}new CU(ae.flag).mustBeExported();ae=ae.assignTo("reflect.Value.SetMapIndex",ag.elem,0);ai=0;if(!((((ae.flag&64)>>>0)===0))){ai=ae.ptr;}else{ai=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ae);}AD(af.typ,af.pointer(),ah,ai);};CT.prototype.SetMapIndex=function(ad,ae){return this.$val.SetMapIndex(ad,ae);};CT.Ptr.prototype.SetUint=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===7){ae.ptr.$set((ad.$low>>>0));}else if(ag===8){ae.ptr.$set((ad.$low<<24>>>24));}else if(ag===9){ae.ptr.$set((ad.$low<<16>>>16));}else if(ag===10){ae.ptr.$set((ad.$low>>>0));}else if(ag===11){ae.ptr.$set(ad);}else if(ag===12){ae.ptr.$set((ad.$low>>>0));}else{$panic(new CX.Ptr("reflect.Value.SetUint",new CU(ae.flag).kind()));}};CT.prototype.SetUint=function(ad){return this.$val.SetUint(ad);};CT.Ptr.prototype.SetPointer=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(26);ae.ptr.$set(ad);};CT.prototype.SetPointer=function(ad){return this.$val.SetPointer(ad);};CT.Ptr.prototype.SetString=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(24);ae.ptr.$set(ad);};CT.prototype.SetString=function(ad){return this.$val.SetString(ad);};CT.Ptr.prototype.String=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===0){return"";}else if(af===24){return ad.ptr.$get();}return"<"+ad.Type().String()+" Value>";};CT.prototype.String=function(){return this.$val.String();};CT.Ptr.prototype.Type=function(){var ad,ae,af,ag,ah,ai,aj,ak,al;ad=this;ae=ad.flag;if(ae===0){$panic(new CX.Ptr("reflect.Value.Type",0));}if(((ae&256)>>>0)===0){return ad.typ;}af=(ad.flag>>0)>>9>>0;if(ad.typ.Kind()===20){ag=ad.typ.interfaceType;if((af>>>0)>=(ag.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}ai=(ah=ag.methods,((af<0||af>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+af]));return ai.typ;}aj=ad.typ.uncommonType.uncommon();if(aj===FS.nil||(af>>>0)>=(aj.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}al=(ak=aj.methods,((af<0||af>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+af]));return al.mtyp;};CT.prototype.Type=function(){return this.$val.Type();};CT.Ptr.prototype.Uint=function(){var ad,ae,af,ag,ah;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===7){return new $Uint64(0,af.$get());}else if(ag===8){return new $Uint64(0,af.$get());}else if(ag===9){return new $Uint64(0,af.$get());}else if(ag===10){return new $Uint64(0,af.$get());}else if(ag===11){return af.$get();}else if(ag===12){return(ah=af.$get(),new $Uint64(0,ah.constructor===Number?ah:1));}$panic(new CX.Ptr("reflect.Value.Uint",new CU(ad.flag).kind()));};CT.prototype.Uint=function(){return this.$val.Uint();};CT.Ptr.prototype.UnsafeAddr=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.UnsafeAddr",0));}if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return ad.ptr;};CT.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};DZ=$pkg.New=function(ad){var ae,af;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ae=V($assertType(ad,FF));af=22;return new CT.Ptr(ad.common().ptrTo(),ae,af);};CT.Ptr.prototype.assignTo=function(ad,ae,af){var ag,ah,ai;ag=this;if(!((((ag.flag&256)>>>0)===0))){ag=AQ(ad,ag);}if(BZ(ae,ag.typ)){ag.typ=ae;ah=(ag.flag&224)>>>0;ah=(ah|((ae.Kind()>>>0)))>>>0;return new CT.Ptr(ae,ag.ptr,ah);}else if(BY(ae,ag.typ)){if(af===0){af=V(ae);}ai=AN(ag,false);if(ae.NumMethod()===0){af.$set(ai);}else{AO(ae,ai,af);}return new CT.Ptr(ae,af,84);}$panic(new $String(ad+": value of type "+ag.typ.String()+" is not assignable to type "+ae.String()));};CT.prototype.assignTo=function(ad,ae,af){return this.$val.assignTo(ad,ae,af);};CT.Ptr.prototype.Convert=function(ad){var ae,af;ae=this;if(!((((ae.flag&256)>>>0)===0))){ae=AQ("Convert",ae);}af=EB(ad.common(),ae.typ);if(af===$throwNilPointerError){$panic(new $String("reflect.Value.Convert: value of type "+ae.typ.String()+" cannot be converted to type "+ad.String()));}return af(ae,ad);};CT.prototype.Convert=function(ad){return this.$val.Convert(ad);};EB=function(ad,ae){var af,ag,ah,ai,aj,ak,al;af=ae.Kind();if(af===2||af===3||af===4||af===5||af===6){ag=ad.Kind();if(ag===2||ag===3||ag===4||ag===5||ag===6||ag===7||ag===8||ag===9||ag===10||ag===11||ag===12){return EH;}else if(ag===13||ag===14){return EL;}else if(ag===24){return EP;}}else if(af===7||af===8||af===9||af===10||af===11||af===12){ah=ad.Kind();if(ah===2||ah===3||ah===4||ah===5||ah===6||ah===7||ah===8||ah===9||ah===10||ah===11||ah===12){return EI;}else if(ah===13||ah===14){return EM;}else if(ah===24){return EQ;}}else if(af===13||af===14){ai=ad.Kind();if(ai===2||ai===3||ai===4||ai===5||ai===6){return EJ;}else if(ai===7||ai===8||ai===9||ai===10||ai===11||ai===12){return EK;}else if(ai===13||ai===14){return EN;}}else if(af===15||af===16){aj=ad.Kind();if(aj===15||aj===16){return EO;}}else if(af===24){if((ad.Kind()===23)&&ad.Elem().PkgPath()===""){ak=ad.Elem().Kind();if(ak===8){return ES;}else if(ak===5){return EU;}}}else if(af===23){if((ad.Kind()===24)&&ae.Elem().PkgPath()===""){al=ae.Elem().Kind();if(al===8){return ER;}else if(al===5){return ET;}}}if(CA(ad,ae)){return AK;}if((ad.Kind()===22)&&ad.Name()===""&&(ae.Kind()===22)&&ae.Name()===""&&CA(ad.Elem().common(),ae.Elem().common())){return AK;}if(BY(ad,ae)){if(ae.Kind()===20){return EW;}return EV;}return $throwNilPointerError;};EC=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===4){ah.$set(ae);}else if(ai===8){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};ED=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===8){ah.$set(new $Complex64(ae.$real,ae.$imag));}else if(ai===16){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};EE=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetString(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EF=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetBytes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EG=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.setRunes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EH=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=ad.Int(),new $Uint64(af.$high,af.$low)),ae);};EI=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,ad.Uint(),ae);};EJ=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=new $Int64(0,ad.Float()),new $Uint64(af.$high,af.$low)),ae);};EK=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,new $Uint64(0,ad.Float()),ae);};EL=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Int()),ae);};EM=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Uint()),ae);};EN=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,ad.Float(),ae);};EO=function(ad,ae){ad=ad;return ED((ad.flag&32)>>>0,ad.Complex(),ae);};EP=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Int().$low),ae);};EQ=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Uint().$low),ae);};ER=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$bytesToString(ad.Bytes()),ae);};ES=function(ad,ae){ad=ad;return EF((ad.flag&32)>>>0,new GQ($stringToBytes(ad.String())),ae);};ET=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$runesToString(ad.runes()),ae);};EU=function(ad,ae){ad=ad;return EG((ad.flag&32)>>>0,new GR($stringToRunes(ad.String())),ae);};EV=function(ad,ae){var af,ag;ad=ad;af=V(ae.common());ag=AN(ad,false);if(ae.NumMethod()===0){af.$set(ag);}else{AO($assertType(ae,FF),ag,af);}return new CT.Ptr(ae.common(),af,(((((ad.flag&32)>>>0)|64)>>>0)|20)>>>0);};EW=function(ad,ae){var af;ad=ad;if(ad.IsNil()){af=U(ae);af.flag=(af.flag|(((ad.flag&32)>>>0)))>>>0;return af;}return EV(ad.Elem(),ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}FF=$ptrType(BB);FG=$ptrType(BM);FO=$sliceType($String);FP=$ptrType(BC);FQ=$arrayType($UnsafePointer,2);FR=$ptrType($String);FS=$ptrType(BE);FT=$sliceType(BD);FU=$sliceType(FF);FV=$sliceType(BJ);FW=$sliceType(BO);FX=$sliceType(CT);FY=$arrayType($UnsafePointer,100000);FZ=$structType([["ityp","ityp","reflect",FF,""],["typ","typ","reflect",FF,""],["link","link","reflect",$UnsafePointer,""],["bad","bad","reflect",$Int32,""],["unused","unused","reflect",$Int32,""],["fun","fun","reflect",FY,""]]);GA=$ptrType(FZ);GB=$sliceType(B.Object);GC=$ptrType($Uint8);GE=$ptrType(BD);GF=$ptrType(BK);GG=$ptrType(BJ);GH=$sliceType($Int);GI=$sliceType(BU);GJ=$ptrType(BP);GO=$ptrType($UnsafePointer);GQ=$sliceType($Uint8);GR=$sliceType($Int32);GS=$ptrType(BI);GU=$funcType([$String],[$Bool],false);GV=$ptrType(BA);GW=$funcType([$UnsafePointer,$Uintptr,$Uintptr],[$Uintptr],false);GX=$funcType([$UnsafePointer,$UnsafePointer,$Uintptr],[$Bool],false);GY=$ptrType(BF);GZ=$ptrType(BG);HA=$ptrType(BH);HB=$ptrType(BL);HC=$ptrType(BN);HD=$ptrType(BT);HF=$arrayType($Uintptr,2);HG=$ptrType(CT);HH=$ptrType(CU);HI=$ptrType(CX);AF.init([["t","t","reflect",AZ,""],["m","m","reflect",B.Object,""],["keys","keys","reflect",B.Object,""],["i","i","reflect",$Int,""]]);AZ.init([["Align","Align","",$funcType([],[$Int],false)],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false)],["Bits","Bits","",$funcType([],[$Int],false)],["ChanDir","ChanDir","",$funcType([],[BF],false)],["Comparable","Comparable","",$funcType([],[$Bool],false)],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false)],["Elem","Elem","",$funcType([],[AZ],false)],["Field","Field","",$funcType([$Int],[BS],false)],["FieldAlign","FieldAlign","",$funcType([],[$Int],false)],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false)],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false)],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false)],["Implements","Implements","",$funcType([AZ],[$Bool],false)],["In","In","",$funcType([$Int],[AZ],false)],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false)],["Key","Key","",$funcType([],[AZ],false)],["Kind","Kind","",$funcType([],[BA],false)],["Len","Len","",$funcType([],[$Int],false)],["Method","Method","",$funcType([$Int],[BQ],false)],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false)],["Name","Name","",$funcType([],[$String],false)],["NumField","NumField","",$funcType([],[$Int],false)],["NumIn","NumIn","",$funcType([],[$Int],false)],["NumMethod","NumMethod","",$funcType([],[$Int],false)],["NumOut","NumOut","",$funcType([],[$Int],false)],["Out","Out","",$funcType([$Int],[AZ],false)],["PkgPath","PkgPath","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Uintptr],false)],["String","String","",$funcType([],[$String],false)],["common","common","reflect",$funcType([],[FF],false)],["uncommon","uncommon","reflect",$funcType([],[FS],false)]]);BA.methods=[["String","String","",$funcType([],[$String],false),-1]];GV.methods=[["String","String","",$funcType([],[$String],false),-1]];BB.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];FF.methods=[["Align","Align","",$funcType([],[$Int],false),-1],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),-1],["Bits","Bits","",$funcType([],[$Int],false),-1],["ChanDir","ChanDir","",$funcType([],[BF],false),-1],["Comparable","Comparable","",$funcType([],[$Bool],false),-1],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),-1],["Elem","Elem","",$funcType([],[AZ],false),-1],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),-1],["In","In","",$funcType([$Int],[AZ],false),-1],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),-1],["Key","Key","",$funcType([],[AZ],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumIn","NumIn","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),-1],["Out","Out","",$funcType([$Int],[AZ],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Uintptr],false),-1],["String","String","",$funcType([],[$String],false),-1],["common","common","reflect",$funcType([],[FF],false),-1],["pointers","pointers","reflect",$funcType([],[$Bool],false),-1],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];BB.init([["size","size","reflect",$Uintptr,""],["hash","hash","reflect",$Uint32,""],["_$2","_","reflect",$Uint8,""],["align","align","reflect",$Uint8,""],["fieldAlign","fieldAlign","reflect",$Uint8,""],["kind","kind","reflect",$Uint8,""],["alg","alg","reflect",FP,""],["gc","gc","reflect",FQ,""],["string","string","reflect",FR,""],["uncommonType","","reflect",FS,""],["ptrToThis","ptrToThis","reflect",FF,""],["zero","zero","reflect",$UnsafePointer,""]]);BC.init([["hash","hash","reflect",GW,""],["equal","equal","reflect",GX,""]]);BD.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["mtyp","mtyp","reflect",FF,""],["typ","typ","reflect",FF,""],["ifn","ifn","reflect",$UnsafePointer,""],["tfn","tfn","reflect",$UnsafePointer,""]]);FS.methods=[["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),-1]];BE.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["methods","methods","reflect",FT,""]]);BF.methods=[["String","String","",$funcType([],[$String],false),-1]];GY.methods=[["String","String","",$funcType([],[$String],false),-1]];BG.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GZ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BG.init([["rtype","","reflect",BB,"reflect:\"array\""],["elem","elem","reflect",FF,""],["slice","slice","reflect",FF,""],["len","len","reflect",$Uintptr,""]]);BH.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HA.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BH.init([["rtype","","reflect",BB,"reflect:\"chan\""],["elem","elem","reflect",FF,""],["dir","dir","reflect",$Uintptr,""]]);BI.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GS.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BI.init([["rtype","","reflect",BB,"reflect:\"func\""],["dotdotdot","dotdotdot","reflect",$Bool,""],["in$2","in","reflect",FU,""],["out","out","reflect",FU,""]]);BJ.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""]]);BK.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GF.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BK.init([["rtype","","reflect",BB,"reflect:\"interface\""],["methods","methods","reflect",FV,""]]);BL.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HB.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BL.init([["rtype","","reflect",BB,"reflect:\"map\""],["key","key","reflect",FF,""],["elem","elem","reflect",FF,""],["bucket","bucket","reflect",FF,""],["hmap","hmap","reflect",FF,""],["keysize","keysize","reflect",$Uint8,""],["indirectkey","indirectkey","reflect",$Uint8,""],["valuesize","valuesize","reflect",$Uint8,""],["indirectvalue","indirectvalue","reflect",$Uint8,""],["bucketsize","bucketsize","reflect",$Uint16,""]]);BM.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];FG.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BM.init([["rtype","","reflect",BB,"reflect:\"ptr\""],["elem","elem","reflect",FF,""]]);BN.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HC.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BN.init([["rtype","","reflect",BB,"reflect:\"slice\""],["elem","elem","reflect",FF,""]]);BO.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""],["tag","tag","reflect",FR,""],["offset","offset","reflect",$Uintptr,""]]);BP.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GJ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BP.init([["rtype","","reflect",BB,"reflect:\"struct\""],["fields","fields","reflect",FW,""]]);BQ.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Func","Func","",CT,""],["Index","Index","",$Int,""]]);BS.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Tag","Tag","",BT,""],["Offset","Offset","",$Uintptr,""],["Index","Index","",GH,""],["Anonymous","Anonymous","",$Bool,""]]);BT.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];HD.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];BU.init([["typ","typ","reflect",GJ,""],["index","index","reflect",GH,""]]);CT.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];HG.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];CT.init([["typ","typ","reflect",FF,""],["ptr","ptr","reflect",$UnsafePointer,""],["flag","","reflect",CU,""]]);CU.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HH.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HI.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CX.init([["Method","Method","",$String,""],["Kind","Kind","",BA,""]]);CZ.init([["itab","itab","reflect",GA,""],["word","word","reflect",$UnsafePointer,""]]);F=false;BR=new FO(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);DG=$assertType(O(new $Uint8(0)),FF);G();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -29,8 +29,8 @@ $packages["bufio"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,E,H,I,F,G;A=$packages[ $packages["image"]=(function(){var $pkg={},A,B,E,C,D,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,F,I,O,Q,S,T,V,X,Z,AB,AD,AF,AH,AJ,AL,AN,AP,AQ,G,a,b,c,d,H,J,K,L,M,R,W,Y,AA,AC,AI,AK,AM,AO,AR;A=$packages["bufio"];B=$packages["errors"];E=$packages["image/color"];C=$packages["io"];D=$packages["strconv"];F=$pkg.format=$newType(0,$kindStruct,"image.format","format","image",function(name_,magic_,decode_,decodeConfig_){this.$val=this;this.name=name_!==undefined?name_:"";this.magic=magic_!==undefined?magic_:"";this.decode=decode_!==undefined?decode_:$throwNilPointerError;this.decodeConfig=decodeConfig_!==undefined?decodeConfig_:$throwNilPointerError;});I=$pkg.reader=$newType(8,$kindInterface,"image.reader","reader","image",null);O=$pkg.Point=$newType(0,$kindStruct,"image.Point","Point","image",function(X_,Y_){this.$val=this;this.X=X_!==undefined?X_:0;this.Y=Y_!==undefined?Y_:0;});Q=$pkg.Rectangle=$newType(0,$kindStruct,"image.Rectangle","Rectangle","image",function(Min_,Max_){this.$val=this;this.Min=Min_!==undefined?Min_:new O.Ptr();this.Max=Max_!==undefined?Max_:new O.Ptr();});S=$pkg.Config=$newType(0,$kindStruct,"image.Config","Config","image",function(ColorModel_,Width_,Height_){this.$val=this;this.ColorModel=ColorModel_!==undefined?ColorModel_:$ifaceNil;this.Width=Width_!==undefined?Width_:0;this.Height=Height_!==undefined?Height_:0;});T=$pkg.Image=$newType(8,$kindInterface,"image.Image","Image","image",null);V=$pkg.RGBA=$newType(0,$kindStruct,"image.RGBA","RGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});X=$pkg.RGBA64=$newType(0,$kindStruct,"image.RGBA64","RGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});Z=$pkg.NRGBA=$newType(0,$kindStruct,"image.NRGBA","NRGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AB=$pkg.NRGBA64=$newType(0,$kindStruct,"image.NRGBA64","NRGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AD=$pkg.Alpha=$newType(0,$kindStruct,"image.Alpha","Alpha","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AF=$pkg.Alpha16=$newType(0,$kindStruct,"image.Alpha16","Alpha16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AH=$pkg.Gray=$newType(0,$kindStruct,"image.Gray","Gray","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AJ=$pkg.Gray16=$newType(0,$kindStruct,"image.Gray16","Gray16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AL=$pkg.Paletted=$newType(0,$kindStruct,"image.Paletted","Paletted","image",function(Pix_,Stride_,Rect_,Palette_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();this.Palette=Palette_!==undefined?Palette_:E.Palette.nil;});AN=$pkg.Uniform=$newType(0,$kindStruct,"image.Uniform","Uniform","image",function(C_){this.$val=this;this.C=C_!==undefined?C_:$ifaceNil;});AP=$pkg.YCbCrSubsampleRatio=$newType(4,$kindInt,"image.YCbCrSubsampleRatio","YCbCrSubsampleRatio","image",null);AQ=$pkg.YCbCr=$newType(0,$kindStruct,"image.YCbCr","YCbCr","image",function(Y_,Cb_,Cr_,YStride_,CStride_,SubsampleRatio_,Rect_){this.$val=this;this.Y=Y_!==undefined?Y_:AT.nil;this.Cb=Cb_!==undefined?Cb_:AT.nil;this.Cr=Cr_!==undefined?Cr_:AT.nil;this.YStride=YStride_!==undefined?YStride_:0;this.CStride=CStride_!==undefined?CStride_:0;this.SubsampleRatio=SubsampleRatio_!==undefined?SubsampleRatio_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});H=$pkg.RegisterFormat=function(e,f,g,h){G=$append(G,new F.Ptr(e,f,g,h));};J=function(e){var f,g,h;f=$assertType(e,I,true);g=f[0];h=f[1];if(h){return g;}return A.NewReader(e);};K=function(e,f){var g,h,i,j;if(!((e.length===f.$length))){return false;}g=f;h=0;while(h=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+h]);if(!((e.charCodeAt(i)===j))&&!((e.charCodeAt(i)===63))){return false;}h++;}return true;};L=function(e){var f,g,h,i,j,k;f=G;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),F);i=e.Peek(h.magic.length);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&K(h.magic,j)){return h;}g++;}return new F.Ptr("","",$throwNilPointerError,$throwNilPointerError);};M=$pkg.Decode=function(e){var f,g,h,i,j;f=J(e);g=$clone(L(f),F);if(g.decode===$throwNilPointerError){return[$ifaceNil,"",$pkg.ErrFormat];}h=g.decode(f);i=h[0];j=h[1];return[i,g.name,j];};O.Ptr.prototype.String=function(){var e;e=$clone(this,O);return"("+D.Itoa(e.X)+","+D.Itoa(e.Y)+")";};O.prototype.String=function(){return this.$val.String();};O.Ptr.prototype.Add=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X+e.X>>0,f.Y+e.Y>>0);};O.prototype.Add=function(e){return this.$val.Add(e);};O.Ptr.prototype.Sub=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X-e.X>>0,f.Y-e.Y>>0);};O.prototype.Sub=function(e){return this.$val.Sub(e);};O.Ptr.prototype.Mul=function(e){var f;f=$clone(this,O);return new O.Ptr(f.X*e>>0,f.Y*e>>0);};O.prototype.Mul=function(e){return this.$val.Mul(e);};O.Ptr.prototype.Div=function(e){var f,g,h;f=$clone(this,O);return new O.Ptr((g=f.X/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),(h=f.Y/e,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")));};O.prototype.Div=function(e){return this.$val.Div(e);};O.Ptr.prototype.In=function(e){var f;f=$clone(this,O);e=$clone(e,Q);return e.Min.X<=f.X&&f.X>0;}f.Y=(l=f.Y%j,l===l?l:$throwRuntimeError("integer divide by zero"));if(f.Y<0){f.Y=f.Y+(j)>>0;}return f.Add(e.Min);};O.prototype.Mod=function(e){return this.$val.Mod(e);};O.Ptr.prototype.Eq=function(e){var f;f=$clone(this,O);e=$clone(e,O);return(f.X===e.X)&&(f.Y===e.Y);};O.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.String=function(){var e;e=$clone(this,Q);return e.Min.String()+"-"+e.Max.String();};Q.prototype.String=function(){return this.$val.String();};Q.Ptr.prototype.Dx=function(){var e;e=$clone(this,Q);return e.Max.X-e.Min.X>>0;};Q.prototype.Dx=function(){return this.$val.Dx();};Q.Ptr.prototype.Dy=function(){var e;e=$clone(this,Q);return e.Max.Y-e.Min.Y>>0;};Q.prototype.Dy=function(){return this.$val.Dy();};Q.Ptr.prototype.Size=function(){var e;e=$clone(this,Q);return new O.Ptr(e.Max.X-e.Min.X>>0,e.Max.Y-e.Min.Y>>0);};Q.prototype.Size=function(){return this.$val.Size();};Q.Ptr.prototype.Add=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X+e.X>>0,f.Min.Y+e.Y>>0),new O.Ptr(f.Max.X+e.X>>0,f.Max.Y+e.Y>>0));};Q.prototype.Add=function(e){return this.$val.Add(e);};Q.Ptr.prototype.Sub=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X-e.X>>0,f.Min.Y-e.Y>>0),new O.Ptr(f.Max.X-e.X>>0,f.Max.Y-e.Y>>0));};Q.prototype.Sub=function(e){return this.$val.Sub(e);};Q.Ptr.prototype.Inset=function(e){var f,g,h;f=$clone(this,Q);if(f.Dx()<(2*e>>0)){f.Min.X=(g=((f.Min.X+f.Max.X>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));f.Max.X=f.Min.X;}else{f.Min.X=f.Min.X+(e)>>0;f.Max.X=f.Max.X-(e)>>0;}if(f.Dy()<(2*e>>0)){f.Min.Y=(h=((f.Min.Y+f.Max.Y>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));f.Max.Y=f.Min.Y;}else{f.Min.Y=f.Min.Y+(e)>>0;f.Max.Y=f.Max.Y-(e)>>0;}return f;};Q.prototype.Inset=function(e){return this.$val.Inset(e);};Q.Ptr.prototype.Intersect=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.Xe.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y>e.Max.Y){f.Max.Y=e.Max.Y;}if(f.Min.X>f.Max.X||f.Min.Y>f.Max.Y){return $pkg.ZR;}return f;};Q.prototype.Intersect=function(e){return this.$val.Intersect(e);};Q.Ptr.prototype.Union=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.X>e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y>e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X=e.Max.X||e.Min.Y>=e.Max.Y;};Q.prototype.Empty=function(){return this.$val.Empty();};Q.Ptr.prototype.Eq=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return(f.Min.X===e.Min.X)&&(f.Min.Y===e.Min.Y)&&(f.Max.X===e.Max.X)&&(f.Max.Y===e.Max.Y);};Q.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.Overlaps=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return f.Min.Xg){i=g;j=e;e=i;g=j;}if(f>h){k=h;l=f;f=k;h=l;}return new Q.Ptr(new O.Ptr(e,f),new O.Ptr(g,h));};V.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBAModel;};V.prototype.ColorModel=function(){return this.$val.ColorModel();};V.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};V.prototype.Bounds=function(){return this.$val.Bounds();};V.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBAAt(e,f),new h.constructor.Struct(h));};V.prototype.At=function(e,f){return this.$val.At(e,f);};V.Ptr.prototype.RGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};V.prototype.RGBAAt=function(e,f){return this.$val.RGBAAt(e,f);};V.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};V.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};V.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBAModel.Convert(g),E.RGBA),E.RGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};V.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};V.Ptr.prototype.SetRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.RGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};V.prototype.SetRGBA=function(e,f,g){return this.$val.SetRGBA(e,f,g);};V.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new V.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new V.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};V.prototype.SubImage=function(e){return this.$val.SubImage(e);};V.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};V.prototype.Opaque=function(){return this.$val.Opaque();};W=$pkg.NewRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new V.Ptr(j,4*h>>0,$clone(e,Q));};X.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBA64Model;};X.prototype.ColorModel=function(){return this.$val.ColorModel();};X.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};X.prototype.Bounds=function(){return this.$val.Bounds();};X.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBA64At(e,f),new h.constructor.Struct(h));};X.prototype.At=function(e,f){return this.$val.At(e,f);};X.Ptr.prototype.RGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};X.prototype.RGBA64At=function(e,f){return this.$val.RGBA64At(e,f);};X.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};X.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};X.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBA64Model.Convert(g),E.RGBA64),E.RGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};X.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};X.Ptr.prototype.SetRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.RGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};X.prototype.SetRGBA64=function(e,f,g){return this.$val.SetRGBA64(e,f,g);};X.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new X.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new X.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};X.prototype.SubImage=function(e){return this.$val.SubImage(e);};X.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};X.prototype.Opaque=function(){return this.$val.Opaque();};Y=$pkg.NewRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new X.Ptr(j,8*h>>0,$clone(e,Q));};Z.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBAModel;};Z.prototype.ColorModel=function(){return this.$val.ColorModel();};Z.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};Z.prototype.Bounds=function(){return this.$val.Bounds();};Z.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBAAt(e,f),new h.constructor.Struct(h));};Z.prototype.At=function(e,f){return this.$val.At(e,f);};Z.Ptr.prototype.NRGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};Z.prototype.NRGBAAt=function(e,f){return this.$val.NRGBAAt(e,f);};Z.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};Z.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};Z.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBAModel.Convert(g),E.NRGBA),E.NRGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};Z.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};Z.Ptr.prototype.SetNRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.NRGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};Z.prototype.SetNRGBA=function(e,f,g){return this.$val.SetNRGBA(e,f,g);};Z.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new Z.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new Z.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};Z.prototype.SubImage=function(e){return this.$val.SubImage(e);};Z.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};Z.prototype.Opaque=function(){return this.$val.Opaque();};AA=$pkg.NewNRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new Z.Ptr(j,4*h>>0,$clone(e,Q));};AB.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBA64Model;};AB.prototype.ColorModel=function(){return this.$val.ColorModel();};AB.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AB.prototype.Bounds=function(){return this.$val.Bounds();};AB.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBA64At(e,f),new h.constructor.Struct(h));};AB.prototype.At=function(e,f){return this.$val.At(e,f);};AB.Ptr.prototype.NRGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};AB.prototype.NRGBA64At=function(e,f){return this.$val.NRGBA64At(e,f);};AB.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};AB.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AB.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBA64Model.Convert(g),E.NRGBA64),E.NRGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};AB.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AB.Ptr.prototype.SetNRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.NRGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};AB.prototype.SetNRGBA64=function(e,f,g){return this.$val.SetNRGBA64(e,f,g);};AB.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AB.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AB.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AB.prototype.SubImage=function(e){return this.$val.SubImage(e);};AB.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AB.prototype.Opaque=function(){return this.$val.Opaque();};AC=$pkg.NewNRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new AB.Ptr(j,8*h>>0,$clone(e,Q));};AD.Ptr.prototype.ColorModel=function(){var e;e=this;return E.AlphaModel;};AD.prototype.ColorModel=function(){return this.$val.ColorModel();};AD.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AD.prototype.Bounds=function(){return this.$val.Bounds();};AD.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.AlphaAt(e,f),new h.constructor.Struct(h));};AD.prototype.At=function(e,f){return this.$val.At(e,f);};AD.Ptr.prototype.AlphaAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AD.prototype.AlphaAt=function(e,f){return this.$val.AlphaAt(e,f);};AD.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AD.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AD.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.AlphaModel.Convert(g),E.Alpha).A);};AD.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AD.Ptr.prototype.SetAlpha=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Alpha);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.A);};AD.prototype.SetAlpha=function(e,f,g){return this.$val.SetAlpha(e,f,g);};AD.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AD.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AD.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AD.prototype.SubImage=function(e){return this.$val.SubImage(e);};AD.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx();h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(1)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AD.prototype.Opaque=function(){return this.$val.Opaque();};AF.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Alpha16Model;};AF.prototype.ColorModel=function(){return this.$val.ColorModel();};AF.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AF.prototype.Bounds=function(){return this.$val.Bounds();};AF.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Alpha16At(e,f),new h.constructor.Struct(h));};AF.prototype.At=function(e,f){return this.$val.At(e,f);};AF.Ptr.prototype.Alpha16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha16.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AF.prototype.Alpha16At=function(e,f){return this.$val.Alpha16At(e,f);};AF.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AF.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AF.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Alpha16Model.Convert(g),E.Alpha16),E.Alpha16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.A>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.A<<24>>>24));};AF.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AF.Ptr.prototype.SetAlpha16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Alpha16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.A>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.A<<24>>>24));};AF.prototype.SetAlpha16=function(e,f,g){return this.$val.SetAlpha16(e,f,g);};AF.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AF.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AF.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AF.prototype.SubImage=function(e){return this.$val.SubImage(e);};AF.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx()*2>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(2)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AF.prototype.Opaque=function(){return this.$val.Opaque();};AH.Ptr.prototype.ColorModel=function(){var e;e=this;return E.GrayModel;};AH.prototype.ColorModel=function(){return this.$val.ColorModel();};AH.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AH.prototype.Bounds=function(){return this.$val.Bounds();};AH.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.GrayAt(e,f),new h.constructor.Struct(h));};AH.prototype.At=function(e,f){return this.$val.At(e,f);};AH.Ptr.prototype.GrayAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AH.prototype.GrayAt=function(e,f){return this.$val.GrayAt(e,f);};AH.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AH.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AH.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.GrayModel.Convert(g),E.Gray).Y);};AH.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AH.Ptr.prototype.SetGray=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Gray);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.Y);};AH.prototype.SetGray=function(e,f,g){return this.$val.SetGray(e,f,g);};AH.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AH.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AH.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AH.prototype.SubImage=function(e){return this.$val.SubImage(e);};AH.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AH.prototype.Opaque=function(){return this.$val.Opaque();};AI=$pkg.NewGray=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((1*h>>0)*i>>0));return new AH.Ptr(j,1*h>>0,$clone(e,Q));};AJ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Gray16Model;};AJ.prototype.ColorModel=function(){return this.$val.ColorModel();};AJ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AJ.prototype.Bounds=function(){return this.$val.Bounds();};AJ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Gray16At(e,f),new h.constructor.Struct(h));};AJ.prototype.At=function(e,f){return this.$val.At(e,f);};AJ.Ptr.prototype.Gray16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray16.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AJ.prototype.Gray16At=function(e,f){return this.$val.Gray16At(e,f);};AJ.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AJ.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AJ.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Gray16Model.Convert(g),E.Gray16),E.Gray16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.Y>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.Y<<24>>>24));};AJ.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AJ.Ptr.prototype.SetGray16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Gray16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.Y>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.Y<<24>>>24));};AJ.prototype.SetGray16=function(e,f,g){return this.$val.SetGray16(e,f,g);};AJ.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AJ.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AJ.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AJ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AJ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AJ.prototype.Opaque=function(){return this.$val.Opaque();};AK=$pkg.NewGray16=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((2*h>>0)*i>>0));return new AJ.Ptr(j,2*h>>0,$clone(e,Q));};AL.Ptr.prototype.ColorModel=function(){var e;e=this;return e.Palette;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.At=function(e,f){var g,h,i,j,k,l;g=this;if(g.Palette.$length===0){return $ifaceNil;}if(!(new O.Ptr(e,f).In(g.Rect))){return(h=g.Palette,((0<0||0>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));}i=g.PixOffset(e,f);return(j=g.Palette,k=(l=g.Pix,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])),((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));};AL.prototype.At=function(e,f){return this.$val.At(e,f);};AL.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AL.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AL.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=(h.Palette.Index(g)<<24>>>24));};AL.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AL.Ptr.prototype.ColorIndexAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return 0;}h=g.PixOffset(e,f);return(i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));};AL.prototype.ColorIndexAt=function(e,f){return this.$val.ColorIndexAt(e,f);};AL.Ptr.prototype.SetColorIndex=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g);};AL.prototype.SetColorIndex=function(e,f,g){return this.$val.SetColorIndex(e,f,g);};AL.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AL.Ptr(AT.nil,0,new Q.Ptr(),f.Palette);}g=f.PixOffset(e.Min.X,e.Min.Y);return new AL.Ptr($subslice(f.Pix,g),f.Stride,$clone(f.Rect.Intersect(e),Q),f.Palette);};AL.prototype.SubImage=function(e){return this.$val.SubImage(e);};AL.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this;f=$clone(AU.zero(),AU);g=0;h=e.Rect.Dx();i=g;j=h;k=e.Rect.Min.Y;while(k=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);(n<0||n>=f.length)?$throwRuntimeError("index out of range"):f[n]=true;m++;}i=i+(e.Stride)>>0;j=j+(e.Stride)>>0;k=k+(1)>>0;}o=e.Palette;p=0;while(p=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]);if(!((q<0||q>=f.length)?$throwRuntimeError("index out of range"):f[q])){p++;continue;}s=r.RGBA();t=s[3];if(!((t===65535))){return false;}p++;}return true;};AL.prototype.Opaque=function(){return this.$val.Opaque();};AM=$pkg.NewPaletted=function(e,f){var g,h,i,j,k;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=g;j=h;k=AT.make(((1*i>>0)*j>>0));return new AL.Ptr(k,1*i>>0,$clone(e,Q),f);};AN.Ptr.prototype.RGBA=function(){var e=0,f=0,g=0,h=0,i,j;i=this;j=i.C.RGBA();e=j[0];f=j[1];g=j[2];h=j[3];return[e,f,g,h];};AN.prototype.RGBA=function(){return this.$val.RGBA();};AN.Ptr.prototype.ColorModel=function(){var e;e=this;return e;};AN.prototype.ColorModel=function(){return this.$val.ColorModel();};AN.Ptr.prototype.Convert=function(e){var f;f=this;return f.C;};AN.prototype.Convert=function(e){return this.$val.Convert(e);};AN.Ptr.prototype.Bounds=function(){var e;e=this;return new Q.Ptr(new O.Ptr(-1000000000,-1000000000),new O.Ptr(1000000000,1000000000));};AN.prototype.Bounds=function(){return this.$val.Bounds();};AN.Ptr.prototype.At=function(e,f){var g;g=this;return g.C;};AN.prototype.At=function(e,f){return this.$val.At(e,f);};AN.Ptr.prototype.Opaque=function(){var e,f,g;e=this;f=e.C.RGBA();g=f[3];return g===65535;};AN.prototype.Opaque=function(){return this.$val.Opaque();};AO=$pkg.NewUniform=function(e){return new AN.Ptr(e);};AP.prototype.String=function(){var e,f;e=this.$val!==undefined?this.$val:this;f=e;if(f===0){return"YCbCrSubsampleRatio444";}else if(f===1){return"YCbCrSubsampleRatio422";}else if(f===2){return"YCbCrSubsampleRatio420";}else if(f===3){return"YCbCrSubsampleRatio440";}return"YCbCrSubsampleRatioUnknown";};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AQ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.YCbCrModel;};AQ.prototype.ColorModel=function(){return this.$val.ColorModel();};AQ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AQ.prototype.Bounds=function(){return this.$val.Bounds();};AQ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.YCbCrAt(e,f),new h.constructor.Struct(h));};AQ.prototype.At=function(e,f){return this.$val.At(e,f);};AQ.Ptr.prototype.YCbCrAt=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.YCbCr.Ptr(0,0,0);}h=g.YOffset(e,f);i=g.COffset(e,f);return new E.YCbCr.Ptr((j=g.Y,((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])),(k=g.Cb,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),(l=g.Cr,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])));};AQ.prototype.YCbCrAt=function(e,f){return this.$val.YCbCrAt(e,f);};AQ.Ptr.prototype.YOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.YStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.YOffset=function(e,f){return this.$val.YOffset(e,f);};AQ.Ptr.prototype.COffset=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.SubsampleRatio;if(h===1){return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+(((i=e/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"))-(j=g.Rect.Min.X/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===2){return((((k=f/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-(l=g.Rect.Min.Y/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+(((m=e/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))-(n=g.Rect.Min.X/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===3){return((((o=f/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))-(p=g.Rect.Min.Y/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;}return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.COffset=function(e,f){return this.$val.COffset(e,f);};AQ.Ptr.prototype.SubImage=function(e){var f,g,h;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AQ.Ptr(AT.nil,AT.nil,AT.nil,0,0,f.SubsampleRatio,new Q.Ptr());}g=f.YOffset(e.Min.X,e.Min.Y);h=f.COffset(e.Min.X,e.Min.Y);return new AQ.Ptr($subslice(f.Y,g),$subslice(f.Cb,h),$subslice(f.Cr,h),f.YStride,f.CStride,f.SubsampleRatio,$clone(e,Q));};AQ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AQ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AQ.prototype.Opaque=function(){return this.$val.Opaque();};AR=$pkg.NewYCbCr=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=0;j=0;k=g;l=h;m=i;n=j;o=f;if(o===1){m=(p=((e.Max.X+1>>0))/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))-(q=e.Min.X/2,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))>>0;n=l;}else if(o===2){m=(r=((e.Max.X+1>>0))/2,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"))-(s=e.Min.X/2,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"))>>0;n=(t=((e.Max.Y+1>>0))/2,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"))-(u=e.Min.Y/2,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0;}else if(o===3){m=k;n=(v=((e.Max.Y+1>>0))/2,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))-(w=e.Min.Y/2,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0;}else{m=k;n=l;}x=AV.make(((k*l>>0)+((2*m>>0)*n>>0)>>0));return new AQ.Ptr($subslice(x,0,(k*l>>0)),$subslice(x,((k*l>>0)+((0*m>>0)*n>>0)>>0),((k*l>>0)+((1*m>>0)*n>>0)>>0)),$subslice(x,((k*l>>0)+((1*m>>0)*n>>0)>>0),((k*l>>0)+((2*m>>0)*n>>0)>>0)),k,m,f,$clone(e,Q));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AS=$sliceType(F);AT=$sliceType($Uint8);AU=$arrayType($Bool,256);AV=$sliceType($Uint8);AW=$funcType([C.Reader],[T,$error],false);AX=$funcType([C.Reader],[S,$error],false);AY=$ptrType(O);AZ=$ptrType(Q);BA=$ptrType(V);BB=$ptrType(X);BC=$ptrType(Z);BD=$ptrType(AB);BE=$ptrType(AD);BF=$ptrType(AF);BG=$ptrType(AH);BH=$ptrType(AJ);BI=$ptrType(AL);BJ=$ptrType(AN);BK=$ptrType(AP);BL=$ptrType(AQ);F.init([["name","name","image",$String,""],["magic","magic","image",$String,""],["decode","decode","image",AW,""],["decodeConfig","decodeConfig","image",AX,""]]);I.init([["Peek","Peek","",$funcType([$Int],[AV,$error],false)],["Read","Read","",$funcType([AV],[$Int,$error],false)]]);O.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];AY.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];O.init([["X","X","",$Int,""],["Y","Y","",$Int,""]]);Q.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];AZ.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];Q.init([["Min","Min","",O,""],["Max","Max","",O,""]]);S.init([["ColorModel","ColorModel","",E.Model,""],["Width","Width","",$Int,""],["Height","Height","",$Int,""]]);T.init([["At","At","",$funcType([$Int,$Int],[E.Color],false)],["Bounds","Bounds","",$funcType([],[Q],false)],["ColorModel","ColorModel","",$funcType([],[E.Model],false)]]);BA.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBAAt","RGBAAt","",$funcType([$Int,$Int],[E.RGBA],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA","SetRGBA","",$funcType([$Int,$Int,E.RGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];V.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BB.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBA64At","RGBA64At","",$funcType([$Int,$Int],[E.RGBA64],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA64","SetRGBA64","",$funcType([$Int,$Int,E.RGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];X.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BC.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBAAt","NRGBAAt","",$funcType([$Int,$Int],[E.NRGBA],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA","SetNRGBA","",$funcType([$Int,$Int,E.NRGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];Z.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BD.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBA64At","NRGBA64At","",$funcType([$Int,$Int],[E.NRGBA64],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA64","SetNRGBA64","",$funcType([$Int,$Int,E.NRGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AB.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BE.methods=[["AlphaAt","AlphaAt","",$funcType([$Int,$Int],[E.Alpha],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha","SetAlpha","",$funcType([$Int,$Int,E.Alpha],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AD.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BF.methods=[["Alpha16At","Alpha16At","",$funcType([$Int,$Int],[E.Alpha16],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha16","SetAlpha16","",$funcType([$Int,$Int,E.Alpha16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AF.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BG.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["GrayAt","GrayAt","",$funcType([$Int,$Int],[E.Gray],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray","SetGray","",$funcType([$Int,$Int,E.Gray],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AH.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BH.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Gray16At","Gray16At","",$funcType([$Int,$Int],[E.Gray16],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray16","SetGray16","",$funcType([$Int,$Int,E.Gray16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AJ.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BI.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorIndexAt","ColorIndexAt","",$funcType([$Int,$Int],[$Uint8],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetColorIndex","SetColorIndex","",$funcType([$Int,$Int,$Uint8],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AL.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""],["Palette","Palette","",E.Palette,""]]);BJ.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Convert","Convert","",$funcType([E.Color],[E.Color],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AN.init([["C","C","",E.Color,""]]);AP.methods=[["String","String","",$funcType([],[$String],false),-1]];BK.methods=[["String","String","",$funcType([],[$String],false),-1]];BL.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["COffset","COffset","",$funcType([$Int,$Int],[$Int],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1],["YCbCrAt","YCbCrAt","",$funcType([$Int,$Int],[E.YCbCr],false),-1],["YOffset","YOffset","",$funcType([$Int,$Int],[$Int],false),-1]];AQ.init([["Y","Y","",AT,""],["Cb","Cb","",AT,""],["Cr","Cr","",AT,""],["YStride","YStride","",$Int,""],["CStride","CStride","",$Int,""],["SubsampleRatio","SubsampleRatio","",AP,""],["Rect","Rect","",Q,""]]);G=AS.nil;$pkg.ZP=new O.Ptr();$pkg.ZR=new Q.Ptr();$pkg.ErrFormat=B.New("image: unknown format");$pkg.Black=AO((a=E.Black,new a.constructor.Struct(a)));$pkg.White=AO((b=E.White,new b.constructor.Struct(b)));$pkg.Transparent=AO((c=E.Transparent,new c.constructor.Struct(c)));$pkg.Opaque=AO((d=E.Opaque,new d.constructor.Struct(d)));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/draw"]=(function(){var $pkg={},A,B,X,Y,Z,AA,AB,AC,AD,AE,AF,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V;A=$packages["image"];B=$packages["image/color"];H=function(b,c,d,e,f,g){var h,i,j;h=$clone(c.Min,A.Point);$copy(c,c.Intersect(b.Bounds()),A.Rectangle);$copy(c,c.Intersect(d.Bounds().Add(h.Sub(e))),A.Rectangle);if(!($interfaceIsEqual(f,$ifaceNil))){$copy(c,c.Intersect(f.Bounds().Add(h.Sub(g))),A.Rectangle);}i=c.Min.X-h.X>>0;j=c.Min.Y-h.Y>>0;if((i===0)&&(j===0)){return;}e.X=(e).X+(i)>>0;e.Y=(e).Y+(j)>>0;g.X=(g).X+(i)>>0;g.Y=(g).Y+(j)>>0;};I=function(b,c,d,e){e=$clone(e,A.Point);c=$clone(c,A.Rectangle);return $interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))&&(e.Y>0;ag=w-1>>0;ah=-1;w=af;x=ag;y=ah;ai=ad-1>>0;aj=ac-1>>0;ak=-1;ac=ai;ad=aj;ae=ak;}al=$clone(new B.RGBA64.Ptr(),B.RGBA64);am=(e.Y+ac>>0)-c.Min.Y>>0;an=(g.Y+ac>>0)-c.Min.Y>>0;ao=ac;while(!((ao===ad))){ap=(e.X+w>>0)-c.Min.X>>0;aq=(g.X+w>>0)-c.Min.X>>0;ar=w;while(!((ar===x))){as=65535;if(!($interfaceIsEqual(f,$ifaceNil))){at=f.At(aq,an).RGBA();as=at[3];}if(as===0){if(h===0){}else{b.Set(ar,ao,(au=B.Transparent,new au.constructor.Struct(au)));}}else if((as===65535)&&(h===1)){b.Set(ar,ao,d.At(ap,am));}else{av=d.At(ap,am).RGBA();aw=av[0];ax=av[1];ay=av[2];az=av[3];if(h===0){ba=b.At(ar,ao).RGBA();bb=ba[0];bc=ba[1];bd=ba[2];be=ba[3];bg=65535-((bf=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bf===bf&&bf!==1/0&&bf!==-1/0)?bf>>>0:$throwRuntimeError("integer divide by zero")))>>>0;al.R=((bh=((((((bb>>>16<<16)*bg>>>0)+(bb<<16>>>16)*bg)>>>0)+((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)>>>0))/65535,(bh===bh&&bh!==1/0&&bh!==-1/0)?bh>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bi=((((((bc>>>16<<16)*bg>>>0)+(bc<<16>>>16)*bg)>>>0)+((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)>>>0))/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bj=((((((bd>>>16<<16)*bg>>>0)+(bd<<16>>>16)*bg)>>>0)+((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)>>>0))/65535,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bk=((((((be>>>16<<16)*bg>>>0)+(be<<16>>>16)*bg)>>>0)+((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}else{al.R=((bl=((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)/65535,(bl===bl&&bl!==1/0&&bl!==-1/0)?bl>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bm=((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)/65535,(bm===bm&&bm!==1/0&&bm!==-1/0)?bm>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bn=((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bo=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bo===bo&&bo!==1/0&&bo!==-1/0)?bo>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}b.Set(ar,ao,al);}bp=ar+y>>0;bq=ap+y>>0;br=aq+y>>0;ar=bp;ap=bq;aq=br;}bs=ao+ae>>0;bt=am+ae>>0;bu=an+ae>>0;ao=bs;am=bt;an=bu;}};L=function(b,c,d){var e,f,g,h,i,j,k,l,m,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;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];k=(j=(65535-i>>>0),(((j>>>16<<16)*257>>>0)+(j<<16>>>16)*257)>>>0);l=b.PixOffset(c.Min.X,c.Min.Y);m=l+(c.Dx()*4>>0)>>0;n=c.Min.Y;while(!((n===c.Max.Y))){o=l;while(o>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>>0);u=((s=b.Pix,t=o+1>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))>>>0);x=((v=b.Pix,w=o+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]))>>>0);aa=((y=b.Pix,z=o+3>>0,((z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]))>>>0);(ac=b.Pix,ad=o+0>>0,(ad<0||ad>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ad]=(((((ab=((((r>>>16<<16)*k>>>0)+(r<<16>>>16)*k)>>>0)/65535,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"))+f>>>0))>>>8>>>0)<<24>>>24));(af=b.Pix,ag=o+1>>0,(ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]=(((((ae=((((u>>>16<<16)*k>>>0)+(u<<16>>>16)*k)>>>0)/65535,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>>0:$throwRuntimeError("integer divide by zero"))+g>>>0))>>>8>>>0)<<24>>>24));(ai=b.Pix,aj=o+2>>0,(aj<0||aj>=ai.$length)?$throwRuntimeError("index out of range"):ai.$array[ai.$offset+aj]=(((((ah=((((x>>>16<<16)*k>>>0)+(x<<16>>>16)*k)>>>0)/65535,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>>0:$throwRuntimeError("integer divide by zero"))+h>>>0))>>>8>>>0)<<24>>>24));(al=b.Pix,am=o+3>>0,(am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]=(((((ak=((((aa>>>16<<16)*k>>>0)+(aa<<16>>>16)*k)>>>0)/65535,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>>0:$throwRuntimeError("integer divide by zero"))+i>>>0))>>>8>>>0)<<24>>>24));o=o+(4)>>0;}l=l+(b.Stride)>>0;m=m+(b.Stride)>>0;n=n+(1)>>0;}};M=function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];j=b.PixOffset(c.Min.X,c.Min.Y);k=j+(c.Dx()*4>>0)>>0;l=j;while(l>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=((f>>>8>>>0)<<24>>>24));(o=b.Pix,p=l+1>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((g>>>8>>>0)<<24>>>24));(q=b.Pix,r=l+2>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=((h>>>8>>>0)<<24>>>24));(s=b.Pix,t=l+3>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((i>>>8>>>0)<<24>>>24));l=l+(4)>>0;}u=$subslice(b.Pix,j,k);v=c.Min.Y+1>>0;while(v>0;k=k+(b.Stride)>>0;$copySlice($subslice(b.Pix,j,k),u);v=v+(1)>>0;}};N=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=c.Dx();g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;p=0;q=0;r=0;s=p;t=q;u=r;if(c.Min.Y>0;x=4;s=v;t=w;u=x;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;y=((h-1>>0))*4>>0;z=-4;aa=-4;s=y;t=z;u=aa;}while(i>0){ab=$subslice(b.Pix,j);ac=$subslice(d.Pix,k);ad=s;while(!((ad===t))){ag=(ae=((af=ad+0>>0,((af<0||af>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+af]))>>>0),(((ae>>>16<<16)*257>>>0)+(ae<<16>>>16)*257)>>>0);aj=(ah=((ai=ad+1>>0,((ai<0||ai>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ai]))>>>0),(((ah>>>16<<16)*257>>>0)+(ah<<16>>>16)*257)>>>0);am=(ak=((al=ad+2>>0,((al<0||al>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+al]))>>>0),(((ak>>>16<<16)*257>>>0)+(ak<<16>>>16)*257)>>>0);ap=(an=((ao=ad+3>>0,((ao<0||ao>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ao]))>>>0),(((an>>>16<<16)*257>>>0)+(an<<16>>>16)*257)>>>0);ar=((aq=ad+0>>0,((aq<0||aq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aq]))>>>0);at=((as=ad+1>>0,((as<0||as>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+as]))>>>0);av=((au=ad+2>>0,((au<0||au>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+au]))>>>0);ax=((aw=ad+3>>0,((aw<0||aw>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aw]))>>>0);az=(ay=(65535-ap>>>0),(((ay>>>16<<16)*257>>>0)+(ay<<16>>>16)*257)>>>0);(bb=ad+0>>0,(bb<0||bb>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bb]=(((((ba=((((ar>>>16<<16)*az>>>0)+(ar<<16>>>16)*az)>>>0)/65535,(ba===ba&&ba!==1/0&&ba!==-1/0)?ba>>>0:$throwRuntimeError("integer divide by zero"))+ag>>>0))>>>8>>>0)<<24>>>24));(bd=ad+1>>0,(bd<0||bd>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bd]=(((((bc=((((at>>>16<<16)*az>>>0)+(at<<16>>>16)*az)>>>0)/65535,(bc===bc&&bc!==1/0&&bc!==-1/0)?bc>>>0:$throwRuntimeError("integer divide by zero"))+aj>>>0))>>>8>>>0)<<24>>>24));(bf=ad+2>>0,(bf<0||bf>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bf]=(((((be=((((av>>>16<<16)*az>>>0)+(av<<16>>>16)*az)>>>0)/65535,(be===be&&be!==1/0&&be!==-1/0)?be>>>0:$throwRuntimeError("integer divide by zero"))+am>>>0))>>>8>>>0)<<24>>>24));(bh=ad+3>>0,(bh<0||bh>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bh]=(((((bg=((((ax>>>16<<16)*az>>>0)+(ax<<16>>>16)*az)>>>0)/65535,(bg===bg&&bg!==1/0&&bg!==-1/0)?bg>>>0:$throwRuntimeError("integer divide by zero"))+ap>>>0))>>>8>>>0)<<24>>>24));ad=ad+(u)>>0;}j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};O=function(b,c,d,e){var f,g,h,i,j,k,l,m,n,o;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=4*c.Dx()>>0;g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;if(c.Min.Y<=e.Y){n=b.Stride;o=d.Stride;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;}while(i>0){$copySlice($subslice(b.Pix,j,(j+h>>0)),$subslice(d.Pix,k,(k+h>>0)));j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};P=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));ah=((ag=p+0>>0,((ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]))>>>0);aj=((ai=p+1>>0,((ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]))>>>0);al=((ak=p+2>>0,((ak<0||ak>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ak]))>>>0);an=((am=p+3>>0,((am<0||am>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+am]))>>>0);ap=(ao=(65535-t>>>0),(((ao>>>16<<16)*257>>>0)+(ao<<16>>>16)*257)>>>0);(ar=p+0>>0,(ar<0||ar>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ar]=(((((aq=((((ah>>>16<<16)*ap>>>0)+(ah<<16>>>16)*ap)>>>0)/65535,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>>0:$throwRuntimeError("integer divide by zero"))+x>>>0))>>>8>>>0)<<24>>>24));(at=p+1>>0,(at<0||at>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+at]=(((((as=((((aj>>>16<<16)*ap>>>0)+(aj<<16>>>16)*ap)>>>0)/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))+ab>>>0))>>>8>>>0)<<24>>>24));(av=p+2>>0,(av<0||av>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+av]=(((((au=((((al>>>16<<16)*ap>>>0)+(al<<16>>>16)*ap)>>>0)/65535,(au===au&&au!==1/0&&au!==-1/0)?au>>>0:$throwRuntimeError("integer divide by zero"))+af>>>0))>>>8>>>0)<<24>>>24));(ax=p+3>>0,(ax<0||ax>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ax]=(((((aw=((((an>>>16<<16)*ap>>>0)+(an<<16>>>16)*ap)>>>0)/65535,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>>0:$throwRuntimeError("integer divide by zero"))+t>>>0))>>>8>>>0)<<24>>>24));ay=p+4>>0;az=q+4>>0;p=ay;q=az;}ba=j+1>>0;bb=k+1>>0;j=ba;k=bb;}};Q=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));(ag=p+0>>0,(ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]=((x>>>8>>>0)<<24>>>24));(ah=p+1>>0,(ah<0||ah>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ah]=((ab>>>8>>>0)<<24>>>24));(ai=p+2>>0,(ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]=((af>>>8>>>0)<<24>>>24));(aj=p+3>>0,(aj<0||aj>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+aj]=((t>>>8>>>0)<<24>>>24));ak=p+4>>0;al=q+4>>0;p=ak;q=al;}am=j+1>>0;an=k+1>>0;j=am;k=an;}};R=function(b,c,d,e){var f=false,g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=((c.Min.X-b.Rect.Min.X>>0))*4>>0;h=((c.Max.X-b.Rect.Min.X>>0))*4>>0;i=c.Min.Y-b.Rect.Min.Y>>0;j=c.Max.Y-b.Rect.Min.Y>>0;k=d.SubsampleRatio;if(k===0){l=i;m=e.Y;n=l;o=m;while(!((n===j))){p=$subslice(b.Pix,(n*b.Stride>>0));q=(((o-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;r=(((o-d.Rect.Min.Y>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;s=g;while(!((s===h))){t=B.YCbCrToRGB((u=d.Y,((q<0||q>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+q])),(v=d.Cb,((r<0||r>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+r])),(w=d.Cr,((r<0||r>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+r])));x=t[0];y=t[1];z=t[2];(aa=s+0>>0,(aa<0||aa>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+aa]=x);(ab=s+1>>0,(ab<0||ab>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ab]=y);(ac=s+2>>0,(ac<0||ac>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ac]=z);(ad=s+3>>0,(ad<0||ad>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ad]=255);ae=s+4>>0;af=q+1>>0;ag=r+1>>0;s=ae;q=af;r=ag;}ah=n+1>>0;ai=o+1>>0;n=ah;o=ai;}}else if(k===1){aj=i;ak=e.Y;al=aj;am=ak;while(!((al===j))){an=$subslice(b.Pix,(al*b.Stride>>0));ao=(((am-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;aq=(((am-d.Rect.Min.Y>>0))*d.CStride>>0)-(ap=d.Rect.Min.X/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"))>>0;ar=g;as=e.X;at=ar;au=as;while(!((at===h))){aw=aq+(av=au/2,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"))>>0;ax=B.YCbCrToRGB((ay=d.Y,((ao<0||ao>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+ao])),(az=d.Cb,((aw<0||aw>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+aw])),(ba=d.Cr,((aw<0||aw>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+aw])));bb=ax[0];bc=ax[1];bd=ax[2];(be=at+0>>0,(be<0||be>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+be]=bb);(bf=at+1>>0,(bf<0||bf>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bf]=bc);(bg=at+2>>0,(bg<0||bg>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bg]=bd);(bh=at+3>>0,(bh<0||bh>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bh]=255);bi=at+4>>0;bj=au+1>>0;bk=ao+1>>0;at=bi;au=bj;ao=bk;}bl=al+1>>0;bm=am+1>>0;al=bl;am=bm;}}else if(k===2){bn=i;bo=e.Y;bp=bn;bq=bo;while(!((bp===j))){br=$subslice(b.Pix,(bp*b.Stride>>0));bs=(((bq-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;bw=((((bt=bq/2,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>0:$throwRuntimeError("integer divide by zero"))-(bu=d.Rect.Min.Y/2,(bu===bu&&bu!==1/0&&bu!==-1/0)?bu>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)-(bv=d.Rect.Min.X/2,(bv===bv&&bv!==1/0&&bv!==-1/0)?bv>>0:$throwRuntimeError("integer divide by zero"))>>0;bx=g;by=e.X;bz=bx;ca=by;while(!((bz===h))){cc=bw+(cb=ca/2,(cb===cb&&cb!==1/0&&cb!==-1/0)?cb>>0:$throwRuntimeError("integer divide by zero"))>>0;cd=B.YCbCrToRGB((ce=d.Y,((bs<0||bs>=ce.$length)?$throwRuntimeError("index out of range"):ce.$array[ce.$offset+bs])),(cf=d.Cb,((cc<0||cc>=cf.$length)?$throwRuntimeError("index out of range"):cf.$array[cf.$offset+cc])),(cg=d.Cr,((cc<0||cc>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+cc])));ch=cd[0];ci=cd[1];cj=cd[2];(ck=bz+0>>0,(ck<0||ck>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+ck]=ch);(cl=bz+1>>0,(cl<0||cl>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cl]=ci);(cm=bz+2>>0,(cm<0||cm>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cm]=cj);(cn=bz+3>>0,(cn<0||cn>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cn]=255);co=bz+4>>0;cp=ca+1>>0;cq=bs+1>>0;bz=co;ca=cp;bs=cq;}cr=bp+1>>0;cs=bq+1>>0;bp=cr;bq=cs;}}else if(k===3){ct=i;cu=e.Y;cv=ct;cw=cu;while(!((cv===j))){cx=$subslice(b.Pix,(cv*b.Stride>>0));cy=(((cw-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;db=((((cz=cw/2,(cz===cz&&cz!==1/0&&cz!==-1/0)?cz>>0:$throwRuntimeError("integer divide by zero"))-(da=d.Rect.Min.Y/2,(da===da&&da!==1/0&&da!==-1/0)?da>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;dc=g;while(!((dc===h))){dd=B.YCbCrToRGB((de=d.Y,((cy<0||cy>=de.$length)?$throwRuntimeError("index out of range"):de.$array[de.$offset+cy])),(df=d.Cb,((db<0||db>=df.$length)?$throwRuntimeError("index out of range"):df.$array[df.$offset+db])),(dg=d.Cr,((db<0||db>=dg.$length)?$throwRuntimeError("index out of range"):dg.$array[dg.$offset+db])));dh=dd[0];di=dd[1];dj=dd[2];(dk=dc+0>>0,(dk<0||dk>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dk]=dh);(dl=dc+1>>0,(dl<0||dl>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dl]=di);(dm=dc+2>>0,(dm<0||dm>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dm]=dj);(dn=dc+3>>0,(dn<0||dn>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dn]=255);dp=dc+4>>0;dq=cy+1>>0;dr=db+1>>0;dc=dp;cy=dq;db=dr;}ds=cv+1>>0;dt=cw+1>>0;cv=ds;cw=dt;}}else{f=false;return f;}f=true;return f;};S=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be;f=$clone(f,A.Point);c=$clone(c,A.Rectangle);g=b.PixOffset(c.Min.X,c.Min.Y);h=g+(c.Dx()*4>>0)>>0;i=e.PixOffset(f.X,f.Y);j=d.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=c.Min.Y;p=f.Y;q=o;r=p;while(!((q===c.Max.Y))){s=g;t=i;u=s;v=t;while(u=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+v]))>>>0);if(x===0){y=u+4>>0;z=v+1>>0;u=y;v=z;continue;}x=(x|((x<<8>>>0)))>>>0;ac=((aa=b.Pix,ab=u+0>>0,((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]))>>>0);af=((ad=b.Pix,ae=u+1>>0,((ae<0||ae>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]))>>>0);ai=((ag=b.Pix,ah=u+2>>0,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]))>>>0);al=((aj=b.Pix,ak=u+3>>0,((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]))>>>0);ao=(am=(65535-((an=((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((am>>>16<<16)*257>>>0)+(am<<16>>>16)*257)>>>0);(aq=b.Pix,ar=u+0>>0,(ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=(((ap=((((((ac>>>16<<16)*ao>>>0)+(ac<<16>>>16)*ao)>>>0)+((((k>>>16<<16)*x>>>0)+(k<<16>>>16)*x)>>>0)>>>0))/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(at=b.Pix,au=u+1>>0,(au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=(((as=((((((af>>>16<<16)*ao>>>0)+(af<<16>>>16)*ao)>>>0)+((((l>>>16<<16)*x>>>0)+(l<<16>>>16)*x)>>>0)>>>0))/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(aw=b.Pix,ax=u+2>>0,(ax<0||ax>=aw.$length)?$throwRuntimeError("index out of range"):aw.$array[aw.$offset+ax]=(((av=((((((ai>>>16<<16)*ao>>>0)+(ai<<16>>>16)*ao)>>>0)+((((m>>>16<<16)*x>>>0)+(m<<16>>>16)*x)>>>0)>>>0))/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(az=b.Pix,ba=u+3>>0,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=(((ay=((((((al>>>16<<16)*ao>>>0)+(al<<16>>>16)*ao)>>>0)+((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)>>>0))/65535,(ay===ay&&ay!==1/0&&ay!==-1/0)?ay>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));bb=u+4>>0;bc=v+1>>0;u=bb;v=bc;}g=g+(b.Stride)>>0;h=h+(b.Stride)>>0;i=i+(e.Stride)>>0;bd=q+1>>0;be=r+1>>0;q=bd;r=be;}};T=function(b,c,d,e,f,g,h){var i,j,k,l,m,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,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;g=$clone(g,A.Point);e=$clone(e,A.Point);c=$clone(c,A.Rectangle);i=c.Min.X;j=c.Max.X;k=1;l=i;m=j;n=k;o=c.Min.Y;p=c.Max.Y;q=1;r=o;s=p;t=q;if($interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))){if(e.Y>0;v=l-1>>0;w=-1;l=u;m=v;n=w;x=s-1>>0;y=r-1>>0;z=-1;r=x;s=y;t=z;}}aa=(e.Y+r>>0)-c.Min.Y>>0;ab=(g.Y+r>>0)-c.Min.Y>>0;ac=(e.X+l>>0)-c.Min.X>>0;ad=(g.X+l>>0)-c.Min.X>>0;ae=ac+((m-l>>0))>>0;af=b.PixOffset(l,r);ag=n*4>>0;ah=r;while(!((ah===s))){ai=af;aj=ac;ak=ad;al=ai;am=aj;an=ak;while(!((am===ae))){ao=65535;if(!($interfaceIsEqual(f,$ifaceNil))){ap=f.At(an,ab).RGBA();ao=ap[3];}aq=d.At(am,aa).RGBA();ar=aq[0];as=aq[1];at=aq[2];au=aq[3];if(h===0){ax=((av=b.Pix,aw=al+0>>0,((aw<0||aw>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]))>>>0);ba=((ay=b.Pix,az=al+1>>0,((az<0||az>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+az]))>>>0);bd=((bb=b.Pix,bc=al+2>>0,((bc<0||bc>=bb.$length)?$throwRuntimeError("index out of range"):bb.$array[bb.$offset+bc]))>>>0);bg=((be=b.Pix,bf=al+3>>0,((bf<0||bf>=be.$length)?$throwRuntimeError("index out of range"):be.$array[be.$offset+bf]))>>>0);bj=(bh=(65535-((bi=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((bh>>>16<<16)*257>>>0)+(bh<<16>>>16)*257)>>>0);(bl=b.Pix,bm=al+0>>0,(bm<0||bm>=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bm]=(((bk=((((((ax>>>16<<16)*bj>>>0)+(ax<<16>>>16)*bj)>>>0)+((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bo=b.Pix,bp=al+1>>0,(bp<0||bp>=bo.$length)?$throwRuntimeError("index out of range"):bo.$array[bo.$offset+bp]=(((bn=((((((ba>>>16<<16)*bj>>>0)+(ba<<16>>>16)*bj)>>>0)+((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)>>>0))/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(br=b.Pix,bs=al+2>>0,(bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]=(((bq=((((((bd>>>16<<16)*bj>>>0)+(bd<<16>>>16)*bj)>>>0)+((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)>>>0))/65535,(bq===bq&&bq!==1/0&&bq!==-1/0)?bq>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bu=b.Pix,bv=al+3>>0,(bv<0||bv>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bv]=(((bt=((((((bg>>>16<<16)*bj>>>0)+(bg<<16>>>16)*bj)>>>0)+((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)>>>0))/65535,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}else{(bx=b.Pix,by=al+0>>0,(by<0||by>=bx.$length)?$throwRuntimeError("index out of range"):bx.$array[bx.$offset+by]=(((bw=((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)/65535,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(ca=b.Pix,cb=al+1>>0,(cb<0||cb>=ca.$length)?$throwRuntimeError("index out of range"):ca.$array[ca.$offset+cb]=(((bz=((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)/65535,(bz===bz&&bz!==1/0&&bz!==-1/0)?bz>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cd=b.Pix,ce=al+2>>0,(ce<0||ce>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+ce]=(((cc=((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cg=b.Pix,ch=al+3>>0,(ch<0||ch>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+ch]=(((cf=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}ci=al+ag>>0;cj=am+n>>0;ck=an+n>>0;al=ci;am=cj;an=ck;}af=af+((t*b.Stride>>0))>>0;cl=ah+t>>0;cm=aa+t>>0;cn=ab+t>>0;ah=cl;aa=cm;ab=cn;}};U=function(b){if(b<0){return 0;}if(b>65535){return 65535;}return b;};V=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=AE.nil;h=AF.nil;i=0;j=g;k=h;l=i;m=$assertType(b,Y,true);n=m[0];o=m[1];if(o){j=AE.make(n.Palette.$length);p=n.Palette;q=0;while(q=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]);t=s.RGBA();u=t[0];v=t[1];w=t[2];((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[0]=(u>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[1]=(v>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[2]=(w>>0);q++;}x=$subslice(n.Pix,n.PixOffset(c.Min.X,c.Min.Y));y=n.Stride;k=x;l=y;}z=AE.nil;aa=AE.nil;ab=z;ac=aa;if(f){ab=AE.make((c.Dx()+2>>0));ac=AE.make((c.Dx()+2>>0));}ad=new B.RGBA64.Ptr(0,0,0,65535);ae=0;while(!((ae===c.Dy()))){af=0;while(!((af===c.Dx()))){ag=d.At(e.X+af>>0,e.Y+ae>>0).RGBA();ah=ag[0];ai=ag[1];aj=ag[2];ak=(ah>>0);al=(ai>>0);am=(aj>>0);an=ak;ao=al;ap=am;if(f){an=U(an+(aq=(ar=af+1>>0,((ar<0||ar>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ar]))[0]/16,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero"))>>0);ao=U(ao+(as=(at=af+1>>0,((at<0||at>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+at]))[1]/16,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>0);ap=U(ap+(au=(av=af+1>>0,((av<0||av>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+av]))[2]/16,(au===au&&au!==1/0&&au!==-1/0)?au>>0:$throwRuntimeError("integer divide by zero"))>>0);}if(!(j===AE.nil)){aw=0;ax=4294967295;ay=aw;az=ax;ba=j;bb=0;while(bb=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+bb]),AD);be=((an-bd[0]>>0))>>1>>0;bf=(((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0);be=((ao-bd[1]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;be=((ap-bd[2]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;if(bf>0)+af>>0,(bi<0||bi>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bi]=(ay<<24>>>24));if(!f){af=af+(1)>>0;continue;}an=an-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[0])>>0;ao=ao-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[1])>>0;ap=ap-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[2])>>0;}else{ad.R=(an<<16>>>16);ad.G=(ao<<16>>>16);ad.B=(ap<<16>>>16);b.Set(c.Min.X+af>>0,c.Min.Y+ae>>0,ad);if(!f){af=af+(1)>>0;continue;}bj=b.At(c.Min.X+af>>0,c.Min.Y+ae>>0).RGBA();ah=bj[0];ai=bj[1];aj=bj[2];an=an-((ah>>0))>>0;ao=ao-((ai>>0))>>0;ap=ap-((aj>>0))>>0;}bk=(bm=af+0>>0,((bm<0||bm>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bm]));bl=0;(bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl]=((bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl])+(((((an>>>16<<16)*3>>0)+(an<<16>>>16)*3)>>0))>>0;bn=(bp=af+0>>0,((bp<0||bp>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bp]));bo=1;(bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo]=((bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo])+(((((ao>>>16<<16)*3>>0)+(ao<<16>>>16)*3)>>0))>>0;bq=(bs=af+0>>0,((bs<0||bs>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bs]));br=2;(br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br]=((br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br])+(((((ap>>>16<<16)*3>>0)+(ap<<16>>>16)*3)>>0))>>0;bt=(bv=af+1>>0,((bv<0||bv>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bv]));bu=0;(bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu]=((bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu])+(((((an>>>16<<16)*5>>0)+(an<<16>>>16)*5)>>0))>>0;bw=(by=af+1>>0,((by<0||by>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+by]));bx=1;(bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx]=((bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx])+(((((ao>>>16<<16)*5>>0)+(ao<<16>>>16)*5)>>0))>>0;bz=(cb=af+1>>0,((cb<0||cb>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cb]));ca=2;(ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca]=((ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca])+(((((ap>>>16<<16)*5>>0)+(ap<<16>>>16)*5)>>0))>>0;cc=(ce=af+2>>0,((ce<0||ce>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ce]));cd=0;(cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd]=((cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd])+(((((an>>>16<<16)*1>>0)+(an<<16>>>16)*1)>>0))>>0;cf=(ch=af+2>>0,((ch<0||ch>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ch]));cg=1;(cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg]=((cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg])+(((((ao>>>16<<16)*1>>0)+(ao<<16>>>16)*1)>>0))>>0;ci=(ck=af+2>>0,((ck<0||ck>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ck]));cj=2;(cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj]=((cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj])+(((((ap>>>16<<16)*1>>0)+(ap<<16>>>16)*1)>>0))>>0;cl=(cn=af+2>>0,((cn<0||cn>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cn]));cm=0;(cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm]=((cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm])+(((((an>>>16<<16)*7>>0)+(an<<16>>>16)*7)>>0))>>0;co=(cq=af+2>>0,((cq<0||cq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cq]));cp=1;(cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp]=((cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp])+(((((ao>>>16<<16)*7>>0)+(ao<<16>>>16)*7)>>0))>>0;cr=(ct=af+2>>0,((ct<0||ct>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ct]));cs=2;(cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs]=((cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs])+(((((ap>>>16<<16)*7>>0)+(ap<<16>>>16)*7)>>0))>>0;af=af+(1)>>0;}if(f){cu=ac;cv=ab;ab=cu;ac=cv;cw=ac;cx=0;while(cx=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cy]),AD.zero(),AD);cx++;}}ae=ae+(1)>>0;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}X=$ptrType(A.RGBA);Y=$ptrType(A.Paletted);Z=$ptrType(A.Uniform);AA=$ptrType(A.NRGBA);AB=$ptrType(A.YCbCr);AC=$ptrType(A.Alpha);AD=$arrayType($Int32,3);AE=$sliceType(AD);AF=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal/graphics"]=(function(){var $pkg={},D,A,B,C,E,F,Q,R,S,T,U,V,W,X,H,K,L,N,G,I,J,M,O,P;D=$packages["errors"];A=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics/internal/shader"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];E=$packages["image"];F=$packages["image/draw"];H=$pkg.Framebuffer=$newType(0,$kindStruct,"graphics.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_,flipY_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flipY=flipY_!==undefined?flipY_:false;});K=$pkg.Matrix=$newType(8,$kindInterface,"graphics.Matrix","Matrix","github.com/hajimehoshi/ebiten/internal/graphics",null);L=$pkg.TextureQuads=$newType(8,$kindInterface,"graphics.TextureQuads","TextureQuads","github.com/hajimehoshi/ebiten/internal/graphics",null);N=$pkg.Texture=$newType(0,$kindStruct,"graphics.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});G=function(a,b,c,d){var e,f,g,h;e=2/(b-a>>0);f=2/(d-c>>0);g=-1*(b+a>>0)/(b-a>>0);h=-1*(d+c>>0)/(d-c>>0);return $toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,0,0,g]),$toNativeArray($kindFloat64,[0,f,0,h]),$toNativeArray($kindFloat64,[0,0,1,0]),$toNativeArray($kindFloat64,[0,0,0,1])]);};I=$pkg.NewZeroFramebuffer=function(a,b,c){var d;d=new H.Ptr($ifaceNil,b,c,true);return[d,$ifaceNil];};J=$pkg.NewFramebufferFromTexture=function(a,b){var c,d,e,f,g,h;c=a.NewFramebuffer(b.native$0);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[R.nil,e];}f=b.Size();g=f[0];h=f[1];return[new H.Ptr(d,g,h,false),$ifaceNil];};H.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};H.prototype.Size=function(){return this.$val.Size();};H.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteFramebuffer(b.native$0);};H.prototype.Dispose=function(a){return this.$val.Dispose(a);};H.Ptr.prototype.setAsViewport=function(a){var b,c,d;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);return a.SetViewport(b.native$0,c,d);};H.prototype.setAsViewport=function(a){return this.$val.setAsViewport(a);};H.Ptr.prototype.projectionMatrix=function(){var a,b,c,d,e,f,g,h;a=this;b=A.NextPowerOf2Int(a.width);c=A.NextPowerOf2Int(a.height);d=G(0,b,0,c);if(a.flipY){e=(d.nilCheck,d[1]);f=1;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(-1);g=(d.nilCheck,d[1]);h=3;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])+(a.height/A.NextPowerOf2Int(a.height)*2);}return d;};H.prototype.projectionMatrix=function(){return this.$val.projectionMatrix();};H.Ptr.prototype.Fill=function(a,b,c,d,e){var f,g;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return a.FillFramebuffer(f.native$0,b,c,d,e);};H.prototype.Fill=function(a,b,c,d,e){return this.$val.Fill(a,b,c,d,e);};H.Ptr.prototype.DrawTexture=function(a,b,c,d,e){var f,g,h;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=f.projectionMatrix();return B.DrawTexture(a,b.native$0,h,c,d,e);};H.prototype.DrawTexture=function(a,b,c,d,e){return this.$val.DrawTexture(a,b,c,d,e);};M=function(a){var b,c,d,e,f,g,h,i,j,k;b=a.Bounds().Size().X;c=a.Bounds().Size().Y;d=b;e=c;f=new E.Rectangle.Ptr($clone(E.ZP,E.Point),new E.Point.Ptr(A.NextPowerOf2Int(d),A.NextPowerOf2Int(e)));g=$assertType(a,S,true);h=g[0];i=g[1];if(i&&$equal(a.Bounds(),f,E.Rectangle)){return h;}j=E.NewRGBA(f);k=new E.Rectangle.Ptr($clone(E.ZP,E.Point),$clone(a.Bounds().Size(),E.Point));F.Draw(j,k,a,E.ZP,1);return j;};N.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};N.prototype.Size=function(){return this.$val.Size();};O=$pkg.NewTexture=function(a,b,c,d){var e,f,g,h,i;e=A.NextPowerOf2Int(b);f=A.NextPowerOf2Int(c);if(e<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(f<4){return[T.nil,D.New("height must be equal or more than 4.")];}g=a.NewTexture(e,f,U.nil,d);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,b,c),$ifaceNil];};P=$pkg.NewTextureFromImage=function(a,b,c){var d,e,f,g,h,i;d=$clone(b.Bounds().Size(),E.Point);if(d.X<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(d.Y<4){return[T.nil,D.New("height must be equal or more than 4.")];}e=M(b);f=$clone(e.Bounds().Size(),E.Point);g=a.NewTexture(f.X,f.Y,e.Pix,c);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,d.X,d.Y),$ifaceNil];};N.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteTexture(b.native$0);};N.prototype.Dispose=function(a){return this.$val.Dispose(a);};N.Ptr.prototype.Pixels=function(a){var b,c,d,e,f;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);e=c;f=d;return a.TexturePixels(b.native$0,e,f);};N.prototype.Pixels=function(a){return this.$val.Pixels(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Q=$arrayType($Float64,4);R=$ptrType(H);S=$ptrType(E.RGBA);T=$ptrType(N);U=$sliceType($Uint8);V=$ptrType(C.Context);W=$arrayType(Q,4);X=$ptrType(W);R.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["DrawTexture","DrawTexture","",$funcType([V,T,L,K,K],[$error],false),-1],["Fill","Fill","",$funcType([V,$Float64,$Float64,$Float64,$Float64],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["projectionMatrix","projectionMatrix","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([],[X],false),-1],["setAsViewport","setAsViewport","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([V],[$error],false),-1]];H.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Framebuffer,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["flipY","flipY","github.com/hajimehoshi/ebiten/internal/graphics",$Bool,""]]);K.init([["Element","Element","",$funcType([$Int,$Int],[$Float64],false)]]);L.init([["Len","Len","",$funcType([],[$Int],false)],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)]]);T.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["Pixels","Pixels","",$funcType([V],[U,$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1]];N.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Texture,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,E,W,X,Y,Z,AA,AB,AC,AD,K,L,M,F,G,N,O,a,b,P,Q,R,S,T,U,V;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$packages["time"];K=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);M=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AB.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AC.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});M.Ptr.prototype.keyDown=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=true);};M.prototype.keyDown=function(c){return this.$val.keyDown(c);};M.Ptr.prototype.keyUp=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=false);};M.prototype.keyUp=function(c){return this.$val.keyUp(c);};P=$pkg.Use=function(c){c(O);};Q=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=E.Sleep(new E.Duration(0,0),$BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.Terminate=function(){};S=$pkg.IsClosed=function(){return false;};T=$pkg.SwapBuffers=function(){};U=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new Y(0);$global.window.onload=$externalize((function(){$close(c);}),Z);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;N=e.createElement($externalize("canvas",$String));N.width=16;N.height=16;e.body.appendChild(N);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);h=N.style;h.position=$externalize("absolute",$String);i=B.NewContext(N,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}O=C.NewContext(j);N.setAttribute($externalize("tabindex",$String),1);N.style.outline=$externalize("none",$String);N.onkeydown=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyDown(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);N.onkeyup=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyUp(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);case-1:}return;}};$f.$blocking=true;return $f;};V=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n;i=$global.document;i.title=$externalize(f,$String);N.width=c*e>>0;N.height=d*e>>0;j=N.style;j.left=$externalize("calc(50% - "+D.Itoa((k=(c*e>>0)/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((l=(d*e>>0)/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);m=e;n=$ifaceNil;g=m;h=n;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}W=$ptrType(C.Context);X=$structType([]);Y=$chanType(X,false,false);Z=$funcType([],[],false);AA=$funcType([A.Object],[],false);AB=$arrayType($Bool,5);AC=$arrayType($Bool,3);AD=$ptrType(M);AD.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([K],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];M.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AB,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AC,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);G=new M.Ptr();N=null;O=W.nil;F=(a=new $Map(),b=32,a[b]={k:b,v:4},b=37,a[b]={k:b,v:2},b=39,a[b]={k:b,v:3},b=38,a[b]={k:b,v:0},b=40,a[b]={k:b,v:1},a);$r=U($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,B,C,D,E,G,A,H,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,M,W,AD,AE,AG,AH,AK,AL,AM,AN,AO,K,L,Q,V,Z,AB,AC,AF,AI,AJ,AR;F=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];G=$packages["image/color"];A=$packages["math"];H=$packages["time"];M=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AT.zero();});W=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AZ.zero();});AD=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BB.nil;this.screen=screen_!==undefined?screen_:AU.nil;this.defaultR=defaultR_!==undefined?defaultR_:AU.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AE=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BG.nil;this.texture=texture_!==undefined?texture_:AV.nil;});AG=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AH=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AK=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AU.nil;this.pixels=pixels_!==undefined?pixels_:AX.nil;});AM=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AN=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AO=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new W.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new M.Ptr();this.Parts=Parts_!==undefined?Parts_:BC.nil;});K=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};L=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};M.Ptr.prototype.dim=function(){var a;a=this;return 5;};M.prototype.dim=function(){return this.$val.dim();};M.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};M.prototype.initialize=function(){return this.$val.initialize();};M.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};M.prototype.Element=function(a,b){return this.$val.Element(a,b);};M.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());L(a,b,c);$copy(b,c,M);};M.prototype.Concat=function(a){return this.$val.Concat(a);};M.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());K(a,b,c);$copy(b,c,M);};M.prototype.Add=function(a){return this.$val.Add(a);};M.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};M.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};M.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};M.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};M.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};M.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};Q=$pkg.RotateHue=function(a){var b,c,d,e,f,g;b=A.Sincos(a);c=b[0];d=b[1];e=d+(1-d)/3;f=0.3333333333333333*(1-d)-A.Sqrt(0.3333333333333333)*c;g=0.3333333333333333*(1-d)+A.Sqrt(0.3333333333333333)*c;return new M.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,f,g,0,0]),$toNativeArray($kindFloat64,[g,e,f,0,0]),$toNativeArray($kindFloat64,[f,g,e,0,0]),$toNativeArray($kindFloat64,[0,0,0,1,0])]));};V=$pkg.NewImageFromImage=function(a,b){var c,d;c=AU.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AV.nil;g=B.NewTextureFromImage(e,a,AB(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AF(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AW.nil,d];}return[new AL.Ptr(c,AX.nil),$ifaceNil];};W.Ptr.prototype.dim=function(){var a;a=this;return 3;};W.prototype.dim=function(){return this.$val.dim();};W.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};W.prototype.initialize=function(){return this.$val.initialize();};W.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};W.prototype.Element=function(a,b){return this.$val.Element(a,b);};W.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());L(a,b,c);$copy(b,c,W);};W.prototype.Concat=function(a){return this.$val.Concat(a);};W.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());K(a,b,c);$copy(b,c,W);};W.prototype.Add=function(a){return this.$val.Add(a);};W.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};W.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};W.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};W.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};W.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(Z(a));};W.prototype.Rotate=function(a){return this.$val.Rotate(a);};W.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};W.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};Z=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new W.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AB=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AC=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}j=AF(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}return[new AD.Ptr(a,k,new AE.Ptr(f,AV.nil),d),$ifaceNil];};AD.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AD.prototype.preUpdate=function(){return this.$val.preUpdate();};AD.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AD.prototype.postUpdate=function(){return this.$val.postUpdate();};AF=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AU.nil,e];}return[new AE.Ptr(d,b),$ifaceNil];};AE.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AE.prototype.size=function(){return this.$val.size();};AE.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=G.Transparent,new c.constructor.Struct(c)));};AE.prototype.Clear=function(a){return this.$val.Clear(a);};AE.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=F.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AE.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AG.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AG).prototype.Len=function(){return this.$get().Len();};AG.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Dst=function(a){return this.$get().Dst(a);};AG.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Src=function(a){return this.$get().Src(a);};AH.Ptr.prototype.Len=function(){var a;a=this;return 1;};AH.prototype.Len=function(){return this.$val.Len();};AH.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Dst=function(a){return this.$val.Dst(a);};AH.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Src=function(a){return this.$val.Src(a);};AE.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BD.nil){c=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BC.nil)){e=$subslice(new AG(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AH.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AK.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AE.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AI=function(a,b){return a/F.NextPowerOf2Int(b);};AJ=function(a,b){return a/F.NextPowerOf2Int(b);};AK.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AK.prototype.Len=function(){return this.$val.Len();};AK.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AK.prototype.Vertex=function(a){return this.$val.Vertex(a);};AK.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AI(h,n);q=AJ(i,o);r=AI(j,n);s=AJ(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AK.prototype.Texture=function(a){return this.$val.Texture(a);};AL.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AL.prototype.Size=function(){return this.$val.Size();};AL.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AX.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AL.prototype.Clear=function(){return this.$val.Clear();};AL.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AX.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AL.prototype.Fill=function(a){return this.$val.Fill(a);};AL.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;c=d.drawImage(a.inner,b);return c;};AL.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AL.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AX.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AL.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AL.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.ColorModel=function(){var a;a=this;return G.RGBAModel;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AX.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=F.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new G.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AL.prototype.At=function(a,b){return this.$val.At(a,b);};AR=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BA.nil;D.Use((function(j){var k;k=AC(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}case 1:if(!(true)){$s=2;continue;}j=H.After(new H.Duration(0,8333333));$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(k){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}k=a(new AL.Ptr(i.screen,AX.nil));if(!($interfaceIsEqual(k,$ifaceNil))){return k;}D.Use((function(l){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=$recv(j,$BLOCKING);$s=4;case 4:if(l&&l.$blocking){l=l();}l[0];$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}AS=$arrayType($Float64,5);AT=$arrayType(AS,4);AU=$ptrType(AE);AV=$ptrType(B.Texture);AW=$ptrType(AL);AX=$sliceType($Uint8);AY=$arrayType($Float64,3);AZ=$arrayType(AY,2);BA=$ptrType(AD);BB=$ptrType(C.Context);BC=$sliceType(AM);BD=$ptrType(AO);BE=$ptrType(M);BF=$ptrType(W);BG=$ptrType(B.Framebuffer);BH=$ptrType(AG);BI=$ptrType(AH);BJ=$ptrType(AK);BE.methods=[["Add","Add","",$funcType([M],[],false),-1],["Concat","Concat","",$funcType([M],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];M.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AT,""]]);BF.methods=[["Add","Add","",$funcType([W],[],false),-1],["Concat","Concat","",$funcType([W],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];W.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AZ,""]]);BA.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AD.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BB,""],["screen","screen","github.com/hajimehoshi/ebiten",AU,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AU,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AU.methods=[["Clear","Clear","",$funcType([BB],[$error],false),-1],["Fill","Fill","",$funcType([BB,G.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BB,AU,BD],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AE.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BG,""],["texture","texture","github.com/hajimehoshi/ebiten",AV,""]]);AG.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AG.init(AM);BI.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BJ.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AK.init([["parts","parts","github.com/hajimehoshi/ebiten",AN,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["At","At","",$funcType([$Int,$Int],[G.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[G.Model],false),-1],["DrawImage","DrawImage","",$funcType([AW,BD],[$error],false),-1],["Fill","Fill","",$funcType([G.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AU,BD],[$error],false),-1]];AL.init([["inner","inner","github.com/hajimehoshi/ebiten",AU,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AX,""]]);AM.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AN.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AO.init([["ImageParts","ImageParts","",AN,""],["GeoM","GeoM","",W,""],["ColorM","ColorM","",M,""],["Parts","Parts","",BC,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,AB,AC,AD,AE,AF,E,J,L,F,K,M,N,a,b,O,P,Q,R,S,T,U,V,W,X;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AE.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AE.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});J=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);E.Ptr.prototype.keyDown=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=true);};E.prototype.keyDown=function(c){return this.$val.keyDown(c);};E.Ptr.prototype.keyUp=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=false);};E.prototype.keyUp=function(c){return this.$val.keyUp(c);};E.Ptr.prototype.mouseDown=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=true;}else if(f===1){e.nilCheck,e[2]=true;}else if(f===2){e.nilCheck,e[1]=true;}};E.prototype.mouseDown=function(c){return this.$val.mouseDown(c);};E.Ptr.prototype.mouseUp=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=false;}else if(f===1){e.nilCheck,e[2]=false;}else if(f===2){e.nilCheck,e[1]=false;}};E.prototype.mouseUp=function(c){return this.$val.mouseUp(c);};E.Ptr.prototype.mouseMove=function(c,d){var e,f,g;e=this;f=c;g=d;e.cursorX=f;e.cursorY=g;};E.prototype.mouseMove=function(c,d){return this.$val.mouseMove(c,d);};O=function(){return!!!($global.document.hidden);};P=$pkg.Use=function(c){c(N);};Q=function($b){var $this=this,$args=arguments,$r,$s=0,c,d;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.requestAnimationFrame($externalize((function(){$close(c);}),AB));d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=Q($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case 2:if(!(!O())){$s=3;continue;}$r=Q($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$s=2;continue;case 3:case-1:}return;}};$f.$blocking=true;return $f;};S=$pkg.Terminate=function(){};T=$pkg.IsClosed=function(){return false;};U=$pkg.SwapBuffers=function(){};V=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.onload=$externalize((function(){$close(c);}),AB);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;e.onkeydown=$externalize((function(f){var g;g=$parseInt(f.keyCode)>>0;if(g===8){return false;}if(112<=g&&g<=123){return false;}if((g===37)&&(g===39)){return false;}return true;}),AC);M=e.createElement($externalize("canvas",$String));M.width=16;M.height=16;e.body.appendChild(M);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);e.body.onclick=$externalize((function(){M.focus();}),AB);h=M.style;h.position=$externalize("absolute",$String);i=B.NewContext(M,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}N=C.NewContext(j);M.setAttribute($externalize("tabindex",$String),1);M.style.outline=$externalize("none",$String);M.onkeydown=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyDown(m);return false;}),AC);M.onkeyup=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyUp(m);return false;}),AC);M.onmousedown=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseDown(m);return false;}),AC);M.onmouseup=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseUp(m);return false;}),AC);M.oncontextmenu=$externalize((function(l){return false;}),AC);case-1:}return;}};$f.$blocking=true;return $f;};W=function(){var c;c=$parseInt($global.window.devicePixelRatio)>>0;if(c===0){c=1;}return c;};X=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n,o,p;i=$global.document;i.title=$externalize(f,$String);g=e*W()>>0;M.width=c*g>>0;M.height=d*g>>0;j=M.style;k=c*e>>0;l=d*e>>0;j.width=$externalize(D.Itoa(k)+"px",$String);j.height=$externalize(D.Itoa(l)+"px",$String);j.left=$externalize("calc(50% - "+D.Itoa((m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((n=l/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);M.onmousemove=$externalize((function(o){var p,q,r,s,t,u,v;p=M.getBoundingClientRect();q=$parseInt(o.clientX)>>0;r=$parseInt(o.clientY)>>0;s=q;t=r;s=s-(($parseInt(p.left)>>0))>>0;t=t-(($parseInt(p.top)>>0))>>0;F.mouseMove((u=s/e,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero")),(v=t/e,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero")));}),AD);M.focus();o=g;p=$ifaceNil;g=o;h=p;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(C.Context);Z=$structType([]);AA=$chanType(Z,false,false);AB=$funcType([],[],false);AC=$funcType([A.Object],[$Bool],false);AD=$funcType([A.Object],[],false);AE=$arrayType($Bool,256);AF=$ptrType(E);AF.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([J],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseDown","mouseDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseMove","mouseMove","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int,$Int],[],false),-1],["mouseUp","mouseUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];E.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);F=new E.Ptr();M=null;N=Y.nil;K=(a=new $Map(),b=8,a[b]={k:b,v:37},b=9,a[b]={k:b,v:67},b=13,a[b]={k:b,v:44},b=16,a[b]={k:b,v:65},b=17,a[b]={k:b,v:40},b=18,a[b]={k:b,v:36},b=20,a[b]={k:b,v:38},b=27,a[b]={k:b,v:45},b=32,a[b]={k:b,v:66},b=33,a[b]={k:b,v:62},b=34,a[b]={k:b,v:61},b=35,a[b]={k:b,v:43},b=36,a[b]={k:b,v:58},b=37,a[b]={k:b,v:60},b=38,a[b]={k:b,v:68},b=39,a[b]={k:b,v:64},b=40,a[b]={k:b,v:42},b=45,a[b]={k:b,v:59},b=46,a[b]={k:b,v:41},b=48,a[b]={k:b,v:0},b=49,a[b]={k:b,v:1},b=50,a[b]={k:b,v:2},b=51,a[b]={k:b,v:3},b=52,a[b]={k:b,v:4},b=53,a[b]={k:b,v:5},b=54,a[b]={k:b,v:6},b=55,a[b]={k:b,v:7},b=56,a[b]={k:b,v:8},b=57,a[b]={k:b,v:9},b=65,a[b]={k:b,v:10},b=66,a[b]={k:b,v:11},b=67,a[b]={k:b,v:12},b=68,a[b]={k:b,v:13},b=69,a[b]={k:b,v:14},b=70,a[b]={k:b,v:15},b=71,a[b]={k:b,v:16},b=72,a[b]={k:b,v:17},b=73,a[b]={k:b,v:18},b=74,a[b]={k:b,v:19},b=75,a[b]={k:b,v:20},b=76,a[b]={k:b,v:21},b=77,a[b]={k:b,v:22},b=78,a[b]={k:b,v:23},b=79,a[b]={k:b,v:24},b=80,a[b]={k:b,v:25},b=81,a[b]={k:b,v:26},b=82,a[b]={k:b,v:27},b=83,a[b]={k:b,v:28},b=84,a[b]={k:b,v:29},b=85,a[b]={k:b,v:30},b=86,a[b]={k:b,v:31},b=87,a[b]={k:b,v:32},b=88,a[b]={k:b,v:33},b=89,a[b]={k:b,v:34},b=90,a[b]={k:b,v:35},b=112,a[b]={k:b,v:46},b=113,a[b]={k:b,v:47},b=114,a[b]={k:b,v:48},b=115,a[b]={k:b,v:49},b=116,a[b]={k:b,v:50},b=117,a[b]={k:b,v:51},b=118,a[b]={k:b,v:52},b=119,a[b]={k:b,v:53},b=120,a[b]={k:b,v:54},b=121,a[b]={k:b,v:55},b=122,a[b]={k:b,v:56},b=123,a[b]={k:b,v:57},b=188,a[b]={k:b,v:39},b=190,a[b]={k:b,v:63},a);$r=V($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,G,B,C,D,E,H,A,I,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,N,X,AE,AF,AH,AI,AL,AM,AN,AO,AP,AS,L,M,R,W,AA,AC,AD,AG,AJ,AK,AT;F=$packages["errors"];G=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];H=$packages["image/color"];A=$packages["math"];I=$packages["time"];N=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AV.zero();});X=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:BB.zero();});AE=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BD.nil;this.screen=screen_!==undefined?screen_:AW.nil;this.defaultR=defaultR_!==undefined?defaultR_:AW.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AF=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BI.nil;this.texture=texture_!==undefined?texture_:AX.nil;});AH=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AI=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AM=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AW.nil;this.pixels=pixels_!==undefined?pixels_:AZ.nil;});AN=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AO=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AP=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new X.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new N.Ptr();this.Parts=Parts_!==undefined?Parts_:BE.nil;});L=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};M=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};N.Ptr.prototype.dim=function(){var a;a=this;return 5;};N.prototype.dim=function(){return this.$val.dim();};N.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};N.prototype.initialize=function(){return this.$val.initialize();};N.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};N.prototype.Element=function(a,b){return this.$val.Element(a,b);};N.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());M(a,b,c);$copy(b,c,N);};N.prototype.Concat=function(a){return this.$val.Concat(a);};N.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());L(a,b,c);$copy(b,c,N);};N.prototype.Add=function(a){return this.$val.Add(a);};N.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};N.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};N.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};N.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};N.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};N.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};R=$pkg.RotateHue=function(a){var b,c,d,e,f,g;b=A.Sincos(a);c=b[0];d=b[1];e=d+(1-d)/3;f=0.3333333333333333*(1-d)-A.Sqrt(0.3333333333333333)*c;g=0.3333333333333333*(1-d)+A.Sqrt(0.3333333333333333)*c;return new N.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,f,g,0,0]),$toNativeArray($kindFloat64,[g,e,f,0,0]),$toNativeArray($kindFloat64,[f,g,e,0,0]),$toNativeArray($kindFloat64,[0,0,0,1,0])]));};W=$pkg.NewImageFromImage=function(a,b){var c,d;c=AW.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AX.nil;g=B.NewTextureFromImage(e,a,AC(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AG(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AY.nil,d];}return[new AM.Ptr(c,AZ.nil),$ifaceNil];};X.Ptr.prototype.dim=function(){var a;a=this;return 3;};X.prototype.dim=function(){return this.$val.dim();};X.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};X.prototype.initialize=function(){return this.$val.initialize();};X.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};X.prototype.Element=function(a,b){return this.$val.Element(a,b);};X.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());M(a,b,c);$copy(b,c,X);};X.prototype.Concat=function(a){return this.$val.Concat(a);};X.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());L(a,b,c);$copy(b,c,X);};X.prototype.Add=function(a){return this.$val.Add(a);};X.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};X.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};X.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};X.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};X.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(AA(a));};X.prototype.Rotate=function(a){return this.$val.Rotate(a);};X.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};X.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};AA=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new X.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AC=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AD=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}j=AG(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}return[new AE.Ptr(a,k,new AF.Ptr(f,AX.nil),d),$ifaceNil];};AE.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AE.prototype.preUpdate=function(){return this.$val.preUpdate();};AE.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AE.prototype.postUpdate=function(){return this.$val.postUpdate();};AG=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AF.Ptr(d,b),$ifaceNil];};AF.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AF.prototype.size=function(){return this.$val.size();};AF.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=H.Transparent,new c.constructor.Struct(c)));};AF.prototype.Clear=function(a){return this.$val.Clear(a);};AF.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=G.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AF.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AH.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AH).prototype.Len=function(){return this.$get().Len();};AH.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Dst=function(a){return this.$get().Dst(a);};AH.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Src=function(a){return this.$get().Src(a);};AI.Ptr.prototype.Len=function(){var a;a=this;return 1;};AI.prototype.Len=function(){return this.$val.Len();};AI.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Dst=function(a){return this.$val.Dst(a);};AI.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Src=function(a){return this.$val.Src(a);};AF.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BF.nil){c=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BE.nil)){e=$subslice(new AH(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AI.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AL.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AF.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AJ=function(a,b){return a/G.NextPowerOf2Int(b);};AK=function(a,b){return a/G.NextPowerOf2Int(b);};AL.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AL.prototype.Len=function(){return this.$val.Len();};AL.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AL.prototype.Vertex=function(a){return this.$val.Vertex(a);};AL.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AJ(h,n);q=AK(i,o);r=AJ(j,n);s=AK(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AL.prototype.Texture=function(a){return this.$val.Texture(a);};AM.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AM.prototype.Size=function(){return this.$val.Size();};AM.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AZ.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AM.prototype.Clear=function(){return this.$val.Clear();};AM.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AZ.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AM.prototype.Fill=function(a){return this.$val.Fill(a);};AM.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;if(d===a){c=F.New("Image.DrawImage: image should be different from the receiver");return c;}c=d.drawImage(a.inner,b);return c;};AM.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AM.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AZ.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AM.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AM.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AM.prototype.Bounds=function(){return this.$val.Bounds();};AM.Ptr.prototype.ColorModel=function(){var a;a=this;return H.RGBAModel;};AM.prototype.ColorModel=function(){return this.$val.ColorModel();};AM.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AZ.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=G.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new H.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AM.prototype.At=function(a,b){return this.$val.At(a,b);};AT=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l,m,n,o,p;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BC.nil;D.Use((function(j){var k;k=AD(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}j=0;k=I.Now().UnixNano();case 1:if(!(true)){$s=2;continue;}$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(l){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=a(new AM.Ptr(i.screen,AZ.nil));if(!($interfaceIsEqual(l,$ifaceNil))){return l;}D.Use((function(m){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}m=I.Now().UnixNano();j=j+(1)>>0;if((n=(o=new $Int64(m.$high-k.$high,m.$low-k.$low),new I.Duration(o.$high,o.$low)),(0>31)*4294967296))>>0);k=m;j=0;}$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AU=$arrayType($Float64,5);AV=$arrayType(AU,4);AW=$ptrType(AF);AX=$ptrType(B.Texture);AY=$ptrType(AM);AZ=$sliceType($Uint8);BA=$arrayType($Float64,3);BB=$arrayType(BA,2);BC=$ptrType(AE);BD=$ptrType(C.Context);BE=$sliceType(AN);BF=$ptrType(AP);BG=$ptrType(N);BH=$ptrType(X);BI=$ptrType(B.Framebuffer);BJ=$ptrType(AH);BK=$ptrType(AI);BL=$ptrType(AL);BG.methods=[["Add","Add","",$funcType([N],[],false),-1],["Concat","Concat","",$funcType([N],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];N.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AV,""]]);BH.methods=[["Add","Add","",$funcType([X],[],false),-1],["Concat","Concat","",$funcType([X],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];X.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",BB,""]]);BC.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AE.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BD,""],["screen","screen","github.com/hajimehoshi/ebiten",AW,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AW,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["Clear","Clear","",$funcType([BD],[$error],false),-1],["Fill","Fill","",$funcType([BD,H.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BD,AW,BF],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AF.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BI,""],["texture","texture","github.com/hajimehoshi/ebiten",AX,""]]);AH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BJ.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init(AN);BK.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AI.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BL.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AL.init([["parts","parts","github.com/hajimehoshi/ebiten",AO,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AY.methods=[["At","At","",$funcType([$Int,$Int],[H.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[H.Model],false),-1],["DrawImage","DrawImage","",$funcType([AY,BF],[$error],false),-1],["Fill","Fill","",$funcType([H.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AW,BF],[$error],false),-1]];AM.init([["inner","inner","github.com/hajimehoshi/ebiten",AW,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AZ,""]]);AN.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AO.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AP.init([["ImageParts","ImageParts","",AO,""],["GeoM","GeoM","",X,""],["ColorM","ColorM","",N,""],["Parts","Parts","",BE,""]]);AS=0;}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sort"]=(function(){var $pkg={};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/flate"]=(function(){var $pkg={},E,A,B,C,D,F,BK,BL,BM,BN,BU,BV,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CS,CT,CU,CW,Y,Z,AK,AL,AM,AO,AP,AQ,AR,Q,AF,AG,AS,AW,G,AC,AD,AE,AT,AU,AV,AX,AY;E=$packages["bufio"];A=$packages["fmt"];B=$packages["io"];C=$packages["math"];D=$packages["sort"];F=$packages["strconv"];Y=$pkg.huffmanEncoder=$newType(0,$kindStruct,"flate.huffmanEncoder","huffmanEncoder","compress/flate",function(codeBits_,code_){this.$val=this;this.codeBits=codeBits_!==undefined?codeBits_:BV.nil;this.code=code_!==undefined?code_:BX.nil;});Z=$pkg.literalNode=$newType(0,$kindStruct,"flate.literalNode","literalNode","compress/flate",function(literal_,freq_){this.$val=this;this.literal=literal_!==undefined?literal_:0;this.freq=freq_!==undefined?freq_:0;});AK=$pkg.CorruptInputError=$newType(8,$kindInt64,"flate.CorruptInputError","CorruptInputError","compress/flate",null);AL=$pkg.InternalError=$newType(8,$kindString,"flate.InternalError","InternalError","compress/flate",null);AM=$pkg.ReadError=$newType(0,$kindStruct,"flate.ReadError","ReadError","compress/flate",function(Offset_,Err_){this.$val=this;this.Offset=Offset_!==undefined?Offset_:new $Int64(0,0);this.Err=Err_!==undefined?Err_:$ifaceNil;});AO=$pkg.Resetter=$newType(8,$kindInterface,"flate.Resetter","Resetter","compress/flate",null);AP=$pkg.huffmanDecoder=$newType(0,$kindStruct,"flate.huffmanDecoder","huffmanDecoder","compress/flate",function(min_,chunks_,links_,linkMask_){this.$val=this;this.min=min_!==undefined?min_:0;this.chunks=chunks_!==undefined?chunks_:CC.zero();this.links=links_!==undefined?links_:BL.nil;this.linkMask=linkMask_!==undefined?linkMask_:0;});AQ=$pkg.Reader=$newType(8,$kindInterface,"flate.Reader","Reader","compress/flate",null);AR=$pkg.decompressor=$newType(0,$kindStruct,"flate.decompressor","decompressor","compress/flate",function(r_,roffset_,woffset_,b_,nb_,h1_,h2_,bits_,codebits_,hist_,hp_,hw_,hfull_,buf_,step_,final$15_,err_,toRead_,hl_,hd_,copyLen_,copyDist_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.roffset=roffset_!==undefined?roffset_:new $Int64(0,0);this.woffset=woffset_!==undefined?woffset_:new $Int64(0,0);this.b=b_!==undefined?b_:0;this.nb=nb_!==undefined?nb_:0;this.h1=h1_!==undefined?h1_:new AP.Ptr();this.h2=h2_!==undefined?h2_:new AP.Ptr();this.bits=bits_!==undefined?bits_:CH.nil;this.codebits=codebits_!==undefined?codebits_:CJ.nil;this.hist=hist_!==undefined?hist_:CL.nil;this.hp=hp_!==undefined?hp_:0;this.hw=hw_!==undefined?hw_:0;this.hfull=hfull_!==undefined?hfull_:false;this.buf=buf_!==undefined?buf_:CM.zero();this.step=step_!==undefined?step_:$throwNilPointerError;this.final$15=final$15_!==undefined?final$15_:false;this.err=err_!==undefined?err_:$ifaceNil;this.toRead=toRead_!==undefined?toRead_:BM.nil;this.hl=hl_!==undefined?hl_:CF.nil;this.hd=hd_!==undefined?hd_:CF.nil;this.copyLen=copyLen_!==undefined?copyLen_:0;this.copyDist=copyDist_!==undefined?copyDist_:0;});G=function(a,b,c,d){var e;if(b<=c){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}while(true){if(b>=(c+d>>0)){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}e=b-c>>0;$copySlice($subslice(a,b,(b+e>>0)),$subslice(a,c,(c+e>>0)));d=d-(e)>>0;b=b+(e)>>0;}};AC=function(a){return new Y.Ptr(BV.make(a),BX.make(a));};AD=function(){var a,b,c,d,e,f;a=AC(286);b=a.codeBits;c=a.code;d=0;d=0;while(d<286){e=0;f=0;switch(0){default:if(d<144){e=d+48<<16>>>16;f=8;break;}else if(d<256){e=(d+400<<16>>>16)-144<<16>>>16;f=9;break;}else if(d<280){e=d-256<<16>>>16;f=7;break;}else{e=(d+192<<16>>>16)-280<<16>>>16;f=8;}}(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=f;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(e,f);d=d+(1)<<16>>>16;}return a;};AE=function(){var a,b,c,d;a=AC(30);b=a.codeBits;c=a.code;d=0;while(d<30){(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=5;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(d,5);d=d+(1)<<16>>>16;}return a;};AK.prototype.Error=function(){var a;a=this;return"flate: corrupt input before offset "+F.FormatInt(new $Int64(a.$high,a.$low),10);};$ptrType(AK).prototype.Error=function(){return this.$get().Error();};AL.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"flate: internal error: "+a;};$ptrType(AL).prototype.Error=function(){return new AL(this.$get()).Error();};AM.Ptr.prototype.Error=function(){var a;a=this;return"flate: read error at offset "+F.FormatInt(a.Offset,10)+": "+a.Err.Error();};AM.prototype.Error=function(){return this.$val.Error();};AP.Ptr.prototype.init=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax;b=this;if(!((b.min===0))){$copy(b,new AP.Ptr(0,CC.zero(),BL.nil,0),AP);}c=$clone(CD.zero(),CD);d=0;e=0;f=d;g=e;h=a;i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);if(j===0){i++;continue;}if((f===0)||jg){g=j;}k=c;l=j;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])+(1)>>0;i++;}if(g===0){return false;}b.min=f;m=0;n=0;if(g>9){m=(g>>>0)-9>>>0;n=(o=m,o<32?(1<>0;b.linkMask=((n-1>>0)>>>0);}p=0;q=$clone(CD.zero(),CD);r=f;while(r<=g){if(r===10){s=p>>1>>0;if(512>0));t=(s>>>0);while(t<512){w=((u=t>>>8>>>0,((u<0||u>=AW.length)?$throwRuntimeError("index out of range"):AW[u]))>>0)|(((v=(t&255)>>>0,((v<0||v>=AW.length)?$throwRuntimeError("index out of range"):AW[v]))>>0)<<8>>0);w=(w>>$min((7),31))>>0;x=t-(s>>>0)>>>0;(y=b.chunks,(w<0||w>=y.length)?$throwRuntimeError("index out of range"):y[w]=(((x<<4>>>0)+(r>>>0)>>>0)>>>0));(aa=b.links,(x<0||x>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+x]=BK.make(((z=m,z<32?(1<>0)));t=t+(1)>>>0;}}ab=((r<0||r>=c.length)?$throwRuntimeError("index out of range"):c[r]);(r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r]=p;p=p+(ab)>>0;p=(ac=(1),ac<32?(p<>0;r=r+(1)>>0;}ad=a;ae=0;while(ae=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]);if(ag===0){ae++;continue;}ah=((ag<0||ag>=q.length)?$throwRuntimeError("index out of range"):q[ag]);ai=q;aj=ag;(aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj]=((aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj])+(1)>>0;ak=(((af<<4>>0)|ag)>>>0);an=((al=ah>>8>>0,((al<0||al>=AW.length)?$throwRuntimeError("index out of range"):AW[al]))>>0)|(((am=ah&255,((am<0||am>=AW.length)?$throwRuntimeError("index out of range"):AW[am]))>>0)<<8>>0);an=(an>>$min((((16-ag>>0)>>>0)),31))>>0;if(ag<=9){ao=an;while(ao<512){(ap=b.chunks,(ao<0||ao>=ap.length)?$throwRuntimeError("index out of range"):ap[ao]=ak);ao=ao+(((aq=(ag>>>0),aq<32?(1<>0))>>0;}}else{at=(ar=b.chunks,as=an&511,((as<0||as>=ar.length)?$throwRuntimeError("index out of range"):ar[as]))>>>4>>>0;if(at>=(b.links.$length>>>0)){return false;}av=(au=b.links,((at<0||at>=au.$length)?$throwRuntimeError("index out of range"):au.$array[au.$offset+at]));an=(an>>$min((9),31))>>0;aw=an;while(aw=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]=ak;aw=aw+(((ax=((ag-9>>0)>>>0),ax<32?(1<>0))>>0;}}ae++;}return true;};AP.prototype.init=function(a){return this.$val.init(a);};AR.Ptr.prototype.nextBlock=function(){var a,b,c,d,e,f;a=this;if(a.final$15){if(!((a.hw===a.hp))){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.err=B.EOF;return;}while(a.nb<3){a.err=a.moreBits();if(!($interfaceIsEqual(a.err,$ifaceNil))){return;}}a.final$15=((a.b&1)>>>0)===1;a.b=(b=(1),b<32?(a.b>>>b):0)>>>0;c=(a.b&3)>>>0;a.b=(d=(2),d<32?(a.b>>>d):0)>>>0;a.nb=a.nb-(3)>>>0;e=c;switch(0){default:if(e===0){a.dataBlock();}else if(e===1){a.hl=Q;a.hd=CF.nil;a.huffmanBlock();}else if(e===2){a.err=a.readHuffman();if(!($interfaceIsEqual(a.err,$ifaceNil))){break;}a.hl=a.h1;a.hd=a.h2;a.huffmanBlock();}else{a.err=(f=a.roffset,new AK(f.$high,f.$low));}}};AR.prototype.nextBlock=function(){return this.$val.nextBlock();};AR.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.step(b);}};AR.prototype.Read=function(a){return this.$val.Read(a);};AR.Ptr.prototype.Close=function(){var a;a=this;if($interfaceIsEqual(a.err,B.EOF)){return $ifaceNil;}return a.err;};AR.prototype.Close=function(){return this.$val.Close();};AR.Ptr.prototype.readHuffman=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,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an;a=this;while(a.nb<14){b=a.moreBits();if(!($interfaceIsEqual(b,$ifaceNil))){return b;}}c=(((a.b&31)>>>0)>>0)+257>>0;if(c>286){return(d=a.roffset,new AK(d.$high,d.$low));}a.b=(e=(5),e<32?(a.b>>>e):0)>>>0;f=(((a.b&31)>>>0)>>0)+1>>0;a.b=(g=(5),g<32?(a.b>>>g):0)>>>0;h=(((a.b&15)>>>0)>>0)+4>>0;a.b=(i=(4),i<32?(a.b>>>i):0)>>>0;a.nb=a.nb-(14)>>>0;j=0;while(j=AS.length)?$throwRuntimeError("index out of range"):AS[j]),l.nilCheck,(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((a.b&7)>>>0)>>0));a.b=(n=(3),n<32?(a.b>>>n):0)>>>0;a.nb=a.nb-(3)>>>0;j=j+(1)>>0;}o=h;while(o<19){(p=a.codebits,q=((o<0||o>=AS.length)?$throwRuntimeError("index out of range"):AS[o]),p.nilCheck,(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=0);o=o+(1)>>0;}if(!a.h1.init($subslice(new BN(a.codebits),0))){return(r=a.roffset,new AK(r.$high,r.$low));}s=0;t=c+f>>0;u=s;v=t;while(u=z.length)?$throwRuntimeError("index out of range"):z[u]=x);u=u+(1)>>0;continue;}aa=0;ab=0;ac=0;ad=x;if(ad===16){aa=3;ab=2;if(u===0){return(ae=a.roffset,new AK(ae.$high,ae.$low));}ac=(af=a.bits,ag=u-1>>0,(af.nilCheck,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag])));}else if(ad===17){aa=3;ab=3;ac=0;}else if(ad===18){aa=11;ab=7;ac=0;}else{return new AL("unexpected length code");}while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(aj=(ab),aj<32?(a.b>>>aj):0)>>>0;a.nb=a.nb-(ab)>>>0;if((u+aa>>0)>v){return(ak=a.roffset,new AK(ak.$high,ak.$low));}al=0;while(al=am.length)?$throwRuntimeError("index out of range"):am[u]=ac);u=u+(1)>>0;al=al+(1)>>0;}}if(!a.h1.init($subslice(new BN(a.bits),0,c))||!a.h2.init($subslice(new BN(a.bits),c,(c+f>>0)))){return(an=a.roffset,new AK(an.$high,an.$low));}return $ifaceNil;};AR.prototype.readHuffman=function(){return this.$val.readHuffman();};AR.Ptr.prototype.huffmanBlock=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;a=this;while(true){b=a.huffSym(a.hl);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}e=0;f=0;if(c<256){(g=a.hist,h=a.hp,g.nilCheck,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));a.hp=a.hp+(1)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.huffmanBlock));return;}continue;}else if(c===256){a.step=$methodExpr(CE.prototype.nextBlock);return;}else if(c<265){f=c-254>>0;e=0;}else if(c<269){f=(c*2>>0)-519>>0;e=1;}else if(c<273){f=(c*4>>0)-1057>>0;e=2;}else if(c<277){f=(c*8>>0)-2149>>0;e=3;}else if(c<281){f=(c*16>>0)-4365>>0;e=4;}else if(c<285){f=(c*32>>0)-8861>>0;e=5;}else{f=258;e=0;}if(e>0){while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(j=(e),j<32?(a.b>>>j):0)>>>0;a.nb=a.nb-(e)>>>0;}k=0;if(a.hd===CF.nil){while(a.nb<5){d=a.moreBits();if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}k=((l=(((a.b&31)>>>0))<<3>>>0,((l<0||l>=AW.length)?$throwRuntimeError("index out of range"):AW[l]))>>0);a.b=(m=(5),m<32?(a.b>>>m):0)>>>0;a.nb=a.nb-(5)>>>0;}else{n=a.huffSym(a.hd);k=n[0];d=n[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}if(k<4){k=k+(1)>>0;}else if(k>=30){a.err=(o=a.roffset,new AK(o.$high,o.$low));return;}else{p=((k-2>>0)>>>0)>>>1>>>0;r=(q=p,q<32?(((k&1))<>0;while(a.nb>>0)-1>>>0))>>>0)>>0));a.b=(t=(p),t<32?(a.b>>>t):0)>>>0;a.nb=a.nb-(p)>>>0;k=(((u=((p+1>>>0)),u<32?(1<>0)+1>>0)+r>>0;}if(k>32768){a.err=new AL("bad history distance");return;}if(!a.hfull&&k>a.hp){a.err=(v=a.roffset,new AK(v.$high,v.$low));return;}w=f;x=k;a.copyLen=w;a.copyDist=x;if(a.copyHist()){return;}}};AR.prototype.huffmanBlock=function(){return this.$val.huffmanBlock();};AR.Ptr.prototype.copyHist=function(){var a,b,c,d,e;a=this;b=a.hp-a.copyDist>>0;if(b<0){b=b+(32768)>>0;}while(a.copyLen>0){c=a.copyLen;d=32768-a.hp>>0;if(c>d){c=d;}e=32768-b>>0;if(c>e){c=e;}G(new BM(a.hist),a.hp,b,c);b=b+(c)>>0;a.hp=a.hp+(c)>>0;a.copyLen=a.copyLen-(c)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.copyHuff));return true;}if(b===32768){b=0;}}return false;};AR.prototype.copyHist=function(){return this.$val.copyHist();};AR.Ptr.prototype.copyHuff=function(){var a;a=this;if(a.copyHist()){return;}a.huffmanBlock();};AR.prototype.copyHuff=function(){return this.$val.copyHuff();};AR.Ptr.prototype.dataBlock=function(){var a,b,c,d,e,f,g,h,i;a=this;a.nb=0;a.b=0;b=B.ReadFull(a.r,$subslice(new BM(a.buf),0,4));c=b[0];d=b[1];a.roffset=(e=a.roffset,f=new $Int64(0,c),new $Int64(e.$high+f.$high,e.$low+f.$low));if(!($interfaceIsEqual(d,$ifaceNil))){a.err=new AM.Ptr(a.roffset,d);return;}g=(a.buf[0]>>0)|((a.buf[1]>>0)<<8>>0);h=(a.buf[2]>>0)|((a.buf[3]>>0)<<8>>0);if(!(((h<<16>>>16)===((~g>>0)<<16>>>16)))){a.err=(i=a.roffset,new AK(i.$high,i.$low));return;}if(g===0){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.copyLen=g;a.copyData();};AR.prototype.dataBlock=function(){return this.$val.dataBlock();};AR.Ptr.prototype.copyData=function(){var a,b,c,d,e,f,g;a=this;b=a.copyLen;while(b>0){c=32768-a.hp>>0;if(c>b){c=b;}d=B.ReadFull(a.r,$subslice(new BM(a.hist),a.hp,(a.hp+c>>0)));c=d[0];e=d[1];a.roffset=(f=a.roffset,g=new $Int64(0,c),new $Int64(f.$high+g.$high,f.$low+g.$low));if(!($interfaceIsEqual(e,$ifaceNil))){a.err=new AM.Ptr(a.roffset,e);return;}b=b-(c)>>0;a.hp=a.hp+(c)>>0;if(a.hp===32768){a.copyLen=b;a.flush($methodExpr(CE.prototype.copyData));return;}}a.step=$methodExpr(CE.prototype.nextBlock);};AR.prototype.copyData=function(){return this.$val.copyData();};AR.Ptr.prototype.setDict=function(a){var b;b=this;if(a.$length>32768){a=$subslice(a,(a.$length-32768>>0));}b.hp=$copySlice(new BM(b.hist),a);if(b.hp===32768){b.hp=0;b.hfull=true;}b.hw=b.hp;};AR.prototype.setDict=function(a){return this.$val.setDict(a);};AR.Ptr.prototype.moreBits=function(){var a,b,c,d,e,f,g;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,B.EOF)){d=B.ErrUnexpectedEOF;}return d;}a.roffset=(e=a.roffset,f=new $Int64(0,1),new $Int64(e.$high+f.$high,e.$low+f.$low));a.b=(a.b|(((g=a.nb,g<32?((c>>>0)<>>0)))>>>0;a.nb=a.nb+(8)>>>0;return $ifaceNil;};AR.prototype.moreBits=function(){return this.$val.moreBits();};AR.Ptr.prototype.huffSym=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;c=(a.min>>>0);while(true){while(b.nb>>0,((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]));c=(((g&15)>>>0)>>>0);if(c>9){g=(h=(i=a.links,j=g>>>4>>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),k=(((b.b>>>9>>>0))&a.linkMask)>>>0,((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]));c=(((g&15)>>>0)>>>0);if(c===0){b.err=(l=b.roffset,new AK(l.$high,l.$low));return[0,b.err];}}if(c<=b.nb){b.b=(m=(c),m<32?(b.b>>>m):0)>>>0;b.nb=b.nb-(c)>>>0;return[((g>>>4>>>0)>>0),$ifaceNil];}}};AR.prototype.huffSym=function(a){return this.$val.huffSym(a);};AR.Ptr.prototype.flush=function(a){var b,c,d;b=this;b.toRead=$subslice(new BM(b.hist),b.hw,b.hp);b.woffset=(c=b.woffset,d=new $Int64(0,(b.hp-b.hw>>0)),new $Int64(c.$high+d.$high,c.$low+d.$low));b.hw=b.hp;if(b.hp===32768){b.hp=0;b.hw=0;b.hfull=true;}b.step=a;};AR.prototype.flush=function(a){return this.$val.flush(a);};AT=function(a){var b,c,d;b=$assertType(a,AQ,true);c=b[0];d=b[1];if(d){return c;}return E.NewReader(a);};AR.Ptr.prototype.Reset=function(a,b){var c;c=this;$copy(c,new AR.Ptr(AT(a),new $Int64(0,0),new $Int64(0,0),0,0,new AP.Ptr(),new AP.Ptr(),c.bits,c.codebits,c.hist,0,0,false,CM.zero(),$methodExpr(CE.prototype.nextBlock),false,$ifaceNil,BM.nil,CF.nil,CF.nil,0,0),AR);if(!(b===BM.nil)){c.setDict(b);}return $ifaceNil;};AR.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};AU=$pkg.NewReader=function(a){var b;b=$clone(new AR.Ptr(),AR);b.bits=CG.zero();b.codebits=CI.zero();b.r=AT(a);b.hist=CK.zero();b.step=$methodExpr(CE.prototype.nextBlock);return b;};AV=$pkg.NewReaderDict=function(a,b){var c;c=$clone(new AR.Ptr(),AR);c.r=AT(a);c.hist=CK.zero();c.bits=CG.zero();c.codebits=CI.zero();c.step=$methodExpr(CE.prototype.nextBlock);c.setDict(b);return c;};AX=function(a){var b,c;return(((b=a>>>8<<16>>>16,((b<0||b>=AW.length)?$throwRuntimeError("index out of range"):AW[b]))<<16>>>16)|(((c=(a&255)>>>0,((c<0||c>=AW.length)?$throwRuntimeError("index out of range"):AW[c]))<<16>>>16)<<8<<16>>>16))>>>0;};AY=function(a,b){var c;return AX((c=(16-b<<24>>>24),c<32?(a<>>16);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}BK=$sliceType($Uint32);BL=$sliceType(BK);BM=$sliceType($Uint8);BN=$sliceType($Int);BU=$sliceType($Int32);BV=$sliceType($Uint8);BW=$ptrType(Y);BX=$sliceType($Uint16);CB=$sliceType(Z);CC=$arrayType($Uint32,512);CD=$arrayType($Int,16);CE=$ptrType(AR);CF=$ptrType(AP);CG=$arrayType($Int,318);CH=$ptrType(CG);CI=$arrayType($Int,19);CJ=$ptrType(CI);CK=$arrayType($Uint8,32768);CL=$ptrType(CK);CM=$arrayType($Uint8,4);CS=$ptrType(AK);CT=$ptrType(AL);CU=$ptrType(AM);CW=$funcType([CE],[],false);BW.methods=[["assignEncodingAndSize","assignEncodingAndSize","compress/flate",$funcType([BU,CB],[],false),-1],["bitCounts","bitCounts","compress/flate",$funcType([CB,$Int32],[BU],false),-1],["bitLength","bitLength","compress/flate",$funcType([BU],[$Int64],false),-1],["generate","generate","compress/flate",$funcType([BU,$Int32],[],false),-1]];Y.init([["codeBits","codeBits","compress/flate",BV,""],["code","code","compress/flate",BX,""]]);Z.init([["literal","literal","compress/flate",$Uint16,""],["freq","freq","compress/flate",$Int32,""]]);AK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CS.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CT.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CU.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AM.init([["Offset","Offset","",$Int64,""],["Err","Err","",$error,""]]);AO.init([["Reset","Reset","",$funcType([B.Reader,BM],[$error],false)]]);CF.methods=[["init","init","compress/flate",$funcType([BN],[$Bool],false),-1]];AP.init([["min","min","compress/flate",$Int,""],["chunks","chunks","compress/flate",CC,""],["links","links","compress/flate",BL,""],["linkMask","linkMask","compress/flate",$Uint32,""]]);AQ.init([["Read","Read","",$funcType([BM],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);CE.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([BM],[$Int,$error],false),-1],["Reset","Reset","",$funcType([B.Reader,BM],[$error],false),-1],["copyData","copyData","compress/flate",$funcType([],[],false),-1],["copyHist","copyHist","compress/flate",$funcType([],[$Bool],false),-1],["copyHuff","copyHuff","compress/flate",$funcType([],[],false),-1],["dataBlock","dataBlock","compress/flate",$funcType([],[],false),-1],["flush","flush","compress/flate",$funcType([CW],[],false),-1],["huffSym","huffSym","compress/flate",$funcType([CF],[$Int,$error],false),-1],["huffmanBlock","huffmanBlock","compress/flate",$funcType([],[],false),-1],["moreBits","moreBits","compress/flate",$funcType([],[$error],false),-1],["nextBlock","nextBlock","compress/flate",$funcType([],[],false),-1],["readHuffman","readHuffman","compress/flate",$funcType([],[$error],false),-1],["setDict","setDict","compress/flate",$funcType([BM],[],false),-1]];AR.init([["r","r","compress/flate",AQ,""],["roffset","roffset","compress/flate",$Int64,""],["woffset","woffset","compress/flate",$Int64,""],["b","b","compress/flate",$Uint32,""],["nb","nb","compress/flate",$Uint,""],["h1","h1","compress/flate",AP,""],["h2","h2","compress/flate",AP,""],["bits","bits","compress/flate",CH,""],["codebits","codebits","compress/flate",CJ,""],["hist","hist","compress/flate",CL,""],["hp","hp","compress/flate",$Int,""],["hw","hw","compress/flate",$Int,""],["hfull","hfull","compress/flate",$Bool,""],["buf","buf","compress/flate",CM,""],["step","step","compress/flate",CW,""],["final$15","final","compress/flate",$Bool,""],["err","err","compress/flate",$error,""],["toRead","toRead","compress/flate",BM,""],["hl","hl","compress/flate",CF,""],["hd","hd","compress/flate",CF,""],["copyLen","copyLen","compress/flate",$Int,""],["copyDist","copyDist","compress/flate",$Int,""]]);Q=new AP.Ptr(7,$toNativeArray($kindUint32,[4103,1288,264,4488,4359,1800,776,3081,4231,1544,520,2569,8,2056,1032,3593,4167,1416,392,2313,4423,1928,904,3337,4295,1672,648,2825,136,2184,1160,3849,4135,1352,328,4552,4391,1864,840,3209,4263,1608,584,2697,72,2120,1096,3721,4199,1480,456,2441,4455,1992,968,3465,4327,1736,712,2953,200,2248,1224,3977,4119,1320,296,4520,4375,1832,808,3145,4247,1576,552,2633,40,2088,1064,3657,4183,1448,424,2377,4439,1960,936,3401,4311,1704,680,2889,168,2216,1192,3913,4151,1384,360,4584,4407,1896,872,3273,4279,1640,616,2761,104,2152,1128,3785,4215,1512,488,2505,4471,2024,1000,3529,4343,1768,744,3017,232,2280,1256,4041,4103,1304,280,4504,4359,1816,792,3113,4231,1560,536,2601,24,2072,1048,3625,4167,1432,408,2345,4423,1944,920,3369,4295,1688,664,2857,152,2200,1176,3881,4135,1368,344,4568,4391,1880,856,3241,4263,1624,600,2729,88,2136,1112,3753,4199,1496,472,2473,4455,2008,984,3497,4327,1752,728,2985,216,2264,1240,4009,4119,1336,312,4536,4375,1848,824,3177,4247,1592,568,2665,56,2104,1080,3689,4183,1464,440,2409,4439,1976,952,3433,4311,1720,696,2921,184,2232,1208,3945,4151,1400,376,4600,4407,1912,888,3305,4279,1656,632,2793,120,2168,1144,3817,4215,1528,504,2537,4471,2040,1016,3561,4343,1784,760,3049,248,2296,1272,4073,4103,1288,264,4488,4359,1800,776,3097,4231,1544,520,2585,8,2056,1032,3609,4167,1416,392,2329,4423,1928,904,3353,4295,1672,648,2841,136,2184,1160,3865,4135,1352,328,4552,4391,1864,840,3225,4263,1608,584,2713,72,2120,1096,3737,4199,1480,456,2457,4455,1992,968,3481,4327,1736,712,2969,200,2248,1224,3993,4119,1320,296,4520,4375,1832,808,3161,4247,1576,552,2649,40,2088,1064,3673,4183,1448,424,2393,4439,1960,936,3417,4311,1704,680,2905,168,2216,1192,3929,4151,1384,360,4584,4407,1896,872,3289,4279,1640,616,2777,104,2152,1128,3801,4215,1512,488,2521,4471,2024,1000,3545,4343,1768,744,3033,232,2280,1256,4057,4103,1304,280,4504,4359,1816,792,3129,4231,1560,536,2617,24,2072,1048,3641,4167,1432,408,2361,4423,1944,920,3385,4295,1688,664,2873,152,2200,1176,3897,4135,1368,344,4568,4391,1880,856,3257,4263,1624,600,2745,88,2136,1112,3769,4199,1496,472,2489,4455,2008,984,3513,4327,1752,728,3001,216,2264,1240,4025,4119,1336,312,4536,4375,1848,824,3193,4247,1592,568,2681,56,2104,1080,3705,4183,1464,440,2425,4439,1976,952,3449,4311,1720,696,2937,184,2232,1208,3961,4151,1400,376,4600,4407,1912,888,3321,4279,1656,632,2809,120,2168,1144,3833,4215,1528,504,2553,4471,2040,1016,3577,4343,1784,760,3065,248,2296,1272,4089]),BL.nil,0);AS=$toNativeArray($kindInt,[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);AW=$toNativeArray($kindUint8,[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255]);AF=AD();AG=AE();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["hash"]=(function(){var $pkg={},A,E,C;A=$packages["io"];C=$pkg.Hash32=$newType(8,$kindInterface,"hash.Hash32","Hash32","hash",null);$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}E=$sliceType($Uint8);C.init([["BlockSize","BlockSize","",$funcType([],[$Int],false)],["Reset","Reset","",$funcType([],[],false)],["Size","Size","",$funcType([],[$Int],false)],["Sum","Sum","",$funcType([E],[E],false)],["Sum32","Sum32","",$funcType([],[$Uint32],false)],["Write","Write","",$funcType([E],[$Int,$error],false)]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -42,14 +42,14 @@ $packages["image/png"]=(function(){var $pkg={},I,A,B,C,D,E,F,G,H,J,AI,AJ,AK,AL,A $packages["path/filepath"]=(function(){var $pkg={},G,A,B,C,D,E,F;G=$packages["bytes"];A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=G.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io/ioutil"]=(function(){var $pkg={},A,B,C,F,D,G,E,H,Y,Z,AA,R;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($emptyInterface);Z=$sliceType($Uint8);AA=$ptrType(Z);R=new E.Pool.Ptr(0,0,Y.nil,(function(){var a;a=Z.make(8192);return new AA(function(){return a;},function($v){a=$v;});}));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["path"]=(function(){var $pkg={},A,B,C;A=$packages["errors"];B=$packages["strings"];C=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J,K;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["reflect"];J=$packages["strings"];K=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["strings"];J=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color/palette"]=(function(){var $pkg={},A;A=$packages["image/color"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/lzw"]=(function(){var $pkg={},A,B,C,D,N,O,P,S,T,U,V,F,G,L,H;A=$packages["bufio"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];F=$pkg.decoder=$newType(0,$kindStruct,"lzw.decoder","decoder","compress/lzw",function(r_,bits_,nBits_,width_,read_,litWidth_,err_,clear_,eof_,hi_,overflow_,last_,suffix_,prefix_,output_,o_,toRead_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:0;this.nBits=nBits_!==undefined?nBits_:0;this.width=width_!==undefined?width_:0;this.read=read_!==undefined?read_:$throwNilPointerError;this.litWidth=litWidth_!==undefined?litWidth_:0;this.err=err_!==undefined?err_:$ifaceNil;this.clear=clear_!==undefined?clear_:0;this.eof=eof_!==undefined?eof_:0;this.hi=hi_!==undefined?hi_:0;this.overflow=overflow_!==undefined?overflow_:0;this.last=last_!==undefined?last_:0;this.suffix=suffix_!==undefined?suffix_:S.zero();this.prefix=prefix_!==undefined?prefix_:T.zero();this.output=output_!==undefined?output_:U.zero();this.o=o_!==undefined?o_:0;this.toRead=toRead_!==undefined?toRead_:N.nil;});F.Ptr.prototype.readLSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((a.bits&((((f=a.width,f<32?(1<>>0)-1>>>0)))>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits>>>h):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readLSB=function(){return this.$val.readLSB();};F.Ptr.prototype.readMSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)),e<32?((c>>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((f=((32-a.width>>>0)),f<32?(a.bits>>>f):0)>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits<>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readMSB=function(){return this.$val.readMSB();};F.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.decode();}};F.prototype.Read=function(a){return this.$val.Read(a);};F.Ptr.prototype.decode=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,y,z,aa,ab;a=this;while(true){b=a.read(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,D.EOF)){d=D.ErrUnexpectedEOF;}a.err=d;return;}if(c=e.length)?$throwRuntimeError("index out of range"):e[f]=(c<<24>>>24));a.o=a.o+(1)>>0;if(!((a.last===65535))){(g=a.suffix,h=a.hi,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));(i=a.prefix,j=a.hi,(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=a.last);}}else if(c===a.clear){a.width=1+(a.litWidth>>>0)>>>0;a.hi=a.eof;a.overflow=(k=a.width,k<32?(1<>>16;a.last=65535;continue;}else if(c===a.eof){a.flush();a.err=D.EOF;return;}else if(c<=a.hi){l=c;m=8191;n=l;o=m;if(c===a.hi){n=a.last;while(n>=a.clear){n=(p=a.prefix,((n<0||n>=p.length)?$throwRuntimeError("index out of range"):p[n]));}(q=a.output,(o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o]=(n<<24>>>24));o=o-(1)>>0;n=a.last;}while(n>=a.clear){(s=a.output,(o<0||o>=s.length)?$throwRuntimeError("index out of range"):s[o]=(r=a.suffix,((n<0||n>=r.length)?$throwRuntimeError("index out of range"):r[n])));o=o-(1)>>0;n=(t=a.prefix,((n<0||n>=t.length)?$throwRuntimeError("index out of range"):t[n]));}(u=a.output,(o<0||o>=u.length)?$throwRuntimeError("index out of range"):u[o]=(n<<24>>>24));a.o=a.o+($copySlice($subslice(new N(a.output),a.o),$subslice(new N(a.output),o)))>>0;if(!((a.last===65535))){(v=a.suffix,w=a.hi,(w<0||w>=v.length)?$throwRuntimeError("index out of range"):v[w]=(n<<24>>>24));(x=a.prefix,y=a.hi,(y<0||y>=x.length)?$throwRuntimeError("index out of range"):x[y]=a.last);}}else{a.err=B.New("lzw: invalid code");return;}z=c;aa=a.hi+1<<16>>>16;a.last=z;a.hi=aa;if(a.hi>=a.overflow){if(a.width===12){a.last=65535;}else{a.width=a.width+(1)>>>0;a.overflow=(ab=(1),ab<32?(a.overflow<>>16;}}if(a.o>=4096){a.flush();return;}}};F.prototype.decode=function(){return this.$val.decode();};F.Ptr.prototype.flush=function(){var a;a=this;a.toRead=$subslice(new N(a.output),0,a.o);a.o=0;};F.prototype.flush=function(){return this.$val.flush();};F.Ptr.prototype.Close=function(){var a;a=this;a.err=G;return $ifaceNil;};F.prototype.Close=function(){return this.$val.Close();};H=$pkg.NewReader=function(a,b,c){var d,e,f,g,h,i,j,k,l;d=new F.Ptr();e=b;if(e===0){d.read=$methodExpr(O.prototype.readLSB);}else if(e===1){d.read=$methodExpr(O.prototype.readMSB);}else{d.err=B.New("lzw: unknown order");return d;}if(c<2||8>>0)>>>0;d.clear=(i=(c>>>0),i<32?(1<>>16;j=d.clear+1<<16>>>16;k=d.clear+1<<16>>>16;d.eof=j;d.hi=k;d.overflow=(l=d.width,l<32?(1<>>16;d.last=65535;return d;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}N=$sliceType($Uint8);O=$ptrType(F);P=$sliceType($emptyInterface);S=$arrayType($Uint8,4096);T=$arrayType($Uint16,4096);U=$arrayType($Uint8,8192);V=$funcType([O],[$Uint16,$error],false);O.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([N],[$Int,$error],false),-1],["decode","decode","compress/lzw",$funcType([],[],false),-1],["flush","flush","compress/lzw",$funcType([],[],false),-1],["readLSB","readLSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1],["readMSB","readMSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1]];F.init([["r","r","compress/lzw",D.ByteReader,""],["bits","bits","compress/lzw",$Uint32,""],["nBits","nBits","compress/lzw",$Uint,""],["width","width","compress/lzw",$Uint,""],["read","read","compress/lzw",V,""],["litWidth","litWidth","compress/lzw",$Int,""],["err","err","compress/lzw",$error,""],["clear","clear","compress/lzw",$Uint16,""],["eof","eof","compress/lzw",$Uint16,""],["hi","hi","compress/lzw",$Uint16,""],["overflow","overflow","compress/lzw",$Uint16,""],["last","last","compress/lzw",$Uint16,""],["suffix","suffix","compress/lzw",S,""],["prefix","prefix","compress/lzw",T,""],["output","output","compress/lzw",U,""],["o","o","compress/lzw",$Int,""],["toRead","toRead","compress/lzw",N,""]]);G=B.New("compress/lzw: reader/writer is closed");L=B.New("lzw: out of codes");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/gif"]=(function(){var $pkg={},A,B,C,D,E,F,H,I,G,AG,AH,AI,AJ,AK,AL,AN,AO,AQ,AS,AT,M,N,O,P,J,K,L,Q,R,S,V,W;A=$packages["bufio"];B=$packages["compress/lzw"];C=$packages["errors"];D=$packages["fmt"];E=$packages["image"];F=$packages["image/color"];H=$packages["image/color/palette"];I=$packages["image/draw"];G=$packages["io"];M=$pkg.reader=$newType(8,$kindInterface,"gif.reader","reader","image/gif",null);N=$pkg.decoder=$newType(0,$kindStruct,"gif.decoder","decoder","image/gif",function(r_,vers_,width_,height_,flags_,headerFields_,backgroundIndex_,loopCount_,delayTime_,aspect_,imageFields_,transparentIndex_,hasTransparentIndex_,pixelSize_,globalColorMap_,delay_,image_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.vers=vers_!==undefined?vers_:"";this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flags=flags_!==undefined?flags_:0;this.headerFields=headerFields_!==undefined?headerFields_:0;this.backgroundIndex=backgroundIndex_!==undefined?backgroundIndex_:0;this.loopCount=loopCount_!==undefined?loopCount_:0;this.delayTime=delayTime_!==undefined?delayTime_:0;this.aspect=aspect_!==undefined?aspect_:0;this.imageFields=imageFields_!==undefined?imageFields_:0;this.transparentIndex=transparentIndex_!==undefined?transparentIndex_:0;this.hasTransparentIndex=hasTransparentIndex_!==undefined?hasTransparentIndex_:false;this.pixelSize=pixelSize_!==undefined?pixelSize_:0;this.globalColorMap=globalColorMap_!==undefined?globalColorMap_:F.Palette.nil;this.delay=delay_!==undefined?delay_:AO.nil;this.image=image_!==undefined?image_:AN.nil;this.tmp=tmp_!==undefined?tmp_:AQ.zero();});O=$pkg.blockReader=$newType(0,$kindStruct,"gif.blockReader","blockReader","image/gif",function(r_,slice_,err_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.slice=slice_!==undefined?slice_:AH.nil;this.err=err_!==undefined?err_:$ifaceNil;this.tmp=tmp_!==undefined?tmp_:AJ.zero();});P=$pkg.interlaceScan=$newType(0,$kindStruct,"gif.interlaceScan","interlaceScan","image/gif",function(skip_,start_){this.$val=this;this.skip=skip_!==undefined?skip_:0;this.start=start_!==undefined?start_:0;});O.Ptr.prototype.Read=function(a){var b,c,d,e,f;b=this;if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(a.$length===0){return[0,$ifaceNil];}if(b.slice.$length===0){c=0;d=b.r.ReadByte();c=d[0];b.err=d[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(c===0){b.err=G.EOF;return[0,b.err];}b.slice=$subslice(new AH(b.tmp),0,c);e=G.ReadFull(b.r,b.slice);b.err=e[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}}f=$copySlice(a,b.slice);b.slice=$subslice(b.slice,f);return[f,$ifaceNil];};O.prototype.Read=function(a){return this.$val.Read(a);};N.Ptr.prototype.decode=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;try{$deferFrames.push($deferred);c=this;d=$assertType(a,M,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=c.readHeaderAndScreenDescriptor();if(!($interfaceIsEqual(g,$ifaceNil))){return g;}if(b){return $ifaceNil;}if(!((((c.headerFields&128)>>>0)===0))){h=c.readColorMap();c.globalColorMap=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}}while(true){i=c.r.ReadByte();j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}l=j;if(l===33){k=c.readExtension();if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}else if(l===44){m=c.newImageFromDescriptor();n=m[0];o=m[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=!((((c.imageFields&128)>>>0)===0));if(p){q=c.readColorMap();n.Palette=q[0];o=q[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}}else{n.Palette=c.globalColorMap;}if(c.hasTransparentIndex&&(c.transparentIndex>>0)=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=(r=new F.RGBA.Ptr(0,0,0,0),new r.constructor.Struct(r)));}u=c.r.ReadByte();v=u[0];o=u[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}if(v<2||v>8){return D.Errorf("gif: pixel size in decode out of range: %d",new AI([new $Uint8(v)]));}w=new O.Ptr(c.r,AH.nil,$ifaceNil,AJ.zero());x=B.NewReader(w,0,(v>>0));$deferred.push([$methodVal(x,"Close"),[]]);y=G.ReadFull(x,n.Pix);o=y[1];if(!($interfaceIsEqual(o,$ifaceNil))){if(!($interfaceIsEqual(o,G.ErrUnexpectedEOF))){return o;}return J;}z=x.Read($subslice(new AH(c.tmp),0,1));aa=z[0];ab=z[1];if(!((aa===0))||!($interfaceIsEqual(ab,G.EOF))){if(!($interfaceIsEqual(ab,$ifaceNil))){return ab;}return K;}ac=w.Read($subslice(new AH(c.tmp),0,1));ad=ac[0];ae=ac[1];if(!((ad===0))||!($interfaceIsEqual(ae,G.EOF))){if(!($interfaceIsEqual(ae,$ifaceNil))){return ae;}return K;}if(n.Palette.$length<256){af=n.Pix;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if((ah>>0)>=n.Palette.$length){return L;}ag++;}}if(!((((c.imageFields&64)>>>0)===0))){R(n);}c.image=$append(c.image,n);c.delay=$append(c.delay,c.delayTime);c.delayTime=0;c.hasTransparentIndex=false;}else if(l===59){if(c.image.$length===0){return G.ErrUnexpectedEOF;}return $ifaceNil;}else{return D.Errorf("gif: unknown block type: 0x%.2x",new AI([new $Uint8(j)]));}}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};N.prototype.decode=function(a,b){return this.$val.decode(a,b);};N.Ptr.prototype.readHeaderAndScreenDescriptor=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,13));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}a.vers=$bytesToString($subslice(new AH(a.tmp),0,6));if(!(a.vers==="GIF87a")&&!(a.vers==="GIF89a")){return D.Errorf("gif: can't recognize format %s",new AI([new $String(a.vers)]));}a.width=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.height=(a.tmp[8]>>0)+((a.tmp[9]>>0)<<8>>0)>>0;a.headerFields=a.tmp[10];a.backgroundIndex=a.tmp[11];a.aspect=a.tmp[12];a.loopCount=-1;a.pixelSize=(((a.headerFields&7)>>>0)>>>0)+1>>>0;return $ifaceNil;};N.prototype.readHeaderAndScreenDescriptor=function(){return this.$val.readHeaderAndScreenDescriptor();};N.Ptr.prototype.readColorMap=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.pixelSize>8){return[F.Palette.nil,D.Errorf("gif: can't handle %d bits per pixel",new AI([new $Uint(a.pixelSize)]))];}c=(b=a.pixelSize,b<32?(1<>0;if(!((((a.imageFields&128)>>>0)===0))){c=(d=(((((a.imageFields&7)>>>0))+1<<24>>>24)),d<32?(1<>0;}e=3*c>>0;f=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));g=f[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[F.Palette.nil,D.Errorf("gif: short read on color map: %s",new AI([g]))];}h=F.Palette.make(c);i=0;j=h;k=0;while(k=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+l]=(m=new F.RGBA.Ptr((n=a.tmp,o=i+0>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o])),(p=a.tmp,q=i+1>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q])),(r=a.tmp,s=i+2>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s])),255),new m.constructor.Struct(m));i=i+(3)>>0;k++;}return[h,$ifaceNil];};N.prototype.readColorMap=function(){return this.$val.readColorMap();};N.Ptr.prototype.readExtension=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=0;f=c;if(f===1){e=13;}else if(f===249){return a.readGraphicControl();}else if(f===254){}else if(f===255){g=a.r.ReadByte();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}e=(h>>0);}else{return D.Errorf("gif: unknown extension 0x%.2x",new AI([new $Uint8(c)]));}if(e>0){j=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));k=j[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}if((c===255)&&$bytesToString($subslice(new AH(a.tmp),0,e))==="NETSCAPE2.0"){l=a.readBlock();m=l[0];n=l[1];if((m===0)||!($interfaceIsEqual(n,$ifaceNil))){return n;}if((m===3)&&(a.tmp[0]===1)){a.loopCount=(a.tmp[1]>>0)|((a.tmp[2]>>0)<<8>>0);}}while(true){o=a.readBlock();p=o[0];q=o[1];if((p===0)||!($interfaceIsEqual(q,$ifaceNil))){return q;}}};N.prototype.readExtension=function(){return this.$val.readExtension();};N.Ptr.prototype.readGraphicControl=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,6));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return D.Errorf("gif: can't read graphic control: %s",new AI([c]));}a.flags=a.tmp[1];a.delayTime=(a.tmp[2]>>0)|((a.tmp[3]>>0)<<8>>0);if(!((((a.flags&1)>>>0)===0))){a.transparentIndex=a.tmp[4];a.hasTransparentIndex=true;}return $ifaceNil;};N.prototype.readGraphicControl=function(){return this.$val.readGraphicControl();};N.Ptr.prototype.newImageFromDescriptor=function(){var a,b,c,d,e,f,g,h;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,9));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[AK.nil,D.Errorf("gif: can't read image descriptor: %s",new AI([c]))];}d=(a.tmp[0]>>0)+((a.tmp[1]>>0)<<8>>0)>>0;e=(a.tmp[2]>>0)+((a.tmp[3]>>0)<<8>>0)>>0;f=(a.tmp[4]>>0)+((a.tmp[5]>>0)<<8>>0)>>0;g=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.imageFields=a.tmp[8];h=$clone(E.Rect(d,e,d+f>>0,e+g>>0),E.Rectangle);if(!($equal(h,h.Intersect(E.Rect(0,0,a.width,a.height)),E.Rectangle))){return[AK.nil,C.New("gif: frame bounds larger than image bounds")];}return[E.NewPaletted(h,F.Palette.nil),$ifaceNil];};N.prototype.newImageFromDescriptor=function(){return this.$val.newImageFromDescriptor();};N.Ptr.prototype.readBlock=function(){var a,b,c,d;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if((c===0)||!($interfaceIsEqual(d,$ifaceNil))){return[0,d];}return G.ReadFull(a.r,$subslice(new AH(a.tmp),0,c));};N.prototype.readBlock=function(){return this.$val.readBlock();};R=function(a){var b,c,d,e,f,g,h,i,j;b=AL.nil;c=a.Bounds().Dx();d=a.Bounds().Dy();b=AL.make((c*d>>0));e=0;f=Q;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),P);i=h.start*c>>0;j=h.start;while(j>0)),$subslice(a.Pix,e,(e+c>>0)));e=e+(c)>>0;i=i+((c*h.skip>>0))>>0;j=j+(h.skip)>>0;}g++;}a.Pix=b;};S=$pkg.Decode=function(a){var b,c,d;b=$clone(new N.Ptr(),N);c=b.decode(a,false);if(!($interfaceIsEqual(c,$ifaceNil))){return[$ifaceNil,c];}return[(d=b.image,((0<0||0>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+0])),$ifaceNil];};V=$pkg.DecodeConfig=function(a){var b,c;b=$clone(new N.Ptr(),N);c=b.decode(a,true);if(!($interfaceIsEqual(c,$ifaceNil))){return[new E.Config.Ptr($ifaceNil,0,0),c];}return[new E.Config.Ptr(b.globalColorMap,b.width,b.height),$ifaceNil];};W=function(){E.RegisterFormat("gif","GIF8?a",S,V);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AG=$sliceType(P);AH=$sliceType($Uint8);AI=$sliceType($emptyInterface);AJ=$arrayType($Uint8,256);AK=$ptrType(E.Paletted);AL=$sliceType($Uint8);AN=$sliceType(AK);AO=$sliceType($Int);AQ=$arrayType($Uint8,1024);AS=$ptrType(N);AT=$ptrType(O);M.init([["Read","Read","",$funcType([AH],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);AS.methods=[["decode","decode","image/gif",$funcType([G.Reader,$Bool],[$error],false),-1],["newImageFromDescriptor","newImageFromDescriptor","image/gif",$funcType([],[AK,$error],false),-1],["readBlock","readBlock","image/gif",$funcType([],[$Int,$error],false),-1],["readColorMap","readColorMap","image/gif",$funcType([],[F.Palette,$error],false),-1],["readExtension","readExtension","image/gif",$funcType([],[$error],false),-1],["readGraphicControl","readGraphicControl","image/gif",$funcType([],[$error],false),-1],["readHeaderAndScreenDescriptor","readHeaderAndScreenDescriptor","image/gif",$funcType([],[$error],false),-1]];N.init([["r","r","image/gif",M,""],["vers","vers","image/gif",$String,""],["width","width","image/gif",$Int,""],["height","height","image/gif",$Int,""],["flags","flags","image/gif",$Uint8,""],["headerFields","headerFields","image/gif",$Uint8,""],["backgroundIndex","backgroundIndex","image/gif",$Uint8,""],["loopCount","loopCount","image/gif",$Int,""],["delayTime","delayTime","image/gif",$Int,""],["aspect","aspect","image/gif",$Uint8,""],["imageFields","imageFields","image/gif",$Uint8,""],["transparentIndex","transparentIndex","image/gif",$Uint8,""],["hasTransparentIndex","hasTransparentIndex","image/gif",$Bool,""],["pixelSize","pixelSize","image/gif",$Uint,""],["globalColorMap","globalColorMap","image/gif",F.Palette,""],["delay","delay","image/gif",AO,""],["image","image","image/gif",AN,""],["tmp","tmp","image/gif",AQ,""]]);AT.methods=[["Read","Read","",$funcType([AH],[$Int,$error],false),-1]];O.init([["r","r","image/gif",M,""],["slice","slice","image/gif",AH,""],["err","err","image/gif",$error,""],["tmp","tmp","image/gif",AJ,""]]);P.init([["skip","skip","image/gif",$Int,""],["start","start","image/gif",$Int,""]]);J=C.New("gif: not enough image data");K=C.New("gif: too much image data");L=C.New("gif: invalid pixel value");Q=new AG([new P.Ptr(8,0),new P.Ptr(8,4),new P.Ptr(4,2),new P.Ptr(2,1)]);W();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/ebitenutil"]=(function(){var $pkg={},L,M,N,O,A,B,F,C,G,H,I,J,D,E,K,Y,AA,AB,AG,AH,AI,AJ,U,V,X;L=$packages["bytes"];M=$packages["errors"];N=$packages["fmt"];O=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/internal/assets"];F=$packages["image"];C=$packages["image/color"];G=$packages["image/color/palette"];H=$packages["image/draw"];I=$packages["image/gif"];J=$packages["io"];D=$packages["math"];E=$packages["strings"];K=$packages["sync"];V=function(){var a,b,c,d,e,f,g,h,i,j,k;a=new AA([]);b=new AB([0,128,255]);c=0;while(c=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);e=new AB([0,128,255]);f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);h=new AB([0,128,255]);i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);a=$append(a,(k=new C.RGBA.Ptr(d,g,j,255),new k.constructor.Struct(k)));i++;}f++;}c++;}U=$subslice(new C.Palette(a.$array),a.$offset,a.$offset+a.$length);};X=$pkg.NewImageFromFile=function(a,b,$b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k,l,m;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;d=null;e=new AH(0);f=new($global.XMLHttpRequest)();f.open($externalize("GET",$String),$externalize(a,$String),$externalize(true,$Bool));f.responseType=$externalize("arraybuffer",$String);f.onload=$externalize((function(){var $deferred=[],$err=null,g,h;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);h=$parseInt(f.status)>>0;if(200<=h&&h<400){d=f.response;return;}c=M.New(N.Sprintf("http error: %d",new AI([new $Int(h)])));}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.onerror=$externalize((function(){var $deferred=[],$err=null,g;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);c=M.New("http error");}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.send();g=$recv(e,$BLOCKING);$s=1;case 1:if(g&&g.$blocking){g=g();}g[0];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}h=$assertType($internalize(new($global.Uint8Array)(d),$emptyInterface),AB);i=L.NewBuffer(h);j=F.Decode(i);k=j[0];c=j[2];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}l=A.NewImageFromImage(k,b);m=l[0];c=l[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}return[m,k,$ifaceNil];case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=L.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=M.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=N.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=O.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=15;case 15:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(A.Image);AA=$sliceType(C.Color);AB=$sliceType($Uint8);AG=$structType([]);AH=$chanType(AG,false,false);AI=$sliceType($emptyInterface);AJ=$funcType([],[],false);U=C.Palette.nil;V();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/jpeg"]=(function(){var $pkg={},D,E,B,C,A,AQ,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BF,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,G,I,K,L,M,P,Q,AB,AD,H,N,R,AC,AE,J,S,T,U,AF;D=$packages["bufio"];E=$packages["errors"];B=$packages["image"];C=$packages["image/color"];A=$packages["io"];G=$pkg.huffman=$newType(0,$kindStruct,"jpeg.huffman","huffman","image/jpeg",function(nCodes_,lut_,vals_,minCodes_,maxCodes_,valsIndices_){this.$val=this;this.nCodes=nCodes_!==undefined?nCodes_:0;this.lut=lut_!==undefined?lut_:BI.zero();this.vals=vals_!==undefined?vals_:BJ.zero();this.minCodes=minCodes_!==undefined?minCodes_:AT.zero();this.maxCodes=maxCodes_!==undefined?maxCodes_:AT.zero();this.valsIndices=valsIndices_!==undefined?valsIndices_:AT.zero();});I=$pkg.block=$newType(256,$kindArray,"jpeg.block","block","image/jpeg",null);K=$pkg.FormatError=$newType(8,$kindString,"jpeg.FormatError","FormatError","image/jpeg",null);L=$pkg.UnsupportedError=$newType(8,$kindString,"jpeg.UnsupportedError","UnsupportedError","image/jpeg",null);M=$pkg.component=$newType(0,$kindStruct,"jpeg.component","component","image/jpeg",function(h_,v_,c_,tq_){this.$val=this;this.h=h_!==undefined?h_:0;this.v=v_!==undefined?v_:0;this.c=c_!==undefined?c_:0;this.tq=tq_!==undefined?tq_:0;});P=$pkg.bits=$newType(0,$kindStruct,"jpeg.bits","bits","image/jpeg",function(a_,m_,n_){this.$val=this;this.a=a_!==undefined?a_:0;this.m=m_!==undefined?m_:0;this.n=n_!==undefined?n_:0;});Q=$pkg.decoder=$newType(0,$kindStruct,"jpeg.decoder","decoder","image/jpeg",function(r_,bits_,bytes_,width_,height_,img1_,img3_,ri_,nComp_,progressive_,eobRun_,comp_,progCoeffs_,huff_,quant_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:new P.Ptr();this.bytes=bytes_!==undefined?bytes_:new BN.Ptr();this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.img1=img1_!==undefined?img1_:AV.nil;this.img3=img3_!==undefined?img3_:AW.nil;this.ri=ri_!==undefined?ri_:0;this.nComp=nComp_!==undefined?nComp_:0;this.progressive=progressive_!==undefined?progressive_:false;this.eobRun=eobRun_!==undefined?eobRun_:0;this.comp=comp_!==undefined?comp_:BO.zero();this.progCoeffs=progCoeffs_!==undefined?progCoeffs_:BP.zero();this.huff=huff_!==undefined?huff_:BR.zero();this.quant=quant_!==undefined?quant_:BF.zero();this.tmp=tmp_!==undefined?tmp_:BS.zero();});AB=$pkg.huffmanSpec=$newType(0,$kindStruct,"jpeg.huffmanSpec","huffmanSpec","image/jpeg",function(count_,value_){this.$val=this;this.count=count_!==undefined?count_:BW.zero();this.value=value_!==undefined?value_:AS.nil;});AD=$pkg.huffmanLUT=$newType(12,$kindSlice,"jpeg.huffmanLUT","huffmanLUT","image/jpeg",null);Q.Ptr.prototype.ensureNBits=function(a){var b,c,d,e,f;b=this;while(true){c=b.readByteStuffedByte();d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,A.EOF)){return new K(H);}return e;}b.bits.a=((b.bits.a<<8>>>0)|(d>>>0))>>>0;b.bits.n=b.bits.n+(8)>>0;if(b.bits.m===0){b.bits.m=128;}else{b.bits.m=(f=(8),f<32?(b.bits.m<>>0;}if(b.bits.n>=a){break;}}return $ifaceNil;};Q.prototype.ensureNBits=function(a){return this.$val.ensureNBits(a);};Q.Ptr.prototype.receiveExtend=function(a){var b,c,d,e,f,g,h,i;b=this;if(b.bits.n<(a>>0)){c=b.ensureNBits((a>>0));if(!($interfaceIsEqual(c,$ifaceNil))){return[0,c];}}b.bits.n=b.bits.n-((a>>0))>>0;b.bits.m=(d=(a),d<32?(b.bits.m>>>d):0)>>>0;f=(e=a,e<32?(1<>0;h=(((g=(b.bits.n<<24>>>24),g<32?(b.bits.a>>>g):0)>>>0)>>0)&((f-1>>0));if(h<(f>>1>>0)){h=h+(((((i=a,i<32?(-1<>0))+1>>0))>>0;}return[h,$ifaceNil];};Q.prototype.receiveExtend=function(a){return this.$val.receiveExtend(a);};Q.Ptr.prototype.processDHT=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw;b=this;while(a>0){if(a<17){return new K("DHT has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,17));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(d>1){return new K("bad Tc value");}e=(b.tmp[0]&15)>>>0;if(e>3||!b.progressive&&e>1){return new K("bad Th value");}h=(f=(g=b.huff,((d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d])),((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e]));h.nCodes=0;i=$clone(AT.zero(),AT);j=i;k=0;while(k<16){l=k;(l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]=((m=b.tmp,n=l+1>>0,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))>>0);h.nCodes=h.nCodes+(((l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]))>>0;k++;}if(h.nCodes===0){return new K("Huffman table has zero length");}if(h.nCodes>256){return new K("Huffman table has excessive length");}a=a-(((h.nCodes>>0)+17>>0))>>0;if(a<0){return new K("DHT has wrong length");}o=b.readFull($subslice(new AU(h.vals),0,h.nCodes));if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=h.lut;q=0;while(q<256){r=q;(s=h.lut,(r<0||r>=s.length)?$throwRuntimeError("index out of range"):s[r]=0);q++;}t=0;u=0;v=t;w=u;x=0;while(x<8){w=(y=(1),y<32?(w<>>0;z=0;while(z<((x<0||x>=i.length)?$throwRuntimeError("index out of range"):i[x])){ab=(((aa=((7-x>>>0)),aa<32?(w<>>0)<<24>>>24);ad=((((ac=h.vals,((v<0||v>=ac.length)?$throwRuntimeError("index out of range"):ac[v]))<<16>>>16)<<8<<16>>>16)|((2+x>>>0)<<16>>>16))>>>0;ae=0;while(ae<((af=((7-x>>>0)),af<32?(1<>>24)){(ag=h.lut,ah=(ab|ae)>>>0,(ah<0||ah>=ag.length)?$throwRuntimeError("index out of range"):ag[ah]=ad);ae=ae+(1)<<24>>>24;}w=w+(1)>>>0;v=v+(1)>>>0;z=z+(1)>>0;}x=x+(1)>>>0;}ai=0;aj=0;ak=ai;al=aj;am=i;an=0;while(an<16){ao=an;ap=((an<0||an>=am.length)?$throwRuntimeError("index out of range"):am[an]);if(ap===0){(aq=h.minCodes,(ao<0||ao>=aq.length)?$throwRuntimeError("index out of range"):aq[ao]=-1);(ar=h.maxCodes,(ao<0||ao>=ar.length)?$throwRuntimeError("index out of range"):ar[ao]=-1);(as=h.valsIndices,(ao<0||ao>=as.length)?$throwRuntimeError("index out of range"):as[ao]=-1);}else{(at=h.minCodes,(ao<0||ao>=at.length)?$throwRuntimeError("index out of range"):at[ao]=ak);(au=h.maxCodes,(ao<0||ao>=au.length)?$throwRuntimeError("index out of range"):au[ao]=(ak+ap>>0)-1>>0);(av=h.valsIndices,(ao<0||ao>=av.length)?$throwRuntimeError("index out of range"):av[ao]=al);ak=ak+(ap)>>0;al=al+(ap)>>0;}ak=(aw=(1),aw<32?(ak<>0;an++;}}return $ifaceNil;};Q.prototype.processDHT=function(a){return this.$val.processDHT(a);};Q.Ptr.prototype.decodeHuffman=function(a){var $this=this,$args=arguments,$s=0,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s:while(true){switch($s){case 0:b=$this;if(a.nCodes===0){return[0,new K("uninitialized Huffman table")];}if(b.bits.n<8){}else{$s=2;continue;}c=b.ensureNBits(8);if(!($interfaceIsEqual(c,$ifaceNil))){}else{$s=3;continue;}if(!($interfaceIsEqual(c,new K(R)))&&!($interfaceIsEqual(c,new K(H)))){return[0,c];}b.unreadByteStuffedByte();$s=1;continue;case 3:case 2:g=(d=a.lut,e=((((f=((b.bits.n-8>>0)>>>0),f<32?(b.bits.a>>>f):0)>>>0))&255)>>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));if(!((g===0))){h=(((g&255)>>>0))-1<<16>>>16;b.bits.n=b.bits.n-((h>>0))>>0;b.bits.m=(i=(h),i<32?(b.bits.m>>>i):0)>>>0;return[((g>>>8<<16>>>16)<<24>>>24),$ifaceNil];}case 1:j=0;k=0;l=j;m=k;slowPath:while(l<16){if(b.bits.n===0){n=b.ensureNBits(1);if(!($interfaceIsEqual(n,$ifaceNil))){return[0,n];}}if(!((((b.bits.a&b.bits.m)>>>0)===0))){m=m|(1);}b.bits.n=b.bits.n-(1)>>0;b.bits.m=(o=(1),o<32?(b.bits.m>>>o):0)>>>0;if(m<=(p=a.maxCodes,((l<0||l>=p.length)?$throwRuntimeError("index out of range"):p[l]))){return[(q=a.vals,r=((s=a.valsIndices,((l<0||l>=s.length)?$throwRuntimeError("index out of range"):s[l]))+m>>0)-(t=a.minCodes,((l<0||l>=t.length)?$throwRuntimeError("index out of range"):t[l]))>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),$ifaceNil];}m=(u=(1),u<32?(m<>0;l=l+(1)>>0;}return[0,new K("bad Huffman code")];case-1:}return;}};Q.prototype.decodeHuffman=function(a){return this.$val.decodeHuffman(a);};Q.Ptr.prototype.decodeBit=function(){var a,b,c,d;a=this;if(a.bits.n===0){b=a.ensureNBits(1);if(!($interfaceIsEqual(b,$ifaceNil))){return[false,b];}}c=!((((a.bits.a&a.bits.m)>>>0)===0));a.bits.n=a.bits.n-(1)>>0;a.bits.m=(d=(1),d<32?(a.bits.m>>>d):0)>>>0;return[c,$ifaceNil];};Q.prototype.decodeBit=function(){return this.$val.decodeBit();};Q.Ptr.prototype.decodeBits=function(a){var b,c,d,e,f,g;b=this;if(b.bits.n>0)>>>0),d<32?(b.bits.a>>>d):0)>>>0;e=(e&(((((f=(a>>>0),f<32?(1<>>0))-1>>>0)))>>>0;b.bits.n=b.bits.n-(a)>>0;b.bits.m=(g=((a>>>0)),g<32?(b.bits.m>>>g):0)>>>0;return[e,$ifaceNil];};Q.prototype.decodeBits=function(a){return this.$val.decodeBits(a);};J=function(a){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,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;b=0;while(b<8){c=b*8>>0;if(((d=c+1>>0,(a.nilCheck,((d<0||d>=a.length)?$throwRuntimeError("index out of range"):a[d])))===0)&&((e=c+2>>0,(a.nilCheck,((e<0||e>=a.length)?$throwRuntimeError("index out of range"):a[e])))===0)&&((f=c+3>>0,(a.nilCheck,((f<0||f>=a.length)?$throwRuntimeError("index out of range"):a[f])))===0)&&((g=c+4>>0,(a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g])))===0)&&((h=c+5>>0,(a.nilCheck,((h<0||h>=a.length)?$throwRuntimeError("index out of range"):a[h])))===0)&&((i=c+6>>0,(a.nilCheck,((i<0||i>=a.length)?$throwRuntimeError("index out of range"):a[i])))===0)&&((j=c+7>>0,(a.nilCheck,((j<0||j>=a.length)?$throwRuntimeError("index out of range"):a[j])))===0)){l=(k=c+0>>0,(a.nilCheck,((k<0||k>=a.length)?$throwRuntimeError("index out of range"):a[k])))<<3>>0;(m=c+0>>0,a.nilCheck,(m<0||m>=a.length)?$throwRuntimeError("index out of range"):a[m]=l);(n=c+1>>0,a.nilCheck,(n<0||n>=a.length)?$throwRuntimeError("index out of range"):a[n]=l);(o=c+2>>0,a.nilCheck,(o<0||o>=a.length)?$throwRuntimeError("index out of range"):a[o]=l);(p=c+3>>0,a.nilCheck,(p<0||p>=a.length)?$throwRuntimeError("index out of range"):a[p]=l);(q=c+4>>0,a.nilCheck,(q<0||q>=a.length)?$throwRuntimeError("index out of range"):a[q]=l);(r=c+5>>0,a.nilCheck,(r<0||r>=a.length)?$throwRuntimeError("index out of range"):a[r]=l);(s=c+6>>0,a.nilCheck,(s<0||s>=a.length)?$throwRuntimeError("index out of range"):a[s]=l);(t=c+7>>0,a.nilCheck,(t<0||t>=a.length)?$throwRuntimeError("index out of range"):a[t]=l);b=b+(1)>>0;continue;}v=(((u=c+0>>0,(a.nilCheck,((u<0||u>=a.length)?$throwRuntimeError("index out of range"):a[u])))<<11>>0))+128>>0;x=(w=c+4>>0,(a.nilCheck,((w<0||w>=a.length)?$throwRuntimeError("index out of range"):a[w])))<<11>>0;z=(y=c+6>>0,(a.nilCheck,((y<0||y>=a.length)?$throwRuntimeError("index out of range"):a[y])));ab=(aa=c+2>>0,(a.nilCheck,((aa<0||aa>=a.length)?$throwRuntimeError("index out of range"):a[aa])));ad=(ac=c+1>>0,(a.nilCheck,((ac<0||ac>=a.length)?$throwRuntimeError("index out of range"):a[ac])));af=(ae=c+7>>0,(a.nilCheck,((ae<0||ae>=a.length)?$throwRuntimeError("index out of range"):a[ae])));ah=(ag=c+5>>0,(a.nilCheck,((ag<0||ag>=a.length)?$throwRuntimeError("index out of range"):a[ag])));aj=(ai=c+3>>0,(a.nilCheck,((ai<0||ai>=a.length)?$throwRuntimeError("index out of range"):a[ai])));al=(ak=(ad+af>>0),(((565>>>16<<16)*ak>>0)+(565<<16>>>16)*ak)>>0);ad=al+((((2276>>>16<<16)*ad>>0)+(2276<<16>>>16)*ad)>>0)>>0;af=al-((((3406>>>16<<16)*af>>0)+(3406<<16>>>16)*af)>>0)>>0;al=(am=(ah+aj>>0),(((2408>>>16<<16)*am>>0)+(2408<<16>>>16)*am)>>0);ah=al-((((799>>>16<<16)*ah>>0)+(799<<16>>>16)*ah)>>0)>>0;aj=al-((((4017>>>16<<16)*aj>>0)+(4017<<16>>>16)*aj)>>0)>>0;al=v+x>>0;v=v-(x)>>0;x=(an=(ab+z>>0),(((1108>>>16<<16)*an>>0)+(1108<<16>>>16)*an)>>0);z=x-((((3784>>>16<<16)*z>>0)+(3784<<16>>>16)*z)>>0)>>0;ab=x+((((1568>>>16<<16)*ab>>0)+(1568<<16>>>16)*ab)>>0)>>0;x=ad+ah>>0;ad=ad-(ah)>>0;ah=af+aj>>0;af=af-(aj)>>0;aj=al+ab>>0;al=al-(ab)>>0;ab=v+z>>0;v=v-(z)>>0;z=(((ao=(ad+af>>0),(((181>>>16<<16)*ao>>0)+(181<<16>>>16)*ao)>>0)+128>>0))>>8>>0;ad=(((ap=(ad-af>>0),(((181>>>16<<16)*ap>>0)+(181<<16>>>16)*ap)>>0)+128>>0))>>8>>0;(aq=c+0>>0,a.nilCheck,(aq<0||aq>=a.length)?$throwRuntimeError("index out of range"):a[aq]=((aj+x>>0))>>8>>0);(ar=c+1>>0,a.nilCheck,(ar<0||ar>=a.length)?$throwRuntimeError("index out of range"):a[ar]=((ab+z>>0))>>8>>0);(as=c+2>>0,a.nilCheck,(as<0||as>=a.length)?$throwRuntimeError("index out of range"):a[as]=((v+ad>>0))>>8>>0);(at=c+3>>0,a.nilCheck,(at<0||at>=a.length)?$throwRuntimeError("index out of range"):a[at]=((al+ah>>0))>>8>>0);(au=c+4>>0,a.nilCheck,(au<0||au>=a.length)?$throwRuntimeError("index out of range"):a[au]=((al-ah>>0))>>8>>0);(av=c+5>>0,a.nilCheck,(av<0||av>=a.length)?$throwRuntimeError("index out of range"):a[av]=((v-ad>>0))>>8>>0);(aw=c+6>>0,a.nilCheck,(aw<0||aw>=a.length)?$throwRuntimeError("index out of range"):a[aw]=((ab-z>>0))>>8>>0);(ax=c+7>>0,a.nilCheck,(ax<0||ax>=a.length)?$throwRuntimeError("index out of range"):a[ax]=((aj-x>>0))>>8>>0);b=b+(1)>>0;}ay=0;while(ay<8){ba=(((az=0+ay>>0,(a.nilCheck,((az<0||az>=a.length)?$throwRuntimeError("index out of range"):a[az])))<<8>>0))+8192>>0;bc=(bb=32+ay>>0,(a.nilCheck,((bb<0||bb>=a.length)?$throwRuntimeError("index out of range"):a[bb])))<<8>>0;be=(bd=48+ay>>0,(a.nilCheck,((bd<0||bd>=a.length)?$throwRuntimeError("index out of range"):a[bd])));bg=(bf=16+ay>>0,(a.nilCheck,((bf<0||bf>=a.length)?$throwRuntimeError("index out of range"):a[bf])));bi=(bh=8+ay>>0,(a.nilCheck,((bh<0||bh>=a.length)?$throwRuntimeError("index out of range"):a[bh])));bk=(bj=56+ay>>0,(a.nilCheck,((bj<0||bj>=a.length)?$throwRuntimeError("index out of range"):a[bj])));bm=(bl=40+ay>>0,(a.nilCheck,((bl<0||bl>=a.length)?$throwRuntimeError("index out of range"):a[bl])));bo=(bn=24+ay>>0,(a.nilCheck,((bn<0||bn>=a.length)?$throwRuntimeError("index out of range"):a[bn])));bq=(bp=(bi+bk>>0),(((565>>>16<<16)*bp>>0)+(565<<16>>>16)*bp)>>0)+4>>0;bi=((bq+((((2276>>>16<<16)*bi>>0)+(2276<<16>>>16)*bi)>>0)>>0))>>3>>0;bk=((bq-((((3406>>>16<<16)*bk>>0)+(3406<<16>>>16)*bk)>>0)>>0))>>3>>0;bq=(br=(bm+bo>>0),(((2408>>>16<<16)*br>>0)+(2408<<16>>>16)*br)>>0)+4>>0;bm=((bq-((((799>>>16<<16)*bm>>0)+(799<<16>>>16)*bm)>>0)>>0))>>3>>0;bo=((bq-((((4017>>>16<<16)*bo>>0)+(4017<<16>>>16)*bo)>>0)>>0))>>3>>0;bq=ba+bc>>0;ba=ba-(bc)>>0;bc=(bs=(bg+be>>0),(((1108>>>16<<16)*bs>>0)+(1108<<16>>>16)*bs)>>0)+4>>0;be=((bc-((((3784>>>16<<16)*be>>0)+(3784<<16>>>16)*be)>>0)>>0))>>3>>0;bg=((bc+((((1568>>>16<<16)*bg>>0)+(1568<<16>>>16)*bg)>>0)>>0))>>3>>0;bc=bi+bm>>0;bi=bi-(bm)>>0;bm=bk+bo>>0;bk=bk-(bo)>>0;bo=bq+bg>>0;bq=bq-(bg)>>0;bg=ba+be>>0;ba=ba-(be)>>0;be=(((bt=(bi+bk>>0),(((181>>>16<<16)*bt>>0)+(181<<16>>>16)*bt)>>0)+128>>0))>>8>>0;bi=(((bu=(bi-bk>>0),(((181>>>16<<16)*bu>>0)+(181<<16>>>16)*bu)>>0)+128>>0))>>8>>0;(bv=0+ay>>0,a.nilCheck,(bv<0||bv>=a.length)?$throwRuntimeError("index out of range"):a[bv]=((bo+bc>>0))>>14>>0);(bw=8+ay>>0,a.nilCheck,(bw<0||bw>=a.length)?$throwRuntimeError("index out of range"):a[bw]=((bg+be>>0))>>14>>0);(bx=16+ay>>0,a.nilCheck,(bx<0||bx>=a.length)?$throwRuntimeError("index out of range"):a[bx]=((ba+bi>>0))>>14>>0);(by=24+ay>>0,a.nilCheck,(by<0||by>=a.length)?$throwRuntimeError("index out of range"):a[by]=((bq+bm>>0))>>14>>0);(bz=32+ay>>0,a.nilCheck,(bz<0||bz>=a.length)?$throwRuntimeError("index out of range"):a[bz]=((bq-bm>>0))>>14>>0);(ca=40+ay>>0,a.nilCheck,(ca<0||ca>=a.length)?$throwRuntimeError("index out of range"):a[ca]=((ba-bi>>0))>>14>>0);(cb=48+ay>>0,a.nilCheck,(cb<0||cb>=a.length)?$throwRuntimeError("index out of range"):a[cb]=((bg-be>>0))>>14>>0);(cc=56+ay>>0,a.nilCheck,(cc<0||cc>=a.length)?$throwRuntimeError("index out of range"):a[cc]=((bo-bc>>0))>>14>>0);ay=ay+(1)>>0;}};K.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"invalid JPEG format: "+a;};$ptrType(K).prototype.Error=function(){return new K(this.$get()).Error();};L.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"unsupported JPEG feature: "+a;};$ptrType(L).prototype.Error=function(){return new L(this.$get()).Error();};Q.Ptr.prototype.fill=function(){var a,b,c,d,e,f,g,h,i,j;a=this;if(!((a.bytes.i===a.bytes.j))){$panic(new $String("jpeg: fill called when unread bytes exist"));}if(a.bytes.j>2){a.bytes.buf[0]=(b=a.bytes.buf,c=a.bytes.j-2>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]));a.bytes.buf[1]=(d=a.bytes.buf,e=a.bytes.j-1>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));f=2;g=2;a.bytes.i=f;a.bytes.j=g;}h=a.r.Read($subslice(new AS(a.bytes.buf),a.bytes.j));i=h[0];j=h[1];a.bytes.j=a.bytes.j+(i)>>0;if(i>0){j=$ifaceNil;}return j;};Q.prototype.fill=function(){return this.$val.fill();};Q.Ptr.prototype.unreadByteStuffedByte=function(){var a,b,c;a=this;if(a.bytes.nUnreadable===0){$panic(new $String("jpeg: unreadByteStuffedByte call cannot be fulfilled"));}a.bytes.i=a.bytes.i-(a.bytes.nUnreadable)>>0;a.bytes.nUnreadable=0;if(a.bits.n>=8){a.bits.a=(b=(8),b<32?(a.bits.a>>>b):0)>>>0;a.bits.n=a.bits.n-(8)>>0;a.bits.m=(c=(8),c<32?(a.bits.m>>>c):0)>>>0;}};Q.prototype.unreadByteStuffedByte=function(){return this.$val.unreadByteStuffedByte();};Q.Ptr.prototype.readByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i;c=this;while(c.bytes.i===c.bytes.j){b=c.fill();if(!($interfaceIsEqual(b,$ifaceNil))){d=0;e=b;a=d;b=e;return[a,b];}}a=(f=c.bytes.buf,g=c.bytes.i,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=0;h=a;i=$ifaceNil;a=h;b=i;return[a,b];};Q.prototype.readByte=function(){return this.$val.readByte();};Q.Ptr.prototype.readByteStuffedByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;c=this;if((c.bytes.i+2>>0)<=c.bytes.j){a=(d=c.bytes.buf,e=c.bytes.i,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=1;if(!((a===255))){f=a;g=b;a=f;b=g;return[a,b];}if(!(((h=c.bytes.buf,i=c.bytes.i,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]))===0))){j=0;k=new K(R);a=j;b=k;return[a,b];}c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=2;l=255;m=$ifaceNil;a=l;b=m;return[a,b];}n=c.readByte();a=n[0];b=n[1];if(!($interfaceIsEqual(b,$ifaceNil))){o=0;p=b;a=o;b=p;return[a,b];}if(!((a===255))){c.bytes.nUnreadable=1;q=a;r=$ifaceNil;a=q;b=r;return[a,b];}s=c.readByte();a=s[0];b=s[1];if(!($interfaceIsEqual(b,$ifaceNil))){c.bytes.nUnreadable=1;t=0;u=b;a=t;b=u;return[a,b];}c.bytes.nUnreadable=2;if(!((a===0))){v=0;w=new K(R);a=v;b=w;return[a,b];}x=255;y=$ifaceNil;a=x;b=y;return[a,b];};Q.prototype.readByteStuffedByte=function(){return this.$val.readByteStuffedByte();};Q.Ptr.prototype.readFull=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=$copySlice(a,$subslice(new AS(b.bytes.buf),b.bytes.i,b.bytes.j));a=$subslice(a,c);b.bytes.i=b.bytes.i+(c)>>0;if(a.$length===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.readFull=function(a){return this.$val.readFull(a);};Q.Ptr.prototype.ignore=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=b.bytes.j-b.bytes.i>>0;if(c>a){c=a;}b.bytes.i=b.bytes.i+(c)>>0;a=a-(c)>>0;if(a===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.ignore=function(a){return this.$val.ignore(a);};Q.Ptr.prototype.processSOF=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=this;c=a;if(c===9){b.nComp=1;}else if(c===15){b.nComp=3;}else{return new L("SOF has wrong length");}d=b.readFull($subslice(new AS(b.tmp),0,a));if(!($interfaceIsEqual(d,$ifaceNil))){return d;}if(!((b.tmp[0]===8))){return new L("precision");}b.height=((b.tmp[1]>>0)<<8>>0)+(b.tmp[2]>>0)>>0;b.width=((b.tmp[3]>>0)<<8>>0)+(b.tmp[4]>>0)>>0;if(!(((b.tmp[5]>>0)===b.nComp))){return new L("SOF has wrong number of image components");}e=0;while(e=h.length)?$throwRuntimeError("index out of range"):h[e])).c=(f=b.tmp,g=6+(3*e>>0)>>0,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));(k=b.comp,((e<0||e>=k.length)?$throwRuntimeError("index out of range"):k[e])).tq=(i=b.tmp,j=8+(3*e>>0)>>0,((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]));if(b.nComp===1){(l=b.comp,((e<0||e>=l.length)?$throwRuntimeError("index out of range"):l[e])).h=1;(m=b.comp,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])).v=1;e=e+(1)>>0;continue;}p=(n=b.tmp,o=7+(3*e>>0)>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o]));(q=b.comp,((e<0||e>=q.length)?$throwRuntimeError("index out of range"):q[e])).h=((p>>>4<<24>>>24)>>0);(r=b.comp,((e<0||e>=r.length)?$throwRuntimeError("index out of range"):r[e])).v=(((p&15)>>>0)>>0);if(e===0){if(!((p===17))&&!((p===33))&&!((p===34))&&!((p===18))){return new L("luma/chroma downsample ratio");}}else if(!((p===17))){return new L("luma/chroma downsample ratio");}e=e+(1)>>0;}return $ifaceNil;};Q.prototype.processSOF=function(a){return this.$val.processSOF(a);};Q.Ptr.prototype.processDQT=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;while(a>=65){c=b.readFull($subslice(new AS(b.tmp),0,65));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(!((d===0))){return new L("bad Pq value");}e=(b.tmp[0]&15)>>>0;if(e>3){return new K("bad Tq value");}f=(g=b.quant,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e]));h=0;while(h<64){i=h;(l=(m=b.quant,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])),(i<0||i>=l.length)?$throwRuntimeError("index out of range"):l[i]=((j=b.tmp,k=i+1>>0,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))>>0));h++;}a=a-(65)>>0;}if(!((a===0))){return new K("DQT has wrong length");}return $ifaceNil;};Q.prototype.processDQT=function(a){return this.$val.processDQT(a);};Q.Ptr.prototype.processDRI=function(a){var b,c;b=this;if(!((a===2))){return new K("DRI has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}b.ri=((b.tmp[0]>>0)<<8>>0)+(b.tmp[1]>>0)>>0;return $ifaceNil;};Q.prototype.processDRI=function(a){return this.$val.processDRI(a);};Q.Ptr.prototype.decode=function(a,b){var c,d,e,f,g,h,i;c=this;c.r=a;d=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}if(!((c.tmp[0]===255))||!((c.tmp[1]===216))){return[$ifaceNil,new K("missing SOI marker")];}while(true){e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}while(!((c.tmp[0]===255))){c.tmp[0]=c.tmp[1];f=c.readByte();c.tmp[1]=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}g=c.tmp[1];if(g===0){continue;}while(g===255){h=c.readByte();g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(g===217){break;}if(208<=g&&g<=215){continue;}e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}i=(((c.tmp[0]>>0)<<8>>0)+(c.tmp[1]>>0)>>0)-2>>0;if(i<0){return[$ifaceNil,new K("short segment length")];}if((g===192)||(g===194)){c.progressive=g===194;e=c.processSOF(i);if(b){return[$ifaceNil,e];}}else if(g===196){e=c.processDHT(i);}else if(g===219){e=c.processDQT(i);}else if(g===218){e=c.processSOS(i);}else if(g===221){e=c.processDRI(i);}else if(224<=g&&g<=239||(g===254)){e=c.ignore(i);}else{e=new L("unknown marker");}if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(!(c.img1===AV.nil)){return[c.img1,$ifaceNil];}if(!(c.img3===AW.nil)){return[c.img3,$ifaceNil];}return[$ifaceNil,new K("missing SOS marker")];};Q.prototype.decode=function(a,b){return this.$val.decode(a,b);};S=$pkg.Decode=function(a){var b;b=$clone(new Q.Ptr(),Q);return b.decode(a,false);};T=$pkg.DecodeConfig=function(a){var b,c,d,e;b=$clone(new Q.Ptr(),Q);c=b.decode(a,true);d=c[1];if(!($interfaceIsEqual(d,$ifaceNil))){return[new B.Config.Ptr($ifaceNil,0,0),d];}e=b.nComp;if(e===1){return[new B.Config.Ptr(C.GrayModel,b.width,b.height),$ifaceNil];}else if(e===3){return[new B.Config.Ptr(C.YCbCrModel,b.width,b.height),$ifaceNil];}return[new B.Config.Ptr($ifaceNil,0,0),new K("missing SOF marker")];};U=function(){B.RegisterFormat("jpeg","\xFF\xD8",S,T);};Q.Ptr.prototype.makeImg=function(a,b,c,d){var e,f,g,h;e=this;if(e.nComp===1){f=B.NewGray(B.Rect(0,0,8*c>>0,8*d>>0));e.img1=$assertType(f.SubImage(B.Rect(0,0,e.width,e.height)),AV);return;}g=0;if((a===1)&&(b===1)){g=0;}else if((a===1)&&(b===2)){g=3;}else if((a===2)&&(b===1)){g=1;}else if((a===2)&&(b===2)){g=2;}else{$panic(new $String("unreachable"));}h=B.NewYCbCr(B.Rect(0,0,(8*a>>0)*c>>0,(8*b>>0)*d>>0),g);e.img3=$assertType(h.SubImage(B.Rect(0,0,e.width,e.height)),AW);};Q.prototype.makeImg=function(a,b,c,d){return this.$val.makeImg(a,b,c,d);};Q.Ptr.prototype.processSOS=function(a){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,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,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es;b=this;if(b.nComp===0){return new K("missing SOF marker");}if(a<6||(4+(2*b.nComp>>0)>>0)>0);if(!((a===(4+(2*e>>0)>>0)))){return new K("SOS length inconsistent with number of components");}f=$clone(AY.zero(),AY);g=0;while(g>0)>>0,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]));k=-1;l=b.comp;m=0;while(m<3){n=m;o=$clone(((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]),M);if(j===o.c){k=n;}m++;}if(k<0){return new K("unknown component selector");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).compIndex=(k<<24>>>24);((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td=(p=b.tmp,q=2+(2*g>>0)>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]))>>>4<<24>>>24;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td>3){return new K("bad Td value");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta=((r=b.tmp,s=2+(2*g>>0)>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s]))&15)>>>0;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta>3){return new K("bad Ta value");}g=g+(1)>>0;}t=0;u=63;v=0;w=0;x=t;y=u;z=v;aa=w;if(b.progressive){x=((ab=b.tmp,ac=1+(2*e>>0)>>0,((ac<0||ac>=ab.length)?$throwRuntimeError("index out of range"):ab[ac]))>>0);y=((ad=b.tmp,ae=2+(2*e>>0)>>0,((ae<0||ae>=ad.length)?$throwRuntimeError("index out of range"):ad[ae]))>>0);z=(((af=b.tmp,ag=3+(2*e>>0)>>0,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag]))>>>4<<24>>>24)>>>0);aa=((((ah=b.tmp,ai=3+(2*e>>0)>>0,((ai<0||ai>=ah.length)?$throwRuntimeError("index out of range"):ah[ai]))&15)>>>0)>>>0);if(((x===0)&&!((y===0)))||x>y||64<=y){return new K("bad spectral selection bounds");}if(!((x===0))&&!((e===1))){return new K("progressive AC coefficients for more than one component");}if(!((z===0))&&!((z===(aa+1>>>0)))){return new K("bad successive approximation values");}}aj=b.comp[0].h;ak=b.comp[0].v;al=aj;am=ak;ao=(an=(((b.width+(8*al>>0)>>0)-1>>0))/((8*al>>0)),(an===an&&an!==1/0&&an!==-1/0)?an>>0:$throwRuntimeError("integer divide by zero"));aq=(ap=(((b.height+(8*am>>0)>>0)-1>>0))/((8*am>>0)),(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));if(b.img1===AV.nil&&b.img3===AW.nil){b.makeImg(al,am,ao,aq);}if(b.progressive){ar=0;while(ar=f.length)?$throwRuntimeError("index out of range"):f[ar]).compIndex;if((at=b.progCoeffs,((as<0||as>=at.length)?$throwRuntimeError("index out of range"):at[as]))===AZ.nil){(aw=b.progCoeffs,(as<0||as>=aw.length)?$throwRuntimeError("index out of range"):aw[as]=AZ.make((((ao*aq>>0)*(au=b.comp,((as<0||as>=au.length)?$throwRuntimeError("index out of range"):au[as])).h>>0)*(av=b.comp,((as<0||as>=av.length)?$throwRuntimeError("index out of range"):av[as])).v>>0)));}ar=ar+(1)>>0;}}$copy(b.bits,new P.Ptr(0,0,0),P);ax=0;ay=208;az=ax;ba=ay;bb=$clone(I.zero(),I);bc=$clone(BA.zero(),BA);bd=0;be=0;bf=bd;bg=be;bh=0;bi=0;while(bi=f.length)?$throwRuntimeError("index out of range"):f[bk]).compIndex;bp=(bm=b.quant,bn=(bo=b.comp,((bl<0||bl>=bo.length)?$throwRuntimeError("index out of range"):bo[bl])).tq,((bn<0||bn>=bm.length)?$throwRuntimeError("index out of range"):bm[bn]));bq=0;while(bq<((br=b.comp,((bl<0||bl>=br.length)?$throwRuntimeError("index out of range"):br[bl])).h*(bs=b.comp,((bl<0||bl>=bs.length)?$throwRuntimeError("index out of range"):bs[bl])).v>>0)){if(!((e===1))){bt=(bu=b.comp,((bl<0||bl>=bu.length)?$throwRuntimeError("index out of range"):bu[bl])).h*bj>>0;bv=(bw=b.comp,((bl<0||bl>=bw.length)?$throwRuntimeError("index out of range"):bw[bl])).v*bi>>0;bf=bt;bg=bv;if(al===1){bg=bg+(bq)>>0;}else{bf=bf+((bx=bq%2,bx===bx?bx:$throwRuntimeError("integer divide by zero")))>>0;bg=bg+((by=bq/2,(by===by&&by!==1/0&&by!==-1/0)?by>>0:$throwRuntimeError("integer divide by zero")))>>0;}}else{ca=ao*(bz=b.comp,((bl<0||bl>=bz.length)?$throwRuntimeError("index out of range"):bz[bl])).h>>0;bf=(cb=bh%ca,cb===cb?cb:$throwRuntimeError("integer divide by zero"));bg=(cc=bh/ca,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>0:$throwRuntimeError("integer divide by zero"));bh=bh+(1)>>0;if((bf*8>>0)>=b.width||(bg*8>>0)>=b.height){bq=bq+(1)>>0;continue;}}if(b.progressive){$copy(bb,(cd=(ce=b.progCoeffs,((bl<0||bl>=ce.length)?$throwRuntimeError("index out of range"):ce[bl])),cf=((bg*ao>>0)*(cg=b.comp,((bl<0||bl>=cg.length)?$throwRuntimeError("index out of range"):cg[bl])).h>>0)+bf>>0,((cf<0||cf>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+cf])),I);}else{$copy(bb,BB.zero(),I);}if(!((z===0))){ck=b.refine(bb,(ch=b.huff[1],ci=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((ci<0||ci>=ch.length)?$throwRuntimeError("index out of range"):ch[ci])),x,y,(cj=aa,cj<32?(1<>0);if(!($interfaceIsEqual(ck,$ifaceNil))){return ck;}}else{cl=x;if(cl===0){cl=cl+(1)>>0;cm=b.decodeHuffman((cn=b.huff[0],co=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).td,((co<0||co>=cn.length)?$throwRuntimeError("index out of range"):cn[co])));cp=cm[0];cq=cm[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}if(cp>16){return new L("excessive DC component");}cr=b.receiveExtend(cp);cs=cr[0];cq=cr[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}ct=bc;cu=bl;(cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu]=((cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu])+(cs)>>0;bb[0]=(cv=aa,cv<32?(((bl<0||bl>=bc.length)?$throwRuntimeError("index out of range"):bc[bl])<>0;}if(cl<=y&&b.eobRun>0){b.eobRun=b.eobRun-(1)<<16>>>16;}else{cy=(cw=b.huff[1],cx=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((cx<0||cx>=cw.length)?$throwRuntimeError("index out of range"):cw[cx]));while(cl<=y){cz=b.decodeHuffman(cy);da=cz[0];db=cz[1];if(!($interfaceIsEqual(db,$ifaceNil))){return db;}dc=da>>>4<<24>>>24;dd=(da&15)>>>0;if(!((dd===0))){cl=cl+((dc>>0))>>0;if(cl>y){break;}de=b.receiveExtend(dd);df=de[0];dg=de[1];if(!($interfaceIsEqual(dg,$ifaceNil))){return dg;}(di=((cl<0||cl>=N.length)?$throwRuntimeError("index out of range"):N[cl]),(di<0||di>=bb.length)?$throwRuntimeError("index out of range"):bb[di]=(dh=aa,dh<32?(df<>0);}else{if(!((dc===15))){b.eobRun=((dj=dc,dj<32?(1<>>16);if(!((dc===0))){dk=b.decodeBits((dc>>0));dl=dk[0];dm=dk[1];if(!($interfaceIsEqual(dm,$ifaceNil))){return dm;}b.eobRun=(b.eobRun|((dl<<16>>>16)))>>>0;}b.eobRun=b.eobRun-(1)<<16>>>16;break;}cl=cl+(15)>>0;}cl=cl+(1)>>0;}}}if(b.progressive){if(!((y===63))||!((aa===0))){$copy((dn=(dp=b.progCoeffs,((bl<0||bl>=dp.length)?$throwRuntimeError("index out of range"):dp[bl])),dq=((bg*ao>>0)*(dr=b.comp,((bl<0||bl>=dr.length)?$throwRuntimeError("index out of range"):dr[bl])).h>>0)+bf>>0,((dq<0||dq>=dn.$length)?$throwRuntimeError("index out of range"):dn.$array[dn.$offset+dq])),bb,I);bq=bq+(1)>>0;continue;}}ds=0;while(ds<64){dt=bb;du=((ds<0||ds>=N.length)?$throwRuntimeError("index out of range"):N[ds]);(du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]=(dv=((du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]),dw=(bp.nilCheck,((ds<0||ds>=bp.length)?$throwRuntimeError("index out of range"):bp[ds])),(((dv>>>16<<16)*dw>>0)+(dv<<16>>>16)*dw)>>0);ds=ds+(1)>>0;}J(bb);dx=AS.nil;dy=0;dz=dx;ea=dy;if(b.nComp===1){eb=$subslice(b.img1.Pix,(8*(((bg*b.img1.Stride>>0)+bf>>0))>>0));ec=b.img1.Stride;dz=eb;ea=ec;}else{ed=bl;if(ed===0){ee=$subslice(b.img3.Y,(8*(((bg*b.img3.YStride>>0)+bf>>0))>>0));ef=b.img3.YStride;dz=ee;ea=ef;}else if(ed===1){eg=$subslice(b.img3.Cb,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));eh=b.img3.CStride;dz=eg;ea=eh;}else if(ed===2){ei=$subslice(b.img3.Cr,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));ej=b.img3.CStride;dz=ei;ea=ej;}else{return new L("too many components");}}ek=0;while(ek<8){el=ek*8>>0;em=ek*ea>>0;en=0;while(en<8){ep=(eo=el+en>>0,((eo<0||eo>=bb.length)?$throwRuntimeError("index out of range"):bb[eo]));if(ep<-128){ep=0;}else if(ep>127){ep=255;}else{ep=ep+(128)>>0;}(eq=em+en>>0,(eq<0||eq>=dz.$length)?$throwRuntimeError("index out of range"):dz.$array[dz.$offset+eq]=(ep<<24>>>24));en=en+(1)>>0;}ek=ek+(1)>>0;}bq=bq+(1)>>0;}bk=bk+(1)>>0;}az=az+(1)>>0;if(b.ri>0&&((er=az%b.ri,er===er?er:$throwRuntimeError("integer divide by zero"))===0)&&az<(ao*aq>>0)){es=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(es,$ifaceNil))){return es;}if(!((b.tmp[0]===255))||!((b.tmp[1]===ba))){return new K("bad RST marker");}ba=ba+(1)<<24>>>24;if(ba===216){ba=208;}$copy(b.bits,new P.Ptr(0,0,0),P);$copy(bc,BA.zero(),BA);b.eobRun=0;}bj=bj+(1)>>0;}bi=bi+(1)>>0;}return $ifaceNil;};Q.prototype.processSOS=function(a){return this.$val.processSOS(a);};Q.Ptr.prototype.refine=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;f=this;if(c===0){if(!((d===0))){$panic(new $String("unreachable"));}g=f.decodeBit();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}if(h){j=a;k=0;j.nilCheck,(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(j.nilCheck,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))|(e);}return $ifaceNil;}l=c;if(f.eobRun===0){loop:while(l<=d){m=0;n=f.decodeHuffman(b);o=n[0];p=n[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}q=o>>>4<<24>>>24;r=(o&15)>>>0;s=r;if(s===0){if(!((q===15))){f.eobRun=((t=q,t<32?(1<>>16);if(!((q===0))){u=f.decodeBits((q>>0));v=u[0];w=u[1];if(!($interfaceIsEqual(w,$ifaceNil))){return w;}f.eobRun=(f.eobRun|((v<<16>>>16)))>>>0;}break loop;}}else if(s===1){m=e;x=f.decodeBit();y=x[0];z=x[1];if(!($interfaceIsEqual(z,$ifaceNil))){return z;}if(!y){m=-m;}}else{return new K("unexpected Huffman code");}aa=f.refineNonZeroes(a,l,d,(q>>0),e);l=aa[0];p=aa[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}if(l>d){return new K("too many coefficients");}if(!((m===0))){(ab=((l<0||l>=N.length)?$throwRuntimeError("index out of range"):N[l]),a.nilCheck,(ab<0||ab>=a.length)?$throwRuntimeError("index out of range"):a[ab]=m);}l=l+(1)>>0;}}if(f.eobRun>0){f.eobRun=f.eobRun-(1)<<16>>>16;ac=f.refineNonZeroes(a,l,d,-1,e);ad=ac[1];if(!($interfaceIsEqual(ad,$ifaceNil))){return ad;}}return $ifaceNil;};Q.prototype.refine=function(a,b,c,d,e){return this.$val.refine(a,b,c,d,e);};Q.Ptr.prototype.refineNonZeroes=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;f=this;while(b<=c){g=((b<0||b>=N.length)?$throwRuntimeError("index out of range"):N[b]);if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))===0){if(d===0){break;}d=d-(1)>>0;b=b+(1)>>0;continue;}h=f.decodeBit();i=h[0];j=h[1];if(!($interfaceIsEqual(j,$ifaceNil))){return[0,j];}if(!i){b=b+(1)>>0;continue;}if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))>=0){k=a;l=g;k.nilCheck,(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=(k.nilCheck,((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]))+(e)>>0;}else{m=a;n=g;m.nilCheck,(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=(m.nilCheck,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))-(e)>>0;}b=b+(1)>>0;}return[b,$ifaceNil];};Q.prototype.refineNonZeroes=function(a,b,c,d,e){return this.$val.refineNonZeroes(a,b,c,d,e);};$ptrType(AD).prototype.init=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;a=$clone(a,AB);c=0;d=a.value;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);if((f>>0)>c){c=(f>>0);}e++;}b.$set((g=BC.make((c+1>>0)),$subslice(new AD(g.$array),g.$offset,g.$offset+g.$length)));h=0;i=0;j=h;k=i;l=0;while(l<16){m=((l+1>>0)>>>0)<<24>>>0;n=0;while(n<(o=a.count,((l<0||l>=o.length)?$throwRuntimeError("index out of range"):o[l]))){(p=b.$get(),q=(r=a.value,((k<0||k>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+k])),(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(m|j)>>>0);j=j+(1)>>>0;k=k+(1)>>0;n=n+(1)<<24>>>24;}j=(s=(1),s<32?(j<>>0;l=l+(1)>>0;}};AF=function(){var a,b,c,d;a=AC;b=0;while(b<4){c=b;d=$clone(((b<0||b>=a.length)?$throwRuntimeError("index out of range"):a[b]),AB);new BD(function(){return((c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]);},function($v){(c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]=$v;},AE).init(d);b++;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AQ=$arrayType(AD,4);AS=$sliceType($Uint8);AT=$arrayType($Int32,16);AU=$sliceType($Uint8);AV=$ptrType(B.Gray);AW=$ptrType(B.YCbCr);AX=$structType([["compIndex","compIndex","image/jpeg",$Uint8,""],["td","td","image/jpeg",$Uint8,""],["ta","ta","image/jpeg",$Uint8,""]]);AY=$arrayType(AX,3);AZ=$sliceType(I);BA=$arrayType($Int32,3);BB=$arrayType($Int32,64);BC=$sliceType($Uint32);BD=$ptrType(AD);BF=$arrayType(I,4);BI=$arrayType($Uint16,256);BJ=$arrayType($Uint8,256);BK=$ptrType(K);BL=$ptrType(L);BM=$arrayType($Uint8,4096);BN=$structType([["buf","buf","image/jpeg",BM,""],["i","i","image/jpeg",$Int,""],["j","j","image/jpeg",$Int,""],["nUnreadable","nUnreadable","image/jpeg",$Int,""]]);BO=$arrayType(M,3);BP=$arrayType(AZ,3);BQ=$arrayType(G,4);BR=$arrayType(BQ,2);BS=$arrayType($Uint8,65);BT=$ptrType(G);BU=$ptrType(I);BV=$ptrType(Q);BW=$arrayType($Uint8,16);G.init([["nCodes","nCodes","image/jpeg",$Int32,""],["lut","lut","image/jpeg",BI,""],["vals","vals","image/jpeg",BJ,""],["minCodes","minCodes","image/jpeg",AT,""],["maxCodes","maxCodes","image/jpeg",AT,""],["valsIndices","valsIndices","image/jpeg",AT,""]]);I.init($Int32,64);K.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];L.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];M.init([["h","h","image/jpeg",$Int,""],["v","v","image/jpeg",$Int,""],["c","c","image/jpeg",$Uint8,""],["tq","tq","image/jpeg",$Uint8,""]]);P.init([["a","a","image/jpeg",$Uint32,""],["m","m","image/jpeg",$Uint32,""],["n","n","image/jpeg",$Int32,""]]);BV.methods=[["decode","decode","image/jpeg",$funcType([A.Reader,$Bool],[B.Image,$error],false),-1],["decodeBit","decodeBit","image/jpeg",$funcType([],[$Bool,$error],false),-1],["decodeBits","decodeBits","image/jpeg",$funcType([$Int32],[$Uint32,$error],false),-1],["decodeHuffman","decodeHuffman","image/jpeg",$funcType([BT],[$Uint8,$error],false),-1],["ensureNBits","ensureNBits","image/jpeg",$funcType([$Int32],[$error],false),-1],["fill","fill","image/jpeg",$funcType([],[$error],false),-1],["ignore","ignore","image/jpeg",$funcType([$Int],[$error],false),-1],["makeImg","makeImg","image/jpeg",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["processDHT","processDHT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDQT","processDQT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDRI","processDRI","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOF","processSOF","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOS","processSOS","image/jpeg",$funcType([$Int],[$error],false),-1],["readByte","readByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readByteStuffedByte","readByteStuffedByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readFull","readFull","image/jpeg",$funcType([AS],[$error],false),-1],["receiveExtend","receiveExtend","image/jpeg",$funcType([$Uint8],[$Int32,$error],false),-1],["refine","refine","image/jpeg",$funcType([BU,BT,$Int32,$Int32,$Int32],[$error],false),-1],["refineNonZeroes","refineNonZeroes","image/jpeg",$funcType([BU,$Int32,$Int32,$Int32,$Int32],[$Int32,$error],false),-1],["unreadByteStuffedByte","unreadByteStuffedByte","image/jpeg",$funcType([],[],false),-1]];Q.init([["r","r","image/jpeg",A.Reader,""],["bits","bits","image/jpeg",P,""],["bytes","bytes","image/jpeg",BN,""],["width","width","image/jpeg",$Int,""],["height","height","image/jpeg",$Int,""],["img1","img1","image/jpeg",AV,""],["img3","img3","image/jpeg",AW,""],["ri","ri","image/jpeg",$Int,""],["nComp","nComp","image/jpeg",$Int,""],["progressive","progressive","image/jpeg",$Bool,""],["eobRun","eobRun","image/jpeg",$Uint16,""],["comp","comp","image/jpeg",BO,""],["progCoeffs","progCoeffs","image/jpeg",BP,""],["huff","huff","image/jpeg",BR,""],["quant","quant","image/jpeg",BF,""],["tmp","tmp","image/jpeg",BS,""]]);AB.init([["count","count","image/jpeg",BW,""],["value","value","image/jpeg",AS,""]]);BD.methods=[["init","init","image/jpeg",$funcType([AB],[],false),-1]];AD.init($Uint32);AE=AQ.zero();H="short Huffman data";N=$toNativeArray($kindInt,[0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);R="missing 0xff00 sequence";AC=$toNativeArray($kindStruct,[new AB.Ptr($toNativeArray($kindUint8,[0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125]),new AS([1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250])),new AB.Ptr($toNativeArray($kindUint8,[0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119]),new AS([0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250]))]);U();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["log"]=(function(){var $pkg={},A,B,C,D,E,F,Y,Z,AA,AB,AC,G,I,H,J,S;A=$packages["fmt"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];E=$packages["sync"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger","Logger","log",function(mu_,prefix_,flag_,out_,buf_){this.$val=this;this.mu=mu_!==undefined?mu_:new E.Mutex.Ptr();this.prefix=prefix_!==undefined?prefix_:"";this.flag=flag_!==undefined?flag_:0;this.out=out_!==undefined?out_:$ifaceNil;this.buf=buf_!==undefined?buf_:Y.nil;});H=$pkg.New=function(a,b,c){return new G.Ptr(new E.Mutex.Ptr(),b,c,a,Y.nil);};J=function(a,b,c){var d,e,f,g,h;d=(b>>>0);if((d===0)&&c<=1){a.$set($append(a.$get(),48));return;}e=$clone(Z.zero(),Z);f=32;while(d>0||c>0){f=f-(1)>>0;c=c-(1)>>0;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((g=d%10,g===g?g:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24;d=(h=d/(10),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));}a.$set($appendSlice(a.$get(),$subslice(new Y(e),f)));};G.Ptr.prototype.formatHeader=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;e=this;b=$clone(b,F.Time);a.$set($appendSlice(a.$get(),new Y($stringToBytes(e.prefix))));if(!(((e.flag&7)===0))){if(!(((e.flag&1)===0))){f=b.Date();g=f[0];h=f[1];i=f[2];J(a,g,4);a.$set($append(a.$get(),47));J(a,(h>>0),2);a.$set($append(a.$get(),47));J(a,i,2);a.$set($append(a.$get(),32));}if(!(((e.flag&6)===0))){j=b.Clock();k=j[0];l=j[1];m=j[2];J(a,k,2);a.$set($append(a.$get(),58));J(a,l,2);a.$set($append(a.$get(),58));J(a,m,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(n=b.Nanosecond()/1000,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));}}if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){o=c;p=c.length-1>>0;while(p>0){if(c.charCodeAt(p)===47){o=c.substring((p+1>>0));break;}p=p-(1)>>0;}c=o;}a.$set($appendSlice(a.$get(),new Y($stringToBytes(c))));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),new Y($stringToBytes(": "))));}};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.Ptr.prototype.Output=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j;try{$deferFrames.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);c.formatHeader(new AA(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c),d,e,f);c.buf=$appendSlice(c.buf,new Y($stringToBytes(b)));if(b.length>0&&!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}i=c.out.Write(c.buf);j=i[1];return j;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.Ptr.prototype.Printf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.Ptr.prototype.Print=function(a){var b;b=this;b.Output(2,A.Sprint(a));};G.prototype.Print=function(a){return this.$val.Print(a);};G.Ptr.prototype.Println=function(a){var b;b=this;b.Output(2,A.Sprintln(a));};G.prototype.Println=function(a){return this.$val.Println(a);};G.Ptr.prototype.Fatal=function(a){var b;b=this;b.Output(2,A.Sprint(a));C.Exit(1);};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.Ptr.prototype.Fatalf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));C.Exit(1);};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.Ptr.prototype.Fatalln=function(a){var b;b=this;b.Output(2,A.Sprintln(a));C.Exit(1);};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.Ptr.prototype.Panic=function(a){var b,c;b=this;c=A.Sprint(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.Ptr.prototype.Panicf=function(a,b){var c,d;c=this;d=A.Sprintf(a,b);c.Output(2,d);$panic(new $String(d));};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.Ptr.prototype.Panicln=function(a){var b,c;b=this;c=A.Sprintln(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.Ptr.prototype.Flags=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.Ptr.prototype.SetFlags=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.Ptr.prototype.Prefix=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.Ptr.prototype.SetPrefix=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};S=$pkg.Fatal=function(a){I.Output(2,A.Sprint(a));C.Exit(1);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);Z=$arrayType($Uint8,32);AA=$ptrType(Y);AB=$sliceType($emptyInterface);AC=$ptrType(G);AC.methods=[["Fatal","Fatal","",$funcType([AB],[],true),-1],["Fatalf","Fatalf","",$funcType([$String,AB],[],true),-1],["Fatalln","Fatalln","",$funcType([AB],[],true),-1],["Flags","Flags","",$funcType([],[$Int],false),-1],["Output","Output","",$funcType([$Int,$String],[$error],false),-1],["Panic","Panic","",$funcType([AB],[],true),-1],["Panicf","Panicf","",$funcType([$String,AB],[],true),-1],["Panicln","Panicln","",$funcType([AB],[],true),-1],["Prefix","Prefix","",$funcType([],[$String],false),-1],["Print","Print","",$funcType([AB],[],true),-1],["Printf","Printf","",$funcType([$String,AB],[],true),-1],["Println","Println","",$funcType([AB],[],true),-1],["SetFlags","SetFlags","",$funcType([$Int],[],false),-1],["SetPrefix","SetPrefix","",$funcType([$String],[],false),-1],["formatHeader","formatHeader","log",$funcType([AA,F.Time,$String,$Int],[],false),-1]];G.init([["mu","mu","log",E.Mutex,""],["prefix","prefix","log",$String,""],["flag","flag","log",$Int,""],["out","out","log",B.Writer,""],["buf","buf","log",Y,""]]);I=H(C.Stderr,"",3);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/example/hue"]=(function(){var $pkg={},A,B,C,D,E,J,K,L,F,G,H,I;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];E=$packages["math"];H=function(a){var b,c,d,e,f,g;F=F+(1)>>0;b=G.Size();c=b[0];d=b[1];e=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),K.nil);e.GeoM.Translate((320-c>>0)/2,(240-d>>0)/2);e.ColorM.Concat(A.RotateHue((f=F%360,f===f?f:$throwRuntimeError("integer divide by zero"))*2*3.141592653589793/360));g=a.DrawImage(G,e);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return $ifaceNil;};I=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;G=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new L([a]));}d=A.Run(H,320,240,1,"Hue (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(d&&d.$blocking){d=d();}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new L([e]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}J=$ptrType(A.Image);K=$sliceType(A.ImagePart);L=$sliceType($emptyInterface);F=0;G=J.nil;$r=I($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/example/hue"]=(function(){var $pkg={},A,B,C,D,E,J,K,L,F,G,H,I;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];E=$packages["math"];H=function(a){var b,c,d,e,f,g;F=F+(1)>>0;b=G.Size();c=b[0];d=b[1];e=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),K.nil);e.GeoM.Translate((320-c>>0)/2,(240-d>>0)/2);e.ColorM.Concat(A.RotateHue((f=F%360,f===f?f:$throwRuntimeError("integer divide by zero"))*2*3.141592653589793/360));g=a.DrawImage(G,e);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return $ifaceNil;};I=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;G=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new L([a]));}d=A.Run(H,320,240,2,"Hue (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(d&&d.$blocking){d=d();}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new L([e]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}J=$ptrType(A.Image);K=$sliceType(A.ImagePart);L=$sliceType($emptyInterface);F=0;G=J.nil;$r=I($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $go($packages["github.com/hajimehoshi/ebiten/example/hue"].$init, [], true); $flushConsole(); diff --git a/_docs/public/example/hue.js.map b/_docs/public/example/hue.js.map index 7675ee29a..88e442141 100644 --- a/_docs/public/example/hue.js.map +++ b/_docs/public/example/hue.js.map @@ -1 +1 @@ -{"version":3,"file":"hue.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/goroot/src/errors/errors.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/sleep.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/hue/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kB,AACA,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kBACA,A,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kBACC,A,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oB,AACA,WACC,c,CAED,A,0BACC,kE,C,AAED,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;8pEC/CK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iB,AACL,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uBACA,A,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uBACA,A,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIG,AAAH,+B,MACC,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,wE,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wE,AACA,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,C,AAED,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;8JCjFA,MACA,M,+BA6EA,A,WACC,a,CAED,A,WACC,a,CAED,a,yC,AAIA,0B,+BAIA,A,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,yBA2CA,S,+C,AAyBA,0C,4BAIA,+B,gD,AAgBA,WACC,A,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2BACA,A,4BACC,AAAA,U,CAGD,yD,oDAIA,KACA,A,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,CAED,A,gBACC,oB,CAED,A,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,CAED,A,iBACC,iC,CAGD,oBACA,A,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,c,AACA,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACA,AAAI,kBACH,+FACA,oO,AAF8B,AAAA,c,4FClB/B,AAOA,AACA,W,AACC,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4EACA,A,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2EACA,A,6DACC,wB,C,AAED,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCACA,AACA,UACA,UACA,UACA,UACA,gB,4G,gE;0NC7BA,oB,yCAQK,OACL,W;2JC6BA,A,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,OACL,A,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,O,AAEL,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,M,AACA,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,CAIF,A,oGAWK,OACL,AAMA,uGACA,A,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,e,AACA,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gBANiC,A,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLA,AAAI,0BACJ,M,0CCVK,OACL,AAIA,A,sHAEC,kG,CAED,A,uGAUK,OAMF,AALH,AAKA,mH,QACC,A,6CACC,IACA,yD,C,AAGD,uHAEC,kG,C,CAGF,A,wGAWK,OACL,AAKA,WAEA,0I,AAEA,uIACC,kG,CAED,A,sGAaK,OASL,AARA,2HASA,A,kBACC,IACA,wD,CAGD,AAAI,oBACH,kG,AADuB,AAAA,YAIxB,a,AACA,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gB,AACC,8C,CAED,2CACC,AAAI,IACJ,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,QACC,A,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,CAID,A,QACC,A,6C,CAED,uFACA,A,kB,AACC,8C,C,AAID,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,CAID,A,Q,AACC,mD,CAED,wFACA,A,oB,AACC,oD,CAID,A,UACC,4EACA,A,YACC,A,oD,CAED,A,uBACC,A,oD,CAED,A,gD,C,AAID,QACC,A,mD,CAED,wFACA,A,oB,AACC,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sLAIA,WACA,A,Q,AACC,6C,CAED,kBAGA,A,U,AACC,+C,CAID,A,U,AACC,8C,CAID,A,QACC,A,6C,CAED,kBACA,A,kBACC,A,8C,C,AAID,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,YACC,A,oD,CAED,A,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,C,AAID,UACC,yG,AACA,wB,AACC,oD,CAED,A,gD,C,AAID,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,Y,AACA,UACC,A,gC,CAED,SACA,4FACA,A,UACC,A,4B,CAKD,S,AACA,QACC,I,CAED,AAAI,AAAA,uB,AACH,4FACC,M,C,AAFyB,AAAA,YAK3B,A,QACC,I,CAED,oCACA,A,sBACC,A,gC,CAED,A,4B,6BA6CA,AACA,QACC,SACD,A,iBACC,S,AACD,kBACC,SACD,A,6BACC,S,AACD,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,SACD,A,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,SAJD,A,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACA,AAAI,IACJ,AAAI,uBACH,A,6FACC,AAAA,W,MAEA,2BACA,W,C,AALqB,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aACA,AACA,mBACC,6DACD,A,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,OACL,A,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,CAED,A,sCACC,A,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,a,AACA,wBACC,UACA,gDACA,A,QACC,iE,CAED,mBACA,kBACA,A,sCACC,A,4B,C,AAID,eACC,A,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0BACA,A,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,c,AACA,kBACC,Y,C,AAED,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,aACA,A,oC,0JAQK,OACL,a,AACA,yBAEC,cACA,A,0C,CAED,aACA,yG,AACA,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mBACA,A,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,aACA,A,4B,0IASK,OACL,+B,AACA,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0BACC,A,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2BACA,A,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kB,AACA,kBACC,c,CAED,QACA,yBACA,+BACA,AAAI,iCACH,6BACA,0IAFiC,A,AAAA,YAIlC,S,8EAeA,4BACC,W,Q,AAGD,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,aACA,A,iH,C,AAED,gCACC,IACA,+BACA,WACA,K,AACA,8D,CAED,IACA,A,iD,0EAIG,AAAH,gB,gBACC,mBACA,A,iH,C,AAED,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACC,AAAI,sBACH,A,yBACC,mBACA,AAAG,sD,OACF,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,U,AACA,iB,AACC,iC,CAGD,WACA,8CAEA,6DACA,A,O,AACC,iC,CAED,0FACA,AAAI,sBACH,A,yBACC,A,mD,C,AAFsB,AAAA,YAKxB,A,iC,6GClFA,A,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sBACH,A,wBACC,0B,CAFsB,A,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfI,AAAJ,oBACA,0BA6BA,A,4EACC,Y,CAGD,Y,gFA+XA,sB,AACA,sCACC,A,6B,CAID,IACA,AAAG,0E,sCACF,A,6B,C,AAED,U,AACC,qC,CAID,aACG,AAAH,4V,sCACC,A,6B,CAID,A,gHACC,AAAA,Y,C,AAED,mE,kEClcI,AATJ,AASA,uBACA,KAEA,2BACA,sBACA,A,sCACC,A,iC,CAKE,AAAH,gX,sCACC,A,iC,CAED,A,+I,iFAQA,YACA,6CACC,2dACA,A,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACA,AAAI,qDACJ,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,C,AAED,mD,kKC9DK,OACL,A,S,AACC,0C,CAID,0CACA,A,sCACC,A,iC,CAIG,AAAJ,oBAOA,IAGA,0UACA,eACA,kDACA,6FACA,A,wC,iSAGK,OACL,A,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slBACC,A,sB,CAIE,AAAH,6C,sCACC,A,a,CAED,0BACA,A,qB,8LAYK,uCACL,A,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAIA,AAGA,wBACA,AAGA,Y,+CCuDA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,0C,AACA,eACC,Y,CAED,S,gDAqLA,0B,AACA,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2B,AACA,eACC,Y,CAED,S,mDAgBA,kCACA,A,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyC,AACA,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,uDACA,S,AACA,eACC,Y,CAED,Y,4DA8LI,AAAJ,SACA,qBACA,A,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,4DA4JI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,S,AACA,eACC,Y,CAED,Y,uEAmFA,oDACA,2CACA,A,eACC,Y,CAED,Y,+CAiSA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,I,AACA,eACC,Y,CAED,Y,uCAMA,qB,AACA,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sFADyB,A,AAAA,YAG1B,AAAI,uBACJ,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAGA,AADA,iBAEC,mC,AACD,uBAEC,kBACA,AAAI,sB,AACH,wBACC,AAAA,W,CAFsB,A,AAAA,YAKxB,S,AACD,4BACC,SACD,A,8B,AACC,UACC,S,CAED,S,CAGD,sBACA,IACI,AAAJ,sBACC,sF,AADyB,AAAA,YAG1B,I,AACA,yCACC,AAAA,WACA,W,CAEG,AAAJ,6BACC,yDACA,gCACA,4FACA,AAAA,W,AACA,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,S,AACD,gBACC,4B,AACD,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sF,AADkB,AAAA,YAGnB,A,kCACC,S,CAED,AAAI,sBACH,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wD,AAmfA,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACA,AAAI,eACH,IACA,A,iB,AACC,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gBAZkB,AAAA,A,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;q6FC5qBA,sBACA,0BACA,oBACA,oBACA,A,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,qKAIA,YACA,4CAAsC,U,qFACtC,gE,wEAIA,cACA,mG,AACA,kDACC,O,CAED,A,yCACC,kB,CAED,gEACC,eACA,aACA,A,8CACC,uEACA,K,C,4D,sBAMF,gCACA,WACA,eACA,S,sBCoCA,A,iBACC,a,CAED,kBACA,qB,8RAMA,AAAI,sBACI,AAAP,2BACA,WACC,A,wDACC,A,4DACC,A,2E,C,AAED,8BACC,A,2E,C,CAIH,A,iBACC,A,uBACC,A,oCACC,A,2D,AACC,2E,C,AAED,8BACC,A,iF,C,CAGF,A,oC,AACC,gF,C,CAIH,A,iBACC,A,+EACC,A,2L,C,AAGF,iBACC,A,sDACC,A,iF,CAED,A,iF,AAED,iB,AACC,yD,AACC,iF,C,AAED,iF,AAED,iBACC,A,sD,AACC,iF,C,AAGF,iB,AACC,iF,AAED,iBACC,A,iFAED,A,iBACC,A,iF,AAED,iBACC,A,sDACC,A,iF,CAGF,A,kBACC,A,uDACC,A,iF,C,AAGF,iBACC,A,4D,AACC,gF,CAED,A,8DACC,A,gF,CAED,A,0DACC,A,gF,CAED,A,2DACC,A,gF,CAED,A,wDACC,A,gF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,CAED,A,0DACC,A,gF,C,AAED,2DACC,A,gF,CAGF,A,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,CAGD,A,cACC,MACA,A,gCACC,M,CAED,sCACA,A,0E,C,C,CAjHyB,A,AAAA,Y,AAsH7B,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,eACA,A,4BACC,a,C,CARsB,A,AAAA,YAYzB,Y,8BAIA,sH,AACC,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2C,AACA,iD,AACC,4B,C,AAED,MACC,K,CAED,A,oC,sCAMA,IACI,AAAJ,uBACI,AAAJ,eACC,AAAA,WACA,mJACA,2F,C,AAGD,QACC,I,CAED,A,MACC,iGACC,AAAA,W,CAED,A,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+B,AACA,eACC,6C,CAED,A,WACC,M,CAED,K,AAGA,2BACC,sC,CAID,A,2BACC,iC,CAGD,YACA,+BACC,KACA,A,SACC,O,CAED,oF,AACD,mBAEC,KACA,AACA,aACC,gBACA,O,AACD,kBACC,+CACA,O,AACD,iBACC,gDACA,OACD,A,cACC,iDACA,O,AACD,eACC,gD,AACD,gBACC,+C,AACD,iBACC,gB,CAED,kBACD,A,mBACC,4E,AACD,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,kBACD,A,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,iB,AACD,mBACC,kB,AACD,mB,AACC,UACC,+C,MAEA,+C,C,AAEF,mB,AACC,UACC,+C,MAEA,+C,CAEF,A,iFAGC,A,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,C,AAGF,kB,AACC,cACC,4CACA,M,CAID,+F,AACA,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kFAOA,A,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kBACC,A,yBACC,A,0CACC,a,CAED,QACA,QACA,S,C,AAED,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAGA,AACC,IACA,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,WACC,A,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+B,AACC,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mC,AACD,mBACC,mC,AACD,6BACC,2C,AACA,eACC,U,C,AAEF,mBAEC,2B,AACD,mBACC,2B,AACD,uCACC,A,mDACC,iB,CAED,2C,AACA,cACC,Q,C,AAEF,mBACC,wCACA,A,eACC,S,C,AAEF,6BACC,2CACA,A,cACC,S,CAEF,A,6BACC,2CACA,A,eACC,W,CAEF,A,6BACC,4CACA,A,iBACC,W,CAID,A,iDACC,iBACA,cACA,A,yBAEC,M,CAGD,KACA,6B,AAA2C,AAAA,cAE3C,sCACA,kB,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,0FACC,A,gEACC,iBACA,YACA,M,CAEG,AAAJ,gDACA,A,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kB,AAEA,eACC,MACA,M,CAED,uG,A,+B,AAEA,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+BAEA,A,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAED,AAAI,iCACJ,2BACA,A,oCACC,2B,C,AAED,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mD,AAED,kBAGC,sB,AACA,gBACC,MACA,M,CAED,sCACA,kB,AAED,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,CAGF,A,YACC,Y,A,sBAEA,I,CAGD,A,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uFACA,A,kCACC,SACA,qB,CAID,iBACA,qB,C,AAGD,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6E,AAcA,e,AACC,gC,CAGD,A,wE,AACC,+B,CAGD,A,6BACC,Q,AACA,+B,CAGD,AAAI,IACA,AAAJ,eACC,A,gBACC,M,CAED,AAAG,kB,eACF,M,C,AAL0B,AAAA,YAQ5B,IACA,+BACC,A,gCACD,A,gBACC,A,yB,AACC,+B,CAEF,A,gB,AACC,yB,AACC,mC,C,AAEF,gB,AACC,mC,CAED,A,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,CAED,A,WACC,+B,C,AAED,sHACC,S,CAED,kC,kD,AAIA,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kBACA,A,eACC,M,CAED,A,mEAEC,A,sD,CAED,iI,AATiB,AAAA,YAWlB,A,2D,2BCtlCA,A,0CACC,W,CAED,iFACA,A,yCACC,oC,CAED,S,yCAoBK,OACL,A,kCACC,gE,CAED,c,8FAMA,YACA,mEAQA,OACA,S,+CAMK,OACL,A,kCACC,iE,CAED,QACA,SACA,WACA,OACA,S,oFASA,yC,4BAUA,e,mDCpDK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sDACA,A,c,AACC,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sDACA,A,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFAgBA,AAfA,uGAqBA,iFACA,A,eACC,AAAA,W,CAKD,A,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACI,AAAH,gF,eACC,AAAA,WACA,I,C,CAIF,Y,qHAIK,kB,AACL,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uCACA,A,MACC,gC,CAGD,A,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WAEA,AADA,8BAEC,U,AACD,kDAEC,IACA,qEACD,A,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sC,AAGA,yCACC,AAAA,WACA,qEACA,gEACA,sCAIA,A,yCACC,AAAA,WACA,qEACA,iC,C,C,C,AAKH,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACI,AAAJ,eACC,mCACA,kC,AACA,MACC,AAAA,WACA,iH,CAED,sC,AAPqB,AAAA,Y,AAStB,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,YACA,A,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,I,AACA,UAGC,AADA,SAGC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kB,AACL,eACC,iE,CAED,QACA,S,oGAIK,kBACL,QACA,A,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACL,AAAI,I,AAEJ,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,C,AAGD,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2N,AAEA,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACF,AAAH,W,kBAGC,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,CAED,A,4B,2I,AAoBA,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACC,AAAO,uEACP,gEACC,uD,AACD,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kBACL,A,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iBACA,A,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,KACA,A,QACC,oBACA,AAAA,4E,C,CAIF,AAEA,2JACC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,C,AAED,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mG,AACA,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,CAID,A,gOACC,AAAI,4HACH,A,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gI,AACC,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kGACA,A,eACC,sGACA,A,e,AACC,+C,C,C,KAMH,0CACC,0GACA,A,gB,AACC,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,w9O,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kBACA,A,kBACC,2B,CAED,SACA,sCACA,AAAI,wCACH,qHADgC,A,AAAA,YAGjC,S,uGCDK,O,AAEL,4BACC,4BAEA,iC,CAED,iBAEA,IACA,A,SACC,MACA,K,CAGD,eACA,kB,AAEC,mBACC,SACA,AAAI,YACJ,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,C,AAED,0BACC,A,gC,CAED,A,oC,iJCsDK,O,AACL,eACC,A,+C,CAED,A,yC,4IAeK,OACL,A,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,QACD,A,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,OACL,A,e,AACC,0C,CAED,0BACA,A,QACC,I,CAED,A,yDACC,A,gC,CAED,A,sCACC,kC,CAED,A,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,CAED,A,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,e,AACC,0C,CAED,2BACA,A,QACC,I,C,AAED,uBACC,kB,CAGD,QAEA,A,sCACC,mC,C,AAED,4B,sIAMK,OACL,A,eACC,A,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,OACL,A,eACC,A,wD,CAED,4BACA,A,6FACC,kB,C,AAED,sCACC,A,wE,CAED,A,oC,oIAKK,OACL,A,eACC,A,0C,CAED,A,+D,mHAyBK,OACL,A,eACC,uB,CAED,AAAG,sB,sCACF,wC,CAED,iB,4EA+BA,A,QACC,I,CAED,Y,+FChOA,mCACA,A,+BACC,iB,CAED,A,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAEE,AAAH,4B,sCACC,wC,CAED,iB,0GAyBK,O,AACL,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAED,AAAG,2B,sCACF,2C,CAED,iB,wHAMK,OACL,A,eACC,A,2B,CAED,AAAG,qB,sC,AACF,wB,CAED,A,qB,8FCnGK,O,AACL,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yCACC,A,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,OACL,A,uBACC,uB,CAED,AAAI,YACJ,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,O,AACL,eACC,A,kD,CAED,AAAI,sCACJ,uBACA,A,sC,AACC,kE,CAED,A,oD,yHAmBA,AAAI,sCACJ,eACA,A,sCACC,A,yD,CAED,A,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sCACC,A,4B,CAED,e,KAED,A,4B,6HAcK,OACL,A,+BACC,4B,CAED,A,gE,0HAMK,O,AACL,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,CAGD,A,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,OACL,A,+BACC,4B,CAED,A,oE,6IAOK,O,AACL,kD,oFA8CA,gBAEA,mCACC,mB,AAD8B,AAAA,YAI/B,AAAI,AAAA,uBACH,A,yBACC,wBACA,M,CAHe,AAAA,A,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+B,AACD,oBACC,iCACD,A,mBACC,+B,AACD,oBACC,gCACD,A,oBAEA,A,oBACC,+B,CAED,A,iCACC,8B,CAED,A,iCACC,8B,C,AAED,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAEG,AAAJ,IACA,iD,AACC,8BACC,iB,C,S,AAKF,2DACC,Q,C,mEC8BI,uCACL,AACA,AAAI,uBACJ,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,S,AAGF,UACC,oEACA,AAAA,W,CAED,AACA,kEACC,A,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,UAED,A,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kEAED,A,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACI,AAAJ,AAAI,uBACH,mJACA,AAAA,iBAFgB,A,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gCACC,A,Y,AACC,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yBAdgB,A,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kC,AACA,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DA,AAAI,sBACH,A,iBACC,Y,C,AAED,gHACC,2G,CALsB,A,AAAA,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGA,AAAI,AAAA,uBACH,0HACA,wFACA,iBACA,AAAA,W,AACA,UACC,8F,A,qBAEA,a,CAED,I,AAVgB,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iB,AACA,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2F,AAMD,iBACC,a,CAED,A,yGAEC,A,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAID,AAAI,qBACH,6EACA,A,SACC,AAAA,2JACA,YACA,O,CALuB,A,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACA,AAAI,0BACH,uLADgC,A,AAAA,YAGjC,cACC,gC,AADe,AAAA,Y,AAGhB,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6G,AACA,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8BACC,A,a,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,C,AAED,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OAEL,AADA,AAEA,IACA,A,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kBACC,A,iB,CAED,4EAGA,A,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iFACA,A,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,I,AACJ,aAEC,uD,MAEA,sB,CAGD,6CACA,qI,AAKA,2XAEC,A,iB,CAED,A,gB,6JAOK,OAOL,AADA,AAIA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,WACD,A,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACA,AAAI,2CACH,A,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAID,AAAI,uBACJ,KACA,AAAI,iBACH,iGACA,4DACA,AAAA,WACA,wFACA,M,CAED,AAAI,kBACH,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gCACA,A,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGD,AAAI,0B,AACH,kHACC,aACA,M,CAHyB,A,AAAA,cAM3B,Y,kI,AAYA,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,CAJY,A,AAAA,Y,AAOd,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEK,AAAJ,uBACA,KACI,AAAJ,qDACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gLADmB,A,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,C,AAED,aACC,O,CAED,YACA,Y,CAED,c,AAEA,gBACC,qDACA,Y,C,AAED,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGA,AAAI,KACJ,AAAI,kDACH,A,sFACC,MACA,M,CAED,kC,AALmC,AAAA,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEA,AAAG,wF,gEACF,aACA,aACA,YAGA,0D,CAZ6B,A,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,C,AAED,2OAEC,a,CAED,A,gKAEC,a,C,AAED,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACJ,AAAI,SACJ,IACA,WACC,kCACA,KACD,A,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,Q,AACD,YACC,S,MAEA,S,CAED,iDAED,A,gBAEC,AAAA,W,MAIA,iG,CAED,gB,AAGA,WACC,qB,CAGD,A,OACC,yB,CAGG,AAAJ,0BACA,QAEA,MACA,A,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qB,AACD,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,aACD,A,4BACC,A,UACC,I,CAED,K,CAED,A,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,CAGF,A,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qB,AACD,0BACC,O,C,MAID,IACA,oBACC,gBACD,A,kBACC,mB,AACD,0B,AACC,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mB,AACD,0BAEC,I,AACA,uBACC,O,CAKD,A,MACC,I,CAED,YACA,A,eACC,A,WACC,O,CAED,sD,CAED,A,WACC,O,CAED,iC,CAID,uB,0EAQA,A,8BACC,OACA,O,CAiBD,cACA,A,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,IACJ,A,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wBACJ,A,WACC,6E,MAEA,K,CAED,6EACA,A,WACC,6E,MAEA,K,CAKD,8CAIA,oDAIA,AACA,UACC,gBACA,O,AACD,YACC,oBACA,O,AACD,aACC,kBACA,O,C,AAjCoB,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,e,AAGA,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,Y,AACA,aACC,I,CAED,A,QACC,KACA,K,MAEA,K,CAED,eAGI,AAAJ,uBACA,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,e,AAE/B,MACC,gB,CAID,A,WACC,AAAI,IACA,AAAJ,0BACC,0G,AADgC,AAAA,YAGjC,cACC,gBADe,A,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACI,AAAJ,eACC,KACA,AAAG,Y,iBACF,+F,CAED,e,AALqB,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,CAED,A,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAIG,AAAJ,uBACA,KAEA,A,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,CAED,A,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGK,AAAG,uE,QAET,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iIAGA,A,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,I,AACA,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,CAY3B,A,2BACC,gBACA,0BACA,AAf0B,0B,CAiB3B,A,MACC,A,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CAxB0B,AAyB1B,0B,CAED,IACA,UACC,gDACD,A,gBACC,gD,AACD,iBACC,gDACD,A,iBACC,gD,AACD,iBACC,gDACD,A,gBACC,gD,AACD,iBACC,gD,MAGA,AADA,SAEC,gDACA,2EACA,uEACD,A,oBACC,QACA,AAEA,gDACA,AAAI,iBACH,4E,AADoB,YAFtB,A,kBACC,gDACA,AAAI,iBACH,4EADoB,A,Y,MAIrB,gDACA,AAAI,iBACH,4E,AADoB,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,QACC,A,cACC,a,CAED,S,CAED,A,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SAEA,AADA,iB,AAEC,qC,AACD,wBACC,A,6CACD,A,uB,AACC,6C,CAED,Y,yHAmBO,AAAP,kBACA,kCACC,iBACA,gB,AACD,iBACC,wCACA,A,wE,AACD,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,I,AACD,kBACC,K,AACD,kBACC,K,AACD,kBACC,K,AACD,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,I,AACD,kBACC,IACD,A,iBACC,I,CAED,AAAI,IACJ,A,eACC,iBACA,gB,CAED,AAAI,eACH,qCACA,A,QACC,iBACA,gB,CAED,c,AANkB,AAAA,YAQnB,iB,AACA,YAEC,IACA,M,C,AAED,cACC,iBACA,gB,CAED,IACA,O,AACD,yEACC,gBACA,A,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mBANkB,A,AAAA,cAQnB,iB,AACA,WACC,iBACA,gB,CAED,K,AACD,iBACC,KACD,A,yBACC,A,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,WACA,A,QACC,A,0C,CAED,kBACA,A,oC,AACC,0C,CAED,0BAEA,A,WACC,A,aACC,A,0C,CAED,A,oC,C,AAED,6BACC,A,0C,CAED,A,aACC,A,0C,CAID,A,wBACC,IACA,WACC,A,oCACD,A,iBACC,wCACA,A,iD,AACC,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,CAED,A,gC,AAEC,8C,C,CAGF,A,yD,yBAKI,AAAJ,sB,AACC,wBACC,Y,CAFsB,A,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qG,AACA,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,WACC,A,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,CAED,A,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,YACD,A,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0DAFgC,A,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,CAED,A,SACC,uD,CAED,A,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qC,AAIA,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2BACD,A,iBACC,2B,AACD,yBACC,sBACD,A,iBACC,sC,AACD,iBACC,4B,AACD,iBACC,4BACD,A,mCACC,uBACD,A,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,aACA,A,2BACC,a,CAED,sD,AACA,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,aACA,A,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,aACA,A,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,eACJ,A,uBACC,+B,CAGD,AAAI,QACJ,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kB,AACC,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC1B,AAAJ,M,AACA,uBACC,wBACA,A,iCACC,qE,CAED,8GACA,A,0CACC,4D,CAED,qBACA,A,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8G,AACA,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,CAED,A,oCACC,6G,CAED,A,iCACC,sB,C,AAGD,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8B,AACD,kBACC,AAAI,6BACH,A,oCACC,a,CAF4B,AAAA,A,c,CAM/B,Y,mJAGK,Q,AACL,8CACC,0D,CAED,8G,AACA,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,QACL,A,+CACC,c,C,AAED,gCACC,iBACA,A,qDACC,iBACA,sCACC,oC,AACD,2BACC,qC,AACD,kB,AACC,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UAEC,AADD,KAEC,QAED,A,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,C,AAGD,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,M,AAGD,oBACC,AAAA,a,CAED,A,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8H,AACC,kBACC,iE,C,MAGE,AAAJ,kBACC,AAAG,8H,yBACF,kF,C,AAFiB,AAAA,c,AAKnB,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACA,AAAG,a,yBACF,0F,CAED,qB,AALkB,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,cACA,A,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,cACD,A,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oBACD,A,2BACC,2C,CAED,2C,oHAGK,QACL,AAAO,gCACP,YACC,e,AACA,mBACC,8B,CAED,qBACA,sC,AAED,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,UACA,A,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACE,AAAP,gCACA,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,U,AACA,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,e,AACA,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iBACA,A,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mC,AACD,kBACC,2CACD,A,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACE,AAAP,gCACA,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uC,AACC,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,S,AACD,kB,AACC,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uCACA,A,gCACC,iBACA,YACC,+B,AACD,kBACC,0BACD,A,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QAEJ,AADD,KAEC,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,AAED,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2BAED,A,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mBACA,A,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sBACA,A,sCACC,A,6D,CAED,A,6D,gIAGK,QACL,iG,+FC3hBK,wC,AACL,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,Q,AACL,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,Q,AACL,mBACC,oBACA,sB,CAED,mC,kIAGK,QACL,A,mBACC,oB,AACA,qC,CAED,A,kD,qJAGK,QACL,A,mBACC,oBACA,A,iE,C,AAED,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,QACL,A,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mBACD,A,kBACC,eACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,Q,AACL,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,QACL,A,wBACC,mE,CAED,iBACA,8B,iIAGK,QACL,A,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,Q,AACL,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,QACL,A,wBACC,uD,CAED,eACA,uB,wGAGK,Q,AACL,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,e,AACD,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wBACC,A,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oB,AACA,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,CAED,A,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oIACC,A,SACC,W,AACA,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,CAID,A,W,AAEC,mD,AAEC,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iBACA,A,+CACC,uFACA,c,C,AAED,eACC,sB,CAED,uF,AACA,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,S,AACA,eACC,6CACC,6GACA,A,oCACC,QACA,c,CAED,A,wBACC,A,uE,C,M,CAIH,A,QACC,c,C,AAED,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,Q,AACL,oCACC,mE,C,AAED,wBACC,6E,CAED,iC,8HAGK,Q,AACL,oCACC,qE,CAED,sBACA,4B,mIAGK,QACL,A,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oBACA,A,2BACC,Y,CAeD,A,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8GACA,A,8FACC,AAAG,AAAA,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,CAGD,8BACA,A,gBACC,a,CAED,KACA,AAAI,kCACH,8GACA,8G,AACA,+FACI,AAAH,AAAG,a,2BACF,Y,C,CAL6B,A,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4E,AAED,kBACC,eACA,eACA,A,iHACC,a,CAED,yI,AACC,oHACC,a,C,MAGF,wI,AACC,mHACC,a,C,MAGF,YAED,A,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,aAED,A,kBACC,oFAED,A,2BACC,8C,AAED,kBACC,iBACA,iBACA,A,+CACC,a,CAED,6CACC,6GACA,6GACA,A,gJACC,a,CAED,A,kKACC,a,CAED,A,uBACC,a,CAED,A,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,QACL,A,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,CAED,A,2BACC,qF,C,iJAOI,wC,AACL,WACC,2B,CAGD,A,2BACC,qF,C,AAED,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4DACD,A,kBACC,qB,CAED,mE,6HAwEK,Q,AACL,mBACC,yG,CAED,2BACA,oIACC,A,SACC,A,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACL,AAAG,2D,OACF,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qC,AACD,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+BACD,A,iBACC,+B,AACD,iBACC,+BACD,A,iBACC,+B,AACD,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,Q,AACL,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,AACA,WACC,8B,CAED,WACA,sCACA,8B,AACA,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACJ,AAAI,0BACH,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,OAjBsB,AAAA,A,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,CAED,A,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,C,AAED,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kCACD,A,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,cACD,A,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACA,AAAO,gCAGP,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wDACD,A,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,C,AAED,oBACC,2BACA,O,CAED,iCACA,sDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACA,AAAO,gCAGP,WACC,2B,AACD,iBACC,gCACD,A,iBACC,gC,AACD,kBACC,2B,AACD,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,CAED,A,uBAEC,c,CAKD,sBACA,A,uBAEC,wB,AACA,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gC,AACD,iBACC,gCACD,A,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gC,AAED,wBACC,A,WACC,S,CAED,gBACA,A,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0B,AACA,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,UACD,A,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,2BACC,aACA,2CACC,U,AACD,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,C,AAGF,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,CAIH,A,kBACC,A,+CACC,oBACA,WACC,UACD,A,iBACC,U,C,C,CAMH,A,cACC,U,CAID,A,kHAGC,U,C,AAGD,cACC,A,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,YACD,A,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2CACD,A,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gBACA,A,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EA,AAAI,gBACH,sFACA,sF,AAFsB,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,Q,AACA,QACC,QACA,K,CAED,W,AACA,Q,AACC,uB,AACC,sC,CAED,A,M,AACC,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,O,AACL,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,O,AACL,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,OACL,A,MACC,S,MAEA,S,C,wJAMI,OAEL,A,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,IACA,A,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,CAEF,A,qCACC,8CACC,AAAA,WACA,oJACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,C,AAID,qBACC,IACA,8B,AACC,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,CAGF,A,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,C,AAID,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,O,AACL,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,YACA,A,eACC,W,CAED,8CAEA,AAAI,SACJ,AAAI,eACH,A,0BACC,gB,C,AAED,kDACC,kB,CAED,AAAI,I,AACJ,eACC,kB,MAEA,uF,CAED,uEAbkB,A,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,KACJ,A,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACL,AAAI,SACJ,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iB,AACC,oBACC,4BAAe,qB,QACf,sB,C,C,AAMF,4DACC,A,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wB,AACD,kBACC,8B,AACD,iBACC,6B,AACD,0BACC,8B,AACD,kBACC,+B,AACD,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,IAtBa,A,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iC,AACA,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,O,AAAyC,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2BACD,A,iBACC,4B,AACD,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,aACA,A,gCACC,W,CAED,S,+C,AAKA,SACC,A,0C,CAEG,AAAJ,yDACC,kDACA,O,AAFiE,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2CACA,A,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0D,AACD,iBACC,U,AACD,2BACC,2DACD,A,kBACC,0D,AACD,kBACC,A,uFACC,gB,MAEA,a,C,AAEF,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oFACD,A,iBACC,mC,AACD,kBACC,qF,AACD,kBACC,A,0BACC,kB,MAEA,qF,C,AAEF,kBACC,oF,AACD,kBACC,A,uFACC,yC,MAEA,a,C,AAEF,kBACC,qFACD,A,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kBACD,A,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iBACD,A,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oBACD,A,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,C,AAEF,kBACC,eACD,A,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yB,AACC,0BACC,A,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sH,AACC,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,qC,KAED,A,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mCACD,A,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGD,AAAI,IACJ,WACA,mDACC,c,MAEA,aACA,O,CAGD,A,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACL,AAAG,a,sCAIC,AAAH,e,+BACC,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uBACA,A,MACC,yBACA,2B,CAED,wBACA,A,MACC,0BACA,4B,CAED,Y,4IAKK,OACL,A,MACC,0BACA,0B,CAED,A,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGE,AAAH,2C,MACC,OACA,0FACA,uDACA,cACA,S,CAID,A,0BACI,AAAH,2C,MACC,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,SAED,A,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oCAEA,A,mCACC,A,wBACC,a,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,oDACA,A,iB,AACD,kBACC,6BACA,A,iB,CAID,IACA,0CACC,eACD,A,mDACC,kB,AACD,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8B,AACD,gDACC,8BACD,A,iDACC,8B,AACD,iDACC,8B,AACD,iDACC,gB,AACD,gDACC,gC,AACD,iDACC,gCACD,A,kDACC,gC,AACD,kDACC,gC,AACD,kDACC,iBACD,A,mDACC,yD,AACD,kDACC,iBACA,uBACD,A,6CACC,4BACA,U,UAGG,AAAH,uB,MACC,A,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iBACC,A,wBACC,2F,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,iDACA,A,iBACD,A,kBACC,kBACA,A,iB,CAKD,gBACA,A,qBACC,oB,CAEE,AAAH,uB,MACC,A,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UACD,AACC,AAAO,yBACP,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wB,AACD,yB,AACC,wBACC,0B,MAEA,0B,C,AAEF,yBACC,A,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0B,AACD,iBACC,A,0BACC,iHACA,A,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iB,AACC,0BACC,iH,CAED,WACA,IACA,WACI,AAAJ,0BACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,A,gDACI,AAAH,mC,mBACC,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iG,AACD,iBACC,WACA,A,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMC,AAAG,W,6FACF,AAAI,S,AACJ,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAEG,AAAJ,qBACC,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,kCARwB,A,AAAA,Y,AAUzB,0BACC,iG,MAEA,gG,C,AAEF,iBACC,cAGA,A,wBACQ,AAAP,yBACA,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAGF,AAEA,kB,AADD,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,IACA,A,gBACC,4HACA,S,CAED,c,iEAWA,AAAI,sBACH,A,yBACC,iCACA,A,mBACC,A,+C,CAED,A,mD,C,AAN2B,AAAA,YAS7B,A,0C,+FAMK,OACL,A,2CACC,A,0C,CAED,iBACA,0CACA,A,iBACC,A,8C,CAED,mBACA,A,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,C,AAED,SAEC,M,CAID,AAAA,WAGA,mBACD,AACC,aACC,kBACA,WACC,0B,AACD,iBACC,yB,AACD,iBACC,yB,AACD,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iE,AACA,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oD,AACA,yBACC,AAAA,WACA,iE,AACA,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,CAKH,A,OACC,oD,C,AAGD,SACC,4FACA,S,CAED,qDACA,WAEA,A,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,CAED,A,wBAEC,0BACA,0B,C,CAGF,kB,CAMD,A,8BACC,2FACA,mBACC,uF,AACA,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,C,AARqB,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sB,AAViC,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,OACL,A,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uCACA,A,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,OACL,A,gCACC,A,gC,C,AAED,4C,6GAKK,OACL,6BACA,A,sCACC,A,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACC,AAAG,a,sCACF,AAAG,kD,MACF,Q,MAEA,U,C,C,Q,AAIH,8BACC,K,CAED,2BACA,eACA,Y,wLAmBA,A,aACC,a,CAED,eACA,8H,AACC,WACC,a,CAED,A,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,eAEjB,A,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,C,AAED,2BACC,S,CAED,A,WACC,A,MACC,M,C,AAED,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,O,AACL,MACC,mB,CAGD,YACC,cACA,A,WACC,M,CAED,A,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,cACA,A,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gDA8SA,A,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6E,AACA,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACA,AAAI,iCACH,wF,AAD8B,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACI,AAAJ,iCACC,8G,AAD6B,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oBACA,A,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,YACJ,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACG,AAAH,e,+CAEC,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0IACA,A,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yBACA,A,aACC,0BACA,iD,CAGD,oBACA,mB,AAEA,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oB,AACA,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oE,AACA,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eAEA,AADA,4B,iIAIK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qI,AAyBA,AACA,OACI,AAAH,O,sCACC,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2CACA,A,mGAH4B,AAI3B,AAJ2B,oB,CAM5B,6C,AAN4B,AAAA,Y,AAa7B,kBACC,iB,CAED,iCACA,qHACA,iB,6MCtEA,AACA,AAEA,mDACA,A,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gC,AACA,sCACC,S,CAGD,AACA,iBACA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2IAN6B,A,AAAA,kBAQ9B,iDAEA,iB,uJ,AAMA,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACH,AAAI,eACH,uJ,AADkB,AAAA,Y,AADD,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gC,AACA,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,CAGD,A,uBACC,wD,CAID,AAAI,iBACH,gD,AACA,QACC,U,CAED,e,AACA,sCACC,QACA,O,C,AAED,QACC,O,CAXwC,AAAA,A,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,O,AACL,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGD,AAAI,YACJ,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,YACA,A,UACC,A,sC,CAED,A,cACC,A,0C,AACC,sC,CAED,A,6BAGC,iCACA,A,QACC,U,CAED,A,QACC,gHACA,kB,C,AAED,sC,CAED,S,AACA,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iBACC,A,0C,AACC,sC,CAED,S,CAED,uGACA,AAAA,eACA,kBACA,A,oC,gHAIK,O,AACL,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEI,AAAH,0C,SACC,yCACA,sBACA,M,CAID,A,0CACC,2BACA,QACA,cACA,M,CAID,A,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gCACA,A,4C,AAEC,gIAGC,A,YAEC,mE,CAED,AAAA,eACA,kC,CAED,A,iD,CAGD,A,kB,AACC,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,I,AACA,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACA,AAAJ,SACA,YAEA,YACC,AAAI,YACJ,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oBACA,A,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kDACA,A,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,CAGD,A,+BACC,S,CAGD,eAEC,8BACA,qDACA,A,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kD,AACA,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iBACA,A,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mE,AACA,UACC,e,CAED,mEACA,A,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iBACL,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,CAED,A,oBACC,gB,C,AAED,oBACC,gB,CAED,A,oBACC,gB,C,AAED,qCACC,e,CAED,S,4GAIK,iBAAmB,c,AACxB,oBACC,gB,CAED,A,oBACC,gB,C,AAED,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,c,AACrB,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,C,AAED,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,OACL,A,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qB,AACpC,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,O,AACL,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,O,AACL,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,CAFmB,A,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oB,AAClC,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,O,AACL,mBACC,Y,CAED,0BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,C,AAFmB,AAAA,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sB,AACtC,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,OACL,A,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,OACL,A,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,O,AACL,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+BAIA,A,cACC,kD,CAID,+BACA,uF,0IASK,OACL,AAAI,uBACJ,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+B,AACD,gBACC,+BACD,A,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,O,AACL,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZACD,A,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+BAIA,A,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2D,AACA,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sC,AACC,UACC,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,OACD,A,6CACC,A,eACC,O,C,C,MAGI,AAAG,uC,MACT,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4CACC,A,yDACC,iB,C,CAIF,oCACA,2C,AACA,eACC,yCACA,8C,CAGD,AAAI,uCACJ,0BACA,0BACA,AAAI,0BACH,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAED,AACA,WACC,A,U,MAGC,8D,C,AAEF,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,C,AAjCoB,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACI,AAAJ,kCACK,AAAJ,eACC,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kBAb+B,AAAA,A,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACA,AAAI,eACH,6HACA,6HACA,6HACA,6H,AAJoB,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mCAHkC,A,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBACA,AACC,gBACA,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oRAjBqB,A,cAmBtB,WACA,WAvBa,AAAA,A,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gBACJ,A,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,W,AAHa,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+QAlB6B,A,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yHAV6B,A,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sG,AALqB,8CAJS,A,+B,AAYjC,gBACC,AAAI,2CACH,qCACA,oEACA,kJACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0GAN+B,A,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,sPACA,AAAI,wBACH,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oD,AAJS,mC,M,AAahC,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACI,AAAJ,gDACC,AAAI,2BACH,uG,AACA,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oCACA,A,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACA,AAAI,wBACH,AAAI,wDACH,SACA,A,sCACC,+B,CAED,0D,AACA,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,CA7BwC,A,qDAgC1C,2BAjCqB,A,oD,gBAuCtB,A,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACA,AAAG,sC,MACF,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMG,AAAJ,8BACA,A,MACC,0BACA,0B,CAID,iCACI,AAAJ,6BACK,AAAJ,6BAGC,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,CAGD,A,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gE,AACA,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OAjCuB,AAAA,AAkCtB,sB,CAED,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SAvEwB,A,AAAA,cA2EzB,A,MACC,wBACA,sCACC,+G,M,C,AA/EsB,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6C,AACA,sCACC,gB,CAED,yBACA,yC,oDAOK,O,AACL,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,a,AACA,YACC,iKACA,qM,CAED,S,iIAaK,OACL,AAAG,qB,sCACF,S,CAED,6C,oIAGK,OACF,AAAH,qB,sCACC,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOG,AAAH,sC,wCACC,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,OACL,A,yC,0GAIA,uBACA,uB,AACA,QACC,2D,CAED,A,QACC,4D,CAED,0CACA,A,sCACC,gB,CAED,mC,6DAIA,oC,AACA,UACC,2D,C,AAED,UACC,4D,CAED,OACA,oCACA,8CACA,A,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;o/BCvDK,OACL,+BACA,uF,8GAGK,OACL,+BACA,wF,mFCjBA,K,gKAIA,oF,4E,6BAQA,a,gC,oKAQA,WACA,+CACC,U,MAED,gEAEA,mBACA,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCAEA,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,sGACC,gFACA,0BACA,a,uFAED,oGACC,gFACA,0BACA,W,uF,+GAKD,mBACA,gCACA,eACA,gBACA,UACA,qJACA,oJACA,A,oC,4G,gE,gE,gE,gE,soC,uH;4uGCxEA,UACA,A,qBACC,mE,CAGG,AAAJ,sBACK,AAAJ,eACC,gCACA,oBAFoB,A,AAAA,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,IACI,AAAJ,sBACC,oCADsB,A,AAAA,YAIvB,A,iBACC,qB,CAED,oB,AAToB,AAAA,Y,AADC,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,c,AACpB,mBACC,e,CAED,6BACA,SACA,a,wHAGK,O,AACL,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,2HA+CA,4BACA,YACA,wDACA,wDACA,wN,iDClGA,AAAI,SACA,AAAJ,YACA,6BACC,AAAI,SACJ,mD,AACA,sCACC,O,CAED,wB,IAED,A,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,cACrB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJAFwB,A,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,e,mHAIK,OACL,A,mBACC,e,CAED,mJ,qHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iB,AACD,gBACC,gB,CAED,iC,yCCdA,sDACA,A,sCACC,iB,CAGD,8CACA,A,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACL,AAAG,gC,sCACF,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC5CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,OACL,A,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2F,AACA,wE,kIAGK,OACL,2FACA,A,wE,2GAQK,OACL,S,sHAGK,O,AACL,6D,wHAGK,OACL,A,6D,4HAGK,O,AACL,eACC,uD,CAED,eACA,A,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6C,AACA,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,OACL,A,sBACC,2BACC,AAAI,YACJ,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,qSC1LA,iC,AACA,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,kCAEC,qCACA,mEACA,A,iBACC,iB,CAED,mBACC,gB,I,AAED,sCACC,S,CAED,AAAG,iC,sCACF,S,CAED,mBACC,iBACA,A,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAED,gE,qB,qT,gE,gE,gE,gE,gE,gE,gE;;i5FC3DD,A,SACC,4DACA,O,CAED,Y,AACC,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACI,AAAJ,IACI,AAAJ,iBACC,AAAI,IACJ,AAAI,IACJ,AACA,4BAEC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2F,AAzBwB,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2F,AAF6B,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACA,AAAJ,gBACA,kHACC,A,UACC,a,CAED,A,iBACC,I,C,AAED,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,IACJ,A,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACJ,AAAI,gB,AACH,WAEC,UACA,A,UACC,a,CAED,4BACI,AAAJ,uBACC,4LACA,uBACA,gBACA,6GACA,qIAL0C,AAAA,A,a,CAQ5C,sEACA,mEACA,YACA,8B,AAnBuB,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACC,AAAI,oBACH,uFAD2C,A,+C,MAI5C,2GACA,A,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACC,AAAG,mB,0CACF,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,U,C,mGAII,O,AACL,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6BACA,A,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACC,AAAG,e,sCACF,S,C,CAGF,qLACA,iCACA,kBARsB,AAAA,A,YAUvB,AAAI,gBACH,oKADmC,AAAA,A,Y,AAGpC,gDACC,2C,CAKD,AAAI,gCACH,gC,AACA,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mB,AACA,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,W,AAFoB,AAAA,c,C,AAMtB,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACA,AAAJ,IACA,AACA,UACC,2GACA,AAAA,iBACA,A,iBAEC,gDACA,O,CAED,SACD,A,kBAEC,2CACA,O,AAED,gBACC,WACA,IACD,A,gBACC,kBACA,I,AACD,gBACC,mBACA,IACD,A,gBACC,mBACA,I,AACD,gBACC,oBACA,IACD,A,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,IACJ,A,kBACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAIF,AACA,QACC,AAAA,WACD,A,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iCACA,A,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,OACL,A,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gBACA,A,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,OACL,A,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+B,AACA,sCACC,A,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACI,AAAH,e,sCACC,Y,C,CAGF,kGACA,qBACA,A,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,CAGF,A,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,U,AACA,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sN,AAOA,kBACC,a,CAED,iB,qGAYI,AAAJ,0BACA,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWA,AAAI,0BACJ,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,CAED,A,kBACC,A,oC,CAGD,uCACA,iCACA,A,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,QACA,A,4B,CAGD,iI,AACA,8BACC,uBACA,A,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mC,AACA,MACC,yDACA,A,sCACC,S,CAED,iIACA,A,2BACC,0B,C,CAGF,A,gD,AACC,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACA,AAAI,iBACH,UACA,AAAI,e,AACH,oBACC,wB,MAEA,6B,CAJiB,A,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uBACA,A,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACJ,AAAI,eACH,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,O,AACA,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,YAFG,A,AAAA,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6FAG1C,A,QACC,S,CAED,S,0EAGK,OACL,A,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2CACA,A,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wD,AACA,aACC,mC,CAED,0C,AACA,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,OACD,A,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,OACD,A,gBACC,Q,AACD,gBACC,O,AACD,gBACC,Q,C,AAEF,iBACC,WACA,UACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oE,AACA,sCACC,S,CAED,0CACA,OACA,gCACC,8BACI,AAAJ,eACC,4a,AADmB,AAAA,YAGpB,AAAI,iBAMH,2J,AANqB,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,OACL,A,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uCACD,A,wBACC,uC,AACD,sCACC,A,wBACC,mC,CAED,AAAI,eACH,wIACA,2OAFkB,AAAA,A,Y,AAIpB,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAID,AAAG,sD,sCACF,Y,CAED,8DACA,A,6DACC,yC,CAED,cACA,0C,CAED,A,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+BACA,A,sCACC,oB,CAED,2CACA,AAAI,YACJ,A,oBACC,2C,A,0BAGA,kDACA,AAAI,eACH,2CACA,A,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACA,AAAI,mD,AACH,YACC,kC,CAED,qDAJiC,AAAA,A,YAMlC,A,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACL,AAAI,IACJ,IACA,AACC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6BACA,A,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,IACD,A,iBACC,KACA,8BACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEA,AAAI,iBAEH,6B,AACA,uCACC,qB,CAID,mBACA,mBACA,2FACA,W,AAEA,iBACC,AAAI,0BACH,mT,AADsC,AAAA,c,AAGxC,iBACC,oIACC,8M,M,AAEF,iBACC,AAAI,iBACH,gY,AAD8B,AAAA,cAG/B,AAAI,0BACH,mgB,AADsC,AAAA,c,AAGxC,iBACC,W,MAEA,2C,CAID,QACA,WACK,AAAJ,iBACC,+LACA,AAAI,+BACH,wEACA,sC,AAFoC,AAAA,cAFf,A,c,AAOxB,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,uEACA,sCAFoC,AAAA,A,cAFf,A,c,AAOxB,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,uEACA,sCAFoC,A,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2J,AAFsB,AAAA,c,AAIxB,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,a,AANsB,AAAA,cAQvB,kBACD,A,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,cAWxB,A,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,mBACA,A,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,cAWxB,A,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,kBACC,A,iCACC,AAAI,iBACH,A,uHACC,wI,C,AAFqB,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kB,AACD,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,c,AAIxB,kBACK,AAAJ,iBACC,2QACA,2QACA,mD,AAHsB,AAAA,c,AAKxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oDAJsB,A,AAAA,c,AAMxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGACA,AACC,SACA,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACA,AAAI,+BACH,6FACA,AAAI,+BACH,kCACA,sDACA,aAHwC,A,AAAA,cAFD,A,AAAA,c,8IAUpC,OACL,eACA,+B,AACA,sC,AACC,a,CAED,A,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,sB,AACD,qBACC,A,uDACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACF,AAAH,sD,sCACC,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIG,AAAH,kB,sCACC,A,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kDACA,A,sBACC,M,CAED,A,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,cACD,A,gBACC,e,AACD,gBACC,c,AACD,sCACC,Y,AACD,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iB,AACD,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;uc,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+B,AACA,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sCACC,A,+BACC,qB,CAED,QACA,O,CAGD,AADA,cAGC,iGACA,AAAA,eACA,A,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,O,AACD,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wCACA,A,qBACC,A,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wC,AACD,gBACC,wC,MAEA,kCACA,S,C,AAED,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,O,AACL,0CACC,gB,CAED,A,kBACC,oB,C,AAED,wBACC,AAAI,IACJ,mCACA,A,0CACC,gB,CAED,A,UACC,YACA,gB,CAED,qCACA,AAAG,qC,0CACF,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEF,AAAH,sC,MACC,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACI,AAAH,gD,sCACC,S,C,CAIF,YACC,+B,AACA,sCACC,S,CAED,IACA,WACC,AAAG,oB,sCACF,S,CAGF,A,iBACC,2C,AACA,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qE,AACC,OAEC,uD,CAED,8K,CAED,+BACA,A,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACG,AAAH,6B,sCACC,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAEE,AAAH,0D,gDACC,A,uCACC,U,CAED,S,CAID,A,0BACC,iIACC,A,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iBACC,A,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oDACA,A,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+BACA,A,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8BACD,A,kB,AAEA,kBACC,+B,AACA,sCACC,S,CAGD,S,MAEA,yE,CAED,A,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8B,AACA,+CACC,S,CAED,A,4BACC,gD,C,CAGF,YACC,8BACA,A,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACL,AAAG,sD,sCACF,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+B,AACA,+CACC,Y,CAED,oD,sGAkBA,AAAI,SACJ,kBACA,kBACA,oBACA,IACA,4HACC,eACA,AAAI,qBACH,gEACA,WACA,uB,AAH4B,iB,KAM9B,Q,sCAMI,AAAJ,wBACG,AAAH,oB,sCACC,oB,CAED,mH,0CA4BI,AAAJ,wBACA,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yB,AACA,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sCACC,A,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,O,AACL,oBACC,AAAG,wB,sCACF,Y,C,CAGF,8BACA,2CACA,yBACA,sEACA,A,gBACC,4C,CAED,oB,8OAKK,OACL,WACC,A,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wB,AACA,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,K,AAED,iBACC,8C,CAED,A,iBACC,mD,CAED,+B,AACA,QACC,qC,CAEE,AAAH,mD,sCACC,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACA,AAAI,gFAMH,qDACA,wIACI,AAAJ,2DACC,mG,AADgC,AAAA,oBAGjC,AAAA,YACA,AAAA,Y,AAZiC,AAAA,YAFF,A,AAAA,aAmB7B,AAAJ,sBACA,wGACC,A,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,Q,AACL,iBACC,+C,CAGD,A,oCACC,AAAG,mB,2D,AACF,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qC,AACH,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2BAd8C,A,AAAA,YAgB/C,oC,6IAGK,O,AACL,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,OACL,A,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFAbiB,AAcjB,AAdiB,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6G,AA9DkB,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iH,AAlDkB,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2B,AACA,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sBACA,A,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACI,AAAH,W,sCACC,A,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iB,AACC,4B,C,AAED,4GACC,A,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6BACA,A,sCACC,A,4B,CAED,A,iBACC,sBACA,A,oC,CAGD,6BACA,A,sCACC,sBACA,A,4B,CAED,sBACA,A,e,AACC,mC,CAED,A,sC,qIAKK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iC,AACC,gBACC,0B,CAED,sB,CAGD,YACC,yB,AACA,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAEE,AAAH,W,sCACC,A,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAEG,AAAJ,qBACC,6KACA,8KACA,A,gBAYC,kFACA,kFACA,AAjBuB,AAAA,oB,CAmBxB,+FACA,sGACA,kGAKA,A,UACC,A,uDACC,6C,C,A,sBAGD,6C,C,AA/BuB,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACC,AAAG,4C,sCACF,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,aAgBrB,A,eACC,qC,CAED,iB,qHAIK,O,AACL,eACC,qC,CAEE,AAAH,2C,sCACC,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,CAED,A,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6BACA,A,sCACC,oB,C,CAGF,A,YACC,M,CAED,A,mBAOC,S,CAKD,AAAG,2C,sCACF,oB,CAED,gDACA,A,QACC,gD,CAGD,AACA,yBACC,sBACA,kBACA,A,MACC,oB,CAEF,A,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,oCACC,c,MAEA,0B,CAED,A,sCACC,oB,C,CAGF,A,uBACC,yB,CAED,A,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iEAKD,A,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IACJ,AACA,qBACC,I,AACD,2BACC,I,AACD,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,O,AACL,gBACC,mC,CAED,A,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKA,AAAJ,eACC,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kCACA,A,kBACC,2GACA,2GACA,2HACA,wH,AACA,sCACC,8C,CAED,A,2BACC,wE,CAED,A,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACC,AAAI,iBACH,mF,AACA,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBAGC,AAFD,sBAGC,wBAKA,sBACA,KAED,AAAI,kBACH,AAAI,kBACC,AAAJ,iBACC,mFACA,kLACA,AAAI,gM,AA0BH,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,aACA,A,4CAvCuD,AAwCtD,AAxCsD,sB,C,CA6CxD,A,kBACC,qT,MAEA,sB,CAGD,A,eACC,AAAG,kN,uCACF,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yMACA,A,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,CAGD,A,sBACC,AAAA,+B,MAGA,sKACA,aACC,yC,AACA,uCACC,U,CAED,mBACA,e,AACA,gBACC,mBACA,A,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,MAEA,A,iBACC,4C,AACA,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,CAoCvB,A,kB,AACC,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIxD,AAAI,kBACH,uW,AAD8B,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6FACD,A,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACI,AAAJ,iBACC,yF,AACA,YACC,K,A,iBAEA,O,MAEA,e,CAED,qHATkB,AAAA,A,c,AAHD,AAAA,c,AAtJqC,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGI,AAAH,4C,uCACC,U,C,AAED,4CACC,+B,CAED,AAAA,mBACA,A,aACC,O,CAGD,iCAEA,uBAEA,W,C,AA9LqB,AAAA,c,AADD,AAAA,cAoMvB,iB,2KAKK,OAEL,A,UACC,A,eACC,mC,CAED,8BACA,A,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,I,AACA,iBACA,AACC,iBACC,IACA,mC,AACA,sCACC,S,CAED,iBACA,aAEA,IACA,U,AACC,gBACC,wCACA,A,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8B,AACA,sCACC,S,CAED,A,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,CAED,A,QACC,sC,C,AAED,eACC,yJ,CA3CmB,AAAA,A,Y,CA+CtB,A,eACC,AAAA,+BACG,AAAH,0C,uCACC,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wF,AACC,UACC,M,CAED,AAAA,WANmB,AAOnB,AAPmB,oB,CASpB,8BACA,A,sCACC,Y,C,AAED,OAboB,AAAA,AAcnB,oB,C,AAED,uFACC,2K,MAEA,2K,CAnBmB,A,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wHACC,A,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,WAHkC,A,AAAA,kBAKnC,4BAP6B,A,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQA,AAAI,UACJ,A,kBACC,6BACA,O,CAID,AAAI,qBACJ,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJ,AAHuB,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wB,AACC,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,CAED,A,wBACC,iCACA,SACA,6BACA,SACA,6BACA,SACA,A,wBACC,6BACA,4G,CAED,6B,C,CAGF,A,yB,AACC,yBACC,IACA,AAAI,2BACH,A,yBACC,wBACA,M,C,AAH6B,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACA,AAAI,KACJ,AAAI,IACJ,YACA,+CACA,A,yBAEC,cACA,AAAI,QACJ,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;2SC5PA,AAAA,WACA,yBACA,kFACA,4CACA,qHACA,AAAG,mB,sCACF,S,CAED,iB,4JAIA,AAAI,YACJ,+G,AACA,sCACC,oB,CAED,AAAG,6F,2DACF,oB,O,0J,gE,gE,gE,gE,wJ"} +{"version":3,"file":"hue.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/errors/errors.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/hue/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kB,AACA,kBACC,U,CAED,e,AACA,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kBACC,A,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oB,AACA,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;0NC7DA,oB,yCAQK,OACL,W;8pECKK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iBACL,A,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uBACA,A,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uBACA,A,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIA,AAAG,+B,MACF,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,wE,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,8D,sCAIG,AAAH,+B,MACC,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wEACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOG,AAAH,+B,MACC,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;8JCjFA,MACA,M,+BA6EA,A,WACC,a,CAED,A,WACC,a,CAED,a,yCAIA,A,0B,+B,AAIA,WACC,U,CAED,A,aACC,sE,C,AAED,cACC,uE,CAED,mC,yBA2CA,S,+CAyBA,A,0C,4BAIA,+B,gDAgBA,A,W,AACC,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,K,AACA,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2BACA,A,4BACC,AAAA,U,CAGD,yD,oDAIA,K,AACA,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,CAED,A,gBACC,oB,CAED,A,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,C,AAED,iBACC,iC,CAGD,oBACA,A,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,c,AACA,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACA,AAAI,kBACH,+FACA,oO,AAF8B,AAAA,c,4FCX/B,AAPA,AAQA,WACC,A,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kB,AAEA,4EACC,sEACA,U,CAED,4EACA,A,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2EACA,A,6DACC,wB,CAED,A,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCACA,AACA,UACA,UACA,UACA,UACA,gB,4G,gE;2J,ACSA,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,O,AACL,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,CAIF,A,oGAWK,OAOL,AANA,uG,AAOA,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,e,AACA,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gB,AANiC,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLI,AAAJ,0BACA,M,0CCVK,OACL,AAIA,A,sHAEC,kG,CAED,A,uGAUK,OAMF,AALH,AAKA,mH,QACC,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OACL,AAKA,WAEA,0IAEA,A,uIACC,kG,CAED,A,sGAaK,OACL,AAQA,2H,AACA,kBACC,IACA,wD,CAGD,AAAI,oBACH,kGADuB,A,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gBACC,A,8C,CAED,2CACK,AAAJ,IACA,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,QACC,A,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,C,AAID,Q,AACC,6C,CAED,uF,AACA,kBACC,A,8C,C,AAID,UACC,8CACA,A,WACC,A,8C,C,AAED,8C,CAID,A,QACC,A,mD,CAED,wF,AACA,oBACC,A,oD,C,AAID,UACC,4EACA,A,Y,AACC,oD,CAED,A,uB,AACC,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,CAID,A,UACC,yG,AACA,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sLAIA,WACA,A,Q,AACC,6C,CAED,kBAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,CAID,A,QACC,A,6C,CAED,kBACA,A,kBACC,A,8C,CAID,A,UACC,8C,AACA,W,AACC,8C,C,AAED,8C,CAID,A,QACC,A,mD,CAED,mBACA,A,oB,AACC,oD,CAID,A,UACC,4EACA,A,Y,AACC,oD,CAED,A,uBACC,A,oD,C,AAED,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,yG,AACA,wB,AACC,oD,C,AAED,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,U,AACC,gC,CAED,SACA,4FACA,A,UACC,A,4B,CAKD,SACA,A,QACC,I,CAEG,AAAA,AAAJ,uB,AACC,4FACC,M,C,AAFyB,AAAA,Y,AAK3B,QACC,I,CAED,oC,AACA,sB,AACC,gC,C,AAED,4B,6BA6CA,AACA,QACC,SACD,A,iBACC,SACD,A,kBACC,S,AACD,6BACC,S,AACD,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,SACD,A,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,S,AAJD,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACI,AAAJ,IACA,AAAI,uBACH,A,6FACC,AAAA,W,MAEA,2BACA,W,CALqB,A,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aACA,AACA,mBACC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,OACL,A,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,CAED,A,sCACC,A,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,aACA,A,wBACC,UACA,gDACA,A,QACC,iE,CAED,mBACA,kB,AACA,sCACC,A,4B,C,AAID,eACC,A,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0BACA,A,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,cACA,A,kBACC,Y,CAED,A,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,a,AACA,oC,0JAQK,OACL,a,AACA,yBAEC,cACA,A,0C,CAED,aACA,yG,AACA,UACC,AAAA,mB,AACA,mD,CAED,qDACA,mBACA,A,8C,gHAQK,O,AACL,wBACC,8E,CAED,a,AACA,YACC,oDACA,mB,CAED,iB,gHAMK,O,AACL,6CACC,4E,CAED,a,AACA,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,aACA,A,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0B,AACC,uBACC,6DACA,S,C,G,e,AAMF,OACC,yH,CAED,O,wBAIA,2B,AACA,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kBACA,A,kBACC,c,CAED,QACA,yBACA,+BACI,AAAJ,iCACC,6BACA,0I,AAFiC,AAAA,YAIlC,S,8EAeA,4BACC,W,QAGD,A,aACC,A,MACC,Y,CAED,OACA,kB,AACA,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,aACA,A,iH,CAED,A,gCACC,IACA,+BACA,WACA,K,AACA,8D,CAED,IACA,A,iD,0EAIG,AAAH,gB,gBACC,mBACA,A,iH,CAED,A,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACK,AAAJ,sBACC,A,yBACC,mBACG,AAAH,sD,OACC,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,UACA,A,iBACC,A,iC,CAGD,WACA,8CAEA,6DACA,A,O,AACC,iC,CAED,0FACA,AAAI,sB,AACH,yBACC,A,mD,C,AAFsB,AAAA,YAKxB,A,iC,6GClFA,A,QACC,uB,CAED,mB,6BAII,AAAJ,uBACA,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sB,AACH,wBACC,0B,CAFsB,A,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfI,AAAJ,oBACA,0BA6BA,A,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sC,AACC,6B,CAID,IACA,AAAG,0E,sCACF,A,6B,CAED,A,UACC,A,qC,CAID,aACA,AAAG,4V,sC,AACF,6B,CAID,A,gHACC,AAAA,Y,CAED,A,mE,kEC3cA,AASA,AAAI,uBACJ,KAEA,2BACA,sBACA,A,sC,AACC,iC,CAKD,AAAG,gX,sCACF,A,iC,CAED,A,+I,iFAQA,YACA,6CACC,2dACA,A,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACA,AAAI,qDACJ,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,O,AACL,SACC,A,0C,CAID,0CACA,A,sCACC,A,iC,CAID,AAAI,oBAOJ,IAGA,0UACA,eACA,kDACA,6FACA,A,wC,iSAGK,O,AACL,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kD,AACA,slBACC,A,sB,CAID,AAAG,6C,sCACF,A,a,CAED,0BACA,A,qB,8LAYK,uCACL,A,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAIA,AAGA,wBACA,AAGA,Y,+CCuDI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,gDAqLA,0B,AACA,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2B,AACA,eACC,Y,CAED,S,mDAgBA,kCACA,A,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LI,AAAJ,SACA,qBACA,A,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,4DA4JA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2C,AACA,eACC,Y,CAED,Y,+CAiSA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,IACA,A,eACC,Y,CAED,Y,uCAMA,qBACA,A,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sFADyB,A,AAAA,YAG1B,AAAI,uBACJ,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAGA,AADA,iBAEC,mC,AACD,uBAEC,kBACA,AAAI,sBACH,A,wBACC,AAAA,W,C,AAFsB,AAAA,YAKxB,S,AACD,4BACC,S,AACD,8BACC,A,UACC,S,CAED,S,CAGD,sBACA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,IACA,A,yCACC,AAAA,WACA,W,CAED,AAAI,6BACH,yDACA,gCACA,4FACA,AAAA,WACA,A,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,S,AACD,gBACC,4B,AACD,uBACC,A,UACC,S,CAED,SACD,A,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sFADkB,A,AAAA,YAGnB,A,kCACC,S,CAEG,AAAJ,sBACC,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wDAmfA,A,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACA,AAAI,eACH,I,AACA,iB,AACC,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gBAZkB,A,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;2vEC5qBA,sBACA,0BACA,oBACA,oBACA,A,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,sBCoEA,A,iBACC,a,CAED,kBACA,qB,8RAMI,AAAJ,sBACQ,AAAP,2BACA,WACC,A,wDACC,A,4DACC,A,2E,CAED,A,8BACC,A,2E,C,C,AAIH,iBACC,A,uBACC,A,oC,AACC,2DACC,A,2E,CAED,A,8BACC,A,iF,C,CAGF,A,oC,AACC,gF,C,C,AAIH,iB,AACC,+EACC,A,2L,C,AAGF,iB,AACC,sDACC,A,iF,CAED,A,iF,AAED,iBACC,A,yDACC,A,iF,C,AAED,iF,AAED,iBACC,A,sDACC,A,iF,C,AAGF,iBACC,A,iF,AAED,iBACC,A,iFAED,A,iBACC,A,iFAED,A,iBACC,A,sDACC,A,iF,C,AAGF,kBACC,A,uDACC,A,iF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,C,AAED,0DACC,A,gF,CAED,A,2D,AACC,gF,CAED,A,wDACC,A,gF,CAGF,A,iBACC,A,4DACC,A,gF,CAED,A,8D,AACC,gF,CAED,A,0DACC,A,gF,C,AAED,2DACC,A,gF,C,AAGF,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,CAGD,A,cACC,MACA,A,gCACC,M,CAED,sCACA,A,0E,C,C,C,AAjHyB,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,e,AACA,4BACC,a,C,CARsB,A,AAAA,YAYzB,Y,8BAIA,sH,AACC,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iD,AACC,4B,CAED,A,MACC,K,C,AAED,oC,sCAMA,IACA,AAAI,uBACJ,AAAI,eACH,AAAA,WACA,mJACA,2F,C,AAGD,QACC,I,CAED,A,MACC,iGACC,AAAA,W,C,AAED,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iB,AACA,UACC,2B,MAEA,e,CAGD,iBACC,+B,AACA,eACC,6C,CAED,A,WACC,M,CAED,KAGA,A,2BACC,sC,CAID,A,2BACC,iC,CAGD,YACA,+BACC,KACA,A,SACC,O,CAED,oFACD,A,mBAEC,KAEA,AADA,aAEC,gBACA,OACD,A,kBACC,+CACA,O,AACD,iBACC,gDACA,O,AACD,cACC,iDACA,O,AACD,eACC,gDACD,A,gBACC,+CACD,A,iBACC,gB,CAED,kBACD,A,mBACC,4E,AACD,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,kBACD,A,mBACC,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,kBACD,A,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,iBACD,A,mBACC,kB,AACD,mB,AACC,UACC,+C,MAEA,+C,CAEF,A,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iFAGC,A,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+C,AACC,yBACC,gB,CAED,mF,CAGF,A,kB,AACC,cACC,4CACA,M,CAID,+FACA,A,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,O,AACL,mBACC,gH,CAMD,4C,kFAOA,A,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kB,AACC,yBACC,A,0CACC,a,CAED,QACA,QACA,S,CAED,A,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAIC,AADD,IAEC,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,C,AAED,WACC,A,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+BACC,A,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mC,AACD,mBACC,mCACD,A,6BACC,2C,AACA,eACC,U,C,AAEF,mBAEC,2BACD,A,mBACC,2BACD,A,uCACC,A,mDACC,iB,CAED,2CACA,A,cACC,Q,CAEF,A,mBACC,wC,AACA,eACC,S,C,AAEF,6BACC,2CACA,A,cACC,S,CAEF,A,6BACC,2CACA,A,eACC,W,CAEF,A,6BACC,4CACA,A,iBACC,W,C,AAID,iDACC,iBACA,cACA,A,yBAEC,M,CAGD,KACA,6B,AAA2C,AAAA,cAE3C,sCACA,kB,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,CAEF,A,mB,AACC,eACC,MACA,M,CAED,iDACA,MACA,cACC,OACD,A,oBACC,O,MAEA,M,C,AAEF,0FACC,A,gEACC,iBACA,YACA,M,CAED,AAAI,gDACJ,A,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kBAEA,A,eACC,MACA,M,CAED,uG,A,+B,AAEA,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+BAEA,A,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAED,AAAI,iCACJ,2B,AACA,oCACC,2B,CAED,A,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,CAEF,A,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mDAED,A,kBAGC,sB,AACA,gBACC,MACA,M,CAED,sCACA,kB,AAED,kB,AACC,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,CAGF,A,YACC,Y,A,sBAEA,I,CAGD,A,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uFACA,A,kCACC,SACA,qB,CAID,iBACA,qB,CAGD,A,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6EAcA,A,e,AACC,gC,CAGD,A,wE,AACC,+B,CAGD,A,6BACC,QACA,A,+B,CAGD,AAAI,IACJ,AAAI,eACH,A,gBACC,M,CAED,AAAG,kB,eACF,M,C,AAL0B,AAAA,YAQ5B,IACA,+BACC,A,gC,AACD,gB,AACC,yBACC,A,+B,C,AAEF,gBACC,A,yBACC,A,mC,C,AAEF,gBACC,A,mC,CAED,A,oC,+BAOA,iB,AACA,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,C,AAED,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kBACA,A,eACC,M,C,AAED,mEAEC,A,sD,CAED,iIATiB,A,AAAA,YAWlB,A,2D,mDC1jCK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sDACA,A,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sDACA,A,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFACA,AAeA,uGAMA,iF,AACA,eACC,AAAA,W,CAKD,A,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACC,AAAG,gF,eACF,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uCACA,A,MACC,gC,CAGD,A,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WACA,AACA,8BACC,U,AACD,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sCAGA,A,yCACC,AAAA,WACA,qEACA,gEACA,sCAIA,A,yCACC,AAAA,WACA,qEACA,iC,C,C,CAKH,A,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACA,AAAI,eACH,mCACA,kCACA,A,MACC,AAAA,WACA,iH,CAED,sC,AAPqB,AAAA,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,YACA,A,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2F,AACA,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,IACA,A,UAEC,AACA,SAEC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,K,AACJ,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,QACA,A,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACD,AAAJ,IAEA,A,sBACC,K,MAEA,kB,AACA,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,CAGD,A,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2NAEA,A,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6C,AAOA,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,CAED,A,4B,2IAoBA,A,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACQ,AAAP,uEACA,gEACC,uD,AACD,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kB,AACL,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iB,AACA,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,KACA,A,QACC,oBACA,AAAA,4E,C,CAIF,AAEA,2JACC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oE,AACA,gEACC,AAAA,wE,CAED,0D,C,AAED,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGE,AAAH,c,iKACC,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mGACA,A,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,O,AAEL,uBACC,S,CAID,A,gOACC,AAAI,4HACH,A,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gIACC,A,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kGACA,A,eACC,sGACA,A,eACC,A,+C,C,C,KAMH,0CACC,0GACA,A,gBACC,A,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,m3N,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kB,AACA,kBACC,2B,CAED,SACA,sCACI,AAAJ,wCACC,qH,AADgC,AAAA,YAGjC,S,uGCDK,O,AAEL,4BACC,4BAEA,iC,CAED,iBAEA,I,AACA,SACC,MACA,K,CAGD,eACA,kBAEC,A,mBACC,SACA,AAAI,YACJ,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,CAED,A,0BACC,A,gC,C,AAED,oC,iJCsDK,O,AACL,e,AACC,+C,C,AAED,yC,4IAeK,OACL,A,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+F,AAMvC,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,aACD,A,6CACC,Q,AACD,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,OACL,A,eACC,A,0C,CAED,0BACA,A,QACC,I,CAED,A,yDACC,A,gC,CAED,A,sCACC,kC,C,AAED,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,CAED,A,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,eACC,A,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,CAED,A,4B,sIAMK,OACL,A,eACC,A,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,OACL,A,eACC,A,wD,CAED,4BACA,A,6FACC,kB,C,AAED,sCACC,A,wE,CAED,A,oC,oIAKK,OACL,A,eACC,A,0C,CAED,A,+D,mHAyBK,OACL,A,eACC,uB,CAED,AAAG,sB,sCACF,wC,CAED,iB,4EA+BA,A,QACC,I,CAED,Y,+FChOA,mCACA,A,+BACC,iB,CAED,A,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAED,AAAG,2B,sCACF,2C,CAED,iB,wHAMK,O,AACL,eACC,A,2B,CAEE,AAAH,qB,sCACC,A,wB,CAED,A,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yC,AACC,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,OACL,A,uBACC,uB,CAED,AAAI,YACJ,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,eACC,A,kD,CAED,AAAI,sCACJ,uB,AACA,sCACC,A,kE,CAED,A,oD,yHAmBI,AAAJ,sCACA,eACA,A,sC,AACC,yD,CAED,A,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sC,AACC,4B,CAED,e,K,AAED,4B,6HAcK,OACL,A,+BACC,4B,CAED,A,gE,0HAMK,OACL,A,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,CAGD,A,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,O,AACL,+BACC,4B,CAED,A,oE,6IAOK,O,AACL,kD,oFA8CA,gBAEA,mCACC,mBAD8B,A,AAAA,YAI/B,AAAI,AAAA,uBACH,A,yBACC,wBACA,M,C,AAHe,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+B,AACD,oBACC,iC,AACD,mBACC,+B,AACD,oBACC,gCACD,A,oB,AAEA,oBACC,+B,CAED,A,iCACC,8B,CAED,A,iCACC,8B,C,AAED,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAEG,AAAJ,IACA,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCAEL,AAAI,AADJ,uBAEA,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,S,AAGF,UACC,oEACA,AAAA,W,CAED,AACA,kEACC,A,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACA,AAAI,AAAA,uBACH,mJACA,AAAA,iB,AAFgB,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gCACC,A,YACC,A,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yB,AAdgB,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yBANe,A,AAAA,YAUhB,WACC,qBACA,kC,AACA,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DA,AAAI,sBACH,A,iBACC,Y,CAED,A,gHACC,2G,C,AALsB,AAAA,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGI,AAAJ,AAAI,uBACH,0HACA,wFACA,iBACA,AAAA,W,AACA,UACC,8F,A,qBAEA,a,CAED,IAVgB,A,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2F,AAMD,iBACC,a,CAED,A,yG,AAEC,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,O,AACL,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAID,AAAI,qBACH,6E,AACA,SACC,AAAA,2JACA,YACA,O,C,AALuB,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACA,AAAI,0BACH,uL,AADgC,AAAA,YAGjC,cACC,gCADe,A,AAAA,YAGhB,A,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6GACA,A,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8BACC,A,a,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,IACA,A,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kB,AACC,iB,CAED,4EAGA,A,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iFACA,A,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,I,AACJ,aAEC,uD,MAEA,sB,CAGD,6CACA,qI,AAKA,2XAEC,A,iB,CAED,A,gB,6JAOK,OAOL,AADA,AAIA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,W,AACD,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,O,AACL,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACI,AAAJ,2CACC,A,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAIG,AAAJ,uBACA,KACA,AAAI,iBACH,iGACA,4DACA,AAAA,WACA,wFACA,M,CAEG,AAAJ,kBACC,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gCACA,A,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGG,AAAJ,0BACC,A,kHACC,aACA,M,CAHyB,A,AAAA,cAM3B,Y,kIAYA,A,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,C,AAED,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,C,AAJY,AAAA,YAOd,A,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEK,AAAJ,uBACA,KACA,AAAI,qDACH,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gLADmB,A,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,cAEA,A,gBACC,qDACA,Y,CAED,A,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGI,AAAJ,KACA,AAAI,kDACH,A,sFACC,MACA,M,CAED,kC,AALmC,AAAA,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEA,AAAG,wF,gEACF,aACA,aACA,YAGA,0D,C,AAZ6B,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACJ,AAAI,SACJ,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KAEJ,AADA,iCAEC,Q,AACD,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,CAGD,A,OACC,yB,CAGD,AAAI,0BACJ,QAEA,MACA,A,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qB,AACD,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,aACD,A,4BACC,A,UACC,I,CAED,K,CAED,A,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,CAGF,A,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qB,AACD,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mB,AACD,0B,AACC,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mB,AACD,0BAEC,I,AACA,uBACC,O,CAKD,A,MACC,I,CAED,YACA,A,e,AACC,WACC,O,CAED,sD,C,AAED,WACC,O,CAED,iC,CAID,uB,0EAQA,A,8BACC,OACA,O,CAiBD,cACA,A,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,I,AACJ,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wB,AACJ,WACC,6E,MAEA,K,CAED,6EACA,A,WACC,6E,MAEA,K,CAKD,8CAIA,oDAIA,AACA,UACC,gBACA,O,AACD,YACC,oBACA,OACD,A,aACC,kBACA,O,CAjCoB,AAAA,A,Y,mDA6CS,e,AAE/B,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,Y,AACA,aACC,I,CAED,A,QACC,KACA,K,MAEA,K,CAED,eAGI,AAAJ,uBACA,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4BACD,A,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,eAE/B,A,MACC,gB,C,AAID,WACC,AAAI,IACA,AAAJ,0BACC,0G,AADgC,AAAA,YAGjC,cACC,gB,AADe,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACA,AAAI,eACH,KACA,AAAG,Y,iBACF,+F,CAED,e,AALqB,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,K,AACA,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,CAED,A,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,KAEA,A,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,C,AAED,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGQ,AAAH,uE,QAEN,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iIAGA,A,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,IACA,A,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,CAY3B,A,2BACC,gBACA,0BAd0B,AAe1B,0B,CAED,A,MACC,A,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gDACD,A,gBACC,gDACD,A,iBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,MAGA,AADA,SAEC,gDACA,2EACA,uEACD,A,oBACC,QACA,AAEA,gDACA,AAAI,iBACH,4E,AADoB,Y,AAFtB,kBACC,gDACA,AAAI,iBACH,4E,AADoB,Y,MAIrB,gDACA,AAAI,iBACH,4E,AADoB,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,Q,AACC,cACC,a,CAED,S,C,AAED,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SACA,AACA,iBACC,A,qC,AACD,wBACC,A,6C,AACD,uB,AACC,6C,CAED,Y,yHAmBA,AAAO,kBACP,kCACC,iBACA,gB,AACD,iBACC,wCACA,A,wE,AACD,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,I,AACD,kBACC,K,AACD,kBACC,K,AACD,kBACC,K,AACD,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,I,AACD,kBACC,I,AACD,iBACC,I,CAED,AAAI,I,AACJ,eACC,iBACA,gB,CAEG,AAAJ,eACC,qCACA,A,QACC,iBACA,gB,CAED,c,AANkB,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,O,AACD,yEACC,gB,AACA,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mBANkB,A,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,K,AACD,iBACC,K,AACD,yBACC,A,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,WACA,A,QACC,A,0C,CAED,kB,AACA,oC,AACC,0C,CAED,0BAEA,A,WACC,A,a,AACC,0C,CAED,A,oC,CAED,A,6BACC,A,0C,CAED,A,a,AACC,0C,CAID,A,wBACC,IACA,W,AACC,oC,AACD,iBACC,wCACA,A,iDACC,A,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+C,AACA,uCACC,A,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,CAED,A,gCAEC,A,8C,C,CAGF,A,yD,yBAKA,AAAI,sB,AACH,wBACC,Y,CAFsB,AAAA,A,YAKxB,a,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,WACC,A,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,U,AACA,kNACC,a,CAED,A,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,Y,AACD,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0D,AAFgC,AAAA,c,8BAOjC,e,AACA,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,CAED,A,SACC,uD,CAED,A,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qC,AAIA,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2B,AACD,iBACC,2B,AACD,yBACC,sB,AACD,iBACC,sC,AACD,iBACC,4BACD,A,iBACC,4B,AACD,mCACC,uB,AACD,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,a,AACA,2BACC,a,CAED,sD,AACA,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,aACA,A,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,aACA,A,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,eACJ,A,uBACC,+B,CAGD,AAAI,QACJ,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kBACC,A,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,MACJ,A,uBACC,wBACA,A,iCACC,qE,CAED,8GACA,A,0CACC,4D,CAED,qB,AACA,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8G,AACA,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,CAED,A,oCACC,6G,CAED,A,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,M,AAC/B,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8B,AACD,kBACK,AAAJ,6BACC,A,oCACC,a,CAF4B,A,AAAA,c,CAM/B,Y,mJAGK,Q,AACL,8CACC,0D,CAED,8GACA,A,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,QACL,A,+CACC,c,CAED,A,gCACC,iBACA,A,qDACC,iBACA,sCACC,oC,AACD,2BACC,qC,AACD,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UAEC,AADD,KAEC,QAED,A,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,CAGD,A,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,MAGD,A,oBACC,AAAA,a,CAED,A,kBACC,kE,C,AAED,oCACC,mE,C,CAGF,8H,AACC,kBACC,iE,C,MAGF,AAAI,kBACA,AAAH,8H,yBACC,kF,CAFiB,A,AAAA,cAKnB,A,yBAEC,oBACA,sBACA,oBACI,AAAJ,kBACC,4GACA,AAAG,a,yBACF,0F,CAED,qB,AALkB,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,c,AACA,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,c,AACD,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oB,AACD,2BACC,2C,CAED,2C,oHAGK,QACL,AAAO,gCACP,YACC,eACA,A,mBACC,8B,CAED,qBACA,sC,AAED,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qB,AACA,0CACC,iB,CAED,8BAEA,U,AACA,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oB,AACA,yBACC,yD,CAED,WACA,qBACA,8BAEA,UACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,a,AACA,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iBACA,A,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACE,AAAP,gCACA,8BACC,mC,AACD,kBACC,2C,AACD,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACE,AAAP,gCACA,uCACC,A,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,S,AACD,kB,AACC,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uCACA,A,gCACC,iBACA,YACC,+B,AACD,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QACL,AACC,KACA,aACA,QAEM,AAAP,gCACA,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2BAED,A,kBACC,UACA,eACA,8B,AAED,kBACC,iB,AACA,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mBACA,A,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mB,AACA,wBACC,0D,CAGD,sBACA,A,sC,AACC,6D,C,AAED,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8G,AACA,4DACC,A,wE,C,MAGF,c,6HAMK,QACL,A,mBACC,oBACA,sB,CAED,mC,kIAGK,Q,AACL,mBACC,oBACA,A,qC,C,AAED,kD,qJAGK,QACL,A,mBACC,oBACA,A,iE,C,AAED,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,Q,AACL,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mB,AACD,kBACC,eACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,QACL,A,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,Q,AACL,wBACC,+D,CAED,iBACA,0B,mIAGK,QACL,A,wBACC,mE,CAED,iBACA,8B,iIAGK,QACL,A,wBACC,oD,CAED,eACA,mH,mGAGK,Q,AACL,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,Q,AACL,wBACC,uD,CAED,eACA,uB,wGAGK,QACL,A,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,eACD,A,iBACC,eACD,A,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wBACC,A,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2B,AAEA,YACC,0BACA,U,C,CAGF,S,mJAIK,Q,AACL,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,CAED,A,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oIACC,A,SACC,WACA,A,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQI,AAAJ,SAOA,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,U,AACA,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,U,AACA,mBACC,sB,CAED,a,CAID,A,WAEC,A,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iBACA,A,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uFACA,A,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,S,AACA,eACC,6CACC,6GACA,A,oCACC,QACA,c,CAED,A,wB,AACC,uE,C,M,CAIH,A,QACC,c,CAED,A,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,QACL,A,oCACC,qE,CAED,sBACA,4B,mIAGK,QACL,A,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oBACA,A,2BACC,Y,C,AAeD,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8GACA,A,8FACC,AAAG,AAAA,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,CAGD,8BACA,A,gBACC,a,CAED,KACA,AAAI,kCACH,8GACA,8GACA,A,+FACC,AAAG,AAAA,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4EAED,A,kBACC,eACA,eACA,A,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wIACC,A,mHACC,a,C,MAGF,Y,AAED,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,a,AAED,kBACC,oFAED,A,2BACC,8C,AAED,kBACC,iBACA,iBACA,A,+CACC,a,CAED,6CACC,6GACA,6G,AACA,gJACC,a,CAED,A,kKACC,a,CAED,A,uBACC,a,C,AAED,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kB,AAkdA,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,QACL,A,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,C,AAED,2BACC,qF,C,iJAOI,wC,AACL,WACC,2B,CAGD,A,2BACC,qF,CAED,A,uBACC,mE,C,6IASI,Q,AACL,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4D,AACD,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,SACC,A,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACF,AAAH,2D,OACC,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qC,AACD,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+BACD,A,iBACC,+B,AACD,iBACC,+B,AACD,iBACC,+B,AACD,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,QACL,A,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8BACA,A,WACC,8B,CAED,WACA,sCACA,8BACA,A,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,K,AACA,cACC,U,CAED,iBACA,eACA,AAAI,KACJ,AAAI,0BACH,UACA,A,WAIC,M,C,AAED,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,OAjBsB,A,AAAA,cAmBvB,0B,8GAOK,Q,AACL,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,CAED,A,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,CAED,A,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kCACD,A,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,cACD,A,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACO,AAAP,gCAGA,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACO,AAAP,gCAGA,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wD,AACD,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,A,oBACC,2BACA,O,CAED,iCACA,sDACI,AAAJ,KACA,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACO,AAAP,gCAGA,WACC,2B,AACD,iBACC,gCACD,A,iBACC,gC,AACD,kBACC,2B,AACD,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,C,AAED,uBAEC,c,CAKD,sB,AACA,uBAEC,wBACA,A,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wG,AAiYA,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gCAED,A,wBACC,A,WACC,S,CAED,gBACA,A,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0B,AACA,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,UACD,A,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,2BACC,aACA,2CACC,U,AACD,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,CAGF,A,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,AAIH,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,C,AAMH,cACC,U,CAID,A,kHAGC,U,CAGD,A,c,AACC,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gB,AACA,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,M,AACX,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EA,AAAI,gBACH,sFACA,sF,AAFsB,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,W,AACA,QACC,A,uBACC,A,sC,CAED,A,MACC,A,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,OACL,A,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,e,AACA,QACC,oB,C,4GAKI,OACL,A,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,OACL,A,MACC,S,MAEA,S,C,wJAMI,OAEL,A,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,Q,AACA,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,IACA,A,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,CAEF,A,qCACC,8CACC,AAAA,WACA,oJACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,CAID,A,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,C,AAGF,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,O,AACL,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,YACA,A,eACC,W,CAED,8CAEA,AAAI,SACA,AAAJ,e,AACC,0BACC,gB,CAED,A,kDACC,kB,CAEG,AAAJ,IACA,A,eACC,kB,MAEA,uF,CAED,uE,AAbkB,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,K,AACJ,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACD,AAAJ,SACA,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iBACC,A,oBACC,4BAAe,qB,QACf,sB,C,C,AAMF,4DACC,A,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wB,AACD,kBACC,8B,AACD,iBACC,6BACD,A,0BACC,8B,AACD,kBACC,+BACD,A,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,I,AAtBa,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,O,AACL,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,O,AAAyC,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2BACD,A,iBACC,4B,AACD,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,aACA,A,gCACC,W,CAED,S,+CAKA,A,S,AACC,0C,CAED,AAAI,yDACH,kDACA,O,AAFiE,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UAEA,AADA,0CAEC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2CACA,A,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0DACD,A,iBACC,UACD,A,2BACC,2D,AACD,kBACC,0DACD,A,kBACC,A,uFACC,gB,MAEA,a,C,AAEF,kBACC,2DACD,A,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mC,AACD,kBACC,qFACD,A,kBACC,A,0BACC,kB,MAEA,qF,C,AAEF,kBACC,oF,AACD,kBACC,A,uFACC,yC,MAEA,a,CAEF,A,kBACC,qFACD,A,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iBACD,A,2BACC,iBACD,A,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oB,AACD,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,CAEF,A,kBACC,e,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yBACC,A,0BACC,A,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,qC,KAED,A,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qBAEA,A,oDACC,Q,MAGA,aACA,O,CAGG,AAAJ,IACA,WACA,mDACC,c,MAEA,aACA,O,C,AAGD,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,M,AAEA,MACC,2E,MAEA,yD,C,C,+HAUG,OACL,AAAG,a,sCAIF,AAAG,e,+BACF,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uB,AACA,MACC,yBACA,2B,CAED,wBACA,A,MACC,0BACA,4B,CAED,Y,4IAKK,OACL,A,MACC,0BACA,0B,CAED,A,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGD,AAAG,2C,MACF,OACA,0FACA,uDACA,cACA,S,C,AAID,0BACI,AAAH,2C,MACC,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,SAED,A,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oCAEA,A,mCACC,A,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oDACA,A,iBACD,A,kBACC,6B,AACA,iB,CAID,IACA,0CACC,eACD,A,mDACC,kB,AACD,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qBACD,A,+CACC,8B,AACD,gDACC,8BACD,A,iDACC,8B,AACD,iDACC,8B,AACD,iDACC,gB,AACD,gDACC,gC,AACD,iDACC,gC,AACD,kDACC,gC,AACD,kDACC,gCACD,A,kDACC,iB,AACD,mDACC,yDACD,A,kDACC,iBACA,uB,AACD,6CACC,4BACA,U,UAGG,AAAH,uB,MACC,A,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iBACC,A,wBACC,2F,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,iD,AACA,iB,AACD,kBACC,kBACA,A,iB,CAKD,gBACA,A,qBACC,oB,CAED,AAAG,uB,M,AACF,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UACD,AACC,AAAO,yBACP,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wB,AACD,yB,AACC,wBACC,0B,MAEA,0B,C,AAEF,yBACC,A,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0B,AACD,iBACC,A,0BACC,iH,AACA,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACA,AAAI,0BACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,A,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+BAd6B,A,AAAA,YAgB9B,iG,AACD,iBACC,W,AACA,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMI,AAAH,W,6FACC,AAAI,SACJ,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAEG,AAAJ,qBACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kCARwB,AAAA,A,Y,AAUzB,0BACC,iG,MAEA,gG,C,AAEF,iBACC,cAGA,A,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAGF,AAEA,kB,AADD,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,IACA,A,gBACC,4HACA,S,CAED,c,iEAWA,AAAI,sBACH,A,yBACC,iC,AACA,mBACC,A,+C,CAED,A,mD,C,AAN2B,AAAA,Y,AAS7B,0C,+FAMK,OACL,A,2CACC,A,0C,CAED,iBACA,0C,AACA,iB,AACC,8C,CAED,mB,AACA,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,C,AAED,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBAEA,AADD,aAEE,kBACA,WACC,0BACD,A,iBACC,yB,AACD,iBACC,yBACD,A,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iEACA,A,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iEACA,A,gCACC,4F,CAED,Q,MAEA,mE,AACA,gCACC,aACA,gC,C,C,CAKH,A,OACC,oD,CAGD,A,SACC,4FACA,S,CAED,qDACA,W,AAEA,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,CAED,A,wBAEC,0BACA,0B,C,CAGF,kB,CAMD,A,8BACC,2FACA,mBACC,uF,AACA,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,C,AARqB,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sB,AAViC,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,OACL,A,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uCACA,A,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,OACL,A,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6B,AACA,sCACC,A,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACC,AAAG,a,sCACC,AAAH,kD,MACC,Q,MAEA,U,C,C,Q,AAIH,8BACC,K,CAED,2BACA,eACA,Y,wL,AAmBA,aACC,a,CAED,eACA,8HACC,A,WACC,a,C,AAED,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,e,AAEjB,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,CAED,A,2BACC,S,CAED,A,WACC,A,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,OACL,A,MACC,mB,CAGD,YACC,cACA,A,WACC,M,C,AAED,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,cACA,A,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gDA8SA,A,8CACC,qE,C,AAGD,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACA,AAAI,iCACH,wF,AAD8B,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8G,AAD6B,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oBACA,A,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,YACJ,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACA,AAAG,e,+CAEF,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0IACA,A,sHACC,uD,CAGD,oB,kIAKK,OACL,e,AACA,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yBACA,A,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oE,AACA,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eACA,AACA,4B,iIAGK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACC,AAAG,O,sCACF,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACI,AAAJ,qBACC,0CACA,2CACA,A,mGAH4B,AAI3B,AAJ2B,oB,CAM5B,6C,AAN4B,AAAA,YAa7B,A,kBACC,iB,CAED,iCACA,qHACA,iB,6MCtEA,AACA,AAEA,mDACA,A,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAGD,AACA,iBACA,2CAEA,gBACI,AAAJ,mBACC,2IACA,2IACA,2IACA,2IACA,2IACA,2IAN6B,A,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACH,AAAI,eACH,uJ,AADkB,AAAA,Y,AADD,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gCACA,A,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,CAGD,A,uBACC,wD,CAID,AAAI,iBACH,gDACA,A,QACC,U,CAED,eACA,A,sCACC,QACA,O,CAED,A,QACC,O,CAXwC,AAAA,A,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGG,AAAJ,YACG,AAAH,a,QAEC,IACA,c,AACA,mCACC,qB,C,CAGF,0C,6IAQK,OACL,Y,AACA,U,AACC,sC,CAED,A,cACC,A,0C,AACC,sC,CAED,A,6BAGC,iCACA,A,QACC,U,CAED,A,QACC,gHACA,kB,CAED,A,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iB,AACC,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kBACA,A,oC,gHAIK,OACL,A,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEC,AAAG,0C,SACF,yCACA,sBACA,M,C,AAID,0CACC,2BACA,QACA,cACA,M,CAID,A,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gCACA,A,4CAEC,A,gIAGC,A,YAEC,mE,CAED,AAAA,eACA,kC,C,AAED,iD,CAGD,A,kB,AACC,sCACC,Q,CAED,c,CAED,Y,AAEA,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACJ,AAAI,SACJ,YAEA,YACC,AAAI,YACJ,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oBACA,A,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kD,AACA,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,C,AAGD,+BACC,S,CAGD,eAEC,8BACA,qDACA,A,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kDACA,A,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iBACA,A,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mE,AACA,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iBACL,A,oBACC,kHACA,gB,MAEA,uBACA,uB,C,AAED,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,C,AAED,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,qCACC,e,CAED,S,4GAIK,iBAAmB,cACxB,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,cACrB,A,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,C,AAED,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,O,AACL,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mB,AAChC,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACI,AAAJ,qCACK,AAAJ,eACC,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,OACL,A,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oB,AAClC,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,O,AACL,mBACC,Y,CAED,0BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,CAFmB,A,AAAA,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,CAFmB,A,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,OACL,A,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,O,AACL,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,O,AACL,iCACC,O,CAED,mBACA,2H,uHAGK,O,AACL,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+BAIA,A,cACC,kD,CAID,+BACA,uF,0IASK,OACL,AAAI,uBACJ,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kBALwC,A,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,OACL,A,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+B,AAIA,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2DACA,A,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sCACC,A,U,AACC,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,OACD,A,6CACC,WACA,OACD,A,6C,AACC,eACC,O,C,C,MAGO,AAAH,uC,MACN,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,OACD,A,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4CACC,A,yDACC,iB,C,CAIF,oCACA,2CACA,A,eACC,yCACA,8C,CAGG,AAAJ,uCACA,0BACA,0BACI,AAAJ,0BACC,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAGD,AADA,W,AAEC,U,MAGC,8D,C,AAEF,gCACC,yB,MAEA,0D,AACA,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,C,AAjCoB,oDAHD,A,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACA,AAAI,kCACH,AAAI,eACH,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kB,AAb+B,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACI,AAAJ,eACC,6HACA,6HACA,6HACA,6H,AAJoB,YAMrB,uBACI,AAAJ,gCACC,kBACA,kBACA,mCAHkC,A,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBACA,AACC,gBACA,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,WAvBa,A,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gBACJ,A,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,W,AAHa,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEI,AAAJ,2BAEC,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+QAlB6B,A,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEI,AAAJ,2BAEC,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yHAV6B,A,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACK,AAAJ,oCACC,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sG,AALqB,8C,AAJS,+B,AAYjC,gBACK,AAAJ,2CACC,qCACA,oEACA,kJACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0GAN+B,A,oDAJD,A,mCAajC,A,gBACC,AAAI,2CACH,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,sPACA,AAAI,wBACH,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oDAJS,A,mC,MAahC,A,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACI,AAAJ,gDACC,AAAI,2BACH,uGACA,A,UAF6B,AAG5B,mC,CAED,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oC,AACA,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACA,AAAI,wBACC,AAAJ,wDACC,SACA,A,sCACC,+B,CAED,0DACA,A,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,CA7BwC,A,qDAgC1C,2BAjCqB,A,oD,gB,AAuCtB,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACG,AAAH,sC,MACC,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMD,AAAI,8BACJ,A,MACC,0BACA,0B,CAID,iCACA,AAAI,6BACH,AAAI,6BAGH,+DACA,mD,AACA,MACC,iNACA,iNACA,iN,CAGD,A,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OAjCuB,AAkCtB,AAlCsB,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SAvEwB,AAAA,A,cA2EzB,A,MACC,wBACA,sCACC,+G,M,C,AA/EsB,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,a,AACA,YACC,iKACA,qM,CAED,S,iIAaK,OACL,AAAG,qB,sCACF,S,CAED,6C,oIAGK,OACL,AAAG,qB,sCACF,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOA,AAAG,sC,wCACF,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,O,AACL,yC,0GAIA,uBACA,uBACA,A,QACC,2D,C,AAED,QACC,4D,CAED,0C,AACA,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8CACA,A,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;0+BC/DK,OACL,4DACA,A,OACC,O,CAED,uF,kHAGK,OACL,4D,AACA,OACC,O,CAED,wF,4GAGK,OACL,uBACA,IACA,UACC,qB,AACD,gBACC,qB,AACD,gBACC,qB,C,kHAII,OACL,uBACA,IACA,UACC,sB,AACD,gBACC,sB,AACD,gBACC,sB,C,kHAII,OACL,gC,qFC5CA,mC,yBAIA,K,sJAIA,YACA,8DACC,U,QAED,gE,8MAIA,0DACA,kCACC,0D,qB,4E,6BASD,a,gC,oKAQA,YACA,+CACC,U,OAED,gEAEA,mBACA,4CACC,0BAEA,A,UACC,a,C,AAGD,mBACC,a,CAGD,A,uBAEC,a,CAED,Y,OAGD,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCACA,wCACC,U,OAGD,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,4CACC,0BACA,aACA,a,OAED,0CACC,0BACA,WACA,a,OAED,8CACC,yBACA,eACA,a,OAED,4CACC,yBACA,aACA,a,OAED,0CACC,a,O,mEAMD,gDACA,A,UACC,I,CAED,S,qEAIA,mBACA,gCAEA,WACA,eACA,gBACA,UAEA,SACA,SACA,6CACA,8CACA,8IACA,6IAEA,0DACC,4BACA,4DACA,gCACA,+BACA,uL,OAED,U,AAEA,oC,4G,gE,gE,gE,u8C,87C;wwGClJA,UACA,A,qBACC,mE,CAGG,AAAJ,sBACC,AAAI,eACH,gCACA,oB,AAFoB,AAAA,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGG,AAAJ,sBACC,AAAI,eACH,IACA,AAAI,sBACH,oCADsB,A,AAAA,YAIvB,A,iBACC,qB,CAED,oB,AAToB,AAAA,YADC,A,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,c,AACvB,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,cACpB,A,mBACC,e,CAED,6BACA,SACA,a,wHAGK,O,AACL,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,O,AACL,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,2HA+CA,4BACA,YACA,wDACA,wDACA,wN,iDClGA,AAAI,SACJ,AAAI,YACJ,6BACC,AAAI,SACJ,mDACA,A,sCACC,O,CAED,wB,I,AAED,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,cACrB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,c,AAClB,mBACC,e,CAED,6BACA,SACA,a,4GAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJAFwB,A,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,gB,mHAIK,OACL,A,mBACC,e,CAED,mJ,sHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iB,AACD,gBACC,gB,CAED,iC,yCCdA,sD,AACA,sCACC,iB,CAGD,8C,AACA,sCACC,iB,CAED,wB,AACA,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACF,AAAH,gC,sCACC,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC3CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,OACL,A,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2FACA,A,wE,kIAGK,OACL,2FACA,A,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,O,AACL,6D,4HAGK,OACL,A,eACC,uD,CAED,eACA,A,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6CACA,A,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,O,AACL,UACC,A,iF,CAED,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,O,AACL,sBACC,2BACC,AAAI,YACJ,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,6SC5LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,IACA,qBACA,kCACC,mEACA,A,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAEE,AAAH,iC,sCACC,S,CAED,mBACC,iB,AACA,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAID,qBACA,AAAA,WACA,A,oIACC,yJAEA,IACA,I,C,qB,qT,gE,gE,gE,gE,gE,gE,gE,gE,25J;;i5FCrEF,A,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACH,AAAI,IACJ,AAAI,IAEJ,AADA,4BAGC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2F,AAzBwB,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2FAF6B,A,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,O,AACL,mBACC,6C,CAKD,AAAI,uBACA,AAAJ,gBACA,kHACC,A,UACC,a,C,AAED,iBACC,I,CAED,A,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,I,AACJ,QACC,gBACA,yBACA,0B,CAED,IACI,AAAJ,uBACA,AAAI,gBACH,A,WAEC,U,AACA,UACC,a,CAED,4BACI,AAAJ,uBACC,4LACA,uBACA,gBACA,6GACA,qI,AAL0C,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8B,AAnBuB,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACK,AAAJ,oBACC,uF,AAD2C,+C,MAI5C,2GACA,A,8BACC,a,CAED,2GACA,yBACI,AAAJ,kBACC,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACC,AAAG,mB,0CACF,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,Y,AACC,uBACC,yBACA,+BACA,oB,C,AAED,0CACC,gB,CAED,U,C,mGAII,O,AACL,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6B,AACA,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACC,AAAG,e,sCACF,S,C,CAGF,qLACA,iCACA,kB,AARsB,AAAA,YAUvB,AAAI,gBACH,oK,AADmC,AAAA,YAGpC,A,gDACC,2C,CAKD,AAAI,gCACH,gC,AACA,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGG,AAAJ,KACA,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,KACD,A,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,WAFoB,AAAA,A,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACJ,AAAI,IAEJ,AADA,UAEC,2GACA,AAAA,iB,AACA,iBAEC,gDACA,O,CAED,S,AACD,kBAEC,2CACA,O,AAED,gBACC,WACA,IACD,A,gBACC,kBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,mBACA,IACD,A,gBACC,oBACA,I,AACD,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGG,AAAJ,IACA,A,kBACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEG,AAAH,gC,sCACC,QACA,O,C,CAIF,AACA,QACC,AAAA,W,AACD,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iC,AACA,iBACC,O,C,C,4HAOG,OACL,qB,AACA,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,C,AAED,cACC,I,C,CAGF,a,4GAGK,O,AACL,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gB,AACA,QACC,I,CAED,2EACA,oF,AACA,sCACC,8BACA,O,CAED,WACA,iB,AACA,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,O,AACL,oBAEC,oC,CAGD,kC,AACA,iBACC,OACA,a,CAED,U,wHAGK,OACL,+BACA,A,sC,AACC,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACI,AAAH,e,sCACC,Y,C,CAGF,kGACA,qB,AACA,QACC,2OACA,qB,AACA,UACC,2CACA,gB,C,CAGF,A,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYA,AAAI,0BACJ,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWA,AAAI,0BACJ,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sB,AACA,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,CAED,A,kB,AACC,oC,CAGD,uCACA,iC,AACA,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,QACA,A,4B,CAGD,iIACA,A,8BACC,uBACA,A,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mC,AACA,MACC,yDACA,A,sCACC,S,CAED,iIACA,A,2BACC,0B,C,CAGF,A,gD,AACC,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACA,AAAI,iBACH,UACA,AAAI,eACH,A,oBACC,wB,MAEA,6B,C,AAJiB,AAAA,YAOnB,8EAToB,A,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uB,AACA,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACJ,AAAI,eACH,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,OACA,A,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,IAjB0B,A,Y,AAFG,AAAA,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6F,AAG1C,QACC,S,CAED,S,0EAGK,OACL,A,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2CACA,A,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wDACA,A,aACC,mC,CAED,0CACA,A,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,CAEF,A,gBACC,WACA,UACC,O,AACD,gBACC,O,AACD,gBACC,Q,AACD,gBACC,OACD,A,gBACC,Q,C,AAEF,iBACC,WACA,UACC,Q,AACD,gBACC,QACD,A,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4a,AADmB,AAAA,YAGpB,AAAI,iBAMH,2J,AANqB,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,OACL,A,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uC,AACD,wBACC,uC,AACD,sCACC,A,wBACC,mC,CAEG,AAAJ,eACC,wIACA,2OAFkB,A,AAAA,YAIpB,A,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAID,AAAG,sD,sCACF,Y,CAED,8DACA,A,6DACC,yC,CAED,cACA,0C,C,AAED,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+B,AACA,sCACC,oB,CAED,2CACA,AAAI,YACJ,A,oBACC,2C,A,0BAGA,kDACI,AAAJ,eACC,2CACA,A,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACA,AAAI,mDACH,A,YACC,kC,CAED,qDAJiC,A,AAAA,YAMlC,A,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACL,AAAI,IACJ,IACA,AACC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6BACA,A,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,IACD,A,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,I,AACD,iBACC,KACA,8BACA,IACD,A,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,AACD,iBACC,KACA,+BACA,IACD,A,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEA,AAAI,iBAEH,6B,AACA,uCACC,qB,CAID,mBACA,mBACA,2FACA,WAEA,A,iBACC,AAAI,0BACH,mTADsC,A,AAAA,c,AAGxC,iBACC,oIACC,8M,MAEF,A,iBACC,AAAI,iBACH,gY,AAD8B,AAAA,cAG/B,AAAI,0BACH,mgB,AADsC,AAAA,c,AAGxC,iBACC,W,MAEA,2C,CAID,QACA,WACC,AAAI,iBACH,+LACA,AAAI,+BACH,wEACA,sC,AAFoC,AAAA,cAFf,A,c,AAOxB,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,uEACA,sC,AAFoC,AAAA,cAFf,A,c,AAOxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sCAFoC,A,AAAA,cAFf,A,c,AAOxB,iBACC,kCACA,kB,AACD,iBACK,AAAJ,iBACC,kHACA,2JAFsB,A,AAAA,c,AAIxB,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,aANsB,AAAA,A,cAQvB,kBACD,A,iBACK,AAAJ,iBACC,+LACI,AAAJ,+BACC,mB,AACA,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,cAWxB,A,kBACC,A,iCACK,AAAJ,iBACC,A,uHACC,wI,CAFqB,A,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kB,AACD,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,c,AAIxB,kBACC,AAAI,iBACH,2QACA,2QACA,mDAHsB,A,AAAA,c,AAKxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oDAJsB,A,AAAA,cAMxB,A,kBACK,AAAJ,iBACC,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wBA7JuB,A,AAAA,cAgKxB,oB,mPAIK,OACL,iGAEC,AADD,SAEC,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACA,AAAI,+BACH,6FACA,AAAI,+BACH,kCACA,sDACA,a,AAHwC,AAAA,cAFD,A,AAAA,c,8IAUpC,OACL,eACA,+B,AACA,sCACC,A,a,CAED,A,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,AACD,qB,AACC,qBACC,gB,CAED,sB,AACD,qBACC,A,uDACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACF,AAAH,sD,sCACC,S,C,AAED,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIA,AAAG,kB,sC,AACF,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIG,AAAH,kB,sCACC,A,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kD,AACA,sBACC,M,CAED,A,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,cACD,A,gBACC,e,AACD,gBACC,cACD,A,sCACC,YACD,A,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iB,AACD,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;8a,gE,gE,gE,gE,gE,gE,gE,gE,gE;gM;2mCC1DI,OACL,uBACC,+B,AACA,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+BACA,A,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sC,AACC,+BACC,qB,CAED,QACA,O,CAGD,AADA,cAGC,iGACA,AAAA,eACA,A,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,SACD,A,oBACC,UACA,YACA,OACD,A,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wCACA,A,qBACC,A,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wC,AACD,gBACC,wC,MAEA,kCACA,S,CAED,A,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,O,AACL,0CACC,gB,CAED,A,kBACC,oB,CAED,A,wBACC,AAAI,IACJ,mC,AACA,0CACC,gB,C,AAED,UACC,YACA,gB,CAED,qCACG,AAAH,qC,0CACC,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEL,AAAG,sC,MACF,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+BACA,A,sCACC,S,CAED,IACA,WACC,AAAG,oB,sCACF,S,C,AAGF,iBACC,2CACA,A,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,C,AAED,qEACC,A,OAEC,uD,CAED,8K,CAED,+BACA,A,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACG,AAAH,6B,sCACC,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAED,AAAG,0D,gD,AACF,uCACC,U,CAED,S,C,AAID,0BACC,iIACC,A,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iB,AACC,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oD,AACA,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+B,AACA,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8B,AACD,kBAEA,A,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,CAED,A,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8B,AACA,+CACC,S,C,AAED,4BACC,gD,C,CAGF,YACC,8BACA,A,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gD,AACA,+BACC,4BACA,2B,CAED,iB,0JAGK,OACL,AAAG,sD,sCACF,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gD,AACA,uEACC,mE,CAED,iD,6IAGK,OACL,+B,AACA,+CACC,Y,CAED,oD,sGAkBI,AAAJ,SACA,kBACA,kBACA,oBACA,IACA,4HACC,eACA,AAAI,qBACH,gEACA,WACA,uB,AAH4B,iB,KAM9B,Q,sCAMI,AAAJ,wBACG,AAAH,oB,sCACC,oB,CAED,mH,0CA4BI,AAAJ,wBACA,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yBACA,A,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yC,AACA,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wC,AACA,sCACC,A,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,C,AAED,gBACC,M,C,CAGF,iB,sIAKK,OACL,A,oBACI,AAAH,wB,sCACC,Y,C,CAGF,8BACA,2CACA,yBACA,sEACA,A,gBACC,4C,CAED,oB,8OAKK,OACL,WACC,A,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wBACA,A,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,KAED,A,iBACC,8C,CAED,A,iBACC,mD,CAED,+BACA,A,QACC,qC,CAED,AAAG,mD,sCACF,S,CAID,6BACC,6E,KAEG,AAAJ,gBACA,AAAI,eACH,4BACA,AAAI,gFAMH,qDACA,wIACA,AAAI,2DACH,mG,AADgC,AAAA,oBAGjC,AAAA,YACA,AAAA,YAZiC,A,AAAA,YAFF,A,AAAA,aAmBjC,AAAI,sBACJ,wG,AACC,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,C,AAGD,oCACI,AAAH,mB,2DACC,A,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qC,AACH,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2B,AAd8C,AAAA,YAgB/C,oC,6IAGK,O,AACL,iBACI,AAAH,mB,sCACC,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,OACL,A,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFAbiB,AAcjB,AAdiB,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6G,AA9DkB,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iHAlDkB,A,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2BACA,A,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sB,AACA,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACI,AAAH,W,sCACC,A,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iBACC,A,4B,CAED,A,4GACC,A,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6B,AACA,sC,AACC,4B,C,AAED,iBACC,sBACA,A,oC,CAGD,6B,AACA,sCACC,sB,AACA,4B,CAED,sBACA,A,eACC,A,mC,CAED,A,sC,qIAKK,O,AAEL,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iC,AACC,gBACC,0B,CAED,sB,CAGD,YACC,yBACA,A,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAED,AAAI,qBACH,6KACA,8K,AACA,gBAYC,kFACA,kFAhBuB,AAiBvB,AAjBuB,oB,CAmBxB,+FACA,sGACA,kG,AAKA,U,AACC,uDACC,6C,C,A,sBAGD,6C,CA/BuB,A,AAAA,YAkCzB,iB,yIAIK,OAEL,AADA,aAEC,AAAG,4C,sCACF,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,a,AAgBrB,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAED,AAAG,2C,sCACF,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,CAED,A,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6B,AACA,sCACC,oB,C,CAGF,A,YACC,M,CAED,A,mBAOC,S,CAKE,AAAH,2C,sCACC,oB,CAED,gDACA,A,QACC,gD,CAGD,AACA,yBACC,sBACA,kBACA,A,MACC,oB,C,AAEF,kBACC,kBACD,A,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,oCACC,c,MAEA,0B,C,AAED,sCACC,oB,C,CAGF,A,uBACC,yB,C,AAED,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IACJ,AACA,qBACC,I,AACD,2BACC,I,AACD,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,OACL,A,gBACC,mC,C,AAED,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kCACA,A,kBACC,2GACA,2GACA,2HACA,wHACA,A,sCACC,8C,CAED,A,2BACC,wE,CAED,A,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACC,AAAI,iBACH,mFACA,A,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBACA,AAEC,sBACA,wBAKA,sBACA,KAED,AAAI,kBACH,AAAI,kBACC,AAAJ,iBACC,mFACA,kLACA,AAAI,gMA0BH,A,eACC,0M,AACA,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,aACA,A,4CACC,AAxCsD,AAAA,sB,C,CA6CxD,A,kBACC,qT,MAEA,sB,CAGD,A,eACC,AAAG,kN,uCACF,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yMACA,A,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,CAGD,A,sBACC,AAAA,+B,MAGA,sKACA,aACC,yCACA,A,uCACC,U,CAED,mBACA,e,AACA,gBACC,mB,AACA,SACC,M,CAED,yC,AACA,uCACC,U,CAED,6K,M,AAEA,iBACC,4CACA,A,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,CAoCvB,A,kBACC,A,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIpD,AAAJ,kBACC,uW,AAD8B,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6F,AACD,iBACC,8FACD,A,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACA,AAAI,iBACH,yFACA,A,YACC,K,A,iBAEA,O,MAEA,e,CAED,qHATkB,AAAA,A,c,AAHD,AAAA,cAtJqC,A,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGC,AAAG,4C,uCACF,U,CAED,A,4CACC,+B,CAED,AAAA,mBACA,A,aACC,O,CAGD,iCAEA,uBAEA,W,C,AA9LqB,AAAA,cADD,AAAA,A,cAoMvB,iB,2KAKK,O,AAEL,U,AACC,eACC,mC,CAED,8B,AACA,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,I,AACA,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wCACA,A,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8BACA,A,sCACC,S,C,AAED,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,CAED,A,QACC,sC,CAED,A,eACC,yJ,C,AA3CmB,AAAA,Y,CA+CtB,A,eACC,AAAA,+BACA,AAAG,0C,uCACF,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wF,AACC,UACC,M,CAED,AAAA,WACA,AAPmB,AAAA,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OAboB,AAcnB,AAdmB,oB,CAgBpB,A,uFACC,2K,MAEA,2K,CAnBmB,A,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wHACC,A,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,WAHkC,A,AAAA,kBAKnC,4B,AAP6B,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQA,AAAI,UACJ,A,kBACC,6BACA,O,CAIG,AAAJ,qBACA,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJ,AAHuB,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wBACC,A,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,C,AAED,wBACC,iCACA,SACA,6BACA,SACA,6BACA,SACA,A,wBACC,6BACA,4G,CAED,6B,C,C,AAGF,yB,AACC,yBACC,IACA,AAAI,2BACH,A,yBACC,wBACA,M,C,AAH6B,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACA,AAAI,KACJ,AAAI,IACJ,YACA,+C,AACA,yBAEC,cACA,AAAI,QACJ,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;2SC5PA,AAAA,WACA,yBACA,kFACA,4CACA,qHACG,AAAH,mB,sCACC,S,CAED,iB,4JAIA,AAAI,YACJ,+GACA,A,sCACC,oB,CAED,AAAG,6F,2DACF,oB,O,0J,gE,gE,gE,gE,wJ"} diff --git a/_docs/public/example/keyboard.content.html b/_docs/public/example/keyboard.content.html new file mode 100644 index 000000000..fd8019a59 --- /dev/null +++ b/_docs/public/example/keyboard.content.html @@ -0,0 +1,18 @@ + + + diff --git a/_docs/public/example/keyboard.html b/_docs/public/example/keyboard.html new file mode 100644 index 000000000..26e22c70b --- /dev/null +++ b/_docs/public/example/keyboard.html @@ -0,0 +1,113 @@ + + + + + +

keyboard

+ +
package main
+
+import (
+    "github.com/hajimehoshi/ebiten"
+    "github.com/hajimehoshi/ebiten/ebitenutil"
+    "log"
+    "sort"
+    "strconv"
+    "strings"
+)
+
+const (
+    screenWidth  = 320
+    screenHeight = 240
+)
+
+// TODO: Add Key.String() by stringer
+
+var keyNames = map[ebiten.Key]string{
+    ebiten.KeyBackspace: "Backspace",
+    ebiten.KeyComma:     "','",
+    ebiten.KeyDelete:    "Delete",
+    ebiten.KeyEnter:     "Enter",
+    ebiten.KeyEscape:    "Esc",
+    ebiten.KeyPeriod:    "'.'",
+    ebiten.KeySpace:     "Space",
+    ebiten.KeyTab:       "Tab",
+
+    // Arrows
+    ebiten.KeyDown:  "Down",
+    ebiten.KeyLeft:  "Left",
+    ebiten.KeyRight: "Right",
+    ebiten.KeyUp:    "Up",
+
+    // Mods
+    ebiten.KeyShift:   "Shift",
+    ebiten.KeyControl: "Ctrl",
+    ebiten.KeyAlt:     "Alt",
+}
+
+func update(screen *ebiten.Image) error {
+    pressed := []string{}
+    for i := 0; i <= 9; i++ {
+        if ebiten.IsKeyPressed(ebiten.Key(i) + ebiten.Key0) {
+            pressed = append(pressed, string(i+'0'))
+        }
+    }
+    for c := 'A'; c <= 'Z'; c++ {
+        if ebiten.IsKeyPressed(ebiten.Key(c) - 'A' + ebiten.KeyA) {
+            pressed = append(pressed, string(c))
+        }
+    }
+    for i := 1; i <= 12; i++ {
+        if ebiten.IsKeyPressed(ebiten.Key(i) + ebiten.KeyF1 - 1) {
+            pressed = append(pressed, "F"+strconv.Itoa(i))
+        }
+    }
+    for key, name := range keyNames {
+        if ebiten.IsKeyPressed(key) {
+            pressed = append(pressed, name)
+        }
+    }
+    sort.Strings(pressed)
+    str := "Pressed Keys: " + strings.Join(pressed, ", ")
+    ebitenutil.DebugPrint(screen, str)
+    return nil
+}
+
+func main() {
+    if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Keyboard (Ebiten Demo)"); err != nil {
+        log.Fatal(err)
+    }
+}
+
+ + +
© 2015 Hajime Hoshi
diff --git a/_docs/public/example/keyboard.js b/_docs/public/example/keyboard.js new file mode 100644 index 000000000..3d98da22a --- /dev/null +++ b/_docs/public/example/keyboard.js @@ -0,0 +1,56 @@ +"use strict"; +(function() { + +Error.stackTraceLimit=Infinity;var $global,$module;if(typeof window!=="undefined"){$global=window;}else if(typeof self!=="undefined"){$global=self;}else if(typeof global!=="undefined"){$global=global;$global.require=require;}else{console.log("warning: no global object found");}if(typeof module!=="undefined"){$module=module;}var $packages={},$reflect,$idCounter=0;var $keys=function(m){return m?Object.keys(m):[];};var $min=Math.min;var $mod=function(x,y){return x%y;};var $parseInt=parseInt;var $parseFloat=function(f){if(f!==undefined&&f!==null&&f.constructor===Number){return f;}return parseFloat(f);};var $flushConsole=function(){};var $mapArray=function(array,f){var newArray=new array.constructor(array.length),i;for(i=0;islice.$capacity||max>slice.$capacity){$throwRuntimeError("slice bounds out of range");}var s=new slice.constructor(slice.$array);s.$offset=slice.$offset+low;s.$length=slice.$length-low;s.$capacity=slice.$capacity-low;if(high!==undefined){s.$length=high-low;}if(max!==undefined){s.$capacity=max-low;}return s;};var $sliceToArray=function(slice){if(slice.$length===0){return[];}if(slice.$array.constructor!==Array){return slice.$array.subarray(slice.$offset,slice.$offset+slice.$length);}return slice.$array.slice(slice.$offset,slice.$offset+slice.$length);};var $decodeRune=function(str,pos){var c0=str.charCodeAt(pos);if(c0<0x80){return[c0,1];}if(c0!==c0||c0<0xC0){return[0xFFFD,1];}var c1=str.charCodeAt(pos+1);if(c1!==c1||c1<0x80||0xC0<=c1){return[0xFFFD,1];}if(c0<0xE0){var r=(c0&0x1F)<<6|(c1&0x3F);if(r<=0x7F){return[0xFFFD,1];}return[r,2];}var c2=str.charCodeAt(pos+2);if(c2!==c2||c2<0x80||0xC0<=c2){return[0xFFFD,1];}if(c0<0xF0){var r=(c0&0x0F)<<12|(c1&0x3F)<<6|(c2&0x3F);if(r<=0x7FF){return[0xFFFD,1];}if(0xD800<=r&&r<=0xDFFF){return[0xFFFD,1];}return[r,3];}var c3=str.charCodeAt(pos+3);if(c3!==c3||c3<0x80||0xC0<=c3){return[0xFFFD,1];}if(c0<0xF8){var r=(c0&0x07)<<18|(c1&0x3F)<<12|(c2&0x3F)<<6|(c3&0x3F);if(r<=0xFFFF||0x10FFFF0x10FFFF||(0xD800<=r&&r<=0xDFFF)){r=0xFFFD;}if(r<=0x7F){return String.fromCharCode(r);}if(r<=0x7FF){return String.fromCharCode(0xC0|r>>6,0x80|(r&0x3F));}if(r<=0xFFFF){return String.fromCharCode(0xE0|r>>12,0x80|(r>>6&0x3F),0x80|(r&0x3F));}return String.fromCharCode(0xF0|r>>18,0x80|(r>>12&0x3F),0x80|(r>>6&0x3F),0x80|(r&0x3F));};var $stringToBytes=function(str){var array=new Uint8Array(str.length),i;for(i=0;inewCapacity){newOffset=0;newCapacity=Math.max(newLength,slice.$capacity<1024?slice.$capacity*2:Math.floor(slice.$capacity*5/4));if(slice.$array.constructor===Array){newArray=slice.$array.slice(slice.$offset,slice.$offset+slice.$length);newArray.length=newCapacity;var zero=slice.constructor.elem.zero,i;for(i=slice.$length;i>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindUint64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindComplex64:case $kindComplex128:typ=function(real,imag){this.$real=real;this.$imag=imag;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$real+"$"+this.$imag;};break;case $kindArray:typ=function(v){this.$val=v;};typ.Ptr=$newType(4,$kindPtr,"*"+string,"","",function(array){this.$get=function(){return array;};this.$set=function(v){$copy(this,v,typ);};this.$val=array;});typ.init=function(elem,len){typ.elem=elem;typ.len=len;typ.prototype.$key=function(){return string+"$"+Array.prototype.join.call($mapArray(this.$val,function(e){var key=e.$key?e.$key():String(e);return key.replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}),"$");};typ.extendReflectType=function(rt){rt.arrayType=new $reflect.arrayType.Ptr(rt,elem.reflectType(),undefined,len);};typ.Ptr.init(typ);Object.defineProperty(typ.Ptr.nil,"nilCheck",{get:$throwNilPointerError});};break;case $kindChan:typ=function(capacity){this.$val=this;this.$capacity=capacity;this.$buffer=[];this.$sendQueue=[];this.$recvQueue=[];this.$closed=false;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem,sendOnly,recvOnly){typ.elem=elem;typ.sendOnly=sendOnly;typ.recvOnly=recvOnly;typ.nil=new typ(0);typ.nil.$sendQueue=typ.nil.$recvQueue={length:0,push:function(){},shift:function(){return undefined;},indexOf:function(){return-1;}};typ.extendReflectType=function(rt){rt.chanType=new $reflect.chanType.Ptr(rt,elem.reflectType(),sendOnly?$reflect.SendDir:(recvOnly?$reflect.RecvDir:$reflect.BothDir));};};break;case $kindFunc:typ=function(v){this.$val=v;};typ.init=function(params,results,variadic){typ.params=params;typ.results=results;typ.variadic=variadic;typ.extendReflectType=function(rt){var typeSlice=($sliceType($ptrType($reflect.rtype.Ptr)));rt.funcType=new $reflect.funcType.Ptr(rt,variadic,new typeSlice($mapArray(params,function(p){return p.reflectType();})),new typeSlice($mapArray(results,function(p){return p.reflectType();})));};};break;case $kindInterface:typ={implementedBy:{},missingMethodFor:{}};typ.init=function(methods){typ.methods=methods;typ.extendReflectType=function(rt){var imethods=$mapArray(methods,function(m){return new $reflect.imethod.Ptr($newStringPtr(m[1]),$newStringPtr(m[2]),m[3].reflectType());});var methodSlice=($sliceType($ptrType($reflect.imethod.Ptr)));rt.interfaceType=new $reflect.interfaceType.Ptr(rt,new methodSlice(imethods));};};break;case $kindMap:typ=function(v){this.$val=v;};typ.init=function(key,elem){typ.key=key;typ.elem=elem;typ.extendReflectType=function(rt){rt.mapType=new $reflect.mapType.Ptr(rt,key.reflectType(),elem.reflectType(),undefined,undefined);};};break;case $kindPtr:typ=constructor||function(getter,setter,target){this.$get=getter;this.$set=setter;this.$target=target;this.$val=this;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem){typ.nil=new typ($throwNilPointerError,$throwNilPointerError);typ.extendReflectType=function(rt){rt.ptrType=new $reflect.ptrType.Ptr(rt,elem.reflectType());};};break;case $kindSlice:var nativeArray;typ=function(array){if(array.constructor!==nativeArray){array=new nativeArray(array);}this.$array=array;this.$offset=0;this.$length=array.length;this.$capacity=array.length;this.$val=this;};typ.make=function(length,capacity){capacity=capacity||length;var array=new nativeArray(capacity),i;if(nativeArray===Array){for(i=0;i1){string+=" ("+$mapArray(results,function(r){return r.string;}).join(", ")+")";}var typ=$funcTypes[string];if(typ===undefined){typ=$newType(4,$kindFunc,string,"","",null);typ.init(params,results,variadic);$funcTypes[string]=typ;}return typ;};var $interfaceTypes={};var $interfaceType=function(methods){var string="interface {}";if(methods.length!==0){string="interface { "+$mapArray(methods,function(m){return(m[2]!==""?m[2]+".":"")+m[1]+m[3].string.substr(4);}).join("; ")+" }";}var typ=$interfaceTypes[string];if(typ===undefined){typ=$newType(8,$kindInterface,string,"","",null);typ.init(methods);$interfaceTypes[string]=typ;}return typ;};var $emptyInterface=$interfaceType([]);var $ifaceNil={$key:function(){return"nil";}};var $error=$newType(8,$kindInterface,"error","error","",null);$error.init([["Error","Error","",$funcType([],[$String],false)]]);var $Map=function(){};(function(){var names=Object.getOwnPropertyNames(Object.prototype),i;for(i=0;i>>(32-y),(x.$low<>>0);}if(y<64){return new x.constructor(x.$low<<(y-32),0);}return new x.constructor(0,0);};var $shiftRightInt64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(x.$high>>31,(x.$high>>(y-32))>>>0);}if(x.$high<0){return new x.constructor(-1,4294967295);}return new x.constructor(0,0);};var $shiftRightUint64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(0,x.$high>>>(y-32));}return new x.constructor(0,0);};var $mul64=function(x,y){var high=0,low=0,i;if((y.$low&1)!==0){high=x.$high;low=x.$low;}for(i=1;i<32;i++){if((y.$low&1<>>(32-i);low+=(x.$low<>>0;}}for(i=0;i<32;i++){if((y.$high&1<yHigh)||(xHigh===yHigh&&xLow>yLow))){yHigh=(yHigh<<1|yLow>>>31)>>>0;yLow=(yLow<<1)>>>0;n++;}for(i=0;i<=n;i++){high=high<<1|low>>>31;low=(low<<1)>>>0;if((xHigh>yHigh)||(xHigh===yHigh&&xLow>=yLow)){xHigh=xHigh-yHigh;xLow=xLow-yLow;if(xLow<0){xHigh--;xLow+=4294967296;}low++;if(low===4294967296){high++;low=0;}}yLow=(yLow>>>1|yHigh<<(32-1))>>>0;yHigh=yHigh>>>1;}if(returnRemainder){return new x.constructor(xHigh*rs,xLow*rs);}return new x.constructor(high*s,low*s);};var $divComplex=function(n,d){var ninf=n.$real===1/0||n.$real===-1/0||n.$imag===1/0||n.$imag===-1/0;var dinf=d.$real===1/0||d.$real===-1/0||d.$imag===1/0||d.$imag===-1/0;var nnan=!ninf&&(n.$real!==n.$real||n.$imag!==n.$imag);var dnan=!dinf&&(d.$real!==d.$real||d.$imag!==d.$imag);if(nnan||dnan){return new n.constructor(0/0,0/0);}if(ninf&&!dinf){return new n.constructor(1/0,1/0);}if(!ninf&&dinf){return new n.constructor(0,0);}if(d.$real===0&&d.$imag===0){if(n.$real===0&&n.$imag===0){return new n.constructor(0/0,0/0);}return new n.constructor(1/0,1/0);}var a=Math.abs(d.$real);var b=Math.abs(d.$imag);if(a<=b){var ratio=d.$real/d.$imag;var denom=d.$real*ratio+d.$imag;return new n.constructor((n.$real*ratio+n.$imag)/denom,(n.$imag*ratio-n.$real)/denom);}var ratio=d.$imag/d.$real;var denom=d.$imag*ratio+d.$real;return new n.constructor((n.$imag*ratio+n.$real)/denom,(n.$imag-n.$real*ratio)/denom);};var $stackDepthOffset=0;var $getStackDepth=function(){var err=new Error();if(err.stack===undefined){return undefined;}return $stackDepthOffset+err.stack.split("\n").length;};var $deferFrames=[],$skippedDeferFrames=0,$jumpToDefer=false,$panicStackDepth=null,$panicValue;var $callDeferred=function(deferred,jsErr){if($skippedDeferFrames!==0){$skippedDeferFrames--;throw jsErr;}if($jumpToDefer){$jumpToDefer=false;throw jsErr;}if(jsErr){var newErr=null;try{$deferFrames.push(deferred);$panic(new $packages["github.com/gopherjs/gopherjs/js"].Error.Ptr(jsErr));}catch(err){newErr=err;}$deferFrames.pop();$callDeferred(deferred,newErr);return;}$stackDepthOffset--;var outerPanicStackDepth=$panicStackDepth;var outerPanicValue=$panicValue;var localPanicValue=$curGoroutine.panicStack.pop();if(localPanicValue!==undefined){$panicStackDepth=$getStackDepth();$panicValue=localPanicValue;}var call,localSkippedDeferFrames=0;try{while(true){if(deferred===null){deferred=$deferFrames[$deferFrames.length-1-localSkippedDeferFrames];if(deferred===undefined){var msg;if(localPanicValue.constructor===$String){msg=localPanicValue.$val;}else if(localPanicValue.Error!==undefined){msg=localPanicValue.Error();}else if(localPanicValue.String!==undefined){msg=localPanicValue.String();}else{msg=localPanicValue;}var e=new Error(msg);if(localPanicValue.Stack!==undefined){e.stack=localPanicValue.Stack();e.stack=msg+e.stack.substr(e.stack.indexOf("\n"));}throw e;}}var call=deferred.pop();if(call===undefined){if(localPanicValue!==undefined){localSkippedDeferFrames++;deferred=null;continue;}return;}var r=call[0].apply(undefined,call[1]);if(r&&r.$blocking){deferred.push([r,[]]);}if(localPanicValue!==undefined&&$panicStackDepth===null){throw null;}}}finally{$skippedDeferFrames+=localSkippedDeferFrames;if($curGoroutine.asleep){deferred.push(call);$jumpToDefer=true;}if(localPanicValue!==undefined){if($panicStackDepth!==null){$curGoroutine.panicStack.push(localPanicValue);}$panicStackDepth=outerPanicStackDepth;$panicValue=outerPanicValue;}$stackDepthOffset++;}};var $panic=function(value){$curGoroutine.panicStack.push(value);$callDeferred(null,null);};var $recover=function(){if($panicStackDepth===null||($panicStackDepth!==undefined&&$panicStackDepth!==$getStackDepth()-2)){return $ifaceNil;}$panicStackDepth=null;return $panicValue;};var $throw=function(err){throw err;};var $throwRuntimeError;var $BLOCKING=new Object();var $nonblockingCall=function(){$panic(new $packages["runtime"].NotSupportedError.Ptr("non-blocking call to blocking function, see https://github.com/gopherjs/gopherjs#goroutines"));};var $dummyGoroutine={asleep:false,exit:false,panicStack:[]};var $curGoroutine=$dummyGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=true;var $go=function(fun,args,direct){$totalGoroutines++;$awakeGoroutines++;args.push($BLOCKING);var goroutine=function(){var rescheduled=false;try{$curGoroutine=goroutine;$skippedDeferFrames=0;$jumpToDefer=false;var r=fun.apply(undefined,args);if(r&&r.$blocking){fun=r;args=[];$schedule(goroutine,direct);rescheduled=true;return;}goroutine.exit=true;}catch(err){if(!$curGoroutine.asleep){goroutine.exit=true;throw err;}}finally{$curGoroutine=$dummyGoroutine;if(goroutine.exit&&!rescheduled){$totalGoroutines--;goroutine.asleep=true;}if(goroutine.asleep&&!rescheduled){$awakeGoroutines--;if($awakeGoroutines===0&&$totalGoroutines!==0&&$checkForDeadlock){console.error("fatal error: all goroutines are asleep - deadlock!");}}}};goroutine.asleep=false;goroutine.exit=false;goroutine.panicStack=[];$schedule(goroutine,direct);};var $scheduled=[],$schedulerLoopActive=false;var $schedule=function(goroutine,direct){if(goroutine.asleep){goroutine.asleep=false;$awakeGoroutines++;}if(direct){goroutine();return;}$scheduled.push(goroutine);if(!$schedulerLoopActive){$schedulerLoopActive=true;setTimeout(function(){while(true){var r=$scheduled.shift();if(r===undefined){$schedulerLoopActive=false;break;}r();};},0);}};var $send=function(chan,value){if(chan.$closed){$throwRuntimeError("send on closed channel");}var queuedRecv=chan.$recvQueue.shift();if(queuedRecv!==undefined){queuedRecv([value,true]);return;}if(chan.$buffer.length>24;case $kindInt16:return parseInt(v)<<16>>16;case $kindInt32:return parseInt(v)>>0;case $kindUint:return parseInt(v);case $kindUint8:return parseInt(v)<<24>>>24;case $kindUint16:return parseInt(v)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(v)>>>0;case $kindInt64:case $kindUint64:return new t(0,v);case $kindFloat32:case $kindFloat64:return parseFloat(v);case $kindArray:if(v.length!==t.len){$throwRuntimeError("got array with wrong size from JavaScript native");}return $mapArray(v,function(e){return $internalize(e,t.elem);});case $kindFunc:return function(){var args=[],i;for(i=0;i>0)];if(f===undefined){g=0;h="";i=0;j=false;b=g;c=h;d=i;e=j;return[b,c,d,e];}k=f.substring(($parseInt(f.indexOf($externalize("(",$String)))>>0)+1>>0,$parseInt(f.indexOf($externalize(")",$String)))>>0).split($externalize(":",$String));l=0;m=$internalize(k[0],$String);n=$parseInt(k[1])>>0;o=true;b=l;c=m;d=n;e=o;return[b,c,d,e];};P=$pkg.SetFinalizer=function(a,b){};X.Ptr.prototype.RuntimeError=function(){};X.prototype.RuntimeError=function(){return this.$val.RuntimeError();};X.Ptr.prototype.Error=function(){var a,b;a=this;b=a.interfaceString;if(b===""){b="interface";}if(a.concreteString===""){return"interface conversion: "+b+" is nil, not "+a.assertedString;}if(a.missingMethod===""){return"interface conversion: "+b+" is "+a.concreteString+", not "+a.assertedString;}return"interface conversion: "+a.concreteString+" is not "+a.assertedString+": missing method "+a.missingMethod;};X.prototype.Error=function(){return this.$val.Error();};Z.prototype.RuntimeError=function(){var a;a=this.$val!==undefined?this.$val:this;};$ptrType(Z).prototype.RuntimeError=function(){return new Z(this.$get()).RuntimeError();};Z.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"runtime error: "+a;};$ptrType(Z).prototype.Error=function(){return new Z(this.$get()).Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}AN=$ptrType(C);AR=$ptrType(X);AS=$ptrType(Z);AN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];C.init([["Feature","Feature","",$String,""]]);AR.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];X.init([["interfaceString","interfaceString","runtime",$String,""],["concreteString","concreteString","runtime",$String,""],["assertedString","assertedString","runtime",$String,""],["missingMethod","missingMethod","runtime",$String,""]]);Z.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];AS.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];D();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["image/color"]=(function(){var $pkg={},Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,A,B,C,D,E,F,G,H,I,J,L,U,X,K,M,N,O,P,Q,R,S,T,V,W,Y;A=$pkg.Color=$newType(8,$kindInterface,"color.Color","Color","image/color",null);B=$pkg.RGBA=$newType(0,$kindStruct,"color.RGBA","RGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});C=$pkg.RGBA64=$newType(0,$kindStruct,"color.RGBA64","RGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});D=$pkg.NRGBA=$newType(0,$kindStruct,"color.NRGBA","NRGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});E=$pkg.NRGBA64=$newType(0,$kindStruct,"color.NRGBA64","NRGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});F=$pkg.Alpha=$newType(0,$kindStruct,"color.Alpha","Alpha","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});G=$pkg.Alpha16=$newType(0,$kindStruct,"color.Alpha16","Alpha16","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});H=$pkg.Gray=$newType(0,$kindStruct,"color.Gray","Gray","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});I=$pkg.Gray16=$newType(0,$kindStruct,"color.Gray16","Gray16","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});J=$pkg.Model=$newType(8,$kindInterface,"color.Model","Model","image/color",null);L=$pkg.modelFunc=$newType(0,$kindStruct,"color.modelFunc","modelFunc","image/color",function(f_){this.$val=this;this.f=f_!==undefined?f_:$throwNilPointerError;});U=$pkg.Palette=$newType(12,$kindSlice,"color.Palette","Palette","image/color",null);X=$pkg.YCbCr=$newType(0,$kindStruct,"color.YCbCr","YCbCr","image/color",function(Y_,Cb_,Cr_){this.$val=this;this.Y=Y_!==undefined?Y_:0;this.Cb=Cb_!==undefined?Cb_:0;this.Cr=Cr_!==undefined?Cr_:0;});B.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e;e=$clone(this,B);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};B.prototype.RGBA=function(){return this.$val.RGBA();};C.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,C);f=(e.R>>>0);g=(e.G>>>0);h=(e.B>>>0);i=(e.A>>>0);a=f;b=g;c=h;d=i;return[a,b,c,d];};C.prototype.RGBA=function(){return this.$val.RGBA();};D.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,D);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(255),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(255),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(255),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};D.prototype.RGBA=function(){return this.$val.RGBA();};E.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,E);a=(e.R>>>0);a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(65535),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(65535),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(65535),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);return[a,b,c,d];};E.prototype.RGBA=function(){return this.$val.RGBA();};F.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,F);d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};F.prototype.RGBA=function(){return this.$val.RGBA();};G.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,G);d=(e.A>>>0);f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};G.prototype.RGBA=function(){return this.$val.RGBA();};H.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,H);f=(e.Y>>>0);f=(f|((f<<8>>>0)))>>>0;g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};H.prototype.RGBA=function(){return this.$val.RGBA();};I.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,I);f=(e.Y>>>0);g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};I.prototype.RGBA=function(){return this.$val.RGBA();};K=$pkg.ModelFunc=function(a){return new L.Ptr(a);};L.Ptr.prototype.Convert=function(a){var b;b=this;return b.f(a);};L.prototype.Convert=function(a){return this.$val.Convert(a);};M=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,B,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new B.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new i.constructor.Struct(i));};N=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,C,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new C.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new i.constructor.Struct(i));};O=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,D,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),255),new i.constructor.Struct(i));}if(h===0){return(j=new D.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new n.constructor.Struct(n));};P=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,E,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),65535),new i.constructor.Struct(i));}if(h===0){return(j=new E.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new n.constructor.Struct(n));};Q=function(a){var b,c,d,e,f;b=$assertType(a,F,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new F.Ptr(((e>>>8>>>0)<<24>>>24)),new f.constructor.Struct(f));};R=function(a){var b,c,d,e,f;b=$assertType(a,G,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new G.Ptr((e<<16>>>16)),new f.constructor.Struct(f));};S=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,H,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new H.Ptr(((i>>>8>>>0)<<24>>>24)),new j.constructor.Struct(j));};T=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,I,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new I.Ptr((i<<16>>>16)),new j.constructor.Struct(j));};U.prototype.Convert=function(a){var b,c;b=this;if(b.$length===0){return $ifaceNil;}return(c=b.Index(a),((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]));};$ptrType(U).prototype.Convert=function(a){return this.$get().Convert(a);};U.prototype.Index=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;b=this;c=a.RGBA();d=c[0];e=c[1];f=c[2];g=0;h=4294967295;i=g;j=h;k=b;l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);o=n.RGBA();p=o[0];q=o[1];r=o[2];s=(((d>>0)-(p>>0)>>0))>>1>>0;t=(((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0);s=(((e>>0)-(q>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;s=(((f>>0)-(r>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;if(t>0);e=(b>>0);f=(c>>0);g=(((((19595*d>>0)+(38470*e>>0)>>0)+(7471*f>>0)>>0)+32768>>0))>>16>>0;h=(((((-11056*d>>0)-(21712*e>>0)>>0)+(32768*f>>0)>>0)+8421376>>0))>>16>>0;i=(((((32768*d>>0)-(27440*e>>0)>>0)-(5328*f>>0)>>0)+8421376>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};W=$pkg.YCbCrToRGB=function(a,b,c){var d,e,f,g,h,i;d=((a>>0)<<16>>0)+32768>>0;e=(b>>0)-128>>0;f=(c>>0)-128>>0;g=((d+(91881*f>>0)>>0))>>16>>0;h=(((d-(22554*e>>0)>>0)-(46802*f>>0)>>0))>>16>>0;i=((d+(116130*e>>0)>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};X.Ptr.prototype.RGBA=function(){var a,b,c,d,e,f,g,h;a=$clone(this,X);b=W(a.Y,a.Cb,a.Cr);c=b[0];d=b[1];e=b[2];return[(f=(c>>>0),(((f>>>16<<16)*257>>>0)+(f<<16>>>16)*257)>>>0),(g=(d>>>0),(((g>>>16<<16)*257>>>0)+(g<<16>>>16)*257)>>>0),(h=(e>>>0),(((h>>>16<<16)*257>>>0)+(h<<16>>>16)*257)>>>0),65535];};X.prototype.RGBA=function(){return this.$val.RGBA();};Y=function(a){var b,c,d,e,f,g,h,i,j,k,l;b=$assertType(a,X,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=V(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24));i=h[0];j=h[1];k=h[2];return(l=new X.Ptr(i,j,k),new l.constructor.Struct(l));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:Z=$ptrType(B);AA=$ptrType(C);AB=$ptrType(D);AC=$ptrType(E);AD=$ptrType(F);AE=$ptrType(G);AF=$ptrType(H);AG=$ptrType(I);AH=$ptrType(L);AI=$funcType([A],[A],false);AJ=$ptrType(U);AK=$ptrType(X);A.init([["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)]]);B.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];Z.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];B.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);C.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AA.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];C.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);D.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AB.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];D.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);E.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AC.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];E.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);F.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AD.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];F.init([["A","A","",$Uint8,""]]);G.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AE.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];G.init([["A","A","",$Uint16,""]]);H.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AF.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];H.init([["Y","Y","",$Uint8,""]]);I.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AG.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];I.init([["Y","Y","",$Uint16,""]]);J.init([["Convert","Convert","",$funcType([A],[A],false)]]);AH.methods=[["Convert","Convert","",$funcType([A],[A],false),-1]];L.init([["f","f","image/color",AI,""]]);U.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];AJ.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];U.init(A);X.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AK.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];X.init([["Y","Y","",$Uint8,""],["Cb","Cb","",$Uint8,""],["Cr","Cr","",$Uint8,""]]);$pkg.RGBAModel=K(M);$pkg.RGBA64Model=K(N);$pkg.NRGBAModel=K(O);$pkg.NRGBA64Model=K(P);$pkg.AlphaModel=K(Q);$pkg.Alpha16Model=K(R);$pkg.GrayModel=K(S);$pkg.Gray16Model=K(T);$pkg.Black=new I.Ptr(0);$pkg.White=new I.Ptr(65535);$pkg.Transparent=new G.Ptr(0);$pkg.Opaque=new G.Ptr(65535);$pkg.YCbCrModel=K(Y);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["math"]=(function(){var $pkg={},A,FG,B,C,D,E,F,EN,ER,ES,G,X,Y,Z,AI,AN,AR,AS,AT,EP,EV;A=$packages["github.com/gopherjs/gopherjs/js"];G=function(){AR(0);AS(0);};X=$pkg.IsInf=function(ao,ap){if(ao===D){return ap>=0;}if(ao===E){return ap<=0;}return false;};Y=$pkg.IsNaN=function(ao){var ap=false;ap=!((ao===ao));return ap;};Z=$pkg.Ldexp=function(ao,ap){if(ao===0){return ao;}if(ap>=1024){return ao*$parseFloat(B.pow(2,1023))*$parseFloat(B.pow(2,ap-1023>>0));}if(ap<=-1024){return ao*$parseFloat(B.pow(2,-1023))*$parseFloat(B.pow(2,ap+1023>>0));}return ao*$parseFloat(B.pow(2,ap));};AI=$pkg.NaN=function(){return F;};AN=$pkg.Sincos=function(ao){var ap=0,aq=0,ar;ar=EV(ao);ap=ar[0];aq=ar[1];return[ap,aq];};AR=$pkg.Float32bits=function(ao){var ap,aq,ar;if(ao===0){if(1/ao===E){return 2147483648;}return 0;}if(!(ao===ao)){return 2143289344;}ap=0;if(ao<0){ap=2147483648;ao=-ao;}aq=150;while(ao>=1.6777216e+07){ao=ao/(2);aq=aq+(1)>>>0;if(aq===255){if(ao>=8.388608e+06){ao=D;}break;}}while(ao<8.388608e+06){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}ar=$parseFloat($mod(ao,2));if((ar>0.5&&ar<1)||ar>=1.5){ao=ao+(1);}return(((ap|(aq<<23>>>0))>>>0)|(((ao>>0)&~8388608)))>>>0;};AS=$pkg.Float32frombits=function(ao){var ap,aq,ar;ap=1;if(!((((ao&2147483648)>>>0)===0))){ap=-1;}aq=(((ao>>>23>>>0))&255)>>>0;ar=(ao&8388607)>>>0;if(aq===255){if(ar===0){return ap/0;}return F;}if(!((aq===0))){ar=ar+(8388608)>>>0;}if(aq===0){aq=1;}return Z(ar,((aq>>0)-127>>0)-23>>0)*ap;};AT=$pkg.Float64bits=function(ao){var ap,aq,ar,as,at,au;if(ao===0){if(1/ao===E){return new $Uint64(2147483648,0);}return new $Uint64(0,0);}if(!((ao===ao))){return new $Uint64(2146959360,1);}ap=new $Uint64(0,0);if(ao<0){ap=new $Uint64(2147483648,0);ao=-ao;}aq=1075;while(ao>=9.007199254740992e+15){ao=ao/(2);aq=aq+(1)>>>0;if(aq===2047){break;}}while(ao<4.503599627370496e+15){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}return(ar=(as=$shiftLeft64(new $Uint64(0,aq),52),new $Uint64(ap.$high|as.$high,(ap.$low|as.$low)>>>0)),at=(au=new $Uint64(0,ao),new $Uint64(au.$high&~1048576,(au.$low&~0)>>>0)),new $Uint64(ar.$high|at.$high,(ar.$low|at.$low)>>>0));};EP=function(){var ao,ap,aq,ar;EN[0]=1;EN[1]=10;ao=2;while(ao<70){aq=(ap=ao/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));(ao<0||ao>=EN.length)?$throwRuntimeError("index out of range"):EN[ao]=((aq<0||aq>=EN.length)?$throwRuntimeError("index out of range"):EN[aq])*(ar=ao-aq>>0,((ar<0||ar>=EN.length)?$throwRuntimeError("index out of range"):EN[ar]));ao=ao+(1)>>0;}};EV=function(ao){var ap=0,aq=0,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk;if(ao===0){ar=ao;as=1;ap=ar;aq=as;return[ap,aq];}else if(Y(ao)||X(ao,0)){at=AI();au=AI();ap=at;aq=au;return[ap,aq];}av=false;aw=false;ax=av;ay=aw;if(ao<0){ao=-ao;ax=true;}az=new $Int64(0,ao*1.2732395447351625);ba=$flatten64(az);if((bb=new $Int64(az.$high&0,(az.$low&1)>>>0),(bb.$high===0&&bb.$low===1))){az=(bc=new $Int64(0,1),new $Int64(az.$high+bc.$high,az.$low+bc.$low));ba=ba+(1);}az=(bd=new $Int64(0,7),new $Int64(az.$high&bd.$high,(az.$low&bd.$low)>>>0));if((az.$high>0||(az.$high===0&&az.$low>3))){az=(be=new $Int64(0,4),new $Int64(az.$high-be.$high,az.$low-be.$low));bf=!ax;bg=!ay;ax=bf;ay=bg;}if((az.$high>0||(az.$high===0&&az.$low>1))){ay=!ay;}bh=((ao-ba*0.7853981256484985)-ba*3.774894707930798e-08)-ba*2.6951514290790595e-15;bi=bh*bh;aq=1-0.5*bi+bi*bi*((((((ES[0]*bi)+ES[1])*bi+ES[2])*bi+ES[3])*bi+ES[4])*bi+ES[5]);ap=bh+bh*bi*((((((ER[0]*bi)+ER[1])*bi+ER[2])*bi+ER[3])*bi+ER[4])*bi+ER[5]);if((az.$high===0&&az.$low===1)||(az.$high===0&&az.$low===2)){bj=aq;bk=ap;ap=bj;aq=bk;}if(ay){aq=-aq;}if(ax){ap=-ap;}return[ap,aq];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}FG=$arrayType($Float64,70);EN=FG.zero();B=$global.Math;C=0;D=1/C;E=-1/C;F=0/C;ER=$toNativeArray($kindFloat64,[1.5896230157654656e-10,-2.5050747762857807e-08,2.7557313621385722e-06,-0.0001984126982958954,0.008333333333322118,-0.1666666666666663]);ES=$toNativeArray($kindFloat64,[-1.1358536521387682e-11,2.087570084197473e-09,-2.755731417929674e-07,2.4801587288851704e-05,-0.0013888888888873056,0.041666666666666595]);G();EP();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal"]=(function(){var $pkg={},A,B,C,D;A=$packages["image/color"];B=$packages["math"];C=$pkg.NextPowerOf2Int=function(a){a=a-(1)>>0;a=a|(((a>>1>>0)));a=a|(((a>>2>>0)));a=a|(((a>>4>>0)));a=a|(((a>>8>>0)));a=a|(((a>>16>>0)));return a+1>>0;};D=$pkg.RGBA=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=a.RGBA();g=f[0];h=f[1];i=f[2];j=f[3];b=g/65535;c=h/65535;d=i/65535;e=j/65535;return[b,c,d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["sync/atomic"]=(function(){var $pkg={},A,H,N,U,Y,AA;A=$packages["github.com/gopherjs/gopherjs/js"];H=$pkg.CompareAndSwapInt32=function(ad,ae,af){if(ad.$get()===ae){ad.$set(af);return true;}return false;};N=$pkg.AddInt32=function(ad,ae){var af;af=ad.$get()+ae>>0;ad.$set(af);return af;};U=$pkg.LoadUint32=function(ad){return ad.$get();};Y=$pkg.StoreInt32=function(ad,ae){ad.$set(ae);};AA=$pkg.StoreUint32=function(ad,ae){ad.$set(ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["sync"]=(function(){var $pkg={},B,A,AJ,AK,AM,AN,AP,AS,AT,AV,AW,AX,AY,AZ,BA,C,I,J,K,L,AC,AG,AH,O,D,E,M,P,Q,X,AA,AB,AF;B=$packages["runtime"];A=$packages["sync/atomic"];C=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool","Pool","sync",function(local_,localSize_,store_,New_){this.$val=this;this.local=local_!==undefined?local_:0;this.localSize=localSize_!==undefined?localSize_:0;this.store=store_!==undefined?store_:AS.nil;this.New=New_!==undefined?New_:$throwNilPointerError;});I=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex","Mutex","sync",function(state_,sema_){this.$val=this;this.state=state_!==undefined?state_:0;this.sema=sema_!==undefined?sema_:0;});J=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker","Locker","sync",null);K=$pkg.Once=$newType(0,$kindStruct,"sync.Once","Once","sync",function(m_,done_){this.$val=this;this.m=m_!==undefined?m_:new I.Ptr();this.done=done_!==undefined?done_:0;});L=$pkg.poolLocal=$newType(0,$kindStruct,"sync.poolLocal","poolLocal","sync",function(private$0_,shared_,Mutex_,pad_){this.$val=this;this.private$0=private$0_!==undefined?private$0_:$ifaceNil;this.shared=shared_!==undefined?shared_:AS.nil;this.Mutex=Mutex_!==undefined?Mutex_:new I.Ptr();this.pad=pad_!==undefined?pad_:AY.zero();});AC=$pkg.syncSema=$newType(0,$kindStruct,"sync.syncSema","syncSema","sync",function(lock_,head_,tail_){this.$val=this;this.lock=lock_!==undefined?lock_:0;this.head=head_!==undefined?head_:0;this.tail=tail_!==undefined?tail_:0;});AG=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex","RWMutex","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});AH=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker","rlocker","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});C.Ptr.prototype.Get=function(){var d,e,f,g;d=this;if(d.store.$length===0){if(!(d.New===$throwNilPointerError)){return d.New();}return $ifaceNil;}g=(e=d.store,f=d.store.$length-1>>0,((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]));d.store=$subslice(d.store,0,(d.store.$length-1>>0));return g;};C.prototype.Get=function(){return this.$val.Get();};C.Ptr.prototype.Put=function(d){var e;e=this;if($interfaceIsEqual(d,$ifaceNil)){return;}e.store=$append(e.store,d);};C.prototype.Put=function(d){return this.$val.Put(d);};D=function(d){};E=function(d){};I.Ptr.prototype.Lock=function(){var d,e,f,g;d=this;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),0,1)){return;}e=false;while(true){f=d.state;g=f|1;if(!(((f&1)===0))){g=f+4>>0;}if(e){g=g&~(2);}if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,g)){if((f&1)===0){break;}AA(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));e=true;}}};I.prototype.Lock=function(){return this.$val.Lock();};I.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),-1);if((((e+1>>0))&1)===0){$panic(new $String("sync: unlock of unlocked mutex"));}f=e;while(true){if(((f>>2>>0)===0)||!(((f&3)===0))){return;}e=((f-4>>0))|2;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,e)){AB(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));return;}f=d.state;}};I.prototype.Unlock=function(){return this.$val.Unlock();};K.Ptr.prototype.Do=function(d){var $deferred=[],$err=null,e;try{$deferFrames.push($deferred);e=this;if(A.LoadUint32(new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e))===1){return;}e.m.Lock();$deferred.push([$methodVal(e.m,"Unlock"),[]]);if(e.done===0){$deferred.push([A.StoreUint32,[new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e),1]]);d();}}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};K.prototype.Do=function(d){return this.$val.Do(d);};M=function(){var d,e,f,g,h,i,j,k,l,m;d=O;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);(f<0||f>=O.$length)?$throwRuntimeError("index out of range"):O.$array[O.$offset+f]=AJ.nil;h=0;while(h<(g.localSize>>0)){i=Q(g.local,h);i.private$0=$ifaceNil;j=i.shared;k=0;while(k=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+l]=$ifaceNil);k++;}i.shared=AS.nil;h=h+(1)>>0;}g.local=0;g.localSize=0;e++;}O=new AK([]);};P=function(){D(M);};Q=function(d,e){var f;return(f=d,(f.nilCheck,((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e])));};X=function(){};AA=function(){$panic("Native function not implemented: sync.runtime_Semacquire");};AB=function(){$panic("Native function not implemented: sync.runtime_Semrelease");};AF=function(){var d;d=$clone(new AC.Ptr(),AC);E(12);};AG.Ptr.prototype.RLock=function(){var d;d=this;if(A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1)<0){AA(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));}};AG.prototype.RLock=function(){return this.$val.RLock();};AG.Ptr.prototype.RUnlock=function(){var d,e;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1);if(e<0){if(((e+1>>0)===0)||((e+1>>0)===-1073741824)){X();$panic(new $String("sync: RUnlock of unlocked RWMutex"));}if(A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),-1)===0){AB(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}}};AG.prototype.RUnlock=function(){return this.$val.RUnlock();};AG.Ptr.prototype.Lock=function(){var d,e;d=this;d.w.Lock();e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1073741824)+1073741824>>0;if(!((e===0))&&!((A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),e)===0))){AA(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}};AG.prototype.Lock=function(){return this.$val.Lock();};AG.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1073741824);if(e>=1073741824){X();$panic(new $String("sync: Unlock of unlocked RWMutex"));}f=0;while(f<(e>>0)){AB(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));f=f+(1)>>0;}d.w.Unlock();};AG.prototype.Unlock=function(){return this.$val.Unlock();};AG.Ptr.prototype.RLocker=function(){var d;d=this;return $clone(d,AH);};AG.prototype.RLocker=function(){return this.$val.RLocker();};AH.Ptr.prototype.Lock=function(){var d;d=this;$clone(d,AG).RLock();};AH.prototype.Lock=function(){return this.$val.Lock();};AH.Ptr.prototype.Unlock=function(){var d;d=this;$clone(d,AG).RUnlock();};AH.prototype.Unlock=function(){return this.$val.Unlock();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}AJ=$ptrType(C);AK=$sliceType(AJ);AM=$ptrType($Uint32);AN=$ptrType($Int32);AP=$ptrType(L);AS=$sliceType($emptyInterface);AT=$funcType([],[$emptyInterface],false);AV=$ptrType(I);AW=$funcType([],[],false);AX=$ptrType(K);AY=$arrayType($Uint8,128);AZ=$ptrType(AG);BA=$ptrType(AH);AJ.methods=[["Get","Get","",$funcType([],[$emptyInterface],false),-1],["Put","Put","",$funcType([$emptyInterface],[],false),-1],["getSlow","getSlow","sync",$funcType([],[$emptyInterface],false),-1],["pin","pin","sync",$funcType([],[AP],false),-1],["pinSlow","pinSlow","sync",$funcType([],[AP],false),-1]];C.init([["local","local","sync",$UnsafePointer,""],["localSize","localSize","sync",$Uintptr,""],["store","store","sync",AS,""],["New","New","",AT,""]]);AV.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];I.init([["state","state","sync",$Int32,""],["sema","sema","sync",$Uint32,""]]);J.init([["Lock","Lock","",$funcType([],[],false)],["Unlock","Unlock","",$funcType([],[],false)]]);AX.methods=[["Do","Do","",$funcType([AW],[],false),-1]];K.init([["m","m","sync",I,""],["done","done","sync",$Uint32,""]]);AP.methods=[["Lock","Lock","",$funcType([],[],false),2],["Unlock","Unlock","",$funcType([],[],false),2]];L.init([["private$0","private","sync",$emptyInterface,""],["shared","shared","sync",AS,""],["Mutex","","",I,""],["pad","pad","sync",AY,""]]);AC.init([["lock","lock","sync",$Uintptr,""],["head","head","sync",$UnsafePointer,""],["tail","tail","sync",$UnsafePointer,""]]);AZ.methods=[["Lock","Lock","",$funcType([],[],false),-1],["RLock","RLock","",$funcType([],[],false),-1],["RLocker","RLocker","",$funcType([],[J],false),-1],["RUnlock","RUnlock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AG.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);BA.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AH.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);O=AK.nil;P();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["io"]=(function(){var $pkg={},B,A,C,AW,E,F,J,P,Q,T,W,AI,AJ,AA,AB;B=$packages["errors"];A=$packages["runtime"];C=$packages["sync"];E=$pkg.Reader=$newType(8,$kindInterface,"io.Reader","Reader","io",null);F=$pkg.Writer=$newType(8,$kindInterface,"io.Writer","Writer","io",null);J=$pkg.ReadCloser=$newType(8,$kindInterface,"io.ReadCloser","ReadCloser","io",null);P=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom","ReaderFrom","io",null);Q=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo","WriterTo","io",null);T=$pkg.ByteReader=$newType(8,$kindInterface,"io.ByteReader","ByteReader","io",null);W=$pkg.RuneReader=$newType(8,$kindInterface,"io.RuneReader","RuneReader","io",null);AA=$pkg.ReadAtLeast=function(b,c,d){var e=0,f=$ifaceNil,g,h,i,j;if(c.$length>0;}if(e>=d){f=$ifaceNil;}else if(e>0&&$interfaceIsEqual(f,$pkg.EOF)){f=$pkg.ErrUnexpectedEOF;}return[e,f];};AB=$pkg.ReadFull=function(b,c){var d=0,e=$ifaceNil,f;f=AA(b,c,c.$length);d=f[0];e=f[1];return[d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}AW=$sliceType($Uint8);E.init([["Read","Read","",$funcType([AW],[$Int,$error],false)]]);F.init([["Write","Write","",$funcType([AW],[$Int,$error],false)]]);J.init([["Close","Close","",$funcType([],[$error],false)],["Read","Read","",$funcType([AW],[$Int,$error],false)]]);P.init([["ReadFrom","ReadFrom","",$funcType([E],[$Int64,$error],false)]]);Q.init([["WriteTo","WriteTo","",$funcType([F],[$Int64,$error],false)]]);T.init([["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);W.init([["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false)]]);$pkg.ErrShortWrite=B.New("short write");$pkg.ErrShortBuffer=B.New("short buffer");$pkg.EOF=B.New("EOF");$pkg.ErrUnexpectedEOF=B.New("unexpected EOF");$pkg.ErrNoProgress=B.New("multiple Read calls return no data or error");AI=B.New("Seek: invalid whence");AJ=B.New("Seek: invalid offset");$pkg.ErrClosedPipe=B.New("io: read/write on closed pipe");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["unicode"]=(function(){var $pkg={};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["unicode/utf8"]=(function(){var $pkg={},A,B,C,E,F,G,I,J,K,L,M;A=function(a){var b=0,c=0,d=false,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh;e=a.$length;if(e<1){f=65533;g=0;h=true;b=f;c=g;d=h;return[b,c,d];}i=((0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]);if(i<128){j=(i>>0);k=1;l=false;b=j;c=k;d=l;return[b,c,d];}if(i<192){m=65533;n=1;o=false;b=m;c=n;d=o;return[b,c,d];}if(e<2){p=65533;q=1;r=true;b=p;c=q;d=r;return[b,c,d];}s=((1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]);if(s<128||192<=s){t=65533;u=1;v=false;b=t;c=u;d=v;return[b,c,d];}if(i<224){b=((((i&31)>>>0)>>0)<<6>>0)|(((s&63)>>>0)>>0);if(b<=127){w=65533;x=1;y=false;b=w;c=x;d=y;return[b,c,d];}z=b;aa=2;ab=false;b=z;c=aa;d=ab;return[b,c,d];}if(e<3){ac=65533;ad=1;ae=true;b=ac;c=ad;d=ae;return[b,c,d];}af=((2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]);if(af<128||192<=af){ag=65533;ah=1;ai=false;b=ag;c=ah;d=ai;return[b,c,d];}if(i<240){b=(((((i&15)>>>0)>>0)<<12>>0)|((((s&63)>>>0)>>0)<<6>>0))|(((af&63)>>>0)>>0);if(b<=2047){aj=65533;ak=1;al=false;b=aj;c=ak;d=al;return[b,c,d];}if(55296<=b&&b<=57343){am=65533;an=1;ao=false;b=am;c=an;d=ao;return[b,c,d];}ap=b;aq=3;ar=false;b=ap;c=aq;d=ar;return[b,c,d];}if(e<4){as=65533;at=1;au=true;b=as;c=at;d=au;return[b,c,d];}av=((3<0||3>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+3]);if(av<128||192<=av){aw=65533;ax=1;ay=false;b=aw;c=ax;d=ay;return[b,c,d];}if(i<248){b=((((((i&7)>>>0)>>0)<<18>>0)|((((s&63)>>>0)>>0)<<12>>0))|((((af&63)>>>0)>>0)<<6>>0))|(((av&63)>>>0)>>0);if(b<=65535||1114111>0);k=1;l=false;b=j;c=k;d=l;return[b,c,d];}if(i<192){m=65533;n=1;o=false;b=m;c=n;d=o;return[b,c,d];}if(e<2){p=65533;q=1;r=true;b=p;c=q;d=r;return[b,c,d];}s=a.charCodeAt(1);if(s<128||192<=s){t=65533;u=1;v=false;b=t;c=u;d=v;return[b,c,d];}if(i<224){b=((((i&31)>>>0)>>0)<<6>>0)|(((s&63)>>>0)>>0);if(b<=127){w=65533;x=1;y=false;b=w;c=x;d=y;return[b,c,d];}z=b;aa=2;ab=false;b=z;c=aa;d=ab;return[b,c,d];}if(e<3){ac=65533;ad=1;ae=true;b=ac;c=ad;d=ae;return[b,c,d];}af=a.charCodeAt(2);if(af<128||192<=af){ag=65533;ah=1;ai=false;b=ag;c=ah;d=ai;return[b,c,d];}if(i<240){b=(((((i&15)>>>0)>>0)<<12>>0)|((((s&63)>>>0)>>0)<<6>>0))|(((af&63)>>>0)>>0);if(b<=2047){aj=65533;ak=1;al=false;b=aj;c=ak;d=al;return[b,c,d];}if(55296<=b&&b<=57343){am=65533;an=1;ao=false;b=am;c=an;d=ao;return[b,c,d];}ap=b;aq=3;ar=false;b=ap;c=aq;d=ar;return[b,c,d];}if(e<4){as=65533;at=1;au=true;b=as;c=at;d=au;return[b,c,d];}av=a.charCodeAt(3);if(av<128||192<=av){aw=65533;ax=1;ay=false;b=aw;c=ax;d=ay;return[b,c,d];}if(i<248){b=((((((i&7)>>>0)>>0)<<18>>0)|((((s&63)>>>0)>>0)<<12>>0))|((((af&63)>>>0)>>0)<<6>>0))|(((av&63)>>>0)>>0);if(b<=65535||1114111>0;b=(((g<0||g>=a.$length)?$throwRuntimeError("index out of range"):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(g>=j){if(M(((g<0||g>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+g]))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=E($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];};I=$pkg.RuneLen=function(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;};J=$pkg.EncodeRune=function(a,b){var c;c=(b>>>0);if(c<=127){(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=(b<<24>>>24);return 1;}else if(c<=2047){(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=(192|((b>>6>>0)<<24>>>24))>>>0;(1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=(128|(((b<<24>>>24)&63)>>>0))>>>0;return 2;}else if(c>1114111||55296<=c&&c<=57343){b=65533;(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=(224|((b>>12>>0)<<24>>>24))>>>0;(1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=(128|((((b>>6>>0)<<24>>>24)&63)>>>0))>>>0;(2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=(128|(((b<<24>>>24)&63)>>>0))>>>0;return 3;}else if(c<=65535){(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=(224|((b>>12>>0)<<24>>>24))>>>0;(1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=(128|((((b>>6>>0)<<24>>>24)&63)>>>0))>>>0;(2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=(128|(((b<<24>>>24)&63)>>>0))>>>0;return 3;}else{(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=(240|((b>>18>>0)<<24>>>24))>>>0;(1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=(128|((((b>>12>>0)<<24>>>24)&63)>>>0))>>>0;(2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=(128|((((b>>6>>0)<<24>>>24)&63)>>>0))>>>0;(3<0||3>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+3]=(128|(((b<<24>>>24)&63)>>>0))>>>0;return 4;}};K=$pkg.RuneCount=function(a){var b,c,d,e;b=0;c=0;c=0;while(b=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+b])<128){b=b+(1)>>0;}else{d=E($subslice(a,b));e=d[1];b=b+(e)>>0;}c=c+(1)>>0;}return c;};L=$pkg.RuneCountInString=function(a){var b=0,c,d,e;c=a;d=0;while(d>0;d+=e[1];}return b;};M=$pkg.RuneStart=function(a){return!((((a&192)>>>0)===128));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["bytes"]=(function(){var $pkg={},A,B,D,C,BJ,BK,BL,BM,H,I,E,J,K;A=$packages["errors"];B=$packages["io"];D=$packages["unicode"];C=$packages["unicode/utf8"];H=$pkg.Buffer=$newType(0,$kindStruct,"bytes.Buffer","Buffer","bytes",function(buf_,off_,runeBytes_,bootstrap_,lastRead_){this.$val=this;this.buf=buf_!==undefined?buf_:BK.nil;this.off=off_!==undefined?off_:0;this.runeBytes=runeBytes_!==undefined?runeBytes_:BL.zero();this.bootstrap=bootstrap_!==undefined?bootstrap_:BM.zero();this.lastRead=lastRead_!==undefined?lastRead_:0;});I=$pkg.readOp=$newType(4,$kindInt,"bytes.readOp","readOp","bytes",null);E=$pkg.IndexByte=function(d,e){var f,g,h,i;f=d;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]);if(i===e){return h;}g++;}return-1;};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===BJ.nil){return"";}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.Truncate=function(d){var e;e=this;e.lastRead=0;if(d<0||d>e.Len()){$panic(new $String("bytes.Buffer: truncation out of range"));}else if(d===0){e.off=0;}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.Truncate(0);};H.prototype.Reset=function(){return this.$val.Reset();};H.Ptr.prototype.grow=function(d){var e,f,g,h;e=this;f=e.Len();if((f===0)&&!((e.off===0))){e.Truncate(0);}if((e.buf.$length+d>>0)>e.buf.$capacity){g=BK.nil;if(e.buf===BK.nil&&d<=64){g=$subslice(new BK(e.bootstrap),0);}else if((f+d>>0)<=(h=e.buf.$capacity/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))){$copySlice(e.buf,$subslice(e.buf,e.off));g=$subslice(e.buf,0,f);}else{g=J((2*e.buf.$capacity>>0)+d>>0);$copySlice(g,$subslice(e.buf,e.off));}e.buf=g;e.off=0;}e.buf=$subslice(e.buf,0,((e.off+f>>0)+d>>0));return e.off+f>>0;};H.prototype.grow=function(d){return this.$val.grow(d);};H.Ptr.prototype.Grow=function(d){var 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 e=0,f=$ifaceNil,g,h,i,j;g=this;g.lastRead=0;h=g.grow(d.$length);i=$copySlice($subslice(g.buf,h),d);j=$ifaceNil;e=i;f=j;return[e,f];};H.prototype.Write=function(d){return this.$val.Write(d);};H.Ptr.prototype.WriteString=function(d){var e=0,f=$ifaceNil,g,h,i,j;g=this;g.lastRead=0;h=g.grow(d.length);i=$copyString($subslice(g.buf,h),d);j=$ifaceNil;e=i;f=j;return[e,f];};H.prototype.WriteString=function(d){return this.$val.WriteString(d);};H.Ptr.prototype.ReadFrom=function(d){var e=new $Int64(0,0),f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);}while(true){h=g.buf.$capacity-g.buf.$length>>0;if(h<512){i=g.buf;if((g.off+h>>0)<512){i=J((2*g.buf.$capacity>>0)+512>>0);}$copySlice(i,$subslice(g.buf,g.off));g.buf=$subslice(i,0,(g.buf.$length-g.off>>0));g.off=0;}j=d.Read($subslice(g.buf,g.buf.$length,g.buf.$capacity));k=j[0];l=j[1];g.buf=$subslice(g.buf,0,(g.buf.$length+k>>0));e=(m=new $Int64(0,k),new $Int64(e.$high+m.$high,e.$low+m.$low));if($interfaceIsEqual(l,B.EOF)){break;}if(!($interfaceIsEqual(l,$ifaceNil))){n=e;o=l;e=n;f=o;return[e,f];}}p=e;q=$ifaceNil;e=p;f=q;return[e,f];};H.prototype.ReadFrom=function(d){return this.$val.ReadFrom(d);};J=function(d){var $deferred=[],$err=null;try{$deferFrames.push($deferred);$deferred.push([(function(){if(!($interfaceIsEqual($recover(),$ifaceNil))){$panic($pkg.ErrTooLarge);}}),[]]);return BK.make(d);}catch(err){$err=err;return BK.nil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};H.Ptr.prototype.WriteTo=function(d){var e=new $Int64(0,0),f=$ifaceNil,g,h,i,j,k,l,m,n,o;g=this;g.lastRead=0;if(g.offh){$panic(new $String("bytes.Buffer.WriteTo: invalid Write count"));}g.off=g.off+(j)>>0;e=new $Int64(0,j);if(!($interfaceIsEqual(k,$ifaceNil))){l=e;m=k;e=l;f=m;return[e,f];}if(!((j===h))){n=e;o=B.ErrShortWrite;e=n;f=o;return[e,f];}}g.Truncate(0);return[e,f];};H.prototype.WriteTo=function(d){return this.$val.WriteTo(d);};H.Ptr.prototype.WriteByte=function(d){var e,f,g;e=this;e.lastRead=0;f=e.grow(1);(g=e.buf,(f<0||f>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+f]=d);return $ifaceNil;};H.prototype.WriteByte=function(d){return this.$val.WriteByte(d);};H.Ptr.prototype.WriteRune=function(d){var e=0,f=$ifaceNil,g,h,i,j,k;g=this;if(d<128){g.WriteByte((d<<24>>>24));h=1;i=$ifaceNil;e=h;f=i;return[e,f];}e=C.EncodeRune($subslice(new BK(g.runeBytes),0),d);g.Write($subslice(new BK(g.runeBytes),0,e));j=e;k=$ifaceNil;e=j;f=k;return[e,f];};H.prototype.WriteRune=function(d){return this.$val.WriteRune(d);};H.Ptr.prototype.Read=function(d){var e=0,f=$ifaceNil,g,h,i;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);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=2;}return[e,f];};H.prototype.Read=function(d){return this.$val.Read(d);};H.Ptr.prototype.Next=function(d){var 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=2;}return g;};H.prototype.Next=function(d){return this.$val.Next(d);};H.Ptr.prototype.ReadByte=function(){var d=0,e=$ifaceNil,f,g,h,i,j,k,l;f=this;f.lastRead=0;if(f.off>=f.buf.$length){f.Truncate(0);g=0;h=B.EOF;d=g;e=h;return[d,e];}d=(i=f.buf,j=f.off,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]));f.off=f.off+(1)>>0;f.lastRead=2;k=d;l=$ifaceNil;d=k;e=l;return[d,e];};H.prototype.ReadByte=function(){return this.$val.ReadByte();};H.Ptr.prototype.ReadRune=function(){var d=0,e=0,f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);h=0;i=0;j=B.EOF;d=h;e=i;f=j;return[d,e,f];}g.lastRead=1;m=(k=g.buf,l=g.off,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]));if(m<128){g.off=g.off+(1)>>0;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;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,e,f;d=this;if(!((d.lastRead===1))){return A.New("bytes.Buffer: UnreadRune: previous operation was not ReadRune");}d.lastRead=0;if(d.off>0){e=C.DecodeLastRune($subslice(d.buf,0,d.off));f=e[1];d.off=d.off-(f)>>0;}return $ifaceNil;};H.prototype.UnreadRune=function(){return this.$val.UnreadRune();};H.Ptr.prototype.UnreadByte=function(){var d;d=this;if(!((d.lastRead===1))&&!((d.lastRead===2))){return A.New("bytes.Buffer: UnreadByte: previous operation was not a 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 e=BK.nil,f=$ifaceNil,g,h,i;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 e=BK.nil,f=$ifaceNil,g,h,i,j,k;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=2;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 e="",f=$ifaceNil,g,h,i,j,k;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=$pkg.NewBuffer=function(d){return new H.Ptr(d,0,BL.zero(),BM.zero(),0);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}BJ=$ptrType(H);BK=$sliceType($Uint8);BL=$arrayType($Uint8,4);BM=$arrayType($Uint8,64);BJ.methods=[["Bytes","Bytes","",$funcType([],[BK],false),-1],["Grow","Grow","",$funcType([$Int],[],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Next","Next","",$funcType([$Int],[BK],false),-1],["Read","Read","",$funcType([BK],[$Int,$error],false),-1],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false),-1],["ReadBytes","ReadBytes","",$funcType([$Uint8],[BK,$error],false),-1],["ReadFrom","ReadFrom","",$funcType([B.Reader],[$Int64,$error],false),-1],["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false),-1],["ReadString","ReadString","",$funcType([$Uint8],[$String,$error],false),-1],["Reset","Reset","",$funcType([],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["Truncate","Truncate","",$funcType([$Int],[],false),-1],["UnreadByte","UnreadByte","",$funcType([],[$error],false),-1],["UnreadRune","UnreadRune","",$funcType([],[$error],false),-1],["Write","Write","",$funcType([BK],[$Int,$error],false),-1],["WriteByte","WriteByte","",$funcType([$Uint8],[$error],false),-1],["WriteRune","WriteRune","",$funcType([$Int32],[$Int,$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1],["WriteTo","WriteTo","",$funcType([B.Writer],[$Int64,$error],false),-1],["grow","grow","bytes",$funcType([$Int],[$Int],false),-1],["readSlice","readSlice","bytes",$funcType([$Uint8],[BK,$error],false),-1]];H.init([["buf","buf","bytes",BK,""],["off","off","bytes",$Int,""],["runeBytes","runeBytes","bytes",BL,""],["bootstrap","bootstrap","bytes",BM,""],["lastRead","lastRead","bytes",I,""]]);$pkg.ErrTooLarge=A.New("bytes.Buffer: too large");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["syscall"]=(function(){var $pkg={},A,E,B,D,C,MD,ME,MF,ML,MS,MT,MZ,NE,NG,NH,NK,NX,NY,NZ,OA,OF,OG,OI,OK,EQ,ER,KF,KI,KO,KW,F,G,N,O,P,AP,AQ,AR,AS,DT,FS,H,I,J,K,L,Q,R,S,V,AU,AW,CQ,CR,CT,CY,DO,DY,DZ,ET,EU,GM,HA,HE,HF,HH,HI,HL,HN,HO,HP,II,IT,IU,IV,JA,JY,JZ,KA;A=$packages["bytes"];E=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["runtime"];C=$packages["sync"];EQ=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper","mmapper","syscall",function(Mutex_,active_,mmap_,munmap_){this.$val=this;this.Mutex=Mutex_!==undefined?Mutex_:new C.Mutex.Ptr();this.active=active_!==undefined?active_:false;this.mmap=mmap_!==undefined?mmap_:$throwNilPointerError;this.munmap=munmap_!==undefined?munmap_:$throwNilPointerError;});ER=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno","Errno","syscall",null);KF=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int","_C_int","syscall",null);KI=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec","Timespec","syscall",function(Sec_,Nsec_){this.$val=this;this.Sec=Sec_!==undefined?Sec_:new $Int64(0,0);this.Nsec=Nsec_!==undefined?Nsec_:new $Int64(0,0);});KO=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t","Stat_t","syscall",function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;this.Dev=Dev_!==undefined?Dev_:0;this.Mode=Mode_!==undefined?Mode_:0;this.Nlink=Nlink_!==undefined?Nlink_:0;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Uid=Uid_!==undefined?Uid_:0;this.Gid=Gid_!==undefined?Gid_:0;this.Rdev=Rdev_!==undefined?Rdev_:0;this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:NG.zero();this.Atimespec=Atimespec_!==undefined?Atimespec_:new KI.Ptr();this.Mtimespec=Mtimespec_!==undefined?Mtimespec_:new KI.Ptr();this.Ctimespec=Ctimespec_!==undefined?Ctimespec_:new KI.Ptr();this.Birthtimespec=Birthtimespec_!==undefined?Birthtimespec_:new KI.Ptr();this.Size=Size_!==undefined?Size_:new $Int64(0,0);this.Blocks=Blocks_!==undefined?Blocks_:new $Int64(0,0);this.Blksize=Blksize_!==undefined?Blksize_:0;this.Flags=Flags_!==undefined?Flags_:0;this.Gen=Gen_!==undefined?Gen_:0;this.Lspare=Lspare_!==undefined?Lspare_:0;this.Qspare=Qspare_!==undefined?Qspare_:OG.zero();});KW=$pkg.Dirent=$newType(0,$kindStruct,"syscall.Dirent","Dirent","syscall",function(Ino_,Seekoff_,Reclen_,Namlen_,Type_,Name_,Pad_cgo_0_){this.$val=this;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Seekoff=Seekoff_!==undefined?Seekoff_:new $Uint64(0,0);this.Reclen=Reclen_!==undefined?Reclen_:0;this.Namlen=Namlen_!==undefined?Namlen_:0;this.Type=Type_!==undefined?Type_:0;this.Name=Name_!==undefined?Name_:OI.zero();this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:OK.zero();});H=function(){$flushConsole=(function(){if(!((G.$length===0))){$global.console.log($externalize($bytesToString(G),$String));G=MD.nil;}});};I=function(){if(!F){console.log("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md");}F=true;};J=function(i){var j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=A.IndexByte(G,10);if(k===-1){break;}$global.console.log($externalize($bytesToString($subslice(G,0,k)),$String));G=$subslice(G,(k+1>>0));}};K=function(i){};L=function(){var i,j,k,l,m,n;i=$global.process;if(i===undefined){return ME.nil;}j=i.env;k=$global.Object.keys(j);l=ME.make($parseInt(k.length));m=0;while(m<$parseInt(k.length)){n=$internalize(k[m],$String);(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String);m=m+(1)>>0;}return l;};Q=function(i){var $deferred=[],$err=null,j;try{$deferFrames.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(N===null){if(O){return null;}O=true;j=$global.require;if(j===undefined){$panic(new $String(""));}N=j($externalize("syscall",$String));}return N[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};R=$pkg.Syscall=function(i,j,k,l){var m=0,n=0,o=0,p,q,r,s,t,u,v,w,x,y,z,aa,ab;p=Q("Syscall");if(!(p===null)){q=p(i,j,k,l);r=(($parseInt(q[0])>>0)>>>0);s=(($parseInt(q[1])>>0)>>>0);t=(($parseInt(q[2])>>0)>>>0);m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=MD.make($parseInt(u.length));v.$array=u;J(v);w=($parseInt(u.length)>>>0);x=0;y=0;m=w;n=x;o=y;return[m,n,o];}I();z=(P>>>0);aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};S=$pkg.Syscall6=function(i,j,k,l,m,n,o){var p=0,q=0,r=0,s,t,u,v,w,x,y,z;s=Q("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=(($parseInt(t[0])>>0)>>>0);v=(($parseInt(t[1])>>0)>>>0);w=(($parseInt(t[2])>>0)>>>0);p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=(P>>>0);y=0;z=13;p=x;q=y;r=z;return[p,q,r];};V=$pkg.BytePtrFromString=function(i){var j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=new MD($stringToBytes(i));l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(n===0){return[MF.nil,new ER(22)];}j[m]=n;l++;}j[i.length]=0;return[j,$ifaceNil];};AU=function(){var i,j,k,l,m,n,o,p,q,r;AR=new $Map();i=AS;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=0;while(m=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+k]="";}break;}m=m+(1)>>0;}j++;}};AW=$pkg.Getenv=function(i){var j="",k=false,$deferred=[],$err=null,l,m,n,o,p,q,r,s,t,u,v,w,x,y;try{$deferFrames.push($deferred);AP.Do(AU);if(i.length===0){l="";m=false;j=l;k=m;return[j,k];}AQ.RLock();$deferred.push([$methodVal(AQ,"RUnlock"),[]]);n=(o=AR[i],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;return[j,k];}t=((p<0||p>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+p]);u=0;while(u>0));w=true;j=v;k=w;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;return[j,k];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[j,k];}};CQ=function(i){if(i<0){return"-"+CR((-i>>>0));}return CR((i>>>0));};CR=function(i){var j,k,l,m;j=$clone(MZ.zero(),MZ);k=31;while(i>=10){(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((i+48>>>0)<<24>>>24);return $bytesToString($subslice(new MD(j),k));};CT=$pkg.ByteSliceFromString=function(i){var j,k;j=0;while(j>0;}k=MD.make((i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};KI.Ptr.prototype.Unix=function(){var i=new $Int64(0,0),j=new $Int64(0,0),k,l,m;k=this;l=k.Sec;m=k.Nsec;i=l;j=m;return[i,j];};KI.prototype.Unix=function(){return this.$val.Unix();};KI.Ptr.prototype.Nano=function(){var i,j,k;i=this;return(j=$mul64(i.Sec,new $Int64(0,1000000000)),k=i.Nsec,new $Int64(j.$high+k.$high,j.$low+k.$low));};KI.prototype.Nano=function(){return this.$val.Nano();};CY=$pkg.ReadDirent=function(i,j){var k=0,l=$ifaceNil,m,n;m=new Uint8Array(8);n=HP(i,j,m);k=n[0];l=n[1];if(true&&($interfaceIsEqual(l,new ER(22))||$interfaceIsEqual(l,new ER(2)))){l=$ifaceNil;}return[k,l];};DO=$pkg.Sysctl=function(i){var j="",k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=DY(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=GM(m,MF.nil,new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){q="";r=k;j=q;k=r;return[j,k];}if(p===0){s="";t=$ifaceNil;j=s;k=t;return[j,k];}u=MD.make(p);k=GM(m,new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},u),new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){v="";w=k;j=v;k=w;return[j,k];}if(p>0&&((x=p-1>>>0,((x<0||x>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+x]))===0)){p=p-(1)>>>0;}y=$bytesToString($subslice(u,0,p));z=$ifaceNil;j=y;k=z;return[j,k];};DY=function(i){var j=MS.nil,k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w;l=$clone(NH.zero(),NH);m=48;n=$sliceToArray(new NE(l));o=CT(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=MS.nil;r=k;j=q;k=r;return[j,k];}k=GM(new MS([0,3]),n,new MT(function(){return m;},function($v){m=$v;}),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),(i.length>>>0));if(!($interfaceIsEqual(k,$ifaceNil))){s=MS.nil;t=k;j=s;k=t;return[j,k];}u=$subslice(new MS(l),0,(v=m/4,(v===v&&v!==1/0&&v!==-1/0)?v>>>0:$throwRuntimeError("integer divide by zero")));w=$ifaceNil;j=u;k=w;return[j,k];};DZ=$pkg.ParseDirent=function(i,j,k){var l=0,m=0,n=ME.nil,o,p,q,r,s,t,u,v,w,x,y;o=i.$length;while(!((j===0))&&i.$length>0){p=[undefined];p[0]=(q=$sliceToArray(i),r=new KW.Ptr(),s=new DataView(q.buffer,q.byteOffset),r.Ino=new $Uint64(s.getUint32(4,true),s.getUint32(0,true)),r.Seekoff=new $Uint64(s.getUint32(12,true),s.getUint32(8,true)),r.Reclen=s.getUint16(16,true),r.Namlen=s.getUint16(18,true),r.Type=s.getUint8(20,true),r.Name=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+21,q.buffer.byteLength)),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+1045,q.buffer.byteLength)),r);if(p[0].Reclen===0){i=MD.nil;break;}i=$subslice(i,p[0].Reclen);if((t=p[0].Ino,(t.$high===0&&t.$low===0))){continue;}u=$sliceToArray(new NE(p[0].Name));v=$bytesToString($subslice(new MD(u),0,p[0].Namlen));if(v==="."||v===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,v);}w=o-i.$length>>0;x=m;y=k;l=w;m=x;n=y;return[l,m,n];};EQ.Ptr.prototype.Mmap=function(i,j,k,l,m){var n=MD.nil,o=$ifaceNil,$deferred=[],$err=null,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;try{$deferFrames.push($deferred);p=this;if(k<=0){q=MD.nil;r=new ER(22);n=q;o=r;return[n,o];}s=p.mmap(0,(k>>>0),l,m,i,j);t=s[0];u=s[1];if(!($interfaceIsEqual(u,$ifaceNil))){v=MD.nil;w=u;n=v;o=w;return[n,o];}x=new NK.Ptr(t,k,k);y=x;ab=new MF(function(){return(aa=y.$capacity-1>>0,((aa<0||aa>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+aa]));},function($v){(z=y.$capacity-1>>0,(z<0||z>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+z]=$v);},y);p.Mutex.Lock();$deferred.push([$methodVal(p.Mutex,"Unlock"),[]]);ac=ab;(p.active||$throwRuntimeError("assignment to entry in nil map"))[ac.$key()]={k:ac,v:y};ad=y;ae=$ifaceNil;n=ad;o=ae;return[n,o];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[n,o];}};EQ.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EQ.Ptr.prototype.Munmap=function(i){var j=$ifaceNil,$deferred=[],$err=null,k,l,m,n,o,p,q;try{$deferFrames.push($deferred);k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new ER(22);return j;}n=new MF(function(){return(m=i.$capacity-1>>0,((m<0||m>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+m]));},function($v){(l=i.$capacity-1>>0,(l<0||l>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+l]=$v);},i);k.Mutex.Lock();$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);p=(o=k.active[n.$key()],o!==undefined?o.v:MD.nil);if(p===MD.nil||!($pointerIsEqual(new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},i)))){j=new ER(22);return j;}q=k.munmap($sliceToArray(p),(p.$length>>>0));if(!($interfaceIsEqual(q,$ifaceNil))){j=q;return j;}delete k.active[n.$key()];j=$ifaceNil;return j;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return j;}};EQ.prototype.Munmap=function(i){return this.$val.Munmap(i);};ER.prototype.Error=function(){var i,j;i=this.$val!==undefined?this.$val:this;if(0<=(i>>0)&&(i>>0)<106){j=((i<0||i>=FS.length)?$throwRuntimeError("index out of range"):FS[i]);if(!(j==="")){return j;}}return"errno "+CQ((i>>0));};$ptrType(ER).prototype.Error=function(){return new ER(this.$get()).Error();};ER.prototype.Temporary=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===4)||(i===24)||(i===54)||(i===53)||new ER(i).Timeout();};$ptrType(ER).prototype.Temporary=function(){return new ER(this.$get()).Temporary();};ER.prototype.Timeout=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===35)||(i===35)||(i===60);};$ptrType(ER).prototype.Timeout=function(){return new ER(this.$get()).Timeout();};ET=$pkg.Read=function(i,j){var k=0,l=$ifaceNil,m;m=IV(i,j);k=m[0];l=m[1];return[k,l];};EU=$pkg.Write=function(i,j){var k=0,l=$ifaceNil,m;m=JY(i,j);k=m[0];l=m[1];return[k,l];};GM=function(i,j,k,l,m){var n=$ifaceNil,o,p,q;o=0;if(i.$length>0){o=$sliceToArray(i);}else{o=new Uint8Array(0);}p=S(202,o,(i.$length>>>0),j,k,l,m);q=p[2];if(!((q===0))){n=new ER(q);}return n;};HA=$pkg.Close=function(i){var j=$ifaceNil,k,l;k=R(6,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HE=$pkg.Exit=function(i){R(1,(i>>>0),0,0);return;};HF=$pkg.Fchdir=function(i){var j=$ifaceNil,k,l;k=R(13,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HH=$pkg.Fchmod=function(i,j){var k=$ifaceNil,l,m;l=R(124,(i>>>0),(j>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HI=$pkg.Fchown=function(i,j,k){var l=$ifaceNil,m,n;m=R(123,(i>>>0),(j>>>0),(k>>>0));n=m[2];if(!((n===0))){l=new ER(n);}return l;};HL=$pkg.Fstat=function(i,j){var k=$ifaceNil,l,m,n,o,p;m=new Uint8Array(144);l=R(339,(i>>>0),m,0);p=l[2];n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));if(!((p===0))){k=new ER(p);}return k;};HN=$pkg.Fsync=function(i){var j=$ifaceNil,k,l;k=R(95,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HO=$pkg.Ftruncate=function(i,j){var k=$ifaceNil,l,m;l=R(201,(i>>>0),(j.$low>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HP=$pkg.Getdirentries=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(344,(i>>>0),n,(j.$length>>>0),k,0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};II=$pkg.Lstat=function(i,j){var k=$ifaceNil,l,m,n,o,p,q,r;l=MF.nil;m=V(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=R(340,l,o,0);r=n[2];p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));K(l);if(!((r===0))){k=new ER(r);}return k;};IT=$pkg.Pread=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(153,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IU=$pkg.Pwrite=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(154,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IV=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(3,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JA=$pkg.Seek=function(i,j,k){var l=new $Int64(0,0),m=$ifaceNil,n,o,p;n=R(199,(i>>>0),(j.$low>>>0),(k>>>0));o=n[0];p=n[2];l=new $Int64(0,o.constructor===Number?o:1);if(!((p===0))){m=new ER(p);}return[l,m];};JY=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(4,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JZ=function(i,j,k,l,m,n){var o=0,p=$ifaceNil,q,r,s;q=S(197,i,j,(k>>>0),(l>>>0),(m>>>0),(n.$low>>>0));r=q[0];s=q[2];o=r;if(!((s===0))){p=new ER(s);}return[o,p];};KA=function(i,j){var k=$ifaceNil,l,m;l=R(73,i,j,0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}MD=$sliceType($Uint8);ME=$sliceType($String);MF=$ptrType($Uint8);ML=$ptrType(ER);MS=$sliceType(KF);MT=$ptrType($Uintptr);MZ=$arrayType($Uint8,32);NE=$sliceType($Uint8);NG=$arrayType($Uint8,4);NH=$arrayType(KF,14);NK=$structType([["addr","addr","syscall",$Uintptr,""],["len","len","syscall",$Int,""],["cap","cap","syscall",$Int,""]]);NX=$ptrType(EQ);NY=$mapType(MF,MD);NZ=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);OA=$funcType([$Uintptr,$Uintptr],[$error],false);OF=$ptrType(KI);OG=$arrayType($Int64,2);OI=$arrayType($Int8,1024);OK=$arrayType($Uint8,3);NX.methods=[["Lock","Lock","",$funcType([],[],false),0],["Mmap","Mmap","",$funcType([$Int,$Int64,$Int,$Int,$Int],[MD,$error],false),-1],["Munmap","Munmap","",$funcType([MD],[$error],false),-1],["Unlock","Unlock","",$funcType([],[],false),0]];EQ.init([["Mutex","","",C.Mutex,""],["active","active","syscall",NY,""],["mmap","mmap","syscall",NZ,""],["munmap","munmap","syscall",OA,""]]);ER.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];ML.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];OF.methods=[["Nano","Nano","",$funcType([],[$Int64],false),-1],["Unix","Unix","",$funcType([],[$Int64,$Int64],false),-1]];KI.init([["Sec","Sec","",$Int64,""],["Nsec","Nsec","",$Int64,""]]);KO.init([["Dev","Dev","",$Int32,""],["Mode","Mode","",$Uint16,""],["Nlink","Nlink","",$Uint16,""],["Ino","Ino","",$Uint64,""],["Uid","Uid","",$Uint32,""],["Gid","Gid","",$Uint32,""],["Rdev","Rdev","",$Int32,""],["Pad_cgo_0","Pad_cgo_0","",NG,""],["Atimespec","Atimespec","",KI,""],["Mtimespec","Mtimespec","",KI,""],["Ctimespec","Ctimespec","",KI,""],["Birthtimespec","Birthtimespec","",KI,""],["Size","Size","",$Int64,""],["Blocks","Blocks","",$Int64,""],["Blksize","Blksize","",$Int32,""],["Flags","Flags","",$Uint32,""],["Gen","Gen","",$Uint32,""],["Lspare","Lspare","",$Int32,""],["Qspare","Qspare","",OG,""]]);KW.init([["Ino","Ino","",$Uint64,""],["Seekoff","Seekoff","",$Uint64,""],["Reclen","Reclen","",$Uint16,""],["Namlen","Namlen","",$Uint16,""],["Type","Type","",$Uint8,""],["Name","Name","",OI,""],["Pad_cgo_0","Pad_cgo_0","",OK,""]]);G=MD.nil;N=null;AP=new C.Once.Ptr();AQ=new C.RWMutex.Ptr();AR=false;F=false;O=false;P=-1;AS=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;FS=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by 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","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","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 family","address already in use","can't 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","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);DT=new EQ.Ptr(new C.Mutex.Ptr(),new $Map(),JZ,KA);H();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},I,J,D;D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once","Once","github.com/gopherjs/gopherjs/nosync",function(doing_,done_){this.$val=this;this.doing=doing_!==undefined?doing_:false;this.done=done_!==undefined?done_:false;});D.Ptr.prototype.Do=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;if(b.done){return;}if(b.doing){$panic(new $String("nosync: Do called within f"));}b.doing=true;$deferred.push([(function(){b.doing=false;b.done=true;}),[]]);a();}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};D.prototype.Do=function(a){return this.$val.Do(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:I=$funcType([],[],false);J=$ptrType(D);J.methods=[["Do","Do","",$funcType([I],[],false),-1]];D.init([["doing","doing","github.com/gopherjs/gopherjs/nosync",$Bool,""],["done","done","github.com/gopherjs/gopherjs/nosync",$Bool,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["strings"]=(function(){var $pkg={},B,A,C,E,D,BY,F,AB,AC,AD,AH,AI,AT,BU;B=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];E=$packages["unicode"];D=$packages["unicode/utf8"];F=$pkg.IndexByte=function(b,c){return $parseInt(b.indexOf($global.String.fromCharCode(c)))>>0;};AB=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=0;while(d>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d+(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AC=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=b.length-1>>0;while(d>=0){c=((((c>>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d-(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AD=$pkg.Count=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=0;if(c.length===0){return D.RuneCountInString(b)+1>>0;}else if(c.length===1){e=c.charCodeAt(0);f=0;while(f>0;}f=f+(1)>>0;}return d;}else if(c.length>b.length){return 0;}else if(c.length===b.length){if(c===b){return 1;}return 0;}g=AB(c);h=g[0];i=g[1];j=0;k=0;while(k>>16<<16)*16777619>>>0)+(j<<16>>>16)*16777619)>>>0)+(b.charCodeAt(k)>>>0)>>>0;k=k+(1)>>0;}l=0;if((j===h)&&b.substring(0,c.length)===c){d=d+(1)>>0;l=c.length;}m=c.length;while(m>>16<<16)*n>>>0)+(j<<16>>>16)*n)>>>0);j=j+((b.charCodeAt(m)>>>0))>>>0;j=j-((o=(b.charCodeAt((m-c.length>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;m=m+(1)>>0;if((j===h)&&l<=(m-c.length>>0)&&b.substring((m-c.length>>0),m)===c){d=d+(1)>>0;l=m;}}return d;};AH=$pkg.Index=function(b,c){var d,e,f,g,h,i,j,k,l;d=c.length;if(d===0){return 0;}else if(d===1){return F(b,c.charCodeAt(0));}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}e=AB(c);f=e[0];g=e[1];h=0;i=0;while(i>>16<<16)*16777619>>>0)+(h<<16>>>16)*16777619)>>>0)+(b.charCodeAt(i)>>>0)>>>0;i=i+(1)>>0;}if((h===f)&&b.substring(0,d)===c){return 0;}j=d;while(j>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);h=h+((b.charCodeAt(j)>>>0))>>>0;h=h-((l=(b.charCodeAt((j-d>>0))>>>0),(((g>>>16<<16)*l>>>0)+(g<<16>>>16)*l)>>>0))>>>0;j=j+(1)>>0;if((h===f)&&b.substring((j-d>>0),j)===c){return j-d>>0;}}return-1;};AI=$pkg.LastIndex=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=c.length;if(d===0){return b.length;}else if(d===1){e=c.charCodeAt(0);f=b.length-1>>0;while(f>=0){if(b.charCodeAt(f)===e){return f;}f=f-(1)>>0;}return-1;}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}g=AC(c);h=g[0];i=g[1];j=b.length-d>>0;k=0;l=b.length-1>>0;while(l>=j){k=((((k>>>16<<16)*16777619>>>0)+(k<<16>>>16)*16777619)>>>0)+(b.charCodeAt(l)>>>0)>>>0;l=l-(1)>>0;}if((k===h)&&b.substring(j)===c){return j;}m=j-1>>0;while(m>=0){k=(n=16777619,(((k>>>16<<16)*n>>>0)+(k<<16>>>16)*n)>>>0);k=k+((b.charCodeAt(m)>>>0))>>>0;k=k-((o=(b.charCodeAt((m+d>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;if((k===h)&&b.substring(m,(m+d>>0))===c){return m;}m=m-(1)>>0;}return-1;};AT=$pkg.Join=function(b,c){var d,e,f,g,h,i,j;if(b.$length===0){return"";}if(b.$length===1){return((0<0||0>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+0]);}d=c.length*((b.$length-1>>0))>>0;e=0;while(e=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+e]).length)>>0;e=e+(1)>>0;}f=BY.make(d);g=$copyString(f,((0<0||0>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+0]));h=$subslice(b,1);i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);g=g+($copyString($subslice(f,g),c))>>0;g=g+($copyString($subslice(f,g),j))>>0;i++;}return $bytesToString(f);};BU=$pkg.Replace=function(b,c,d,e){var f,g,h,i,j,k,l,m;if(c===d||(e===0)){return b;}f=AD(b,c);if(f===0){return b;}else if(e<0||f>0))>>0)>>0));h=0;i=0;j=0;while(j0){l=D.DecodeRuneInString(b.substring(i));m=l[1];k=k+(m)>>0;}}else{k=k+(AH(b.substring(i),c))>>0;}h=h+($copyString($subslice(g,h),b.substring(i,k)))>>0;h=h+($copyString($subslice(g,h),d))>>0;i=k+c.length>>0;j=j+(1)>>0;}h=h+($copyString($subslice(g,h),b.substring(i)))>>0;return $bytesToString($subslice(g,0,h));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}BY=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DD,DE,DF,DG,DH,DN,DQ,DR,DS,DT,AB,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DN=$ptrType(AB);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["os"]=(function(){var $pkg={},E,A,B,F,H,G,C,D,CX,CY,CZ,DB,DC,DD,DE,DK,DQ,DR,DS,DW,DX,DZ,W,X,AQ,BG,BH,BJ,CS,CT,CV,AO,AV,BV,CP,I,Y,AA,AD,AX,AY,BB,BI,BK,BN,BQ,BX,BY,CD,CJ,CL,CM,CQ;E=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["io"];F=$packages["runtime"];H=$packages["sync"];G=$packages["sync/atomic"];C=$packages["syscall"];D=$packages["time"];W=$pkg.PathError=$newType(0,$kindStruct,"os.PathError","PathError","os",function(Op_,Path_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Path=Path_!==undefined?Path_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});X=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError","SyscallError","os",function(Syscall_,Err_){this.$val=this;this.Syscall=Syscall_!==undefined?Syscall_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});AQ=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError","LinkError","os",function(Op_,Old_,New_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Old=Old_!==undefined?Old_:"";this.New=New_!==undefined?New_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});BG=$pkg.File=$newType(0,$kindStruct,"os.File","File","os",function(file_){this.$val=this;this.file=file_!==undefined?file_:DQ.nil;});BH=$pkg.file=$newType(0,$kindStruct,"os.file","file","os",function(fd_,name_,dirinfo_,nepipe_){this.$val=this;this.fd=fd_!==undefined?fd_:0;this.name=name_!==undefined?name_:"";this.dirinfo=dirinfo_!==undefined?dirinfo_:CY.nil;this.nepipe=nepipe_!==undefined?nepipe_:0;});BJ=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo","dirInfo","os",function(buf_,nbuf_,bufp_){this.$val=this;this.buf=buf_!==undefined?buf_:CZ.nil;this.nbuf=nbuf_!==undefined?nbuf_:0;this.bufp=bufp_!==undefined?bufp_:0;});CS=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo","FileInfo","os",null);CT=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode","FileMode","os",null);CV=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat","fileStat","os",function(name_,size_,mode_,modTime_,sys_){this.$val=this;this.name=name_!==undefined?name_:"";this.size=size_!==undefined?size_:new $Int64(0,0);this.mode=mode_!==undefined?mode_:0;this.modTime=modTime_!==undefined?modTime_:new D.Time.Ptr();this.sys=sys_!==undefined?sys_:$ifaceNil;});I=function(){var b,c,d,e;b=$global.process;if(b===undefined){return new CX(["browser"]);}c=b.argv;d=CX.make(($parseInt(c.length)-1>>0));e=0;while(e<($parseInt(c.length)-1>>0)){(e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=$internalize(c[(e+1>>0)],$String);e=e+(1)>>0;}return d;};BG.Ptr.prototype.readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=this;if(e.file.dirinfo===CY.nil){e.file.dirinfo=new BJ.Ptr();e.file.dirinfo.buf=CZ.make(4096);}f=e.file.dirinfo;g=b;if(g<=0){g=100;b=-1;}c=CX.make(0,g);while(!((b===0))){if(f.bufp>=f.nbuf){f.bufp=0;h=$ifaceNil;j=C.ReadDirent(e.file.fd,f.buf);i=AX(j[0],j[1]);f.nbuf=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){k=c;l=Y("readdirent",h);c=k;d=l;return[c,d];}if(f.nbuf<=0){break;}}m=0;n=0;o=m;p=n;q=C.ParseDirent($subslice(f.buf,f.bufp,f.nbuf),b,c);o=q[0];p=q[1];c=q[2];f.bufp=f.bufp+(o)>>0;b=b-(p)>>0;}if(b>=0&&(c.$length===0)){r=c;s=B.EOF;c=r;d=s;return[c,d];}t=c;u=$ifaceNil;c=t;d=u;return[c,d];};BG.prototype.readdirnames=function(b){return this.$val.readdirnames(b);};BG.Ptr.prototype.Readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=DB.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdir(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdir=function(b){return this.$val.Readdir(b);};BG.Ptr.prototype.Readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=CX.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdirnames(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdirnames=function(b){return this.$val.Readdirnames(b);};W.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Path+": "+b.Err.Error();};W.prototype.Error=function(){return this.$val.Error();};X.Ptr.prototype.Error=function(){var b;b=this;return b.Syscall+": "+b.Err.Error();};X.prototype.Error=function(){return this.$val.Error();};Y=$pkg.NewSyscallError=function(b,c){if($interfaceIsEqual(c,$ifaceNil)){return $ifaceNil;}return new X.Ptr(b,c);};AA=$pkg.IsNotExist=function(b){return AD(b);};AD=function(b){var c,d;d=b;if(d===$ifaceNil){c=d;return false;}else if($assertType(d,DD,true)[1]){c=d.$val;b=c.Err;}else if($assertType(d,DE,true)[1]){c=d.$val;b=c.Err;}return $interfaceIsEqual(b,new C.Errno(2))||$interfaceIsEqual(b,$pkg.ErrNotExist);};BG.Ptr.prototype.Name=function(){var b;b=this;return b.file.name;};BG.prototype.Name=function(){return this.$val.Name();};AQ.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Old+" "+b.New+": "+b.Err.Error();};AQ.prototype.Error=function(){return this.$val.Error();};BG.Ptr.prototype.Read=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l,m;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.read(b);c=h[0];i=h[1];if(c<0){c=0;}if((c===0)&&b.$length>0&&$interfaceIsEqual(i,$ifaceNil)){j=0;k=B.EOF;c=j;d=k;return[c,d];}if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("read",e.file.name,i);}l=c;m=d;c=l;d=m;return[c,d];};BG.prototype.Read=function(b){return this.$val.Read(b);};BG.Ptr.prototype.ReadAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l,m,n;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pread(b,c);j=i[0];k=i[1];if((j===0)&&$interfaceIsEqual(k,$ifaceNil)){l=d;m=B.EOF;d=l;e=m;return[d,e];}if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("read",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(n=new $Int64(0,j),new $Int64(c.$high+n.$high,c.$low+n.$low));}return[d,e];};BG.prototype.ReadAt=function(b,c){return this.$val.ReadAt(b,c);};BG.Ptr.prototype.Write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.write(b);c=h[0];i=h[1];if(c<0){c=0;}if(!((c===b.$length))){d=B.ErrShortWrite;}BK(e,i);if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("write",e.file.name,i);}j=c;k=d;c=j;d=k;return[c,d];};BG.prototype.Write=function(b){return this.$val.Write(b);};BG.Ptr.prototype.WriteAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pwrite(b,c);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("write",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(l=new $Int64(0,j),new $Int64(c.$high+l.$high,c.$low+l.$low));}return[d,e];};BG.prototype.WriteAt=function(b,c){return this.$val.WriteAt(b,c);};BG.Ptr.prototype.Seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g,h,i,j,k,l,m,n,o;f=this;if(f===DC.nil){g=new $Int64(0,0);h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.seek(b,c);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&!(f.file.dirinfo===CY.nil)&&!((j.$high===0&&j.$low===0))){k=new C.Errno(21);}if(!($interfaceIsEqual(k,$ifaceNil))){l=new $Int64(0,0);m=new W.Ptr("seek",f.file.name,k);d=l;e=m;return[d,e];}n=j;o=$ifaceNil;d=n;e=o;return[d,e];};BG.prototype.Seek=function(b,c){return this.$val.Seek(b,c);};BG.Ptr.prototype.WriteString=function(b){var c=0,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.Write(new CZ($stringToBytes(b)));c=h[0];d=h[1];return[c,d];};BG.prototype.WriteString=function(b){return this.$val.WriteString(b);};BG.Ptr.prototype.Chdir=function(){var b,c;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}c=C.Fchdir(b.file.fd);if(!($interfaceIsEqual(c,$ifaceNil))){return new W.Ptr("chdir",b.file.name,c);}return $ifaceNil;};BG.prototype.Chdir=function(){return this.$val.Chdir();};AX=function(b,c){if(b<0){b=0;}return[b,c];};AY=function(){$panic("Native function not implemented: os.sigpipe");};BB=function(b){var c=0;c=(c|((new CT(b).Perm()>>>0)))>>>0;if(!((((b&8388608)>>>0)===0))){c=(c|(2048))>>>0;}if(!((((b&4194304)>>>0)===0))){c=(c|(1024))>>>0;}if(!((((b&1048576)>>>0)===0))){c=(c|(512))>>>0;}return c;};BG.Ptr.prototype.Chmod=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Fchmod(c.file.fd,BB(b));if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("chmod",c.file.name,d);}return $ifaceNil;};BG.prototype.Chmod=function(b){return this.$val.Chmod(b);};BG.Ptr.prototype.Chown=function(b,c){var d,e;d=this;if(d===DC.nil){return $pkg.ErrInvalid;}e=C.Fchown(d.file.fd,b,c);if(!($interfaceIsEqual(e,$ifaceNil))){return new W.Ptr("chown",d.file.name,e);}return $ifaceNil;};BG.prototype.Chown=function(b,c){return this.$val.Chown(b,c);};BG.Ptr.prototype.Truncate=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Ftruncate(c.file.fd,b);if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("truncate",c.file.name,d);}return $ifaceNil;};BG.prototype.Truncate=function(b){return this.$val.Truncate(b);};BG.Ptr.prototype.Sync=function(){var b=$ifaceNil,c,d;c=this;if(c===DC.nil){b=$pkg.ErrInvalid;return b;}d=C.Fsync(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){b=Y("fsync",d);return b;}b=$ifaceNil;return b;};BG.prototype.Sync=function(){return this.$val.Sync();};BG.Ptr.prototype.Fd=function(){var b;b=this;if(b===DC.nil){return 4294967295;}return(b.file.fd>>>0);};BG.prototype.Fd=function(){return this.$val.Fd();};BI=$pkg.NewFile=function(b,c){var d,e;d=(b>>0);if(d<0){return DC.nil;}e=new BG.Ptr(new BH.Ptr(d,c,CY.nil,0));F.SetFinalizer(e.file,new DR($methodExpr(DQ.prototype.close)));return e;};BK=function(b,c){if($interfaceIsEqual(c,new C.Errno(32))){if(G.AddInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),1)>=10){AY();}}else{G.StoreInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),0);}};BG.Ptr.prototype.Close=function(){var b;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}return b.file.close();};BG.prototype.Close=function(){return this.$val.Close();};BH.Ptr.prototype.close=function(){var b,c,d;b=this;if(b===DQ.nil||b.fd<0){return new C.Errno(22);}c=$ifaceNil;d=C.Close(b.fd);if(!($interfaceIsEqual(d,$ifaceNil))){c=new W.Ptr("close",b.name,d);}b.fd=-1;F.SetFinalizer(b,$ifaceNil);return c;};BH.prototype.close=function(){return this.$val.close();};BG.Ptr.prototype.Stat=function(){var b=$ifaceNil,c=$ifaceNil,d,e,f,g,h,i,j,k;d=this;if(d===DC.nil){e=$ifaceNil;f=$pkg.ErrInvalid;b=e;c=f;return[b,c];}g=$clone(new C.Stat_t.Ptr(),C.Stat_t);c=C.Fstat(d.file.fd,g);if(!($interfaceIsEqual(c,$ifaceNil))){h=$ifaceNil;i=new W.Ptr("stat",d.file.name,c);b=h;c=i;return[b,c];}j=CL(g,d.file.name);k=$ifaceNil;b=j;c=k;return[b,c];};BG.prototype.Stat=function(){return this.$val.Stat();};BN=$pkg.Lstat=function(b){var c=$ifaceNil,d=$ifaceNil,e,f,g,h,i;e=$clone(new C.Stat_t.Ptr(),C.Stat_t);d=C.Lstat(b,e);if(!($interfaceIsEqual(d,$ifaceNil))){f=$ifaceNil;g=new W.Ptr("lstat",b,d);c=f;d=g;return[c,d];}h=CL(e,b);i=$ifaceNil;c=h;d=i;return[c,d];};BG.Ptr.prototype.readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=this;f=e.file.name;if(f===""){f=".";}g=e.Readdirnames(b);h=g[0];d=g[1];c=DB.make(0,h.$length);i=h;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);l=AV(f+"/"+k);m=l[0];n=l[1];if(AA(n)){j++;continue;}if(!($interfaceIsEqual(n,$ifaceNil))){o=c;p=n;c=o;d=p;return[c,d];}c=$append(c,m);j++;}q=c;r=d;c=q;d=r;return[c,d];};BG.prototype.readdir=function(b){return this.$val.readdir(b);};BG.Ptr.prototype.read=function(b){var c=0,d=$ifaceNil,e,f,g;e=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}g=C.Read(e.file.fd,b);f=AX(g[0],g[1]);c=f[0];d=f[1];return[c,d];};BG.prototype.read=function(b){return this.$val.read(b);};BG.Ptr.prototype.pread=function(b,c){var d=0,e=$ifaceNil,f,g,h;f=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}h=C.Pread(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pread=function(b,c){return this.$val.pread(b,c);};BG.Ptr.prototype.write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l;e=this;while(true){f=b;if(true&&f.$length>1073741824){f=$subslice(f,0,1073741824);}h=C.Write(e.file.fd,f);g=AX(h[0],h[1]);i=g[0];j=g[1];c=c+(i)>>0;if(01073741824){b=$subslice(b,0,1073741824);}h=C.Pwrite(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pwrite=function(b,c){return this.$val.pwrite(b,c);};BG.Ptr.prototype.seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g;f=this;g=C.Seek(f.file.fd,b,c);d=g[0];e=g[1];return[d,e];};BG.prototype.seek=function(b,c){return this.$val.seek(b,c);};BQ=function(b){var c;c=b.length-1>>0;while(c>0&&(b.charCodeAt(c)===47)){b=b.substring(0,c);c=c-(1)>>0;}c=c-(1)>>0;while(c>=0){if(b.charCodeAt(c)===47){b=b.substring((c+1>>0));break;}c=c-(1)>>0;}return b;};BX=function(){BV=BY;};BY=function(b){return!($interfaceIsEqual(b,new C.Errno(45)));};CD=function(){$pkg.Args=I();};CJ=$pkg.Exit=function(b){C.Exit(b);};CL=function(b,c){var d,e;d=new CV.Ptr(BQ(c),b.Size,0,$clone(CM(b.Mtimespec),D.Time),b);d.mode=(((b.Mode&511)>>>0)>>>0);e=(b.Mode&61440)>>>0;if(e===24576||e===57344){d.mode=(d.mode|(67108864))>>>0;}else if(e===8192){d.mode=(d.mode|(69206016))>>>0;}else if(e===16384){d.mode=(d.mode|(2147483648))>>>0;}else if(e===4096){d.mode=(d.mode|(33554432))>>>0;}else if(e===40960){d.mode=(d.mode|(134217728))>>>0;}else if(e===32768){}else if(e===49152){d.mode=(d.mode|(16777216))>>>0;}if(!((((b.Mode&1024)>>>0)===0))){d.mode=(d.mode|(4194304))>>>0;}if(!((((b.Mode&2048)>>>0)===0))){d.mode=(d.mode|(8388608))>>>0;}if(!((((b.Mode&512)>>>0)===0))){d.mode=(d.mode|(1048576))>>>0;}return d;};CM=function(b){b=$clone(b,C.Timespec);return D.Unix(b.Sec,b.Nsec);};CQ=function(){var b,c,d,e,f,g,h;b=C.Sysctl("kern.osrelease");c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}e=0;f=c;g=0;while(g2||(e===2)&&c.charCodeAt(0)>=49&&c.charCodeAt(1)>=49){CP=true;}};CT.prototype.String=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=this.$val!==undefined?this.$val:this;c=$clone(DK.zero(),DK);d=0;e="dalTLDpSugct";f=0;while(f>0)>>>0),j<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(i<<24>>>24);d=d+(1)>>0;}f+=g[1];}if(d===0){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;d=d+(1)>>0;}k="rwxrwxrwx";l=0;while(l>0)>>>0),p<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(o<<24>>>24);}else{(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;}d=d+(1)>>0;l+=m[1];}return $bytesToString($subslice(new CZ(c),0,d));};$ptrType(CT).prototype.String=function(){return new CT(this.$get()).String();};CT.prototype.IsDir=function(){var b;b=this.$val!==undefined?this.$val:this;return!((((b&2147483648)>>>0)===0));};$ptrType(CT).prototype.IsDir=function(){return new CT(this.$get()).IsDir();};CT.prototype.IsRegular=function(){var b;b=this.$val!==undefined?this.$val:this;return((b&2399141888)>>>0)===0;};$ptrType(CT).prototype.IsRegular=function(){return new CT(this.$get()).IsRegular();};CT.prototype.Perm=function(){var b;b=this.$val!==undefined?this.$val:this;return(b&511)>>>0;};$ptrType(CT).prototype.Perm=function(){return new CT(this.$get()).Perm();};CV.Ptr.prototype.Name=function(){var b;b=this;return b.name;};CV.prototype.Name=function(){return this.$val.Name();};CV.Ptr.prototype.IsDir=function(){var b;b=this;return new CT(b.Mode()).IsDir();};CV.prototype.IsDir=function(){return this.$val.IsDir();};CV.Ptr.prototype.Size=function(){var b;b=this;return b.size;};CV.prototype.Size=function(){return this.$val.Size();};CV.Ptr.prototype.Mode=function(){var b;b=this;return b.mode;};CV.prototype.Mode=function(){return this.$val.Mode();};CV.Ptr.prototype.ModTime=function(){var b;b=this;return b.modTime;};CV.prototype.ModTime=function(){return this.$val.ModTime();};CV.Ptr.prototype.Sys=function(){var b;b=this;return b.sys;};CV.prototype.Sys=function(){return this.$val.Sys();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}CX=$sliceType($String);CY=$ptrType(BJ);CZ=$sliceType($Uint8);DB=$sliceType(CS);DC=$ptrType(BG);DD=$ptrType(W);DE=$ptrType(AQ);DK=$arrayType($Uint8,32);DQ=$ptrType(BH);DR=$funcType([DQ],[$error],false);DS=$ptrType($Int32);DW=$ptrType(CV);DX=$ptrType(X);DZ=$ptrType(CT);DD.methods=[["Error","Error","",$funcType([],[$String],false),-1]];W.init([["Op","Op","",$String,""],["Path","Path","",$String,""],["Err","Err","",$error,""]]);DX.methods=[["Error","Error","",$funcType([],[$String],false),-1]];X.init([["Syscall","Syscall","",$String,""],["Err","Err","",$error,""]]);DE.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AQ.init([["Op","Op","",$String,""],["Old","Old","",$String,""],["New","New","",$String,""],["Err","Err","",$error,""]]);BG.methods=[["close","close","os",$funcType([],[$error],false),0]];DC.methods=[["Chdir","Chdir","",$funcType([],[$error],false),-1],["Chmod","Chmod","",$funcType([CT],[$error],false),-1],["Chown","Chown","",$funcType([$Int,$Int],[$error],false),-1],["Close","Close","",$funcType([],[$error],false),-1],["Fd","Fd","",$funcType([],[$Uintptr],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Read","Read","",$funcType([CZ],[$Int,$error],false),-1],["ReadAt","ReadAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["Readdir","Readdir","",$funcType([$Int],[DB,$error],false),-1],["Readdirnames","Readdirnames","",$funcType([$Int],[CX,$error],false),-1],["Seek","Seek","",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["Stat","Stat","",$funcType([],[CS,$error],false),-1],["Sync","Sync","",$funcType([],[$error],false),-1],["Truncate","Truncate","",$funcType([$Int64],[$error],false),-1],["Write","Write","",$funcType([CZ],[$Int,$error],false),-1],["WriteAt","WriteAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1],["close","close","os",$funcType([],[$error],false),0],["pread","pread","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["pwrite","pwrite","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["read","read","os",$funcType([CZ],[$Int,$error],false),-1],["readdir","readdir","os",$funcType([$Int],[DB,$error],false),-1],["readdirnames","readdirnames","os",$funcType([$Int],[CX,$error],false),-1],["seek","seek","os",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["write","write","os",$funcType([CZ],[$Int,$error],false),-1]];BG.init([["file","","os",DQ,""]]);DQ.methods=[["close","close","os",$funcType([],[$error],false),-1]];BH.init([["fd","fd","os",$Int,""],["name","name","os",$String,""],["dirinfo","dirinfo","os",CY,""],["nepipe","nepipe","os",$Int32,""]]);BJ.init([["buf","buf","os",CZ,""],["nbuf","nbuf","os",$Int,""],["bufp","bufp","os",$Int,""]]);CS.init([["IsDir","IsDir","",$funcType([],[$Bool],false)],["ModTime","ModTime","",$funcType([],[D.Time],false)],["Mode","Mode","",$funcType([],[CT],false)],["Name","Name","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Int64],false)],["Sys","Sys","",$funcType([],[$emptyInterface],false)]]);CT.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DZ.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DW.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[D.Time],false),-1],["Mode","Mode","",$funcType([],[CT],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];CV.init([["name","name","os",$String,""],["size","size","os",$Int64,""],["mode","mode","os",CT,""],["modTime","modTime","os",D.Time,""],["sys","sys","os",$emptyInterface,""]]);$pkg.Args=CX.nil;CP=false;$pkg.ErrInvalid=E.New("invalid argument");$pkg.ErrPermission=E.New("permission denied");$pkg.ErrExist=E.New("file already exists");$pkg.ErrNotExist=E.New("file does not exist");AO=E.New("os: process already finished");$pkg.Stdin=BI((C.Stdin>>>0),"/dev/stdin");$pkg.Stdout=BI((C.Stdout>>>0),"/dev/stdout");$pkg.Stderr=BI((C.Stderr>>>0),"/dev/stderr");BV=(function(b){return true;});AV=BN;BX();CD();CQ();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["strconv"]=(function(){var $pkg={},B,A,C,CI,CJ,CK,CL,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,Z,AD,AI,AP,AY,G,AE,AJ,AK,AL,AQ,AR,BD,BE,BF,BG,BM,AA,AB,AC,AF,AG,AH,AM,AN,AO,AT,AU,AV,AW,AX,AZ,BA,BB,BC,BI,BJ,BN,BO,BP,BR,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];Z=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal","decimal","strconv",function(d_,nd_,dp_,neg_,trunc_){this.$val=this;this.d=d_!==undefined?d_:CU.zero();this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;this.trunc=trunc_!==undefined?trunc_:false;});AD=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat","leftCheat","strconv",function(delta_,cutoff_){this.$val=this;this.delta=delta_!==undefined?delta_:0;this.cutoff=cutoff_!==undefined?cutoff_:"";});AI=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat","extFloat","strconv",function(mant_,exp_,neg_){this.$val=this;this.mant=mant_!==undefined?mant_:new $Uint64(0,0);this.exp=exp_!==undefined?exp_:0;this.neg=neg_!==undefined?neg_:false;});AP=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo","floatInfo","strconv",function(mantbits_,expbits_,bias_){this.$val=this;this.mantbits=mantbits_!==undefined?mantbits_:0;this.expbits=expbits_!==undefined?expbits_:0;this.bias=bias_!==undefined?bias_:0;});AY=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice","decimalSlice","strconv",function(d_,nd_,dp_,neg_){this.$val=this;this.d=d_!==undefined?d_:CL.nil;this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;});Z.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=CL.make(b);d=0;if(a.nd===0){return"0";}else if(a.dp<=0){(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=48;d=d+(1)>>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+(AA($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;}else if(a.dp>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;d=d+(AA($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return $bytesToString($subslice(c,0,d));};Z.prototype.String=function(){return this.$val.String();};AA=function(a){var b,c,d;b=a;c=0;while(c=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+d]=48;c++;}return a.$length;};AB=function(a){var b,c;while(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]))===48)){a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Z.Ptr.prototype.Assign=function(a){var b,c,d,e,f,g,h;b=this;c=$clone(CN.zero(),CN);d=0;while((a.$high>0||(a.$high===0&&a.$low>0))){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"):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(d>=0){(g=b.d,h=b.nd,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AB(b);};Z.prototype.Assign=function(a){return this.$val.Assign(a);};AC=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=0;d=0;e=0;while(((e>>$min(b,31))>>0)===0){if(c>=a.nd){if(e===0){a.nd=0;return;}while(((e>>$min(b,31))>>0)===0){e=e*10>>0;c=c+(1)>>0;}break;}g=((f=a.d,((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))>>0);e=((e*10>>0)+g>>0)-48>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;while(c=h.length)?$throwRuntimeError("index out of range"):h[c]))>>0);j=(e>>$min(b,31))>>0;e=e-(((k=b,k<32?(j<>0))>>0;(l=a.d,(d<0||d>=l.length)?$throwRuntimeError("index out of range"):l[d]=((j+48>>0)<<24>>>24));d=d+(1)>>0;e=((e*10>>0)+i>>0)-48>>0;c=c+(1)>>0;}while(e>0){m=(e>>$min(b,31))>>0;e=e-(((n=b,n<32?(m<>0))>>0;if(d<800){(o=a.d,(d<0||d>=o.length)?$throwRuntimeError("index out of range"):o[d]=((m+48>>0)<<24>>>24));d=d+(1)>>0;}else if(m>0){a.trunc=true;}e=e*10>>0;}a.nd=d;AB(a);};AF=function(a,b){var c;c=0;while(c=a.$length){return true;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])>0;}return false;};AG=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).delta;if(AF($subslice(new CL(a.d),0,a.nd),((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(d>=0){f=f+(((g=b,g<32?(((((h=a.d,((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]))>>0)-48>>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"):l[e]=((k+48>>0)<<24>>>24));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(f>0){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"):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;AB(a);};Z.Ptr.prototype.Shift=function(a){var b;b=this;if(b.nd===0){}else if(a>0){while(a>27){AG(b,27);a=a-(27)>>0;}AG(b,(a>>>0));}else if(a<0){while(a<-27){AC(b,27);a=a+(27)>>0;}AC(b,(-a>>>0));}};Z.prototype.Shift=function(a){return this.$val.Shift(a);};AH=function(a,b){var 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"):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"):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"):g[b]))>=53;};Z.Ptr.prototype.Round=function(a){var b;b=this;if(a<0||a>=b.nd){return;}if(AH(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Z.prototype.Round=function(a){return this.$val.Round(a);};Z.Ptr.prototype.RoundDown=function(a){var b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AB(b);};Z.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Z.Ptr.prototype.RoundUp=function(a){var b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(c>=0){e=(d=b.d,((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));if(e<57){f=b.d;g=c;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(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;};Z.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Z.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(b=f.length)?$throwRuntimeError("index out of range"):f[b]))-48<<24>>>24)),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(b>0;}if(AH(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Z.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AI.Ptr.prototype.AssignComputeBounds=function(a,b,c,d){var e=new AI.Ptr(),f=new AI.Ptr(),g,h,i,j,k,l,m,n,o;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,AI);j=$clone(g,AI);$copy(e,i,AI);$copy(f,j,AI);return[e,f];}k=b-d.bias>>0;$copy(f,new AI.Ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg),AI);if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){$copy(e,new AI.Ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg),AI);}else{$copy(e,new AI.Ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg),AI);}return[e,f];};AI.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AI.Ptr.prototype.Normalize=function(){var a=0,b,c,d,e,f,g,h,i,j,k,l,m,n;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;};AI.prototype.Normalize=function(){return this.$val.Normalize();};AI.Ptr.prototype.Multiply=function(a){var 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;a=$clone(a,AI);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;};AI.prototype.Multiply=function(a){return this.$val.Multiply(a);};AI.Ptr.prototype.AssignDecimal=function(a,b,c,d,e){var f=false,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;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>=AL.length)?$throwRuntimeError("index out of range"):AL[n])),(a.$high=AL.length)?$throwRuntimeError("index out of range"):AL[l])));g.Normalize();}else{g.Normalize();g.Multiply(((l<0||l>=AJ.length)?$throwRuntimeError("index out of range"):AJ[l]));h=h+(4)>>0;}g.Multiply(((j<0||j>=AK.length)?$throwRuntimeError("index out of range"):AK[j]));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<>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>0))*28>>0)/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>=AK.length)?$throwRuntimeError("index out of range"):AK[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(((g<0||g>=AK.length)?$throwRuntimeError("index out of range"):AK[g]));i=-((-348+(g*8>>0)>>0));j=g;a=i;b=j;return[a,b];};AI.prototype.frexp10=function(){return this.$val.frexp10();};AM=function(a,b,c){var d=0,e,f;e=c.frexp10();d=e[0];f=e[1];a.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));b.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));return d;};AI.Ptr.prototype.FixedDecimal=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,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,an,ao,ap;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(r<20){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>=AL.length)?$throwRuntimeError("index out of range"):AL[v]));h=(w=h/((o.$low>>>0)),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-((x=(o.$low>>>0),(((h>>>16<<16)*x>>>0)+(h<<16>>>16)*x)>>>0))>>>0;}else{u=0;}y=$clone(CO.zero(),CO);z=32;aa=h;while(aa>0){ac=(ab=aa/10,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"));aa=aa-(((((10>>>16<<16)*ac>>>0)+(10<<16>>>16)*ac)>>>0))>>>0;z=z-(1)>>0;(z<0||z>=y.length)?$throwRuntimeError("index out of range"):y[z]=((aa+48>>>0)<<24>>>24);aa=ac;}ad=z;while(ad<32){(ae=a.d,af=ad-z>>0,(af<0||af>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+af]=((ad<0||ad>=y.length)?$throwRuntimeError("index out of range"):y[ad]));ad=ad+(1)>>0;}ag=32-z>>0;a.nd=ag;a.dp=n+f>>0;m=m-(ag)>>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(m>0){k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ah=$mul64(new $Uint64(0,2),l),ai=$shiftLeft64(new $Uint64(0,1),g),(ah.$high>ai.$high||(ah.$high===ai.$high&&ah.$low>ai.$low)))){return false;}aj=$shiftRightUint64(k,g);(ak=a.d,(ag<0||ag>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+ag]=(new $Uint64(aj.$high+0,aj.$low+48).$low<<24>>>24));k=(al=$shiftLeft64(aj,g),new $Uint64(k.$high-al.$high,k.$low-al.$low));ag=ag+(1)>>0;m=m-(1)>>0;}a.nd=ag;}an=AN(a,(am=$shiftLeft64(new $Uint64(0,u),g),new $Uint64(am.$high|k.$high,(am.$low|k.$low)>>>0)),o,g,l);if(!an){return false;}ao=a.nd-1>>0;while(ao>=0){if(!(((ap=a.d,((ao<0||ao>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+ao]))===48))){a.nd=ao+1>>0;break;}ao=ao-(1)>>0;}return true;};AI.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AN=function(a,b,c,d,e){var 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<h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(m>=0){if((n=a.d,((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):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<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0]=49);a.nd=1;a.dp=a.dp+(1)>>0;}else{p=a.d;q=m;(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q])+(1)<<24>>>24;}return true;}return false;};AI.Ptr.prototype.ShortestDecimal=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;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,AI)&&$equal(b,c,AI)){f=$clone(CN.zero(),CN);g=23;h=d.mant;while((h.$high>0||(h.$high===0&&h.$low>0))){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"):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(l=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?$throwRuntimeError("index out of range"):f[m])));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))===48)){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=AM(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(al<20){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(ao>0)-1>>0,((ap<0||ap>=AL.length)?$throwRuntimeError("index out of range"):AL[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"):at.$array[at.$offset+ao]=((as+48>>>0)<<24>>>24));y=y-((au=(aq.$low>>>0),(((as>>>16<<16)*au>>>0)+(as<<16>>>16)*au)>>>0))>>>0;aw=(av=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(av.$high+ab.$high,av.$low+ab.$low));if((aw.$high>0;a.dp=ai+s>>0;a.neg=d.neg;return AO(a,aw,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;ax=0;ay=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ay=$mul64(ay,(new $Uint64(0,10)));ax=($shiftRightUint64(ab,x).$low>>0);(az=a.d,ba=a.nd,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=((ax+48>>0)<<24>>>24));a.nd=a.nd+(1)>>0;ab=(bb=$shiftLeft64(new $Uint64(0,ax),x),new $Uint64(ab.$high-bb.$high,ab.$low-bb.$low));if((bc=$mul64(ae,ay),(ab.$high>0;(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])-(1)<<24>>>24;b=(m=e,new $Uint64(b.$high+m.$high,b.$low+m.$low));}if((n=new $Uint64(b.$high+e.$high,b.$low+e.$low),o=(p=(q=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+q.$high,c.$low+q.$low)),new $Uint64(p.$high+f.$high,p.$low+f.$low)),(n.$highr.$high||(b.$high===r.$high&&b.$low>r.$low)))){return false;}if((a.nd===1)&&((s=a.d,((0<0||0>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AT=$pkg.AppendFloat=function(a,b,c,d,e){return AU(a,b,c,d,e);};AU=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;f=new $Uint64(0,0);g=CP.nil;h=e;if(h===32){f=new $Uint64(0,A.Float32bits(b));g=AQ;}else if(h===64){f=A.Float64bits(b);g=AR;}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<>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<>0)-1>>0)){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,new CL($stringToBytes(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 BB(a,j,o,l,g);}if(!G){return AV(a,d,c,j,o,l,g);}t=$clone(new AY.Ptr(),AY);u=false;v=d<0;if(v){w=new AI.Ptr();x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AI);z=$clone(x[1],AI);aa=$clone(CO.zero(),CO);t.d=new CL(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AV(a,d,c,j,o,l,g);}ab=c;if(ab===101||ab===69){d=t.nd-1>>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=$clone(CN.zero(),CN);t.d=new CL(ae);af=new AI.Ptr(o,l-(g.mantbits>>0)>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AV(a,d,c,j,o,l,g);}return AW(a,v,j,t,d,c);};AV=function(a,b,c,d,e,f,g){var h,i,j,k,l;h=new Z.Ptr();h.Assign(e);h.Shift(f-(g.mantbits>>0)>>0);i=$clone(new AY.Ptr(),AY);j=b<0;if(j){AX(h,e,f,g);$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);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);}$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);}return AW(a,j,d,i,b,c);};AW=function(a,b,c,d,e,f){var g,h,i;d=$clone(d,AY);g=f;if(g===101||g===69){return AZ(a,c,d,e,f);}else if(g===102){return BA(a,c,d,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 AZ(a,c,d,e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return BA(a,c,d,BC(e-d.dp>>0,0));}return $append(a,37,f);};AX=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&(332*((a.dp-a.nd>>0))>>0)>=(100*((c-(d.mantbits>>0)>>0))>>0)){return;}f=new Z.Ptr();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 Z.Ptr();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(p=w.length)?$throwRuntimeError("index out of range"):w[p]));}else{t=48;}u=(x=a.d,((p<0||p>=x.length)?$throwRuntimeError("index out of range"):x[p]));if(p=y.length)?$throwRuntimeError("index out of range"):y[p]));}else{v=48;}z=!((t===u))||(o&&(t===u)&&((p+1>>0)===l.nd));aa=!((u===v))&&(o||(u+1<<24>>>24)>0)>0);return;}else if(z){a.RoundDown(p+1>>0);return;}else if(aa){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AZ=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;c=$clone(c,AY);if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,((0<0||0>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=((c.nd+d>>0)+1>>0)-BC(c.nd,d+1>>0)>>0;while(h=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])));h=h+(1)>>0;}while(h<=d){a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);k=c.dp-1>>0;if(c.nd===0){k=0;}if(k<0){f=45;k=-k;}else{f=43;}a=$append(a,f);l=$clone(CQ.zero(),CQ);m=3;while(k>=10){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((n=k%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);k=(o=k/(10),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));}m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((k+48>>0)<<24>>>24);p=m;if(p===0){a=$append(a,l[0],l[1],l[2]);}else if(p===1){a=$append(a,l[1],l[2]);}else if(p===2){a=$append(a,48,l[2]);}return a;};BA=function(a,b,c,d){var e,f,g,h,i,j;c=$clone(c,AY);if(b){a=$append(a,45);}if(c.dp>0){e=0;e=0;while(e=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+e])));e=e+(1)>>0;}while(e>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);g=0;while(g>0;if(0<=i&&i=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]));}a=$append(a,h);g=g+(1)>>0;}}return a;};BB=function(a,b,c,d,e){var f,g,h,i,j,k,l;f=$clone(CR.zero(),CR);g=50;d=d-((e.mantbits>>0))>>0;h=43;if(d<0){h=45;d=-d;}i=0;while(d>0||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(((j=d%10,j===j?j:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);d=(k=d/(10),(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));}g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=h;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=112;i=0;while((c.$high>0||(c.$high===0&&c.$low>0))||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((l=$div64(c,new $Uint64(0,10),true),new $Uint64(l.$high+0,l.$low+48)).$low<<24>>>24);c=$div64(c,(new $Uint64(0,10)),false);}if(b){g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=45;}return $appendSlice(a,$subslice(new CL(f),g));};BC=function(a,b){if(a>b){return a;}return b;};BI=$pkg.FormatInt=function(a,b){var c,d;c=BN(CL.nil,new $Uint64(a.$high,a.$low),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};BJ=$pkg.Itoa=function(a){return BI(new $Int64(0,a),10);};BN=function(a,b,c,d,e){var f=CL.nil,g="",h,i,j,k,l,m,n,o,p,q,r,s,t;if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=$clone(CS.zero(),CS);i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){while((b.$high>0||(b.$high===0&&b.$low>=100))){i=i-(2)>>0;j=$div64(b,new $Uint64(0,100),false);l=((k=$mul64(j,new $Uint64(0,100)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0);(m=i+1>>0,(m<0||m>=h.length)?$throwRuntimeError("index out of range"):h[m]="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".charCodeAt(l));(n=i+0>>0,(n<0||n>=h.length)?$throwRuntimeError("index out of range"):h[n]="0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999".charCodeAt(l));b=j;}if((b.$high>0||(b.$high===0&&b.$low>=10))){i=i-(1)>>0;o=$div64(b,new $Uint64(0,10),false);(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((p=$mul64(o,new $Uint64(0,10)),new $Uint64(b.$high-p.$high,b.$low-p.$low)).$low>>>0));b=o;}}else{q=((c<0||c>=BM.length)?$throwRuntimeError("index out of range"):BM[c]);if(q>0){r=new $Uint64(0,c);s=(r.$low>>>0)-1>>>0;while((b.$high>r.$high||(b.$high===r.$high&&b.$low>=r.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((b.$low>>>0)&s)>>>0));b=$shiftRightUint64(b,(q));}}else{t=new $Uint64(0,c);while((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(($div64(b,t,true).$low>>>0));b=$div64(b,(t),false);}}}i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0));if(d){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=45;}if(e){f=$appendSlice(a,$subslice(new CL(h),i));return[f,g];}g=$bytesToString($subslice(new CL(h),i));return[f,g];};BO=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=$clone(CT.zero(),CT);f=CL.make(0,(e=(3*a.length>>0)/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")));f=$append(f,b);g=0;while(a.length>0){h=(a.charCodeAt(0)>>0);g=1;if(h>=128){i=C.DecodeRuneInString(a);h=i[0];g=i[1];}if((g===1)&&(h===65533)){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));a=a.substring(g);continue;}if((h===(b>>0))||(h===92)){f=$append(f,92);f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}if(c){if(h<128&&CE(h)){f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}}else if(CE(h)){j=C.EncodeRune(new CL(d),h);f=$appendSlice(f,$subslice(new CL(d),0,j));a=a.substring(g);continue;}k=h;if(k===7){f=$appendSlice(f,new CL($stringToBytes("\\a")));}else if(k===8){f=$appendSlice(f,new CL($stringToBytes("\\b")));}else if(k===12){f=$appendSlice(f,new CL($stringToBytes("\\f")));}else if(k===10){f=$appendSlice(f,new CL($stringToBytes("\\n")));}else if(k===13){f=$appendSlice(f,new CL($stringToBytes("\\r")));}else if(k===9){f=$appendSlice(f,new CL($stringToBytes("\\t")));}else if(k===11){f=$appendSlice(f,new CL($stringToBytes("\\v")));}else{if(h<32){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));}else if(h>1114111){h=65533;f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else if(h<65536){f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else{f=$appendSlice(f,new CL($stringToBytes("\\U")));m=28;while(m>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((m>>>0),31))>>0)&15)));m=m-(4)>>0;}}}a=a.substring(g);}f=$append(f,b);return $bytesToString(f);};BP=$pkg.Quote=function(a){return BO(a,34,false);};BR=$pkg.QuoteToASCII=function(a){return BO(a,34,true);};BT=$pkg.QuoteRune=function(a){return BO($encodeRune(a),39,false);};BU=$pkg.AppendQuoteRune=function(a,b){return $appendSlice(a,new CL($stringToBytes(BT(b))));};BV=$pkg.QuoteRuneToASCII=function(a){return BO($encodeRune(a),39,true);};BW=$pkg.AppendQuoteRuneToASCII=function(a,b){return $appendSlice(a,new CL($stringToBytes(BV(b))));};BX=$pkg.CanBackquote=function(a){var b,c,d;while(a.length>0){b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=a.substring(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;};BY=function(a){var b=0,c=false,d,e,f,g,h,i,j;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];};BZ=$pkg.UnquoteChar=function(a,b){var c=0,d=false,e="",f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;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=a.substring(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=a.substring(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=a.substring(2);t=s;switch(0){default: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>0)|z;x=x+(1)>>0;}a=a.substring(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(ac<2){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=a.substring(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];};CA=$pkg.Unquote=function(a){var b="",c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,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,an;d=a.length;if(d<2){e="";f=$pkg.ErrSyntax;b=e;c=f;return[b,c];}g=a.charCodeAt(0);if(!((g===a.charCodeAt((d-1>>0))))){h="";i=$pkg.ErrSyntax;b=h;c=i;return[b,c];}a=a.substring(1,(d-1>>0));if(g===96){if(CB(a,96)){j="";k=$pkg.ErrSyntax;b=j;c=k;return[b,c];}l=a;m=$ifaceNil;b=l;c=m;return[b,c];}if(!((g===34))&&!((g===39))){n="";o=$pkg.ErrSyntax;b=n;c=o;return[b,c];}if(CB(a,10)){p="";q=$pkg.ErrSyntax;b=p;c=q;return[b,c];}if(!CB(a,92)&&!CB(a,g)){r=g;if(r===34){s=a;t=$ifaceNil;b=s;c=t;return[b,c];}else if(r===39){u=C.DecodeRuneInString(a);v=u[0];w=u[1];if((w===a.length)&&(!((v===65533))||!((w===1)))){x=a;y=$ifaceNil;b=x;c=y;return[b,c];}}}z=$clone(CT.zero(),CT);ab=CL.make(0,(aa=(3*a.length>>0)/2,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>0:$throwRuntimeError("integer divide by zero")));while(a.length>0){ac=BZ(a,g);ad=ac[0];ae=ac[1];af=ac[2];ag=ac[3];if(!($interfaceIsEqual(ag,$ifaceNil))){ah="";ai=ag;b=ah;c=ai;return[b,c];}a=af;if(ad<128||!ae){ab=$append(ab,(ad<<24>>>24));}else{aj=C.EncodeRune(new CL(z),ad);ab=$appendSlice(ab,$subslice(new CL(z),0,aj));}if((g===39)&&!((a.length===0))){ak="";al=$pkg.ErrSyntax;b=ak;c=al;return[b,c];}}am=$bytesToString(ab);an=$ifaceNil;b=am;c=an;return[b,c];};CB=function(a,b){var c;c=0;while(c>0;}return false;};CC=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CD=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CE=$pkg.IsPrint=function(a){var 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=CC(f,e);if(h>=f.$length||e<(i=h&~1,((i<0||i>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]))=g.$length||!((((k<0||k>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+k])===e));}l=(a>>>0);m=BF;n=BG;o=l;p=m;q=n;r=CD(p,o);if(r>=p.$length||o<(s=r&~1,((s<0||s>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+t]))=131072){return true;}a=a-(65536)>>0;u=CC(q,(a<<16>>>16));return u>=q.$length||!((((u<0||u>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+u])===(a<<16>>>16)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}CI=$sliceType(AD);CJ=$sliceType($Uint16);CK=$sliceType($Uint32);CL=$sliceType($Uint8);CN=$arrayType($Uint8,24);CO=$arrayType($Uint8,32);CP=$ptrType(AP);CQ=$arrayType($Uint8,3);CR=$arrayType($Uint8,50);CS=$arrayType($Uint8,65);CT=$arrayType($Uint8,4);CU=$arrayType($Uint8,800);CV=$ptrType(Z);CW=$ptrType(AY);CX=$ptrType(AI);CV.methods=[["Assign","Assign","",$funcType([$Uint64],[],false),-1],["Round","Round","",$funcType([$Int],[],false),-1],["RoundDown","RoundDown","",$funcType([$Int],[],false),-1],["RoundUp","RoundUp","",$funcType([$Int],[],false),-1],["RoundedInteger","RoundedInteger","",$funcType([],[$Uint64],false),-1],["Shift","Shift","",$funcType([$Int],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["set","set","strconv",$funcType([$String],[$Bool],false),-1]];Z.init([["d","d","strconv",CU,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""],["trunc","trunc","strconv",$Bool,""]]);AD.init([["delta","delta","strconv",$Int,""],["cutoff","cutoff","strconv",$String,""]]);CX.methods=[["AssignComputeBounds","AssignComputeBounds","",$funcType([$Uint64,$Int,$Bool,CP],[AI,AI],false),-1],["AssignDecimal","AssignDecimal","",$funcType([$Uint64,$Int,$Bool,$Bool,CP],[$Bool],false),-1],["FixedDecimal","FixedDecimal","",$funcType([CW,$Int],[$Bool],false),-1],["Multiply","Multiply","",$funcType([AI],[],false),-1],["Normalize","Normalize","",$funcType([],[$Uint],false),-1],["ShortestDecimal","ShortestDecimal","",$funcType([CW,CX,CX],[$Bool],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["frexp10","frexp10","strconv",$funcType([],[$Int,$Int],false),-1]];AI.init([["mant","mant","strconv",$Uint64,""],["exp","exp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);AP.init([["mantbits","mantbits","strconv",$Uint,""],["expbits","expbits","strconv",$Uint,""],["bias","bias","strconv",$Int,""]]);AY.init([["d","d","strconv",CL,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);G=true;$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AE=new CI([new AD.Ptr(0,""),new AD.Ptr(1,"5"),new AD.Ptr(1,"25"),new AD.Ptr(1,"125"),new AD.Ptr(2,"625"),new AD.Ptr(2,"3125"),new AD.Ptr(2,"15625"),new AD.Ptr(3,"78125"),new AD.Ptr(3,"390625"),new AD.Ptr(3,"1953125"),new AD.Ptr(4,"9765625"),new AD.Ptr(4,"48828125"),new AD.Ptr(4,"244140625"),new AD.Ptr(4,"1220703125"),new AD.Ptr(5,"6103515625"),new AD.Ptr(5,"30517578125"),new AD.Ptr(5,"152587890625"),new AD.Ptr(6,"762939453125"),new AD.Ptr(6,"3814697265625"),new AD.Ptr(6,"19073486328125"),new AD.Ptr(7,"95367431640625"),new AD.Ptr(7,"476837158203125"),new AD.Ptr(7,"2384185791015625"),new AD.Ptr(7,"11920928955078125"),new AD.Ptr(8,"59604644775390625"),new AD.Ptr(8,"298023223876953125"),new AD.Ptr(8,"1490116119384765625"),new AD.Ptr(9,"7450580596923828125")]);AJ=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(2147483648,0),-63,false),new AI.Ptr(new $Uint64(2684354560,0),-60,false),new AI.Ptr(new $Uint64(3355443200,0),-57,false),new AI.Ptr(new $Uint64(4194304000,0),-54,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3276800000,0),-47,false),new AI.Ptr(new $Uint64(4096000000,0),-44,false),new AI.Ptr(new $Uint64(2560000000,0),-40,false)]);AK=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(4203730336,136053384),-1220,false),new AI.Ptr(new $Uint64(3132023167,2722021238),-1193,false),new AI.Ptr(new $Uint64(2333539104,810921078),-1166,false),new AI.Ptr(new $Uint64(3477244234,1573795306),-1140,false),new AI.Ptr(new $Uint64(2590748842,1432697645),-1113,false),new AI.Ptr(new $Uint64(3860516611,1025131999),-1087,false),new AI.Ptr(new $Uint64(2876309015,3348809418),-1060,false),new AI.Ptr(new $Uint64(4286034428,3200048207),-1034,false),new AI.Ptr(new $Uint64(3193344495,1097586188),-1007,false),new AI.Ptr(new $Uint64(2379227053,2424306748),-980,false),new AI.Ptr(new $Uint64(3545324584,827693699),-954,false),new AI.Ptr(new $Uint64(2641472655,2913388981),-927,false),new AI.Ptr(new $Uint64(3936100983,602835915),-901,false),new AI.Ptr(new $Uint64(2932623761,1081627501),-874,false),new AI.Ptr(new $Uint64(2184974969,1572261463),-847,false),new AI.Ptr(new $Uint64(3255866422,1308317239),-821,false),new AI.Ptr(new $Uint64(2425809519,944281679),-794,false),new AI.Ptr(new $Uint64(3614737867,629291719),-768,false),new AI.Ptr(new $Uint64(2693189581,2545915892),-741,false),new AI.Ptr(new $Uint64(4013165208,388672741),-715,false),new AI.Ptr(new $Uint64(2990041083,708162190),-688,false),new AI.Ptr(new $Uint64(2227754207,3536207675),-661,false),new AI.Ptr(new $Uint64(3319612455,450088378),-635,false),new AI.Ptr(new $Uint64(2473304014,3139815830),-608,false),new AI.Ptr(new $Uint64(3685510180,2103616900),-582,false),new AI.Ptr(new $Uint64(2745919064,224385782),-555,false),new AI.Ptr(new $Uint64(4091738259,3737383206),-529,false),new AI.Ptr(new $Uint64(3048582568,2868871352),-502,false),new AI.Ptr(new $Uint64(2271371013,1820084875),-475,false),new AI.Ptr(new $Uint64(3384606560,885076051),-449,false),new AI.Ptr(new $Uint64(2521728396,2444895829),-422,false),new AI.Ptr(new $Uint64(3757668132,1881767613),-396,false),new AI.Ptr(new $Uint64(2799680927,3102062735),-369,false),new AI.Ptr(new $Uint64(4171849679,2289335700),-343,false),new AI.Ptr(new $Uint64(3108270227,2410191823),-316,false),new AI.Ptr(new $Uint64(2315841784,3205436779),-289,false),new AI.Ptr(new $Uint64(3450873173,1697722806),-263,false),new AI.Ptr(new $Uint64(2571100870,3497754540),-236,false),new AI.Ptr(new $Uint64(3831238852,707476230),-210,false),new AI.Ptr(new $Uint64(2854495385,1769181907),-183,false),new AI.Ptr(new $Uint64(4253529586,2197867022),-157,false),new AI.Ptr(new $Uint64(3169126500,2450594539),-130,false),new AI.Ptr(new $Uint64(2361183241,1867548876),-103,false),new AI.Ptr(new $Uint64(3518437208,3793315116),-77,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3906250000,0),-24,false),new AI.Ptr(new $Uint64(2910383045,2892103680),3,false),new AI.Ptr(new $Uint64(2168404344,4170451332),30,false),new AI.Ptr(new $Uint64(3231174267,3372684723),56,false),new AI.Ptr(new $Uint64(2407412430,2078956656),83,false),new AI.Ptr(new $Uint64(3587324068,2884206696),109,false),new AI.Ptr(new $Uint64(2672764710,395977285),136,false),new AI.Ptr(new $Uint64(3982729777,3569679143),162,false),new AI.Ptr(new $Uint64(2967364920,2361961896),189,false),new AI.Ptr(new $Uint64(2210859150,447440347),216,false),new AI.Ptr(new $Uint64(3294436857,1114709402),242,false),new AI.Ptr(new $Uint64(2454546732,2786846552),269,false),new AI.Ptr(new $Uint64(3657559652,443583978),295,false),new AI.Ptr(new $Uint64(2725094297,2599384906),322,false),new AI.Ptr(new $Uint64(4060706939,3028118405),348,false),new AI.Ptr(new $Uint64(3025462433,2044532855),375,false),new AI.Ptr(new $Uint64(2254145170,1536935362),402,false),new AI.Ptr(new $Uint64(3358938053,3365297469),428,false),new AI.Ptr(new $Uint64(2502603868,4204241075),455,false),new AI.Ptr(new $Uint64(3729170365,2577424355),481,false),new AI.Ptr(new $Uint64(2778448436,3677981733),508,false),new AI.Ptr(new $Uint64(4140210802,2744688476),534,false),new AI.Ptr(new $Uint64(3084697427,1424604878),561,false),new AI.Ptr(new $Uint64(2298278679,4062331362),588,false),new AI.Ptr(new $Uint64(3424702107,3546052773),614,false),new AI.Ptr(new $Uint64(2551601907,2065781727),641,false),new AI.Ptr(new $Uint64(3802183132,2535403578),667,false),new AI.Ptr(new $Uint64(2832847187,1558426518),694,false),new AI.Ptr(new $Uint64(4221271257,2762425404),720,false),new AI.Ptr(new $Uint64(3145092172,2812560400),747,false),new AI.Ptr(new $Uint64(2343276271,3057687578),774,false),new AI.Ptr(new $Uint64(3491753744,2790753324),800,false),new AI.Ptr(new $Uint64(2601559269,3918606633),827,false),new AI.Ptr(new $Uint64(3876625403,2711358621),853,false),new AI.Ptr(new $Uint64(2888311001,1648096297),880,false),new AI.Ptr(new $Uint64(2151959390,2057817989),907,false),new AI.Ptr(new $Uint64(3206669376,61660461),933,false),new AI.Ptr(new $Uint64(2389154863,1581580175),960,false),new AI.Ptr(new $Uint64(3560118173,2626467905),986,false),new AI.Ptr(new $Uint64(2652494738,3034782633),1013,false),new AI.Ptr(new $Uint64(3952525166,3135207385),1039,false),new AI.Ptr(new $Uint64(2944860731,2616258155),1066,false)]);AL=$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)]);AQ=new AP.Ptr(23,8,-127);AR=new AP.Ptr(52,11,-1023);BD=new CJ([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,2226,2276,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,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,3161,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3406,3415,3415,3424,3427,3430,3445,3449,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,5108,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,7295,7360,7367,7376,7417,7424,7669,7676,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8381,8400,8432,8448,8585,8592,9210,9216,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11842,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40908,40960,42124,42128,42182,42192,42539,42560,42743,42752,42925,42928,42929,42999,43051,43056,43065,43072,43127,43136,43204,43214,43225,43232,43259,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43871,43876,43877,43968,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,65069,65072,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CJ([173,907,909,930,1328,1376,1416,1424,1757,2111,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,3200,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,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42654,42895,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CK([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65932,65936,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,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67840,67867,67871,67897,67903,67903,67968,68023,68030,68031,68096,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,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70088,70093,70093,70096,70106,70113,70132,70144,70205,70320,70378,70384,70393,70401,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70487,70487,70493,70499,70502,70508,70512,70516,70784,70855,70864,70873,71040,71093,71096,71113,71168,71236,71248,71257,71296,71351,71360,71369,71840,71922,71935,71935,72384,72440,73728,74648,74752,74868,77824,78894,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119261,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,120831,124928,125124,125127,125142,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,127386,127462,127490,127504,127546,127552,127560,127568,127569,127744,127788,127792,127869,127872,127950,127956,127991,128000,128330,128336,128578,128581,128719,128736,128748,128752,128755,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,131072,173782,173824,177972,177984,178205,194560,195101,917760,917999]);BG=new CJ([12,39,59,62,926,2057,2102,2134,2564,2580,2584,4285,4405,4626,4868,4905,4913,4916,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,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,62719,62842,62884]);BM=$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;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["reflect"]=(function(){var $pkg={},B,E,A,C,D,FF,FG,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GE,GF,GG,GH,GI,GJ,GO,GQ,GR,GS,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HF,HG,HH,HI,AF,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BS,BT,BU,CT,CU,CX,CZ,F,BR,DG,G,H,I,J,K,L,M,N,O,P,T,U,V,W,Y,AC,AD,AE,AG,AH,AI,AJ,AK,AM,AN,AO,AP,AQ,BW,BY,BZ,CA,CL,CQ,DH,DZ,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW;B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["math"];A=$packages["runtime"];C=$packages["strconv"];D=$packages["sync"];AF=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter","mapIter","reflect",function(t_,m_,keys_,i_){this.$val=this;this.t=t_!==undefined?t_:$ifaceNil;this.m=m_!==undefined?m_:null;this.keys=keys_!==undefined?keys_:null;this.i=i_!==undefined?i_:0;});AZ=$pkg.Type=$newType(8,$kindInterface,"reflect.Type","Type","reflect",null);BA=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind","Kind","reflect",null);BB=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype","rtype","reflect",function(size_,hash_,_$2_,align_,fieldAlign_,kind_,alg_,gc_,string_,uncommonType_,ptrToThis_,zero_){this.$val=this;this.size=size_!==undefined?size_:0;this.hash=hash_!==undefined?hash_:0;this._$2=_$2_!==undefined?_$2_:0;this.align=align_!==undefined?align_:0;this.fieldAlign=fieldAlign_!==undefined?fieldAlign_:0;this.kind=kind_!==undefined?kind_:0;this.alg=alg_!==undefined?alg_:FP.nil;this.gc=gc_!==undefined?gc_:FQ.zero();this.string=string_!==undefined?string_:FR.nil;this.uncommonType=uncommonType_!==undefined?uncommonType_:FS.nil;this.ptrToThis=ptrToThis_!==undefined?ptrToThis_:FF.nil;this.zero=zero_!==undefined?zero_:0;});BC=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg","typeAlg","reflect",function(hash_,equal_){this.$val=this;this.hash=hash_!==undefined?hash_:$throwNilPointerError;this.equal=equal_!==undefined?equal_:$throwNilPointerError;});BD=$pkg.method=$newType(0,$kindStruct,"reflect.method","method","reflect",function(name_,pkgPath_,mtyp_,typ_,ifn_,tfn_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.mtyp=mtyp_!==undefined?mtyp_:FF.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.ifn=ifn_!==undefined?ifn_:0;this.tfn=tfn_!==undefined?tfn_:0;});BE=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType","uncommonType","reflect",function(name_,pkgPath_,methods_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.methods=methods_!==undefined?methods_:FT.nil;});BF=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir","ChanDir","reflect",null);BG=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType","arrayType","reflect",function(rtype_,elem_,slice_,len_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.slice=slice_!==undefined?slice_:FF.nil;this.len=len_!==undefined?len_:0;});BH=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType","chanType","reflect",function(rtype_,elem_,dir_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.dir=dir_!==undefined?dir_:0;});BI=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType","funcType","reflect",function(rtype_,dotdotdot_,in$2_,out_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.dotdotdot=dotdotdot_!==undefined?dotdotdot_:false;this.in$2=in$2_!==undefined?in$2_:FU.nil;this.out=out_!==undefined?out_:FU.nil;});BJ=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod","imethod","reflect",function(name_,pkgPath_,typ_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;});BK=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType","interfaceType","reflect",function(rtype_,methods_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.methods=methods_!==undefined?methods_:FV.nil;});BL=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType","mapType","reflect",function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.key=key_!==undefined?key_:FF.nil;this.elem=elem_!==undefined?elem_:FF.nil;this.bucket=bucket_!==undefined?bucket_:FF.nil;this.hmap=hmap_!==undefined?hmap_:FF.nil;this.keysize=keysize_!==undefined?keysize_:0;this.indirectkey=indirectkey_!==undefined?indirectkey_:0;this.valuesize=valuesize_!==undefined?valuesize_:0;this.indirectvalue=indirectvalue_!==undefined?indirectvalue_:0;this.bucketsize=bucketsize_!==undefined?bucketsize_:0;});BM=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType","ptrType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BN=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType","sliceType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BO=$pkg.structField=$newType(0,$kindStruct,"reflect.structField","structField","reflect",function(name_,pkgPath_,typ_,tag_,offset_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.tag=tag_!==undefined?tag_:FR.nil;this.offset=offset_!==undefined?offset_:0;});BP=$pkg.structType=$newType(0,$kindStruct,"reflect.structType","structType","reflect",function(rtype_,fields_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.fields=fields_!==undefined?fields_:FW.nil;});BQ=$pkg.Method=$newType(0,$kindStruct,"reflect.Method","Method","reflect",function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Func=Func_!==undefined?Func_:new CT.Ptr();this.Index=Index_!==undefined?Index_:0;});BS=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField","StructField","reflect",function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Tag=Tag_!==undefined?Tag_:"";this.Offset=Offset_!==undefined?Offset_:0;this.Index=Index_!==undefined?Index_:GH.nil;this.Anonymous=Anonymous_!==undefined?Anonymous_:false;});BT=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag","StructTag","reflect",null);BU=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan","fieldScan","reflect",function(typ_,index_){this.$val=this;this.typ=typ_!==undefined?typ_:GJ.nil;this.index=index_!==undefined?index_:GH.nil;});CT=$pkg.Value=$newType(0,$kindStruct,"reflect.Value","Value","reflect",function(typ_,ptr_,flag_){this.$val=this;this.typ=typ_!==undefined?typ_:FF.nil;this.ptr=ptr_!==undefined?ptr_:0;this.flag=flag_!==undefined?flag_:0;});CU=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag","flag","reflect",null);CX=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError","ValueError","reflect",function(Method_,Kind_){this.$val=this;this.Method=Method_!==undefined?Method_:"";this.Kind=Kind_!==undefined?Kind_:0;});CZ=$pkg.nonEmptyInterface=$newType(0,$kindStruct,"reflect.nonEmptyInterface","nonEmptyInterface","reflect",function(itab_,word_){this.$val=this;this.itab=itab_!==undefined?itab_:GA.nil;this.word=word_!==undefined?word_:0;});G=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar;ad=(function(ad){});ad((ae=new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0),new ae.constructor.Struct(ae)));ad((af=new BE.Ptr(FR.nil,FR.nil,FT.nil),new af.constructor.Struct(af)));ad((ag=new BD.Ptr(FR.nil,FR.nil,FF.nil,FF.nil,0,0),new ag.constructor.Struct(ag)));ad((ah=new BG.Ptr(new BB.Ptr(),FF.nil,FF.nil,0),new ah.constructor.Struct(ah)));ad((ai=new BH.Ptr(new BB.Ptr(),FF.nil,0),new ai.constructor.Struct(ai)));ad((aj=new BI.Ptr(new BB.Ptr(),false,FU.nil,FU.nil),new aj.constructor.Struct(aj)));ad((ak=new BK.Ptr(new BB.Ptr(),FV.nil),new ak.constructor.Struct(ak)));ad((al=new BL.Ptr(new BB.Ptr(),FF.nil,FF.nil,FF.nil,FF.nil,0,0,0,0,0),new al.constructor.Struct(al)));ad((am=new BM.Ptr(new BB.Ptr(),FF.nil),new am.constructor.Struct(am)));ad((an=new BN.Ptr(new BB.Ptr(),FF.nil),new an.constructor.Struct(an)));ad((ao=new BP.Ptr(new BB.Ptr(),FW.nil),new ao.constructor.Struct(ao)));ad((ap=new BJ.Ptr(FR.nil,FR.nil,FF.nil),new ap.constructor.Struct(ap)));ad((aq=new BO.Ptr(FR.nil,FR.nil,FF.nil,FR.nil,0),new aq.constructor.Struct(aq)));ar=$pkg;ar.RecvDir=1;ar.SendDir=2;ar.BothDir=3;$reflect=ar;F=true;DG=$assertType(O(new $Uint8(0)),FF);};H=function(ad){return ad.jsType;};I=function(ad){return ad.reflectType();};J=function(ad){var ae;ae=ad.Kind();if(ae===1||ae===2||ae===3||ae===4||ae===5||ae===7||ae===8||ae===9||ae===10||ae===12||ae===13||ae===14||ae===17||ae===21||ae===19||ae===24||ae===25){return true;}else if(ae===22){return ad.Elem().Kind()===17;}return false;};K=function(ad,ae,af){var ag,ah,ai;ag=H(af).fields;ah=0;while(ah<$parseInt(ag.length)){ai=$internalize(ag[ah][0],$String);ad[$externalize(ai,$String)]=ae[$externalize(ai,$String)];ah=ah+(1)>>0;}};L=function(ad,ae,af){var ag;ag=ad.common();if((ad.Kind()===17)||(ad.Kind()===25)||(ad.Kind()===22)){return new CT.Ptr(ag,ae,(af|(ad.Kind()>>>0))>>>0);}return new CT.Ptr(ag,$newDataPointer(ae,H(ag.ptrTo())),(((af|(ad.Kind()>>>0))>>>0)|64)>>>0);};M=$pkg.MakeSlice=function(ad,ae,af){if(!((ad.Kind()===23))){$panic(new $String("reflect.MakeSlice of non-slice type"));}if(ae<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(af<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ae>af){$panic(new $String("reflect.MakeSlice: len > cap"));}return L(ad,H(ad).make(ae,af,(function(){return H(ad.Elem()).zero();})),0);};N=function(){return I($packages[$externalize("github.com/gopherjs/gopherjs/js",$String)].Object);};O=$pkg.TypeOf=function(ad){var ae;if(!F){return new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0);}if($interfaceIsEqual(ad,$ifaceNil)){return $ifaceNil;}ae=ad.constructor;if(ae.kind===undefined){return N();}return I(ae);};P=$pkg.ValueOf=function(ad){var ae;if($interfaceIsEqual(ad,$ifaceNil)){return new CT.Ptr(FF.nil,0,0);}ae=ad.constructor;if(ae.kind===undefined){return new CT.Ptr(N(),ad,20);}return L(I(ae),ad.$val,0);};BB.Ptr.prototype.ptrTo=function(){var ad;ad=this;return I($ptrType(H(ad)));};BB.prototype.ptrTo=function(){return this.$val.ptrTo();};T=$pkg.SliceOf=function(ad){return I($sliceType(H(ad)));};U=$pkg.Zero=function(ad){return L(ad,H(ad).zero(),0);};V=function(ad){var ae;ae=ad.Kind();if(ae===25){return new(H(ad).Ptr)();}else if(ae===17){return H(ad).zero();}else{return $newDataPointer(H(ad).zero(),H(ad.ptrTo()));}};W=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.Kind();if(ai===3){ah.$set((ae.$low<<24>>24));}else if(ai===4){ah.$set((ae.$low<<16>>16));}else if(ai===2||ai===5){ah.$set((ae.$low>>0));}else if(ai===6){ah.$set(new $Int64(ae.$high,ae.$low));}else if(ai===8){ah.$set((ae.$low<<24>>>24));}else if(ai===9){ah.$set((ae.$low<<16>>>16));}else if(ai===7||ai===10||ai===12){ah.$set((ae.$low>>>0));}else if(ai===11){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};Y=function(ad,ae,af){ad.$set(ae.$get());};AC=function(ad,ae,af){var ag,ah;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}ah=ae[$externalize($internalize(ag,$String),$String)];if(ah===undefined){return 0;}return $newDataPointer(ah.v,H(BW(ad.Elem())));};AD=function(ad,ae,af,ag){var ah,ai,aj,ak,al,am;ah=af.$get();ai=ah;if(!(ai.$key===undefined)){ai=ai.$key();}aj=ag.$get();ak=ad.Elem();if(ak.Kind()===25){al=H(ak).zero();K(al,aj,ak);aj=al;}am=new($global.Object)();am.k=ah;am.v=aj;ae[$externalize($internalize(ai,$String),$String)]=am;};AE=function(ad,ae,af){var ag;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}delete ae[$externalize($internalize(ag,$String),$String)];};AG=function(ad,ae){return new AF.Ptr(ad,ae,$keys(ae),0);};AH=function(ad){var ae,af;ae=ad;af=ae.keys[ae.i];return $newDataPointer(ae.m[$externalize($internalize(af,$String),$String)].k,H(BW(ae.t.Key())));};AI=function(ad){var ae;ae=ad;ae.i=ae.i+(1)>>0;};AJ=function(ad){return $parseInt($keys(ad).length);};AK=function(ad,ae){var af,ag,ah,ai,aj;ad=ad;af=ad.object();if(af===H(ad.typ).nil){return L(ae,H(ae).nil,ad.flag);}ag=null;ah=ae.Kind();ai=ah;switch(0){default:if(ai===18){ag=new(H(ae))();}else if(ai===23){aj=new(H(ae))(af.$array);aj.$offset=af.$offset;aj.$length=af.$length;aj.$capacity=af.$capacity;ag=$newDataPointer(aj,H(BW(ae)));}else if(ai===22){if(ae.Elem().Kind()===25){if($interfaceIsEqual(ae.Elem(),ad.typ.Elem())){ag=af;break;}ag=new(H(ae))();K(ag,af,ae.Elem());break;}ag=new(H(ae))(af.$get,af.$set);}else if(ai===25){ag=new(H(ae).Ptr)();K(ag,af,ae);}else if(ai===17||ai===19||ai===20||ai===21||ai===24){ag=ad.ptr;}else{$panic(new CX.Ptr("reflect.Convert",ah));}}return new CT.Ptr(ae.common(),ag,(((ad.flag&96)>>>0)|(ae.Kind()>>>0))>>>0);};AM=function(ad,ae,af){var ag=FF.nil,ah=FF.nil,ai=0,aj,ak,al,am,an,ao,ap,aq,ar;ae=ae;aj="";if(ae.typ.Kind()===20){ak=ae.typ.interfaceType;if(af<0||af>=ak.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}am=(al=ak.methods,((af<0||af>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+af]));if(!($pointerIsEqual(am.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}an=$clone(ae.ptr,CZ);if(an.itab===GA.nil){$panic(new $String("reflect: "+ad+" of method on nil interface value"));}ah=am.typ;aj=am.name.$get();}else{ao=ae.typ.uncommonType.uncommon();if(ao===FS.nil||af<0||af>=ao.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}aq=(ap=ao.methods,((af<0||af>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+af]));if(!($pointerIsEqual(aq.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}ah=aq.mtyp;aj=$internalize(H(ae.typ).methods[af][0],$String);}ar=ae.object();if(J(ae.typ)){ar=new(H(ae.typ))(ar);}ai=ar[$externalize(aj,$String)];return[ag,ah,ai];};AN=function(ad,ae){ad=ad;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.Interface",0));}if(ae&&!((((ad.flag&32)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((ad.flag&256)>>>0)===0))){ad=AQ("Interface",ad);}if(J(ad.typ)){return new(H(ad.typ))(ad.object());}return ad.object();};AO=function(ad,ae,af){af.$set(ae);};AP=function(){return"?FIXME?";};AQ=function(ad,ae){var af,ag,ah,ai;ae=ae;if(((ae.flag&256)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}af=AM(ad,ae,(ae.flag>>0)>>9>>0);ag=af[2];ah=ae.object();if(J(ae.typ)){ah=new(H(ae.typ))(ah);}ai=(function(){return ag.apply(ah,$externalize(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),GB));});return new CT.Ptr(ae.Type().common(),ai,(((ae.flag&32)>>>0)|19)>>>0);};BB.Ptr.prototype.pointers=function(){var ad,ae;ad=this;ae=ad.Kind();if(ae===22||ae===21||ae===18||ae===19||ae===25||ae===17){return true;}else{return false;}};BB.prototype.pointers=function(){return this.$val.pointers();};BB.Ptr.prototype.Comparable=function(){var ad,ae,af;ad=this;ae=ad.Kind();if(ae===19||ae===23||ae===21){return false;}else if(ae===17){return ad.Elem().Comparable();}else if(ae===25){af=0;while(af>0;}}return true;};BB.prototype.Comparable=function(){return this.$val.Comparable();};BE.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah,ai,aj,ak,al;af=this;if(af===FS.nil||ad<0||ad>=af.methods.$length){$panic(new $String("reflect: Method index out of range"));}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}ai=19;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();ai=(ai|(32))>>>0;}aj=ah.typ;ae.Type=aj;ak=$internalize(af.jsType.methods[ad][0],$String);al=(function(al){return al[$externalize(ak,$String)].apply(al,$externalize($subslice(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),1),GB));});ae.Func=new CT.Ptr(aj,al,ai);ae.Index=ad;return ae;};BE.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.object=function(){var ad,ae,af,ag;ad=this;if((ad.typ.Kind()===17)||(ad.typ.Kind()===25)){return ad.ptr;}if(!((((ad.flag&64)>>>0)===0))){ae=ad.ptr.$get();if(!(ae===$ifaceNil)&&!(ae.constructor===H(ad.typ))){af=ad.typ.Kind();switch(0){default:if(af===11||af===6){ae=new(H(ad.typ))(ae.$high,ae.$low);}else if(af===15||af===16){ae=new(H(ad.typ))(ae.$real,ae.$imag);}else if(af===23){if(ae===ae.constructor.nil){ae=H(ad.typ).nil;break;}ag=new(H(ad.typ))(ae.$array);ag.$offset=ae.$offset;ag.$length=ae.$length;ag.$capacity=ae.$capacity;ae=ag;}}}return ae;}return ad.ptr;};CT.prototype.object=function(){return this.$val.object();};CT.Ptr.prototype.call=function(ad,ae){var 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;af=this;ag=af.typ;ah=0;ai=null;if(!((((af.flag&256)>>>0)===0))){aj=AM(ad,af,(af.flag>>0)>>9>>0);ag=aj[1];ah=aj[2];ai=af.object();if(J(af.typ)){ai=new(H(af.typ))(ai);}}else{ah=af.object();}if(ah===0){$panic(new $String("reflect.Value.Call: call of nil function"));}ak=ad==="CallSlice";al=ag.NumIn();if(ak){if(!ag.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ae.$lengthal){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(ag.IsVariadic()){al=al-(1)>>0;}if(ae.$lengthal){$panic(new $String("reflect: Call with too many input arguments"));}}am=ae;an=0;while(an=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);if(ao.Kind()===0){$panic(new $String("reflect: "+ad+" using zero Value argument"));}an++;}ap=0;while(ap=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ap]).Type();ar=ag.In(ap);as=aq;at=ar;if(!as.AssignableTo(at)){$panic(new $String("reflect: "+ad+" using "+as.String()+" as type "+at.String()));}ap=ap+(1)>>0;}if(!ak&&ag.IsVariadic()){au=ae.$length-al>>0;av=M(ag.In(al),au,au);aw=ag.In(al).Elem();ax=0;while(ax>0,((ay<0||ay>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ay]));ba=az.Type();if(!ba.AssignableTo(aw)){$panic(new $String("reflect: cannot use "+ba.String()+" as type "+aw.String()+" in "+ad));}av.Index(ax).Set(az);ax=ax+(1)>>0;}bb=ae;ae=FX.make((al+1>>0));$copySlice($subslice(ae,0,al),bb);(al<0||al>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+al]=av;}bc=ae.$length;if(!((bc===ag.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bd=ag.NumOut();be=new($global.Array)(ag.NumIn());bf=ae;bg=0;while(bg=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bg]);be[bh]=bi.assignTo("reflect.Value.Call",ag.In(bh).common(),0).object();bg++;}bj=ah.apply(ai,be);bk=bd;if(bk===0){return FX.nil;}else if(bk===1){return new FX([$clone(L(ag.Out(0),bj,0),CT)]);}else{bl=FX.make(bd);bm=bl;bn=0;while(bn=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bo]=L(ag.Out(bo),bj[bo],0);bn++;}return bl;}};CT.prototype.call=function(ad,ae){return this.$val.call(ad,ae);};CT.Ptr.prototype.Cap=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17){return ad.typ.Len();}else if(af===18||af===23){return $parseInt(ad.object().$capacity)>>0;}$panic(new CX.Ptr("reflect.Value.Cap",ae));};CT.prototype.Cap=function(){return this.$val.Cap();};CT.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj,ak;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===20){ag=ad.object();if(ag===$ifaceNil){return new CT.Ptr(FF.nil,0,0);}ah=I(ag.constructor);return L(ah,ag.$val,(ad.flag&32)>>>0);}else if(af===22){if(ad.IsNil()){return new CT.Ptr(FF.nil,0,0);}ai=ad.object();aj=ad.typ.ptrType;ak=(((((ad.flag&32)>>>0)|64)>>>0)|128)>>>0;ak=(ak|((aj.elem.Kind()>>>0)))>>>0;return new CT.Ptr(aj.elem,ai,ak);}else{$panic(new CX.Ptr("reflect.Value.Elem",ae));}};CT.prototype.Elem=function(){return this.$val.Elem();};CT.Ptr.prototype.Field=function(ad){var ae,af,ag,ah,ai,aj,ak,al;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.structType;if(ad<0||ad>=af.fields.$length){$panic(new $String("reflect: Field index out of range"));}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ai=$internalize(H(ae.typ).fields[ad][0],$String);aj=ah.typ;ak=(ae.flag&224)>>>0;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ak=(ak|(32))>>>0;}ak=(ak|((aj.Kind()>>>0)))>>>0;al=ae.ptr;if(!((((ak&64)>>>0)===0))&&!((aj.Kind()===17))&&!((aj.Kind()===25))){return new CT.Ptr(aj,new(H(BW(aj)))((function(){return al[$externalize(ai,$String)];}),(function(am){al[$externalize(ai,$String)]=am;})),ak);}return L(aj,al[$externalize(ai,$String)],ak);};CT.prototype.Field=function(ad){return this.$val.Field(ad);};CT.Ptr.prototype.Index=function(ad){var ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===17){ah=ae.typ.arrayType;if(ad<0||ad>(ah.len>>0)){$panic(new $String("reflect: array index out of range"));}ai=ah.elem;aj=(ae.flag&224)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;ak=ae.ptr;if(!((((aj&64)>>>0)===0))&&!((ai.Kind()===17))&&!((ai.Kind()===25))){return new CT.Ptr(ai,new(H(BW(ai)))((function(){return ak[ad];}),(function(al){ak[ad]=al;})),aj);}return L(ai,ak[ad],aj);}else if(ag===23){al=ae.object();if(ad<0||ad>=($parseInt(al.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}am=ae.typ.sliceType;an=am.elem;ao=(192|((ae.flag&32)>>>0))>>>0;ao=(ao|((an.Kind()>>>0)))>>>0;ad=ad+(($parseInt(al.$offset)>>0))>>0;ap=al.$array;if(!((((ao&64)>>>0)===0))&&!((an.Kind()===17))&&!((an.Kind()===25))){return new CT.Ptr(an,new(H(BW(an)))((function(){return ap[ad];}),(function(aq){ap[ad]=aq;})),ao);}return L(an,ap[ad],ao);}else if(ag===24){aq=ae.ptr.$get();if(ad<0||ad>=aq.length){$panic(new $String("reflect: string index out of range"));}ar=(((ae.flag&32)>>>0)|8)>>>0;as=aq.charCodeAt(ad);return new CT.Ptr(DG,new GC(function(){return as;},function($v){as=$v;}),(ar|64)>>>0);}else{$panic(new CX.Ptr("reflect.Value.Index",af));}};CT.prototype.Index=function(ad){return this.$val.Index(ad);};CT.Ptr.prototype.IsNil=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===22||af===23){return ad.object()===H(ad.typ).nil;}else if(af===19){return ad.object()===$throwNilPointerError;}else if(af===21){return ad.object()===false;}else if(af===20){return ad.object()===$ifaceNil;}else{$panic(new CX.Ptr("reflect.Value.IsNil",ae));}};CT.prototype.IsNil=function(){return this.$val.IsNil();};CT.Ptr.prototype.Len=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17||af===24){return $parseInt(ad.object().length);}else if(af===23){return $parseInt(ad.object().$length)>>0;}else if(af===18){return $parseInt(ad.object().$buffer.length)>>0;}else if(af===21){return $parseInt($keys(ad.object()).length);}else{$panic(new CX.Ptr("reflect.Value.Len",ae));}};CT.prototype.Len=function(){return this.$val.Len();};CT.Ptr.prototype.Pointer=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===21||af===22||af===26){if(ad.IsNil()){return 0;}return ad.object();}else if(af===19){if(ad.IsNil()){return 0;}return 1;}else if(af===23){if(ad.IsNil()){return 0;}return ad.object().$array;}else{$panic(new CX.Ptr("reflect.Value.Pointer",ae));}};CT.prototype.Pointer=function(){return this.$val.Pointer();};CT.Ptr.prototype.Set=function(ad){var ae,af;ae=this;ad=ad;new CU(ae.flag).mustBeAssignable();new CU(ad.flag).mustBeExported();ad=ad.assignTo("reflect.Set",ae.typ,0);if(!((((ae.flag&64)>>>0)===0))){af=ae.typ.Kind();if(af===17){$copy(ae.ptr,ad.ptr,H(ae.typ));}else if(af===20){ae.ptr.$set(AN(ad,false));}else if(af===25){K(ae.ptr,ad.ptr,ae.typ);}else{ae.ptr.$set(ad.object());}return;}ae.ptr=ad.ptr;};CT.prototype.Set=function(ad){return this.$val.Set(ad);};CT.Ptr.prototype.SetCap=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<($parseInt(af.$length)>>0)||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=af.$length;ag.$capacity=ad;ae.ptr.$set(ag);};CT.prototype.SetCap=function(ad){return this.$val.SetCap(ad);};CT.Ptr.prototype.SetLen=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<0||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=ad;ag.$capacity=af.$capacity;ae.ptr.$set(ag);};CT.prototype.SetLen=function(ad){return this.$val.SetLen(ad);};CT.Ptr.prototype.Slice=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am;af=this;ag=0;ah=$ifaceNil;ai=null;aj=new CU(af.flag).kind();ak=aj;if(ak===17){if(((af.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}al=af.typ.arrayType;ag=(al.len>>0);ah=T(al.elem);ai=new(H(ah))(af.object());}else if(ak===23){ah=af.typ;ai=af.object();ag=$parseInt(ai.$capacity)>>0;}else if(ak===24){am=af.ptr.$get();if(ad<0||aeam.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}return P(new $String(am.substring(ad,ae)));}else{$panic(new CX.Ptr("reflect.Value.Slice",aj));}if(ad<0||aeag){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}return L(ah,$subslice(ai,ad,ae),(af.flag&32)>>>0);};CT.prototype.Slice=function(ad,ae){return this.$val.Slice(ad,ae);};CT.Ptr.prototype.Slice3=function(ad,ae,af){var ag,ah,ai,aj,ak,al,am;ag=this;ah=0;ai=$ifaceNil;aj=null;ak=new CU(ag.flag).kind();al=ak;if(al===17){if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}am=ag.typ.arrayType;ah=(am.len>>0);ai=T(am.elem);aj=new(H(ai))(ag.object());}else if(al===23){ai=ag.typ;aj=ag.object();ah=$parseInt(aj.$capacity)>>0;}else{$panic(new CX.Ptr("reflect.Value.Slice3",ak));}if(ad<0||aeah){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}return L(ai,$subslice(aj,ad,ae,af),(ag.flag&32)>>>0);};CT.prototype.Slice3=function(ad,ae,af){return this.$val.Slice3(ad,ae,af);};CT.Ptr.prototype.Close=function(){var ad;ad=this;new CU(ad.flag).mustBe(18);new CU(ad.flag).mustBeExported();$close(ad.object());};CT.prototype.Close=function(){return this.$val.Close();};CT.Ptr.prototype.TrySend=function(ad){var ae,af,ag;ae=this;ad=ad;new CU(ae.flag).mustBe(18);new CU(ae.flag).mustBeExported();af=ae.typ.chanType;if(((af.dir>>0)&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new CU(ad.flag).mustBeExported();ag=ae.object();if(!!!(ag.$closed)&&($parseInt(ag.$recvQueue.length)===0)&&($parseInt(ag.$buffer.length)===($parseInt(ag.$capacity)>>0))){return false;}ad=ad.assignTo("reflect.Value.Send",af.elem,0);$send(ag,ad.object());return true;};CT.prototype.TrySend=function(ad){return this.$val.TrySend(ad);};CT.Ptr.prototype.Send=function(ad){var ae;ae=this;ad=ad;$panic(new A.NotSupportedError.Ptr("reflect.Value.Send, use reflect.Value.TrySend is possible"));};CT.prototype.Send=function(ad){return this.$val.Send(ad);};CT.Ptr.prototype.TryRecv=function(){var ad=new CT.Ptr(),ae=false,af,ag,ah,ai,aj,ak,al;af=this;new CU(af.flag).mustBe(18);new CU(af.flag).mustBeExported();ag=af.typ.chanType;if(((ag.dir>>0)&1)===0){$panic(new $String("reflect: recv on send-only channel"));}ah=$recv(af.object());if(ah.constructor===$global.Function){ai=new CT.Ptr(FF.nil,0,0);aj=false;ad=ai;ae=aj;return[ad,ae];}ak=L(ag.elem,ah[0],0);al=!!(ah[1]);ad=ak;ae=al;return[ad,ae];};CT.prototype.TryRecv=function(){return this.$val.TryRecv();};CT.Ptr.prototype.Recv=function(){var ad=new CT.Ptr(),ae=false,af;af=this;$panic(new A.NotSupportedError.Ptr("reflect.Value.Recv, use reflect.Value.TryRecv is possible"));};CT.prototype.Recv=function(){return this.$val.Recv();};BA.prototype.String=function(){var ad;ad=this.$val!==undefined?this.$val:this;if((ad>>0)=BR.$length)?$throwRuntimeError("index out of range"):BR.$array[BR.$offset+ad]);}return"kind"+C.Itoa((ad>>0));};$ptrType(BA).prototype.String=function(){return new BA(this.$get()).String();};BE.Ptr.prototype.uncommon=function(){var ad;ad=this;return ad;};BE.prototype.uncommon=function(){return this.$val.uncommon();};BE.Ptr.prototype.PkgPath=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.pkgPath,FR.nil)){return"";}return ad.pkgPath.$get();};BE.prototype.PkgPath=function(){return this.$val.PkgPath();};BE.Ptr.prototype.Name=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.name,FR.nil)){return"";}return ad.name.$get();};BE.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.String=function(){var ad;ad=this;return ad.string.$get();};BB.prototype.String=function(){return this.$val.String();};BB.Ptr.prototype.Size=function(){var ad;ad=this;return ad.size;};BB.prototype.Size=function(){return this.$val.Size();};BB.Ptr.prototype.Bits=function(){var ad,ae;ad=this;if(ad===FF.nil){$panic(new $String("reflect: Bits of nil Type"));}ae=ad.Kind();if(ae<2||ae>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+ad.String()));}return(ad.size>>0)*8>>0;};BB.prototype.Bits=function(){return this.$val.Bits();};BB.Ptr.prototype.Align=function(){var ad;ad=this;return(ad.align>>0);};BB.prototype.Align=function(){return this.$val.Align();};BB.Ptr.prototype.FieldAlign=function(){var ad;ad=this;return(ad.fieldAlign>>0);};BB.prototype.FieldAlign=function(){return this.$val.FieldAlign();};BB.Ptr.prototype.Kind=function(){var ad;ad=this;return(((ad.kind&31)>>>0)>>>0);};BB.prototype.Kind=function(){return this.$val.Kind();};BB.Ptr.prototype.common=function(){var ad;ad=this;return ad;};BB.prototype.common=function(){return this.$val.common();};BE.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad===FS.nil){return 0;}return ad.methods.$length;};BE.prototype.NumMethod=function(){return this.$val.NumMethod();};BE.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===FS.nil){return[ae,af];}ah=GE.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(!($pointerIsEqual(ah.name,FR.nil))&&ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BE.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.NumMethod=function(){var ad,ae;ad=this;if(ad.Kind()===20){ae=ad.interfaceType;return ae.NumMethod();}return ad.uncommonType.NumMethod();};BB.prototype.NumMethod=function(){return this.$val.NumMethod();};BB.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag;af=this;if(af.Kind()===20){ag=af.interfaceType;$copy(ae,ag.Method(ad),BQ);return ae;}$copy(ae,af.uncommonType.Method(ad),BQ);return ae;};BB.prototype.Method=function(ad){return this.$val.Method(ad);};BB.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj;ag=this;if(ag.Kind()===20){ah=ag.interfaceType;ai=ah.MethodByName(ad);$copy(ae,ai[0],BQ);af=ai[1];return[ae,af];}aj=ag.uncommonType.MethodByName(ad);$copy(ae,aj[0],BQ);af=aj[1];return[ae,af];};BB.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.PkgPath=function(){var ad;ad=this;return ad.uncommonType.PkgPath();};BB.prototype.PkgPath=function(){return this.$val.PkgPath();};BB.Ptr.prototype.Name=function(){var ad;ad=this;return ad.uncommonType.Name();};BB.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.ChanDir=function(){var ad,ae;ad=this;if(!((ad.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}ae=ad.chanType;return(ae.dir>>0);};BB.prototype.ChanDir=function(){return this.$val.ChanDir();};BB.Ptr.prototype.IsVariadic=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}ae=ad.funcType;return ae.dotdotdot;};BB.prototype.IsVariadic=function(){return this.$val.IsVariadic();};BB.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj;ad=this;ae=ad.Kind();if(ae===17){af=ad.arrayType;return CL(af.elem);}else if(ae===18){ag=ad.chanType;return CL(ag.elem);}else if(ae===21){ah=ad.mapType;return CL(ah.elem);}else if(ae===22){ai=ad.ptrType;return CL(ai.elem);}else if(ae===23){aj=ad.sliceType;return CL(aj.elem);}$panic(new $String("reflect: Elem of invalid type"));};BB.prototype.Elem=function(){return this.$val.Elem();};BB.Ptr.prototype.Field=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}af=ae.structType;return af.Field(ad);};BB.prototype.Field=function(ad){return this.$val.Field(ad);};BB.Ptr.prototype.FieldByIndex=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}af=ae.structType;return af.FieldByIndex(ad);};BB.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BB.Ptr.prototype.FieldByName=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}af=ae.structType;return af.FieldByName(ad);};BB.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BB.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}af=ae.structType;return af.FieldByNameFunc(ad);};BB.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BB.Ptr.prototype.In=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}af=ae.funcType;return CL((ag=af.in$2,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.In=function(ad){return this.$val.In(ad);};BB.Ptr.prototype.Key=function(){var ad,ae;ad=this;if(!((ad.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}ae=ad.mapType;return CL(ae.key);};BB.prototype.Key=function(){return this.$val.Key();};BB.Ptr.prototype.Len=function(){var ad,ae;ad=this;if(!((ad.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}ae=ad.arrayType;return(ae.len>>0);};BB.prototype.Len=function(){return this.$val.Len();};BB.Ptr.prototype.NumField=function(){var ad,ae;ad=this;if(!((ad.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}ae=ad.structType;return ae.fields.$length;};BB.prototype.NumField=function(){return this.$val.NumField();};BB.Ptr.prototype.NumIn=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}ae=ad.funcType;return ae.in$2.$length;};BB.prototype.NumIn=function(){return this.$val.NumIn();};BB.Ptr.prototype.NumOut=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}ae=ad.funcType;return ae.out.$length;};BB.prototype.NumOut=function(){return this.$val.NumOut();};BB.Ptr.prototype.Out=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}af=ae.funcType;return CL((ag=af.out,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.Out=function(ad){return this.$val.Out(ad);};BF.prototype.String=function(){var ad,ae;ad=this.$val!==undefined?this.$val:this;ae=ad;if(ae===2){return"chan<-";}else if(ae===1){return"<-chan";}else if(ae===3){return"chan";}return"ChanDir"+C.Itoa((ad>>0));};$ptrType(BF).prototype.String=function(){return new BF(this.$get()).String();};BK.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah;af=this;if(ad<0||ad>=af.methods.$length){return ae;}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Name=ah.name.$get();if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}ae.Type=CL(ah.typ);ae.Index=ad;return ae;};BK.prototype.Method=function(ad){return this.$val.Method(ad);};BK.Ptr.prototype.NumMethod=function(){var ad;ad=this;return ad.methods.$length;};BK.prototype.NumMethod=function(){return this.$val.NumMethod();};BK.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===GF.nil){return[ae,af];}ah=GG.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BK.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BT.prototype.Get=function(ad){var ae,af,ag,ah,ai,aj;ae=this.$val!==undefined?this.$val:this;while(!(ae==="")){af=0;while(af>0;}ae=ae.substring(af);if(ae===""){break;}af=0;while(af>0;}if((af+1>>0)>=ae.length||!((ae.charCodeAt(af)===58))||!((ae.charCodeAt((af+1>>0))===34))){break;}ag=ae.substring(0,af);ae=ae.substring((af+1>>0));af=1;while(af>0;}af=af+(1)>>0;}if(af>=ae.length){break;}ah=ae.substring(0,(af+1>>0));ae=ae.substring((af+1>>0));if(ad===ag){ai=C.Unquote(ah);aj=ai[0];return aj;}}return"";};$ptrType(BT).prototype.Get=function(ad){return new BT(this.$get()).Get(ad);};BP.Ptr.prototype.Field=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai;af=this;if(ad<0||ad>=af.fields.$length){return ae;}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Type=CL(ah.typ);if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}else{ai=ae.Type;if(ai.Kind()===22){ai=ai.Elem();}ae.Name=ai.Name();ae.Anonymous=true;}if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}if(!($pointerIsEqual(ah.tag,FR.nil))){ae.Tag=ah.tag.$get();}ae.Offset=ah.offset;ae.Index=new GH([ad]);return ae;};BP.prototype.Field=function(ad){return this.$val.Field(ad);};BP.Ptr.prototype.FieldByIndex=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai,aj,ak;af=this;ae.Type=CL(af.rtype);ag=ad;ah=0;while(ah=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]);if(ai>0){ak=ae.Type;if((ak.Kind()===22)&&(ak.Elem().Kind()===25)){ak=ak.Elem();}ae.Type=ak;}$copy(ae,ae.Type.Field(aj),BS);ah++;}return ae;};BP.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BP.Ptr.prototype.FieldByNameFunc=function(ad){var ae=new BS.Ptr(),af=false,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;ag=this;ah=new GI([]);ai=new GI([new BU.Ptr(ag,GH.nil)]);aj=false;ak=(al=new $Map(),al);while(ai.$length>0){an=ai;ao=$subslice(ah,0,0);ah=an;ai=ao;ap=aj;aj=false;aq=ah;ar=0;while(ar=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]),BU);at=as.typ;if((au=ak[at.$key()],au!==undefined?au.v:false)){ar++;continue;}av=at;(ak||$throwRuntimeError("assignment to entry in nil map"))[av.$key()]={k:av,v:true};aw=at.fields;ax=0;while(ax=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ay]));bb="";bc=FF.nil;if(!($pointerIsEqual(ba.name,FR.nil))){bb=ba.name.$get();}else{bc=ba.typ;if(bc.Kind()===22){bc=bc.Elem().common();}bb=bc.Name();}if(ad(bb)){if((bd=ap[at.$key()],bd!==undefined?bd.v:0)>1||af){be=new BS.Ptr("","",$ifaceNil,"",0,GH.nil,false);bf=false;$copy(ae,be,BS);af=bf;return[ae,af];}$copy(ae,at.Field(ay),BS);ae.Index=GH.nil;ae.Index=$appendSlice(ae.Index,as.index);ae.Index=$append(ae.Index,ay);af=true;ax++;continue;}if(af||bc===FF.nil||!((bc.Kind()===25))){ax++;continue;}bg=bc.structType;if((bh=aj[bg.$key()],bh!==undefined?bh.v:0)>0){bi=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bi.$key()]={k:bi,v:2};ax++;continue;}if(aj===false){aj=(bj=new $Map(),bj);}bl=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bl.$key()]={k:bl,v:1};if((bm=ap[at.$key()],bm!==undefined?bm.v:0)>1){bn=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bn.$key()]={k:bn,v:2};}bo=GH.nil;bo=$appendSlice(bo,as.index);bo=$append(bo,ay);ai=$append(ai,new BU.Ptr(bg,bo));ax++;}ar++;}if(af){break;}}return[ae,af];};BP.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BP.Ptr.prototype.FieldByName=function(ad){var ae=new BS.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an,ao,ap;ag=this;ah=false;if(!(ad==="")){ai=ag.fields;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if($pointerIsEqual(am.name,FR.nil)){ah=true;aj++;continue;}if(am.name.$get()===ad){an=$clone(ag.Field(ak),BS);ao=true;$copy(ae,an,BS);af=ao;return[ae,af];}aj++;}}if(!ah){return[ae,af];}ap=ag.FieldByNameFunc((function(aq){return aq===ad;}));$copy(ae,ap[0],BS);af=ap[1];return[ae,af];};BP.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BW=$pkg.PtrTo=function(ad){return $assertType(ad,FF).ptrTo();};BB.Ptr.prototype.Implements=function(ad){var ae;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}if(!((ad.Kind()===20))){$panic(new $String("reflect: non-interface type passed to Type.Implements"));}return BY($assertType(ad,FF),ae);};BB.prototype.Implements=function(ad){return this.$val.Implements(ad);};BB.Ptr.prototype.AssignableTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}af=$assertType(ad,FF);return BZ(af,ae)||BY(af,ae);};BB.prototype.AssignableTo=function(ad){return this.$val.AssignableTo(ad);};BB.Ptr.prototype.ConvertibleTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}af=$assertType(ad,FF);return!(EB(af,ae)===$throwNilPointerError);};BB.prototype.ConvertibleTo=function(ad){return this.$val.ConvertibleTo(ad);};BY=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at;if(!((ad.Kind()===20))){return false;}af=ad.interfaceType;if(af.methods.$length===0){return true;}if(ae.Kind()===20){ag=ae.interfaceType;ah=0;ai=0;while(ai=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ah]));am=(al=ag.methods,((ai<0||ai>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ai]));if($pointerIsEqual(am.name,ak.name)&&$pointerIsEqual(am.pkgPath,ak.pkgPath)&&am.typ===ak.typ){ah=ah+(1)>>0;if(ah>=af.methods.$length){return true;}}ai=ai+(1)>>0;}return false;}an=ae.uncommonType.uncommon();if(an===FS.nil){return false;}ao=0;ap=0;while(ap=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ao]));at=(as=an.methods,((ap<0||ap>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ap]));if($pointerIsEqual(at.name,ar.name)&&$pointerIsEqual(at.pkgPath,ar.pkgPath)&&at.mtyp===ar.typ){ao=ao+(1)>>0;if(ao>=af.methods.$length){return true;}}ap=ap+(1)>>0;}return false;};BZ=function(ad,ae){if(ad===ae){return true;}if(!(ad.Name()==="")&&!(ae.Name()==="")||!((ad.Kind()===ae.Kind()))){return false;}return CA(ad,ae);};CA=function(ad,ae){var 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;if(ad===ae){return true;}af=ad.Kind();if(!((af===ae.Kind()))){return false;}if(1<=af&&af<=16||(af===24)||(af===26)){return true;}ag=af;if(ag===17){return $interfaceIsEqual(ad.Elem(),ae.Elem())&&(ad.Len()===ae.Len());}else if(ag===18){if((ae.ChanDir()===3)&&$interfaceIsEqual(ad.Elem(),ae.Elem())){return true;}return(ae.ChanDir()===ad.ChanDir())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===19){ah=ad.funcType;ai=ae.funcType;if(!(ah.dotdotdot===ai.dotdotdot)||!((ah.in$2.$length===ai.in$2.$length))||!((ah.out.$length===ai.out.$length))){return false;}aj=ah.in$2;ak=0;while(ak=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(!(am===(an=ai.in$2,((al<0||al>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+al])))){return false;}ak++;}ao=ah.out;ap=0;while(ap=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+ap]);if(!(ar===(as=ai.out,((aq<0||aq>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+aq])))){return false;}ap++;}return true;}else if(ag===20){at=ad.interfaceType;au=ae.interfaceType;if((at.methods.$length===0)&&(au.methods.$length===0)){return true;}return false;}else if(ag===21){return $interfaceIsEqual(ad.Key(),ae.Key())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===22||ag===23){return $interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===25){av=ad.structType;aw=ae.structType;if(!((av.fields.$length===aw.fields.$length))){return false;}ax=av.fields;ay=0;while(ay=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+az]));bd=(bc=aw.fields,((az<0||az>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+az]));if(!($pointerIsEqual(bb.name,bd.name))&&($pointerIsEqual(bb.name,FR.nil)||$pointerIsEqual(bd.name,FR.nil)||!(bb.name.$get()===bd.name.$get()))){return false;}if(!($pointerIsEqual(bb.pkgPath,bd.pkgPath))&&($pointerIsEqual(bb.pkgPath,FR.nil)||$pointerIsEqual(bd.pkgPath,FR.nil)||!(bb.pkgPath.$get()===bd.pkgPath.$get()))){return false;}if(!(bb.typ===bd.typ)){return false;}if(!($pointerIsEqual(bb.tag,bd.tag))&&($pointerIsEqual(bb.tag,FR.nil)||$pointerIsEqual(bd.tag,FR.nil)||!(bb.tag.$get()===bd.tag.$get()))){return false;}if(!((bb.offset===bd.offset))){return false;}ay++;}return true;}return false;};CL=function(ad){if(ad===FF.nil){return $ifaceNil;}return ad;};CQ=function(ad){return((ad.kind&32)>>>0)===0;};CU.prototype.kind=function(){var ad;ad=this.$val!==undefined?this.$val:this;return(((ad&31)>>>0)>>>0);};$ptrType(CU).prototype.kind=function(){return new CU(this.$get()).kind();};CT.Ptr.prototype.pointer=function(){var ad;ad=this;if(!((ad.typ.size===4))||!ad.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((ad.flag&64)>>>0)===0))){return ad.ptr.$get();}return ad.ptr;};CT.prototype.pointer=function(){return this.$val.pointer();};CX.Ptr.prototype.Error=function(){var ad;ad=this;if(ad.Kind===0){return"reflect: call of "+ad.Method+" on zero Value";}return"reflect: call of "+ad.Method+" on "+new BA(ad.Kind).String()+" Value";};CX.prototype.Error=function(){return this.$val.Error();};CU.prototype.mustBe=function(ad){var ae;ae=this.$val!==undefined?this.$val:this;if(!((new CU(ae).kind()===ad))){$panic(new CX.Ptr(AP(),new CU(ae).kind()));}};$ptrType(CU).prototype.mustBe=function(ad){return new CU(this.$get()).mustBe(ad);};CU.prototype.mustBeExported=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}};$ptrType(CU).prototype.mustBeExported=function(){return new CU(this.$get()).mustBeExported();};CU.prototype.mustBeAssignable=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}if(((ad&128)>>>0)===0){$panic(new $String("reflect: "+AP()+" using unaddressable value"));}};$ptrType(CU).prototype.mustBeAssignable=function(){return new CU(this.$get()).mustBeAssignable();};CT.Ptr.prototype.Addr=function(){var ad;ad=this;if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new CT.Ptr(ad.typ.ptrTo(),ad.ptr,((((ad.flag&32)>>>0))|22)>>>0);};CT.prototype.Addr=function(){return this.$val.Addr();};CT.Ptr.prototype.Bool=function(){var ad;ad=this;new CU(ad.flag).mustBe(1);return ad.ptr.$get();};CT.prototype.Bool=function(){return this.$val.Bool();};CT.Ptr.prototype.Bytes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.Bytes of non-byte slice"));}return ad.ptr.$get();};CT.prototype.Bytes=function(){return this.$val.Bytes();};CT.Ptr.prototype.runes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.Bytes of non-rune slice"));}return ad.ptr.$get();};CT.prototype.runes=function(){return this.$val.runes();};CT.Ptr.prototype.CanAddr=function(){var ad;ad=this;return!((((ad.flag&128)>>>0)===0));};CT.prototype.CanAddr=function(){return this.$val.CanAddr();};CT.Ptr.prototype.CanSet=function(){var ad;ad=this;return((ad.flag&160)>>>0)===128;};CT.prototype.CanSet=function(){return this.$val.CanSet();};CT.Ptr.prototype.Call=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("Call",ad);};CT.prototype.Call=function(ad){return this.$val.Call(ad);};CT.Ptr.prototype.CallSlice=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("CallSlice",ad);};CT.prototype.CallSlice=function(ad){return this.$val.CallSlice(ad);};CT.Ptr.prototype.Complex=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===15){return(ag=ad.ptr.$get(),new $Complex128(ag.$real,ag.$imag));}else if(af===16){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Complex",new CU(ad.flag).kind()));};CT.prototype.Complex=function(){return this.$val.Complex();};CT.Ptr.prototype.FieldByIndex=function(ad){var ae,af,ag,ah,ai;ae=this;if(ad.$length===1){return ae.Field(((0<0||0>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+0]));}new CU(ae.flag).mustBe(25);af=ad;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if(ah>0){if((ae.Kind()===22)&&(ae.typ.Elem().Kind()===25)){if(ae.IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ae=ae.Elem();}}ae=ae.Field(ai);ag++;}return ae;};CT.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};CT.Ptr.prototype.FieldByName=function(ad){var ae,af,ag,ah;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.FieldByName(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};CT.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af,ag,ah;ae=this;af=ae.typ.FieldByNameFunc(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};CT.Ptr.prototype.Float=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===13){return $coerceFloat32(ad.ptr.$get());}else if(af===14){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Float",new CU(ad.flag).kind()));};CT.prototype.Float=function(){return this.$val.Float();};CT.Ptr.prototype.Int=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===2){return new $Int64(0,af.$get());}else if(ag===3){return new $Int64(0,af.$get());}else if(ag===4){return new $Int64(0,af.$get());}else if(ag===5){return new $Int64(0,af.$get());}else if(ag===6){return af.$get();}$panic(new CX.Ptr("reflect.Value.Int",new CU(ad.flag).kind()));};CT.prototype.Int=function(){return this.$val.Int();};CT.Ptr.prototype.CanInterface=function(){var ad;ad=this;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.CanInterface",0));}return((ad.flag&32)>>>0)===0;};CT.prototype.CanInterface=function(){return this.$val.CanInterface();};CT.Ptr.prototype.Interface=function(){var ad=$ifaceNil,ae;ae=this;ad=AN(ae,true);return ad;};CT.prototype.Interface=function(){return this.$val.Interface();};CT.Ptr.prototype.InterfaceData=function(){var ad;ad=this;new CU(ad.flag).mustBe(20);return ad.ptr;};CT.prototype.InterfaceData=function(){return this.$val.InterfaceData();};CT.Ptr.prototype.IsValid=function(){var ad;ad=this;return!((ad.flag===0));};CT.prototype.IsValid=function(){return this.$val.IsValid();};CT.Ptr.prototype.Kind=function(){var ad;ad=this;return new CU(ad.flag).kind();};CT.prototype.Kind=function(){return this.$val.Kind();};CT.Ptr.prototype.MapIndex=function(ad){var ae,af,ag,ah,ai,aj,ak;ae=this;ad=ad;new CU(ae.flag).mustBe(21);af=ae.typ.mapType;ad=ad.assignTo("reflect.Value.MapIndex",af.key,0);ag=0;if(!((((ad.flag&64)>>>0)===0))){ag=ad.ptr;}else{ag=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}ah=AC(ae.typ,ae.pointer(),ag);if(ah===0){return new CT.Ptr(FF.nil,0,0);}ai=af.elem;aj=((((ae.flag|ad.flag)>>>0))&32)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;if(CQ(ai)){ak=V(ai);Y(ak,ah,ai.size);return new CT.Ptr(ai,ak,(aj|64)>>>0);}else{return new CT.Ptr(ai,ah.$get(),aj);}};CT.prototype.MapIndex=function(ad){return this.$val.MapIndex(ad);};CT.Ptr.prototype.MapKeys=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an;ad=this;new CU(ad.flag).mustBe(21);ae=ad.typ.mapType;af=ae.key;ag=(((ad.flag&32)>>>0)|(af.Kind()>>>0))>>>0;ah=ad.pointer();ai=0;if(!(ah===0)){ai=AJ(ah);}aj=AG(ad.typ,ah);ak=FX.make(ai);al=0;al=0;while(al=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,an,(ag|64)>>>0);}else{(al<0||al>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,am.$get(),ag);}AI(aj);al=al+(1)>>0;}return $subslice(ak,0,al);};CT.prototype.MapKeys=function(){return this.$val.MapKeys();};CT.Ptr.prototype.Method=function(ad){var ae,af;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.Method",0));}if(!((((ae.flag&256)>>>0)===0))||(ad>>>0)>=(ae.typ.NumMethod()>>>0)){$panic(new $String("reflect: Method index out of range"));}if((ae.typ.Kind()===20)&&ae.IsNil()){$panic(new $String("reflect: Method on nil interface value"));}af=(ae.flag&96)>>>0;af=(af|(19))>>>0;af=(af|(((((ad>>>0)<<9>>>0)|256)>>>0)))>>>0;return new CT.Ptr(ae.typ,ae.ptr,af);};CT.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.NumMethod",0));}if(!((((ad.flag&256)>>>0)===0))){return 0;}return ad.typ.NumMethod();};CT.prototype.NumMethod=function(){return this.$val.NumMethod();};CT.Ptr.prototype.MethodByName=function(ad){var ae,af,ag,ah;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.MethodByName",0));}if(!((((ae.flag&256)>>>0)===0))){return new CT.Ptr(FF.nil,0,0);}af=ae.typ.MethodByName(ad);ag=$clone(af[0],BQ);ah=af[1];if(!ah){return new CT.Ptr(FF.nil,0,0);}return ae.Method(ag.Index);};CT.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};CT.Ptr.prototype.NumField=function(){var ad,ae;ad=this;new CU(ad.flag).mustBe(25);ae=ad.typ.structType;return ae.fields.$length;};CT.prototype.NumField=function(){return this.$val.NumField();};CT.Ptr.prototype.OverflowComplex=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===15){return DH(ad.$real)||DH(ad.$imag);}else if(ag===16){return false;}$panic(new CX.Ptr("reflect.Value.OverflowComplex",new CU(ae.flag).kind()));};CT.prototype.OverflowComplex=function(ad){return this.$val.OverflowComplex(ad);};CT.Ptr.prototype.OverflowFloat=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===13){return DH(ad);}else if(ag===14){return false;}$panic(new CX.Ptr("reflect.Value.OverflowFloat",new CU(ae.flag).kind()));};CT.prototype.OverflowFloat=function(ad){return this.$val.OverflowFloat(ad);};DH=function(ad){if(ad<0){ad=-ad;}return 3.4028234663852886e+38>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightInt64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowInt",new CU(ae.flag).kind()));};CT.prototype.OverflowInt=function(ad){return this.$val.OverflowInt(ad);};CT.Ptr.prototype.OverflowUint=function(ad){var ae,af,ag,ah,ai,aj;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===7||ag===12||ag===8||ag===9||ag===10||ag===11){ai=(ah=ae.typ.size,(((ah>>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightUint64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowUint",new CU(ae.flag).kind()));};CT.prototype.OverflowUint=function(ad){return this.$val.OverflowUint(ad);};CT.Ptr.prototype.SetBool=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(1);ae.ptr.$set(ad);};CT.prototype.SetBool=function(ad){return this.$val.SetBool(ad);};CT.Ptr.prototype.SetBytes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.SetBytes of non-byte slice"));}ae.ptr.$set(ad);};CT.prototype.SetBytes=function(ad){return this.$val.SetBytes(ad);};CT.Ptr.prototype.setRunes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.setRunes of non-rune slice"));}ae.ptr.$set(ad);};CT.prototype.setRunes=function(ad){return this.$val.setRunes(ad);};CT.Ptr.prototype.SetComplex=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===15){ae.ptr.$set(new $Complex64(ad.$real,ad.$imag));}else if(ag===16){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetComplex",new CU(ae.flag).kind()));}};CT.prototype.SetComplex=function(ad){return this.$val.SetComplex(ad);};CT.Ptr.prototype.SetFloat=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===13){ae.ptr.$set(ad);}else if(ag===14){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetFloat",new CU(ae.flag).kind()));}};CT.prototype.SetFloat=function(ad){return this.$val.SetFloat(ad);};CT.Ptr.prototype.SetInt=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===2){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===3){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<24>>24));}else if(ag===4){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<16>>16));}else if(ag===5){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===6){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetInt",new CU(ae.flag).kind()));}};CT.prototype.SetInt=function(ad){return this.$val.SetInt(ad);};CT.Ptr.prototype.SetMapIndex=function(ad,ae){var af,ag,ah,ai;af=this;ae=ae;ad=ad;new CU(af.flag).mustBe(21);new CU(af.flag).mustBeExported();new CU(ad.flag).mustBeExported();ag=af.typ.mapType;ad=ad.assignTo("reflect.Value.SetMapIndex",ag.key,0);ah=0;if(!((((ad.flag&64)>>>0)===0))){ah=ad.ptr;}else{ah=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}if(ae.typ===FF.nil){AE(af.typ,af.pointer(),ah);return;}new CU(ae.flag).mustBeExported();ae=ae.assignTo("reflect.Value.SetMapIndex",ag.elem,0);ai=0;if(!((((ae.flag&64)>>>0)===0))){ai=ae.ptr;}else{ai=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ae);}AD(af.typ,af.pointer(),ah,ai);};CT.prototype.SetMapIndex=function(ad,ae){return this.$val.SetMapIndex(ad,ae);};CT.Ptr.prototype.SetUint=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===7){ae.ptr.$set((ad.$low>>>0));}else if(ag===8){ae.ptr.$set((ad.$low<<24>>>24));}else if(ag===9){ae.ptr.$set((ad.$low<<16>>>16));}else if(ag===10){ae.ptr.$set((ad.$low>>>0));}else if(ag===11){ae.ptr.$set(ad);}else if(ag===12){ae.ptr.$set((ad.$low>>>0));}else{$panic(new CX.Ptr("reflect.Value.SetUint",new CU(ae.flag).kind()));}};CT.prototype.SetUint=function(ad){return this.$val.SetUint(ad);};CT.Ptr.prototype.SetPointer=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(26);ae.ptr.$set(ad);};CT.prototype.SetPointer=function(ad){return this.$val.SetPointer(ad);};CT.Ptr.prototype.SetString=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(24);ae.ptr.$set(ad);};CT.prototype.SetString=function(ad){return this.$val.SetString(ad);};CT.Ptr.prototype.String=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===0){return"";}else if(af===24){return ad.ptr.$get();}return"<"+ad.Type().String()+" Value>";};CT.prototype.String=function(){return this.$val.String();};CT.Ptr.prototype.Type=function(){var ad,ae,af,ag,ah,ai,aj,ak,al;ad=this;ae=ad.flag;if(ae===0){$panic(new CX.Ptr("reflect.Value.Type",0));}if(((ae&256)>>>0)===0){return ad.typ;}af=(ad.flag>>0)>>9>>0;if(ad.typ.Kind()===20){ag=ad.typ.interfaceType;if((af>>>0)>=(ag.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}ai=(ah=ag.methods,((af<0||af>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+af]));return ai.typ;}aj=ad.typ.uncommonType.uncommon();if(aj===FS.nil||(af>>>0)>=(aj.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}al=(ak=aj.methods,((af<0||af>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+af]));return al.mtyp;};CT.prototype.Type=function(){return this.$val.Type();};CT.Ptr.prototype.Uint=function(){var ad,ae,af,ag,ah;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===7){return new $Uint64(0,af.$get());}else if(ag===8){return new $Uint64(0,af.$get());}else if(ag===9){return new $Uint64(0,af.$get());}else if(ag===10){return new $Uint64(0,af.$get());}else if(ag===11){return af.$get();}else if(ag===12){return(ah=af.$get(),new $Uint64(0,ah.constructor===Number?ah:1));}$panic(new CX.Ptr("reflect.Value.Uint",new CU(ad.flag).kind()));};CT.prototype.Uint=function(){return this.$val.Uint();};CT.Ptr.prototype.UnsafeAddr=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.UnsafeAddr",0));}if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return ad.ptr;};CT.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};DZ=$pkg.New=function(ad){var ae,af;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ae=V($assertType(ad,FF));af=22;return new CT.Ptr(ad.common().ptrTo(),ae,af);};CT.Ptr.prototype.assignTo=function(ad,ae,af){var ag,ah,ai;ag=this;if(!((((ag.flag&256)>>>0)===0))){ag=AQ(ad,ag);}if(BZ(ae,ag.typ)){ag.typ=ae;ah=(ag.flag&224)>>>0;ah=(ah|((ae.Kind()>>>0)))>>>0;return new CT.Ptr(ae,ag.ptr,ah);}else if(BY(ae,ag.typ)){if(af===0){af=V(ae);}ai=AN(ag,false);if(ae.NumMethod()===0){af.$set(ai);}else{AO(ae,ai,af);}return new CT.Ptr(ae,af,84);}$panic(new $String(ad+": value of type "+ag.typ.String()+" is not assignable to type "+ae.String()));};CT.prototype.assignTo=function(ad,ae,af){return this.$val.assignTo(ad,ae,af);};CT.Ptr.prototype.Convert=function(ad){var ae,af;ae=this;if(!((((ae.flag&256)>>>0)===0))){ae=AQ("Convert",ae);}af=EB(ad.common(),ae.typ);if(af===$throwNilPointerError){$panic(new $String("reflect.Value.Convert: value of type "+ae.typ.String()+" cannot be converted to type "+ad.String()));}return af(ae,ad);};CT.prototype.Convert=function(ad){return this.$val.Convert(ad);};EB=function(ad,ae){var af,ag,ah,ai,aj,ak,al;af=ae.Kind();if(af===2||af===3||af===4||af===5||af===6){ag=ad.Kind();if(ag===2||ag===3||ag===4||ag===5||ag===6||ag===7||ag===8||ag===9||ag===10||ag===11||ag===12){return EH;}else if(ag===13||ag===14){return EL;}else if(ag===24){return EP;}}else if(af===7||af===8||af===9||af===10||af===11||af===12){ah=ad.Kind();if(ah===2||ah===3||ah===4||ah===5||ah===6||ah===7||ah===8||ah===9||ah===10||ah===11||ah===12){return EI;}else if(ah===13||ah===14){return EM;}else if(ah===24){return EQ;}}else if(af===13||af===14){ai=ad.Kind();if(ai===2||ai===3||ai===4||ai===5||ai===6){return EJ;}else if(ai===7||ai===8||ai===9||ai===10||ai===11||ai===12){return EK;}else if(ai===13||ai===14){return EN;}}else if(af===15||af===16){aj=ad.Kind();if(aj===15||aj===16){return EO;}}else if(af===24){if((ad.Kind()===23)&&ad.Elem().PkgPath()===""){ak=ad.Elem().Kind();if(ak===8){return ES;}else if(ak===5){return EU;}}}else if(af===23){if((ad.Kind()===24)&&ae.Elem().PkgPath()===""){al=ae.Elem().Kind();if(al===8){return ER;}else if(al===5){return ET;}}}if(CA(ad,ae)){return AK;}if((ad.Kind()===22)&&ad.Name()===""&&(ae.Kind()===22)&&ae.Name()===""&&CA(ad.Elem().common(),ae.Elem().common())){return AK;}if(BY(ad,ae)){if(ae.Kind()===20){return EW;}return EV;}return $throwNilPointerError;};EC=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===4){ah.$set(ae);}else if(ai===8){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};ED=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===8){ah.$set(new $Complex64(ae.$real,ae.$imag));}else if(ai===16){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};EE=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetString(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EF=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetBytes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EG=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.setRunes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EH=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=ad.Int(),new $Uint64(af.$high,af.$low)),ae);};EI=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,ad.Uint(),ae);};EJ=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=new $Int64(0,ad.Float()),new $Uint64(af.$high,af.$low)),ae);};EK=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,new $Uint64(0,ad.Float()),ae);};EL=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Int()),ae);};EM=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Uint()),ae);};EN=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,ad.Float(),ae);};EO=function(ad,ae){ad=ad;return ED((ad.flag&32)>>>0,ad.Complex(),ae);};EP=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Int().$low),ae);};EQ=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Uint().$low),ae);};ER=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$bytesToString(ad.Bytes()),ae);};ES=function(ad,ae){ad=ad;return EF((ad.flag&32)>>>0,new GQ($stringToBytes(ad.String())),ae);};ET=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$runesToString(ad.runes()),ae);};EU=function(ad,ae){ad=ad;return EG((ad.flag&32)>>>0,new GR($stringToRunes(ad.String())),ae);};EV=function(ad,ae){var af,ag;ad=ad;af=V(ae.common());ag=AN(ad,false);if(ae.NumMethod()===0){af.$set(ag);}else{AO($assertType(ae,FF),ag,af);}return new CT.Ptr(ae.common(),af,(((((ad.flag&32)>>>0)|64)>>>0)|20)>>>0);};EW=function(ad,ae){var af;ad=ad;if(ad.IsNil()){af=U(ae);af.flag=(af.flag|(((ad.flag&32)>>>0)))>>>0;return af;}return EV(ad.Elem(),ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}FF=$ptrType(BB);FG=$ptrType(BM);FO=$sliceType($String);FP=$ptrType(BC);FQ=$arrayType($UnsafePointer,2);FR=$ptrType($String);FS=$ptrType(BE);FT=$sliceType(BD);FU=$sliceType(FF);FV=$sliceType(BJ);FW=$sliceType(BO);FX=$sliceType(CT);FY=$arrayType($UnsafePointer,100000);FZ=$structType([["ityp","ityp","reflect",FF,""],["typ","typ","reflect",FF,""],["link","link","reflect",$UnsafePointer,""],["bad","bad","reflect",$Int32,""],["unused","unused","reflect",$Int32,""],["fun","fun","reflect",FY,""]]);GA=$ptrType(FZ);GB=$sliceType(B.Object);GC=$ptrType($Uint8);GE=$ptrType(BD);GF=$ptrType(BK);GG=$ptrType(BJ);GH=$sliceType($Int);GI=$sliceType(BU);GJ=$ptrType(BP);GO=$ptrType($UnsafePointer);GQ=$sliceType($Uint8);GR=$sliceType($Int32);GS=$ptrType(BI);GU=$funcType([$String],[$Bool],false);GV=$ptrType(BA);GW=$funcType([$UnsafePointer,$Uintptr,$Uintptr],[$Uintptr],false);GX=$funcType([$UnsafePointer,$UnsafePointer,$Uintptr],[$Bool],false);GY=$ptrType(BF);GZ=$ptrType(BG);HA=$ptrType(BH);HB=$ptrType(BL);HC=$ptrType(BN);HD=$ptrType(BT);HF=$arrayType($Uintptr,2);HG=$ptrType(CT);HH=$ptrType(CU);HI=$ptrType(CX);AF.init([["t","t","reflect",AZ,""],["m","m","reflect",B.Object,""],["keys","keys","reflect",B.Object,""],["i","i","reflect",$Int,""]]);AZ.init([["Align","Align","",$funcType([],[$Int],false)],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false)],["Bits","Bits","",$funcType([],[$Int],false)],["ChanDir","ChanDir","",$funcType([],[BF],false)],["Comparable","Comparable","",$funcType([],[$Bool],false)],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false)],["Elem","Elem","",$funcType([],[AZ],false)],["Field","Field","",$funcType([$Int],[BS],false)],["FieldAlign","FieldAlign","",$funcType([],[$Int],false)],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false)],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false)],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false)],["Implements","Implements","",$funcType([AZ],[$Bool],false)],["In","In","",$funcType([$Int],[AZ],false)],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false)],["Key","Key","",$funcType([],[AZ],false)],["Kind","Kind","",$funcType([],[BA],false)],["Len","Len","",$funcType([],[$Int],false)],["Method","Method","",$funcType([$Int],[BQ],false)],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false)],["Name","Name","",$funcType([],[$String],false)],["NumField","NumField","",$funcType([],[$Int],false)],["NumIn","NumIn","",$funcType([],[$Int],false)],["NumMethod","NumMethod","",$funcType([],[$Int],false)],["NumOut","NumOut","",$funcType([],[$Int],false)],["Out","Out","",$funcType([$Int],[AZ],false)],["PkgPath","PkgPath","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Uintptr],false)],["String","String","",$funcType([],[$String],false)],["common","common","reflect",$funcType([],[FF],false)],["uncommon","uncommon","reflect",$funcType([],[FS],false)]]);BA.methods=[["String","String","",$funcType([],[$String],false),-1]];GV.methods=[["String","String","",$funcType([],[$String],false),-1]];BB.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];FF.methods=[["Align","Align","",$funcType([],[$Int],false),-1],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),-1],["Bits","Bits","",$funcType([],[$Int],false),-1],["ChanDir","ChanDir","",$funcType([],[BF],false),-1],["Comparable","Comparable","",$funcType([],[$Bool],false),-1],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),-1],["Elem","Elem","",$funcType([],[AZ],false),-1],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),-1],["In","In","",$funcType([$Int],[AZ],false),-1],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),-1],["Key","Key","",$funcType([],[AZ],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumIn","NumIn","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),-1],["Out","Out","",$funcType([$Int],[AZ],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Uintptr],false),-1],["String","String","",$funcType([],[$String],false),-1],["common","common","reflect",$funcType([],[FF],false),-1],["pointers","pointers","reflect",$funcType([],[$Bool],false),-1],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];BB.init([["size","size","reflect",$Uintptr,""],["hash","hash","reflect",$Uint32,""],["_$2","_","reflect",$Uint8,""],["align","align","reflect",$Uint8,""],["fieldAlign","fieldAlign","reflect",$Uint8,""],["kind","kind","reflect",$Uint8,""],["alg","alg","reflect",FP,""],["gc","gc","reflect",FQ,""],["string","string","reflect",FR,""],["uncommonType","","reflect",FS,""],["ptrToThis","ptrToThis","reflect",FF,""],["zero","zero","reflect",$UnsafePointer,""]]);BC.init([["hash","hash","reflect",GW,""],["equal","equal","reflect",GX,""]]);BD.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["mtyp","mtyp","reflect",FF,""],["typ","typ","reflect",FF,""],["ifn","ifn","reflect",$UnsafePointer,""],["tfn","tfn","reflect",$UnsafePointer,""]]);FS.methods=[["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),-1]];BE.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["methods","methods","reflect",FT,""]]);BF.methods=[["String","String","",$funcType([],[$String],false),-1]];GY.methods=[["String","String","",$funcType([],[$String],false),-1]];BG.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GZ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BG.init([["rtype","","reflect",BB,"reflect:\"array\""],["elem","elem","reflect",FF,""],["slice","slice","reflect",FF,""],["len","len","reflect",$Uintptr,""]]);BH.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HA.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BH.init([["rtype","","reflect",BB,"reflect:\"chan\""],["elem","elem","reflect",FF,""],["dir","dir","reflect",$Uintptr,""]]);BI.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GS.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BI.init([["rtype","","reflect",BB,"reflect:\"func\""],["dotdotdot","dotdotdot","reflect",$Bool,""],["in$2","in","reflect",FU,""],["out","out","reflect",FU,""]]);BJ.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""]]);BK.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GF.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BK.init([["rtype","","reflect",BB,"reflect:\"interface\""],["methods","methods","reflect",FV,""]]);BL.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HB.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BL.init([["rtype","","reflect",BB,"reflect:\"map\""],["key","key","reflect",FF,""],["elem","elem","reflect",FF,""],["bucket","bucket","reflect",FF,""],["hmap","hmap","reflect",FF,""],["keysize","keysize","reflect",$Uint8,""],["indirectkey","indirectkey","reflect",$Uint8,""],["valuesize","valuesize","reflect",$Uint8,""],["indirectvalue","indirectvalue","reflect",$Uint8,""],["bucketsize","bucketsize","reflect",$Uint16,""]]);BM.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];FG.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BM.init([["rtype","","reflect",BB,"reflect:\"ptr\""],["elem","elem","reflect",FF,""]]);BN.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HC.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BN.init([["rtype","","reflect",BB,"reflect:\"slice\""],["elem","elem","reflect",FF,""]]);BO.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""],["tag","tag","reflect",FR,""],["offset","offset","reflect",$Uintptr,""]]);BP.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GJ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BP.init([["rtype","","reflect",BB,"reflect:\"struct\""],["fields","fields","reflect",FW,""]]);BQ.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Func","Func","",CT,""],["Index","Index","",$Int,""]]);BS.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Tag","Tag","",BT,""],["Offset","Offset","",$Uintptr,""],["Index","Index","",GH,""],["Anonymous","Anonymous","",$Bool,""]]);BT.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];HD.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];BU.init([["typ","typ","reflect",GJ,""],["index","index","reflect",GH,""]]);CT.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];HG.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];CT.init([["typ","typ","reflect",FF,""],["ptr","ptr","reflect",$UnsafePointer,""],["flag","","reflect",CU,""]]);CU.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HH.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HI.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CX.init([["Method","Method","",$String,""],["Kind","Kind","",BA,""]]);CZ.init([["itab","itab","reflect",GA,""],["word","word","reflect",$UnsafePointer,""]]);F=false;BR=new FO(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);DG=$assertType(O(new $Uint8(0)),FF);G();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["fmt"]=(function(){var $pkg={},D,E,A,F,G,B,H,C,CE,CF,CG,CH,CI,CJ,CK,CN,CO,DI,DJ,DK,L,M,AF,AG,AH,AI,AJ,AK,BE,BR,BS,BT,I,J,N,O,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AL,AZ,BA,BB,BU,BY,CA,CB,K,P,AM,AP,AQ,AT,AW,AX,AY,BC,BD,BV,BW,CC;D=$packages["errors"];E=$packages["io"];A=$packages["math"];F=$packages["os"];G=$packages["reflect"];B=$packages["strconv"];H=$packages["sync"];C=$packages["unicode/utf8"];L=$pkg.fmtFlags=$newType(0,$kindStruct,"fmt.fmtFlags","fmtFlags","fmt",function(widPresent_,precPresent_,minus_,plus_,sharp_,space_,unicode_,uniQuote_,zero_,plusV_,sharpV_){this.$val=this;this.widPresent=widPresent_!==undefined?widPresent_:false;this.precPresent=precPresent_!==undefined?precPresent_:false;this.minus=minus_!==undefined?minus_:false;this.plus=plus_!==undefined?plus_:false;this.sharp=sharp_!==undefined?sharp_:false;this.space=space_!==undefined?space_:false;this.unicode=unicode_!==undefined?unicode_:false;this.uniQuote=uniQuote_!==undefined?uniQuote_:false;this.zero=zero_!==undefined?zero_:false;this.plusV=plusV_!==undefined?plusV_:false;this.sharpV=sharpV_!==undefined?sharpV_:false;});M=$pkg.fmt=$newType(0,$kindStruct,"fmt.fmt","fmt","fmt",function(intbuf_,buf_,wid_,prec_,fmtFlags_){this.$val=this;this.intbuf=intbuf_!==undefined?intbuf_:DI.zero();this.buf=buf_!==undefined?buf_:CJ.nil;this.wid=wid_!==undefined?wid_:0;this.prec=prec_!==undefined?prec_:0;this.fmtFlags=fmtFlags_!==undefined?fmtFlags_:new L.Ptr();});AF=$pkg.State=$newType(8,$kindInterface,"fmt.State","State","fmt",null);AG=$pkg.Formatter=$newType(8,$kindInterface,"fmt.Formatter","Formatter","fmt",null);AH=$pkg.Stringer=$newType(8,$kindInterface,"fmt.Stringer","Stringer","fmt",null);AI=$pkg.GoStringer=$newType(8,$kindInterface,"fmt.GoStringer","GoStringer","fmt",null);AJ=$pkg.buffer=$newType(12,$kindSlice,"fmt.buffer","buffer","fmt",null);AK=$pkg.pp=$newType(0,$kindStruct,"fmt.pp","pp","fmt",function(n_,panicking_,erroring_,buf_,arg_,value_,reordered_,goodArgNum_,runeBuf_,fmt_){this.$val=this;this.n=n_!==undefined?n_:0;this.panicking=panicking_!==undefined?panicking_:false;this.erroring=erroring_!==undefined?erroring_:false;this.buf=buf_!==undefined?buf_:AJ.nil;this.arg=arg_!==undefined?arg_:$ifaceNil;this.value=value_!==undefined?value_:new G.Value.Ptr();this.reordered=reordered_!==undefined?reordered_:false;this.goodArgNum=goodArgNum_!==undefined?goodArgNum_:false;this.runeBuf=runeBuf_!==undefined?runeBuf_:CO.zero();this.fmt=fmt_!==undefined?fmt_:new M.Ptr();});BE=$pkg.runeUnreader=$newType(8,$kindInterface,"fmt.runeUnreader","runeUnreader","fmt",null);BR=$pkg.scanError=$newType(0,$kindStruct,"fmt.scanError","scanError","fmt",function(err_){this.$val=this;this.err=err_!==undefined?err_:$ifaceNil;});BS=$pkg.ss=$newType(0,$kindStruct,"fmt.ss","ss","fmt",function(rr_,buf_,peekRune_,prevRune_,count_,atEOF_,ssave_){this.$val=this;this.rr=rr_!==undefined?rr_:$ifaceNil;this.buf=buf_!==undefined?buf_:AJ.nil;this.peekRune=peekRune_!==undefined?peekRune_:0;this.prevRune=prevRune_!==undefined?prevRune_:0;this.count=count_!==undefined?count_:0;this.atEOF=atEOF_!==undefined?atEOF_:false;this.ssave=ssave_!==undefined?ssave_:new BT.Ptr();});BT=$pkg.ssave=$newType(0,$kindStruct,"fmt.ssave","ssave","fmt",function(validSave_,nlIsEnd_,nlIsSpace_,argLimit_,limit_,maxWid_){this.$val=this;this.validSave=validSave_!==undefined?validSave_:false;this.nlIsEnd=nlIsEnd_!==undefined?nlIsEnd_:false;this.nlIsSpace=nlIsSpace_!==undefined?nlIsSpace_:false;this.argLimit=argLimit_!==undefined?argLimit_:0;this.limit=limit_!==undefined?limit_:0;this.maxWid=maxWid_!==undefined?maxWid_:0;});K=function(){var a;a=0;while(a<65){(a<0||a>=I.$length)?$throwRuntimeError("index out of range"):I.$array[I.$offset+a]=48;(a<0||a>=J.$length)?$throwRuntimeError("index out of range"):J.$array[J.$offset+a]=32;a=a+(1)>>0;}};M.Ptr.prototype.clearflags=function(){var a;a=this;$copy(a.fmtFlags,new L.Ptr(false,false,false,false,false,false,false,false,false,false,false),L);};M.prototype.clearflags=function(){return this.$val.clearflags();};M.Ptr.prototype.init=function(a){var b;b=this;b.buf=a;b.clearflags();};M.prototype.init=function(a){return this.$val.init(a);};M.Ptr.prototype.computePadding=function(a){var b=CE.nil,c=0,d=0,e,f,g,h,i,j,k,l,m,n,o,p;e=this;f=!e.fmtFlags.minus;g=e.wid;if(g<0){f=false;g=-g;}g=g-(a)>>0;if(g>0){if(f&&e.fmtFlags.zero){h=I;i=g;j=0;b=h;c=i;d=j;return[b,c,d];}if(f){k=J;l=g;m=0;b=k;c=l;d=m;return[b,c,d];}else{n=J;o=0;p=g;b=n;c=o;d=p;return[b,c,d];}}return[b,c,d];};M.prototype.computePadding=function(a){return this.$val.computePadding(a);};M.Ptr.prototype.writePadding=function(a,b){var c,d;c=this;while(a>0){d=a;if(d>65){d=65;}c.buf.Write($subslice(b,0,d));a=a-(d)>>0;}};M.prototype.writePadding=function(a,b){return this.$val.writePadding(a,b);};M.Ptr.prototype.pad=function(a){var b,c,d,e,f;b=this;if(!b.fmtFlags.widPresent||(b.wid===0)){b.buf.Write(a);return;}c=b.computePadding(C.RuneCount(a));d=c[0];e=c[1];f=c[2];if(e>0){b.writePadding(e,d);}b.buf.Write(a);if(f>0){b.writePadding(f,d);}};M.prototype.pad=function(a){return this.$val.pad(a);};M.Ptr.prototype.padString=function(a){var b,c,d,e,f;b=this;if(!b.fmtFlags.widPresent||(b.wid===0)){b.buf.WriteString(a);return;}c=b.computePadding(C.RuneCountInString(a));d=c[0];e=c[1];f=c[2];if(e>0){b.writePadding(e,d);}b.buf.WriteString(a);if(f>0){b.writePadding(f,d);}};M.prototype.padString=function(a){return this.$val.padString(a);};M.Ptr.prototype.fmt_boolean=function(a){var b;b=this;if(a){b.pad(N);}else{b.pad(O);}};M.prototype.fmt_boolean=function(a){return this.$val.fmt_boolean(a);};M.Ptr.prototype.integer=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=this;if(e.fmtFlags.precPresent&&(e.prec===0)&&(a.$high===0&&a.$low===0)){return;}f=$subslice(new CE(e.intbuf),0);if(e.fmtFlags.widPresent){g=e.wid;if((b.$high===0&&b.$low===16)&&e.fmtFlags.sharp){g=g+(2)>>0;}if(g>65){f=CE.make(g);}}h=c===true&&(a.$high<0||(a.$high===0&&a.$low<0));if(h){a=new $Int64(-a.$high,-a.$low);}i=0;if(e.fmtFlags.precPresent){i=e.prec;e.fmtFlags.zero=false;}else if(e.fmtFlags.zero&&e.fmtFlags.widPresent&&!e.fmtFlags.minus&&e.wid>0){i=e.wid;if(h||e.fmtFlags.plus||e.fmtFlags.space){i=i-(1)>>0;}}j=f.$length;k=new $Uint64(a.$high,a.$low);l=b;if((l.$high===0&&l.$low===10)){while((k.$high>0||(k.$high===0&&k.$low>=10))){j=j-(1)>>0;m=$div64(k,new $Uint64(0,10),false);(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=((n=new $Uint64(0+k.$high,48+k.$low),o=$mul64(m,new $Uint64(0,10)),new $Uint64(n.$high-o.$high,n.$low-o.$low)).$low<<24>>>24);k=m;}}else if((l.$high===0&&l.$low===16)){while((k.$high>0||(k.$high===0&&k.$low>=16))){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=d.charCodeAt($flatten64(new $Uint64(k.$high&0,(k.$low&15)>>>0)));k=$shiftRightUint64(k,(4));}}else if((l.$high===0&&l.$low===8)){while((k.$high>0||(k.$high===0&&k.$low>=8))){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=((p=new $Uint64(k.$high&0,(k.$low&7)>>>0),new $Uint64(0+p.$high,48+p.$low)).$low<<24>>>24);k=$shiftRightUint64(k,(3));}}else if((l.$high===0&&l.$low===2)){while((k.$high>0||(k.$high===0&&k.$low>=2))){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=((q=new $Uint64(k.$high&0,(k.$low&1)>>>0),new $Uint64(0+q.$high,48+q.$low)).$low<<24>>>24);k=$shiftRightUint64(k,(1));}}else{$panic(new $String("fmt: unknown base; can't happen"));}j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=d.charCodeAt($flatten64(k));while(j>0&&i>(f.$length-j>>0)){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=48;}if(e.fmtFlags.sharp){r=b;if((r.$high===0&&r.$low===8)){if(!((((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j])===48))){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=48;}}else if((r.$high===0&&r.$low===16)){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=(120+d.charCodeAt(10)<<24>>>24)-97<<24>>>24;j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=48;}}if(e.fmtFlags.unicode){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=43;j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=85;}if(h){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=45;}else if(e.fmtFlags.plus){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=43;}else if(e.fmtFlags.space){j=j-(1)>>0;(j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]=32;}if(e.fmtFlags.unicode&&e.fmtFlags.uniQuote&&(a.$high>0||(a.$high===0&&a.$low>=0))&&(a.$high<0||(a.$high===0&&a.$low<=1114111))&&B.IsPrint(((a.$low+((a.$high>>31)*4294967296))>>0))){s=C.RuneLen(((a.$low+((a.$high>>31)*4294967296))>>0));t=(2+s>>0)+1>>0;$copySlice($subslice(f,(j-t>>0)),$subslice(f,j));j=j-(t)>>0;u=f.$length-t>>0;(u<0||u>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+u]=32;u=u+(1)>>0;(u<0||u>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+u]=39;u=u+(1)>>0;C.EncodeRune($subslice(f,u),((a.$low+((a.$high>>31)*4294967296))>>0));u=u+(s)>>0;(u<0||u>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+u]=39;}e.pad($subslice(f,j));};M.prototype.integer=function(a,b,c,d){return this.$val.integer(a,b,c,d);};M.Ptr.prototype.truncate=function(a){var b,c,d,e,f,g;b=this;if(b.fmtFlags.precPresent&&b.prec>0;e+=f[1];}}return a;};M.prototype.truncate=function(a){return this.$val.truncate(a);};M.Ptr.prototype.fmt_s=function(a){var b;b=this;a=b.truncate(a);b.padString(a);};M.prototype.fmt_s=function(a){return this.$val.fmt_s(a);};M.Ptr.prototype.fmt_sbx=function(a,b,c){var d,e,f,g,h,i;d=this;e=b.$length;if(b===CE.nil){e=a.length;}f=(c.charCodeAt(10)-97<<24>>>24)+120<<24>>>24;g=CE.nil;h=0;while(h0&&d.fmtFlags.space){g=$append(g,32);}if(d.fmtFlags.sharp&&(d.fmtFlags.space||(h===0))){g=$append(g,48,f);}i=0;if(b===CE.nil){i=a.charCodeAt(h);}else{i=((h<0||h>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+h]);}g=$append(g,c.charCodeAt((i>>>4<<24>>>24)),c.charCodeAt(((i&15)>>>0)));h=h+(1)>>0;}d.pad(g);};M.prototype.fmt_sbx=function(a,b,c){return this.$val.fmt_sbx(a,b,c);};M.Ptr.prototype.fmt_sx=function(a,b){var c;c=this;if(c.fmtFlags.precPresent&&c.prec>31)*4294967296))>>0));}else{c=B.AppendQuoteRune($subslice(new CE(b.intbuf),0,0),((a.$low+((a.$high>>31)*4294967296))>>0));}b.pad(c);};M.prototype.fmt_qc=function(a){return this.$val.fmt_qc(a);};P=function(a,b){if(a.fmtFlags.precPresent){return a.prec;}return b;};M.Ptr.prototype.formatFloat=function(a,b,c,d){var $deferred=[],$err=null,e,f;try{$deferFrames.push($deferred);e=this;f=B.AppendFloat($subslice(new CE(e.intbuf),0,1),a,b,c,d);if((((1<0||1>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+1])===45)||(((1<0||1>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+1])===43)){f=$subslice(f,1);}else{(0<0||0>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+0]=43;}if(A.IsInf(a,0)){if(e.fmtFlags.zero){$deferred.push([(function(){e.fmtFlags.zero=true;}),[]]);e.fmtFlags.zero=false;}}if(e.fmtFlags.zero&&e.fmtFlags.widPresent&&e.wid>f.$length){if(e.fmtFlags.space&&a>=0){e.buf.WriteByte(32);e.wid=e.wid-(1)>>0;}else if(e.fmtFlags.plus||a<0){e.buf.WriteByte(((0<0||0>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+0]));e.wid=e.wid-(1)>>0;}e.pad($subslice(f,1));return;}if(e.fmtFlags.space&&(((0<0||0>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+0])===43)){(0<0||0>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+0]=32;e.pad(f);return;}if(e.fmtFlags.plus||(((0<0||0>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+0])===45)||A.IsInf(a,0)){e.pad(f);return;}e.pad($subslice(f,1));}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};M.prototype.formatFloat=function(a,b,c,d){return this.$val.formatFloat(a,b,c,d);};M.Ptr.prototype.fmt_e64=function(a){var b;b=this;b.formatFloat(a,101,P(b,6),64);};M.prototype.fmt_e64=function(a){return this.$val.fmt_e64(a);};M.Ptr.prototype.fmt_E64=function(a){var b;b=this;b.formatFloat(a,69,P(b,6),64);};M.prototype.fmt_E64=function(a){return this.$val.fmt_E64(a);};M.Ptr.prototype.fmt_f64=function(a){var b;b=this;b.formatFloat(a,102,P(b,6),64);};M.prototype.fmt_f64=function(a){return this.$val.fmt_f64(a);};M.Ptr.prototype.fmt_g64=function(a){var b;b=this;b.formatFloat(a,103,P(b,-1),64);};M.prototype.fmt_g64=function(a){return this.$val.fmt_g64(a);};M.Ptr.prototype.fmt_G64=function(a){var b;b=this;b.formatFloat(a,71,P(b,-1),64);};M.prototype.fmt_G64=function(a){return this.$val.fmt_G64(a);};M.Ptr.prototype.fmt_fb64=function(a){var b;b=this;b.formatFloat(a,98,0,64);};M.prototype.fmt_fb64=function(a){return this.$val.fmt_fb64(a);};M.Ptr.prototype.fmt_e32=function(a){var b;b=this;b.formatFloat($coerceFloat32(a),101,P(b,6),32);};M.prototype.fmt_e32=function(a){return this.$val.fmt_e32(a);};M.Ptr.prototype.fmt_E32=function(a){var b;b=this;b.formatFloat($coerceFloat32(a),69,P(b,6),32);};M.prototype.fmt_E32=function(a){return this.$val.fmt_E32(a);};M.Ptr.prototype.fmt_f32=function(a){var b;b=this;b.formatFloat($coerceFloat32(a),102,P(b,6),32);};M.prototype.fmt_f32=function(a){return this.$val.fmt_f32(a);};M.Ptr.prototype.fmt_g32=function(a){var b;b=this;b.formatFloat($coerceFloat32(a),103,P(b,-1),32);};M.prototype.fmt_g32=function(a){return this.$val.fmt_g32(a);};M.Ptr.prototype.fmt_G32=function(a){var b;b=this;b.formatFloat($coerceFloat32(a),71,P(b,-1),32);};M.prototype.fmt_G32=function(a){return this.$val.fmt_G32(a);};M.Ptr.prototype.fmt_fb32=function(a){var b;b=this;b.formatFloat($coerceFloat32(a),98,0,32);};M.prototype.fmt_fb32=function(a){return this.$val.fmt_fb32(a);};M.Ptr.prototype.fmt_c64=function(a,b){var c;c=this;c.fmt_complex($coerceFloat32(a.$real),$coerceFloat32(a.$imag),32,b);};M.prototype.fmt_c64=function(a,b){return this.$val.fmt_c64(a,b);};M.Ptr.prototype.fmt_c128=function(a,b){var c;c=this;c.fmt_complex(a.$real,a.$imag,64,b);};M.prototype.fmt_c128=function(a,b){return this.$val.fmt_c128(a,b);};M.Ptr.prototype.fmt_complex=function(a,b,c,d){var e,f,g,h,i,j;e=this;e.buf.WriteByte(40);f=e.fmtFlags.plus;g=e.fmtFlags.space;h=e.wid;i=0;while(true){j=d;if(j===98){e.formatFloat(a,98,0,c);}else if(j===101){e.formatFloat(a,101,P(e,6),c);}else if(j===69){e.formatFloat(a,69,P(e,6),c);}else if(j===102||j===70){e.formatFloat(a,102,P(e,6),c);}else if(j===103){e.formatFloat(a,103,P(e,-1),c);}else if(j===71){e.formatFloat(a,71,P(e,-1),c);}if(!((i===0))){break;}e.fmtFlags.plus=true;e.fmtFlags.space=false;e.wid=h;a=b;i=i+(1)>>0;}e.fmtFlags.space=g;e.fmtFlags.plus=f;e.wid=h;e.buf.Write(AA);};M.prototype.fmt_complex=function(a,b,c,d){return this.$val.fmt_complex(a,b,c,d);};$ptrType(AJ).prototype.Write=function(a){var b=0,c=$ifaceNil,d,e,f;d=this;d.$set($appendSlice(d.$get(),a));e=a.$length;f=$ifaceNil;b=e;c=f;return[b,c];};$ptrType(AJ).prototype.WriteString=function(a){var b=0,c=$ifaceNil,d,e,f;d=this;d.$set($appendSlice(d.$get(),new AJ($stringToBytes(a))));e=a.length;f=$ifaceNil;b=e;c=f;return[b,c];};$ptrType(AJ).prototype.WriteByte=function(a){var b;b=this;b.$set($append(b.$get(),a));return $ifaceNil;};$ptrType(AJ).prototype.WriteRune=function(a){var b,c,d,e,f;b=this;if(a<128){b.$set($append(b.$get(),(a<<24>>>24)));return $ifaceNil;}c=b.$get();d=c.$length;while((d+4>>0)>c.$capacity){c=$append(c,0);}f=C.EncodeRune((e=$subslice(c,d,(d+4>>0)),$subslice(new CE(e.$array),e.$offset,e.$offset+e.$length)),a);b.$set($subslice(c,0,(d+f>>0)));return $ifaceNil;};AM=function(){var a;a=$assertType(AL.Get(),CI);a.panicking=false;a.erroring=false;a.fmt.init(new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},a));return a;};AK.Ptr.prototype.free=function(){var a;a=this;if(a.buf.$capacity>1024){return;}a.buf=$subslice(a.buf,0,0);a.arg=$ifaceNil;a.value=new G.Value.Ptr(CK.nil,0,0);AL.Put(a);};AK.prototype.free=function(){return this.$val.free();};AK.Ptr.prototype.Width=function(){var a=0,b=false,c,d,e;c=this;d=c.fmt.wid;e=c.fmt.fmtFlags.widPresent;a=d;b=e;return[a,b];};AK.prototype.Width=function(){return this.$val.Width();};AK.Ptr.prototype.Precision=function(){var a=0,b=false,c,d,e;c=this;d=c.fmt.prec;e=c.fmt.fmtFlags.precPresent;a=d;b=e;return[a,b];};AK.prototype.Precision=function(){return this.$val.Precision();};AK.Ptr.prototype.Flag=function(a){var b,c;b=this;c=a;if(c===45){return b.fmt.fmtFlags.minus;}else if(c===43){return b.fmt.fmtFlags.plus;}else if(c===35){return b.fmt.fmtFlags.sharp;}else if(c===32){return b.fmt.fmtFlags.space;}else if(c===48){return b.fmt.fmtFlags.zero;}return false;};AK.prototype.Flag=function(a){return this.$val.Flag(a);};AK.Ptr.prototype.add=function(a){var b;b=this;new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).WriteRune(a);};AK.prototype.add=function(a){return this.$val.add(a);};AK.Ptr.prototype.Write=function(a){var b=0,c=$ifaceNil,d,e;d=this;e=new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d).Write(a);b=e[0];c=e[1];return[b,c];};AK.prototype.Write=function(a){return this.$val.Write(a);};AP=$pkg.Sprintf=function(a,b){var c,d;c=AM();c.doPrintf(a,b);d=$bytesToString(c.buf);c.free();return d;};AQ=$pkg.Errorf=function(a,b){return D.New(AP(a,b));};AT=$pkg.Sprint=function(a){var b,c;b=AM();b.doPrint(a,false,false);c=$bytesToString(b.buf);b.free();return c;};AW=$pkg.Sprintln=function(a){var b,c;b=AM();b.doPrint(a,true,true);c=$bytesToString(b.buf);b.free();return c;};AX=function(a,b){var c;a=a;c=a.Field(b);if((c.Kind()===20)&&!c.IsNil()){c=c.Elem();}return c;};AY=function(a,b,c){var d=0,e=false,f=0,g,h,i;if(b>=c){g=0;h=false;i=c;d=g;e=h;f=i;return[d,e,f];}f=b;while(f>0)+((a.charCodeAt(f)-48<<24>>>24)>>0)>>0;e=true;f=f+(1)>>0;}return[d,e,f];};AK.Ptr.prototype.unknownType=function(a){var b;b=this;a=a;if(!a.IsValid()){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).Write(R);return;}new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).WriteByte(63);new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).WriteString(a.Type().String());new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).WriteByte(63);};AK.prototype.unknownType=function(a){return this.$val.unknownType(a);};AK.Ptr.prototype.badVerb=function(a){var b;b=this;b.erroring=true;b.add(37);b.add(33);b.add(a);b.add(40);if(!($interfaceIsEqual(b.arg,$ifaceNil))){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).WriteString(G.TypeOf(b.arg).String());b.add(61);b.printArg(b.arg,118,0);}else if(b.value.IsValid()){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).WriteString(b.value.Type().String());b.add(61);b.printValue(b.value,118,0);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b).Write(R);}b.add(41);b.erroring=false;};AK.prototype.badVerb=function(a){return this.$val.badVerb(a);};AK.Ptr.prototype.fmtBool=function(a,b){var c,d;c=this;d=b;if(d===116||d===118){c.fmt.fmt_boolean(a);}else{c.badVerb(b);}};AK.prototype.fmtBool=function(a,b){return this.$val.fmtBool(a,b);};AK.Ptr.prototype.fmtC=function(a){var b,c,d,e;b=this;c=((a.$low+((a.$high>>31)*4294967296))>>0);if(!((d=new $Int64(0,c),(d.$high===a.$high&&d.$low===a.$low)))){c=65533;}e=C.EncodeRune($subslice(new CE(b.runeBuf),0,4),c);b.fmt.pad($subslice(new CE(b.runeBuf),0,e));};AK.prototype.fmtC=function(a){return this.$val.fmtC(a);};AK.Ptr.prototype.fmtInt64=function(a,b){var c,d;c=this;d=b;if(d===98){c.fmt.integer(a,new $Uint64(0,2),true,"0123456789abcdef");}else if(d===99){c.fmtC(a);}else if(d===100||d===118){c.fmt.integer(a,new $Uint64(0,10),true,"0123456789abcdef");}else if(d===111){c.fmt.integer(a,new $Uint64(0,8),true,"0123456789abcdef");}else if(d===113){if((0=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]);if(h>0){if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(Q);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(32);}}e.printArg(new $Uint8(i),118,d+1>>0);g++;}if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(125);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(93);}return;}j=b;if(j===115){e.fmt.fmt_s($bytesToString(a));}else if(j===120){e.fmt.fmt_bx(a,"0123456789abcdef");}else if(j===88){e.fmt.fmt_bx(a,"0123456789ABCDEF");}else if(j===113){e.fmt.fmt_q($bytesToString(a));}else{e.badVerb(b);}};AK.prototype.fmtBytes=function(a,b,c,d){return this.$val.fmtBytes(a,b,c,d);};AK.Ptr.prototype.fmtPointer=function(a,b){var c,d,e,f,g;c=this;a=a;d=true;e=b;if(e===112||e===118){}else if(e===98||e===100||e===111||e===120||e===88){d=false;}else{c.badVerb(b);return;}f=0;g=a.Kind();if(g===18||g===19||g===21||g===22||g===23||g===26){f=a.Pointer();}else{c.badVerb(b);return;}if(c.fmt.fmtFlags.sharpV){c.add(40);new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteString(a.Type().String());c.add(41);c.add(40);if(f===0){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(T);}else{c.fmt0x64(new $Uint64(0,f.constructor===Number?f:1),true);}c.add(41);}else if((b===118)&&(f===0)){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(R);}else{if(d){c.fmt0x64(new $Uint64(0,f.constructor===Number?f:1),!c.fmt.fmtFlags.sharp);}else{c.fmtUint64(new $Uint64(0,f.constructor===Number?f:1),b);}}};AK.prototype.fmtPointer=function(a,b){return this.$val.fmtPointer(a,b);};AK.Ptr.prototype.catchPanic=function(a,b){var c,d,e;c=this;d=$recover();if(!($interfaceIsEqual(d,$ifaceNil))){e=G.ValueOf(a);if((e.Kind()===22)&&e.IsNil()){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(R);return;}if(c.panicking){$panic(d);}c.fmt.clearflags();new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(V);c.add(b);new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(Y);c.panicking=true;c.printArg(d,118,0);c.panicking=false;new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteByte(41);}};AK.prototype.catchPanic=function(a,b){return this.$val.catchPanic(a,b);};AK.Ptr.prototype.clearSpecialFlags=function(){var a=false,b=false,c;c=this;a=c.fmt.fmtFlags.plusV;if(a){c.fmt.fmtFlags.plus=true;c.fmt.fmtFlags.plusV=false;}b=c.fmt.fmtFlags.sharpV;if(b){c.fmt.fmtFlags.sharp=true;c.fmt.fmtFlags.sharpV=false;}return[a,b];};AK.prototype.clearSpecialFlags=function(){return this.$val.clearSpecialFlags();};AK.Ptr.prototype.restoreSpecialFlags=function(a,b){var c;c=this;if(a){c.fmt.fmtFlags.plus=false;c.fmt.fmtFlags.plusV=true;}if(b){c.fmt.fmtFlags.sharp=false;c.fmt.fmtFlags.sharpV=true;}};AK.prototype.restoreSpecialFlags=function(a,b){return this.$val.restoreSpecialFlags(a,b);};AK.Ptr.prototype.handleMethods=function(a,b){var c=false,$deferred=[],$err=null,d,e,f,g,h,i,j,k,l,m,n;try{$deferFrames.push($deferred);d=this;if(d.erroring){return c;}e=$assertType(d.arg,AG,true);f=e[0];g=e[1];if(g){c=true;h=d.clearSpecialFlags();$deferred.push([$methodVal(d,"restoreSpecialFlags"),[h[0],h[1]]]);$deferred.push([$methodVal(d,"catchPanic"),[d.arg,a]]);f.Format(d,a);return c;}if(d.fmt.fmtFlags.sharpV){i=$assertType(d.arg,AI,true);j=i[0];k=i[1];if(k){c=true;$deferred.push([$methodVal(d,"catchPanic"),[d.arg,a]]);d.fmt.fmt_s(j.GoString());return c;}}else{l=a;if(l===118||l===115||l===120||l===88||l===113){n=d.arg;if($assertType(n,$error,true)[1]){m=n;c=true;$deferred.push([$methodVal(d,"catchPanic"),[d.arg,a]]);d.printArg(new $String(m.Error()),a,b);return c;}else if($assertType(n,AH,true)[1]){m=n;c=true;$deferred.push([$methodVal(d,"catchPanic"),[d.arg,a]]);d.printArg(new $String(m.String()),a,b);return c;}}}c=false;return c;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return c;}};AK.prototype.handleMethods=function(a,b){return this.$val.handleMethods(a,b);};AK.Ptr.prototype.printArg=function(a,b,c){var d=false,e,f,g,h,i;e=this;e.arg=a;e.value=new G.Value.Ptr(CK.nil,0,0);if($interfaceIsEqual(a,$ifaceNil)){if((b===84)||(b===118)){e.fmt.pad(R);}else{e.badVerb(b);}d=false;return d;}f=b;if(f===84){e.printArg(new $String(G.TypeOf(a).String()),115,0);d=false;return d;}else if(f===112){e.fmtPointer(G.ValueOf(a),b);d=false;return d;}h=a;if($assertType(h,$Bool,true)[1]){g=h.$val;e.fmtBool(g,b);}else if($assertType(h,$Float32,true)[1]){g=h.$val;e.fmtFloat32(g,b);}else if($assertType(h,$Float64,true)[1]){g=h.$val;e.fmtFloat64(g,b);}else if($assertType(h,$Complex64,true)[1]){g=h.$val;e.fmtComplex64(g,b);}else if($assertType(h,$Complex128,true)[1]){g=h.$val;e.fmtComplex128(g,b);}else if($assertType(h,$Int,true)[1]){g=h.$val;e.fmtInt64(new $Int64(0,g),b);}else if($assertType(h,$Int8,true)[1]){g=h.$val;e.fmtInt64(new $Int64(0,g),b);}else if($assertType(h,$Int16,true)[1]){g=h.$val;e.fmtInt64(new $Int64(0,g),b);}else if($assertType(h,$Int32,true)[1]){g=h.$val;e.fmtInt64(new $Int64(0,g),b);}else if($assertType(h,$Int64,true)[1]){g=h.$val;e.fmtInt64(g,b);}else if($assertType(h,$Uint,true)[1]){g=h.$val;e.fmtUint64(new $Uint64(0,g),b);}else if($assertType(h,$Uint8,true)[1]){g=h.$val;e.fmtUint64(new $Uint64(0,g),b);}else if($assertType(h,$Uint16,true)[1]){g=h.$val;e.fmtUint64(new $Uint64(0,g),b);}else if($assertType(h,$Uint32,true)[1]){g=h.$val;e.fmtUint64(new $Uint64(0,g),b);}else if($assertType(h,$Uint64,true)[1]){g=h.$val;e.fmtUint64(g,b);}else if($assertType(h,$Uintptr,true)[1]){g=h.$val;e.fmtUint64(new $Uint64(0,g.constructor===Number?g:1),b);}else if($assertType(h,$String,true)[1]){g=h.$val;e.fmtString(g,b);d=(b===115)||(b===118);}else if($assertType(h,CE,true)[1]){g=h.$val;e.fmtBytes(g,b,$ifaceNil,c);d=b===115;}else{g=h;i=e.handleMethods(b,c);if(i){d=false;return d;}d=e.printReflectValue(G.ValueOf(a),b,c);return d;}e.arg=$ifaceNil;return d;};AK.prototype.printArg=function(a,b,c){return this.$val.printArg(a,b,c);};AK.Ptr.prototype.printValue=function(a,b,c){var d=false,e,f,g;e=this;a=a;if(!a.IsValid()){if((b===84)||(b===118)){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(R);}else{e.badVerb(b);}d=false;return d;}f=b;if(f===84){e.printArg(new $String(a.Type().String()),115,0);d=false;return d;}else if(f===112){e.fmtPointer(a,b);d=false;return d;}e.arg=$ifaceNil;if(a.CanInterface()){e.arg=a.Interface();}g=e.handleMethods(b,c);if(g){d=false;return d;}d=e.printReflectValue(a,b,c);return d;};AK.prototype.printValue=function(a,b,c){return this.$val.printValue(a,b,c);};AK.Ptr.prototype.printReflectValue=function(a,b,c){var d=false,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab;e=this;a=a;f=e.value;e.value=a;g=a;h=g.Kind();BigSwitch:switch(0){default:if(h===1){e.fmtBool(g.Bool(),b);}else if(h===2||h===3||h===4||h===5||h===6){e.fmtInt64(g.Int(),b);}else if(h===7||h===8||h===9||h===10||h===11||h===12){e.fmtUint64(g.Uint(),b);}else if(h===13||h===14){if(g.Type().Size()===4){e.fmtFloat32(g.Float(),b);}else{e.fmtFloat64(g.Float(),b);}}else if(h===15||h===16){if(g.Type().Size()===8){e.fmtComplex64((i=g.Complex(),new $Complex64(i.$real,i.$imag)),b);}else{e.fmtComplex128(g.Complex(),b);}}else if(h===24){e.fmtString(g.String(),b);}else if(h===21){if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteString(g.Type().String());if(g.IsNil()){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteString("(nil)");break;}new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(123);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(U);}j=g.MapKeys();k=j;l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(m>0){if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(Q);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(32);}}e.printValue(n,b,c+1>>0);new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(58);e.printValue(g.MapIndex(n),b,c+1>>0);l++;}if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(125);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(93);}}else if(h===25){if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteString(a.Type().String());}e.add(123);o=g;p=o.Type();q=0;while(q0){if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(Q);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(32);}}if(e.fmt.fmtFlags.plusV||e.fmt.fmtFlags.sharpV){r=$clone(p.Field(q),G.StructField);if(!(r.Name==="")){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteString(r.Name);new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(58);}}e.printValue(AX(o,q),b,c+1>>0);q=q+(1)>>0;}new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(125);}else if(h===20){s=g.Elem();if(!s.IsValid()){if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteString(g.Type().String());new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(S);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(R);}}else{d=e.printValue(s,b,c+1>>0);}}else if(h===17||h===23){t=g.Type();if((t.Elem().Kind()===8)&&($interfaceIsEqual(t.Elem(),BB)||(b===115)||(b===113)||(b===120))){u=CE.nil;if(g.Kind()===23){u=g.Bytes();}else if(g.CanAddr()){u=g.Slice(0,g.Len()).Bytes();}else{u=CE.make(g.Len());v=u;w=0;while(w=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+x]=(g.Index(x).Uint().$low<<24>>>24);w++;}}e.fmtBytes(u,b,t,c);d=b===115;break;}if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteString(a.Type().String());if((g.Kind()===23)&&g.IsNil()){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteString("(nil)");break;}new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(123);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(91);}y=0;while(y0){if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).Write(Q);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(32);}}e.printValue(g.Index(y),b,c+1>>0);y=y+(1)>>0;}if(e.fmt.fmtFlags.sharpV){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(125);}else{new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(93);}}else if(h===22){z=g.Pointer();if(!((z===0))&&(c===0)){aa=g.Elem();ab=aa.Kind();if(ab===17||ab===23){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(38);e.printValue(aa,b,c+1>>0);break BigSwitch;}else if(ab===25){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(38);e.printValue(aa,b,c+1>>0);break BigSwitch;}else if(ab===21){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e).WriteByte(38);e.printValue(aa,b,c+1>>0);break BigSwitch;}}e.fmtPointer(a,b);}else if(h===18||h===19||h===26){e.fmtPointer(a,b);}else{e.unknownType(g);}}e.value=f;d=d;return d;};AK.prototype.printReflectValue=function(a,b,c){return this.$val.printReflectValue(a,b,c);};BC=function(a,b){var c=0,d=false,e=0,f;e=b;if(b=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+b]),$Int,true);c=f[0];d=f[1];e=b+1>>0;}return[c,d,e];};BD=function(a){var b=0,c=0,d=false,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=1;while(e>0;l=false;b=j;c=k;d=l;return[b,c,d];}m=g-1>>0;n=e+1>>0;o=true;b=m;c=n;d=o;return[b,c,d];}e=e+(1)>>0;}p=0;q=1;r=false;b=p;c=q;d=r;return[b,c,d];};AK.Ptr.prototype.argNumber=function(a,b,c,d){var e=0,f=0,g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;h=this;if(b.length<=c||!((b.charCodeAt(c)===91))){i=a;j=c;k=false;e=i;f=j;g=k;return[e,f,g];}h.reordered=true;l=BD(b.substring(c));m=l[0];n=l[1];o=l[2];if(o&&0<=m&&m>0;r=true;e=p;f=q;g=r;return[e,f,g];}h.goodArgNum=false;s=a;t=c+n>>0;u=true;e=s;f=t;g=u;return[e,f,g];};AK.prototype.argNumber=function(a,b,c,d){return this.$val.argNumber(a,b,c,d);};AK.Ptr.prototype.doPrintf=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;c=this;d=a.length;e=0;f=false;c.reordered=false;g=0;while(g>0;}if(g>h){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteString(a.substring(h,g));}if(g>=d){break;}g=g+(1)>>0;c.fmt.clearflags();F:while(g>0;}j=c.argNumber(e,a,g,b.$length);e=j[0];g=j[1];f=j[2];if(g>0;k=BC(b,e);c.fmt.wid=k[0];c.fmt.fmtFlags.widPresent=k[1];e=k[2];if(!c.fmt.fmtFlags.widPresent){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(AC);}f=false;}else{l=AY(a,g,d);c.fmt.wid=l[0];c.fmt.fmtFlags.widPresent=l[1];g=l[2];if(f&&c.fmt.fmtFlags.widPresent){c.goodArgNum=false;}}if((g+1>>0)>0;if(f){c.goodArgNum=false;}m=c.argNumber(e,a,g,b.$length);e=m[0];g=m[1];f=m[2];if(a.charCodeAt(g)===42){g=g+(1)>>0;n=BC(b,e);c.fmt.prec=n[0];c.fmt.fmtFlags.precPresent=n[1];e=n[2];if(!c.fmt.fmtFlags.precPresent){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(AD);}f=false;}else{o=AY(a,g,d);c.fmt.prec=o[0];c.fmt.fmtFlags.precPresent=o[1];g=o[2];if(!c.fmt.fmtFlags.precPresent){c.fmt.prec=0;c.fmt.fmtFlags.precPresent=true;}}}if(!f){p=c.argNumber(e,a,g,b.$length);e=p[0];g=p[1];f=p[2];}if(g>=d){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(AE);continue;}q=C.DecodeRuneInString(a.substring(g));r=q[0];s=q[1];g=g+(s)>>0;if(r===37){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteByte(37);continue;}if(!c.goodArgNum){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(V);c.add(r);new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(X);continue;}else if(e>=b.$length){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(V);c.add(r);new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).Write(W);continue;}t=((e<0||e>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+e]);e=e+(1)>>0;if(r===118){if(c.fmt.fmtFlags.sharp){c.fmt.fmtFlags.sharp=false;c.fmt.fmtFlags.sharpV=true;}if(c.fmt.fmtFlags.plus){c.fmt.fmtFlags.plus=false;c.fmt.fmtFlags.plusV=true;}}c.printArg(t,r,0);}if(!c.reordered&&e=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+e]);if(!($interfaceIsEqual(u,$ifaceNil))){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteString(G.TypeOf(u).String());new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteByte(61);}c.printArg(u,118,0);if((e+1>>0)>0;}new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteByte(41);}};AK.prototype.doPrintf=function(a,b){return this.$val.doPrintf(a,b);};AK.Ptr.prototype.doPrint=function(a,b,c){var d,e,f,g,h;d=this;e=false;f=0;while(f=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+f]);if(f>0){h=!($interfaceIsEqual(g,$ifaceNil))&&(G.TypeOf(g).Kind()===24);if(b||!h&&!e){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d).WriteByte(32);}}e=d.printArg(g,118,0);f=f+(1)>>0;}if(c){new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d).WriteByte(10);}};AK.prototype.doPrint=function(a,b,c){return this.$val.doPrint(a,b,c);};BS.Ptr.prototype.Read=function(a){var b=0,c=$ifaceNil,d,e,f;d=this;e=0;f=D.New("ScanState's Read should not be called. Use ReadRune");b=e;c=f;return[b,c];};BS.prototype.Read=function(a){return this.$val.Read(a);};BS.Ptr.prototype.ReadRune=function(){var a=0,b=0,c=$ifaceNil,d,e;d=this;if(d.peekRune>=0){d.count=d.count+(1)>>0;a=d.peekRune;b=C.RuneLen(a);d.prevRune=a;d.peekRune=-1;return[a,b,c];}if(d.atEOF||d.ssave.nlIsEnd&&(d.prevRune===10)||d.count>=d.ssave.argLimit){c=E.EOF;return[a,b,c];}e=d.rr.ReadRune();a=e[0];b=e[1];c=e[2];if($interfaceIsEqual(c,$ifaceNil)){d.count=d.count+(1)>>0;d.prevRune=a;}else if($interfaceIsEqual(c,E.EOF)){d.atEOF=true;}return[a,b,c];};BS.prototype.ReadRune=function(){return this.$val.ReadRune();};BS.Ptr.prototype.Width=function(){var a=0,b=false,c,d,e,f,g;c=this;if(c.ssave.maxWid===1073741824){d=0;e=false;a=d;b=e;return[a,b];}f=c.ssave.maxWid;g=true;a=f;b=g;return[a,b];};BS.prototype.Width=function(){return this.$val.Width();};BS.Ptr.prototype.getRune=function(){var a=0,b,c,d;b=this;c=b.ReadRune();a=c[0];d=c[2];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,E.EOF)){a=-1;return a;}b.error(d);}return a;};BS.prototype.getRune=function(){return this.$val.getRune();};BS.Ptr.prototype.UnreadRune=function(){var a,b,c,d;a=this;b=$assertType(a.rr,BE,true);c=b[0];d=b[1];if(d){c.UnreadRune();}else{a.peekRune=a.prevRune;}a.prevRune=-1;a.count=a.count-(1)>>0;return $ifaceNil;};BS.prototype.UnreadRune=function(){return this.$val.UnreadRune();};BS.Ptr.prototype.error=function(a){var b,c;b=this;$panic((c=new BR.Ptr(a),new c.constructor.Struct(c)));};BS.prototype.error=function(a){return this.$val.error(a);};BS.Ptr.prototype.errorString=function(a){var b,c;b=this;$panic((c=new BR.Ptr(D.New(a)),new c.constructor.Struct(c)));};BS.prototype.errorString=function(a){return this.$val.errorString(a);};BS.Ptr.prototype.Token=function(a,b){var c=CE.nil,d=$ifaceNil,$deferred=[],$err=null,e;try{$deferFrames.push($deferred);e=this;$deferred.push([(function(){var f,g,h,i;f=$recover();if(!($interfaceIsEqual(f,$ifaceNil))){g=$assertType(f,BR,true);h=$clone(g[0],BR);i=g[1];if(i){d=h.err;}else{$panic(f);}}}),[]]);if(b===$throwNilPointerError){b=BW;}e.buf=$subslice(e.buf,0,0);c=e.token(a,b);return[c,d];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[c,d];}};BS.prototype.Token=function(a,b){return this.$val.Token(a,b);};BV=function(a){var b,c,d,e;if(a>=65536){return false;}b=(a<<16>>>16);c=BU;d=0;while(d=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]),CG);if(b1024){return;}b.buf=$subslice(b.buf,0,0);b.rr=$ifaceNil;BY.Put(b);};BS.prototype.free=function(a){return this.$val.free(a);};BS.Ptr.prototype.skipSpace=function(a){var b,c;b=this;while(true){c=b.getRune();if(c===-1){return;}if((c===13)&&b.peek("\n")){continue;}if(c===10){if(a){break;}if(b.ssave.nlIsSpace){continue;}b.errorString("unexpected newline");return;}if(!BV(c)){b.UnreadRune();break;}}};BS.prototype.skipSpace=function(a){return this.$val.skipSpace(a);};BS.Ptr.prototype.token=function(a,b){var c,d,e;c=this;if(a){c.skipSpace(false);}while(true){d=c.getRune();if(d===-1){break;}if(!b(d)){c.UnreadRune();break;}new CJ(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c).WriteRune(d);}return(e=c.buf,$subslice(new CE(e.$array),e.$offset,e.$offset+e.$length));};BS.prototype.token=function(a,b){return this.$val.token(a,b);};CC=function(a,b){var c,d,e,f,g;c=a;d=0;while(d=0;};BS.prototype.peek=function(a){return this.$val.peek(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}CE=$sliceType($Uint8);CF=$sliceType($emptyInterface);CG=$arrayType($Uint16,2);CH=$sliceType(CG);CI=$ptrType(AK);CJ=$ptrType(AJ);CK=$ptrType(G.rtype);CN=$ptrType(BS);CO=$arrayType($Uint8,4);DI=$arrayType($Uint8,65);DJ=$ptrType(M);DK=$funcType([$Int32],[$Bool],false);L.init([["widPresent","widPresent","fmt",$Bool,""],["precPresent","precPresent","fmt",$Bool,""],["minus","minus","fmt",$Bool,""],["plus","plus","fmt",$Bool,""],["sharp","sharp","fmt",$Bool,""],["space","space","fmt",$Bool,""],["unicode","unicode","fmt",$Bool,""],["uniQuote","uniQuote","fmt",$Bool,""],["zero","zero","fmt",$Bool,""],["plusV","plusV","fmt",$Bool,""],["sharpV","sharpV","fmt",$Bool,""]]);DJ.methods=[["clearflags","clearflags","fmt",$funcType([],[],false),-1],["computePadding","computePadding","fmt",$funcType([$Int],[CE,$Int,$Int],false),-1],["fmt_E32","fmt_E32","fmt",$funcType([$Float32],[],false),-1],["fmt_E64","fmt_E64","fmt",$funcType([$Float64],[],false),-1],["fmt_G32","fmt_G32","fmt",$funcType([$Float32],[],false),-1],["fmt_G64","fmt_G64","fmt",$funcType([$Float64],[],false),-1],["fmt_boolean","fmt_boolean","fmt",$funcType([$Bool],[],false),-1],["fmt_bx","fmt_bx","fmt",$funcType([CE,$String],[],false),-1],["fmt_c128","fmt_c128","fmt",$funcType([$Complex128,$Int32],[],false),-1],["fmt_c64","fmt_c64","fmt",$funcType([$Complex64,$Int32],[],false),-1],["fmt_complex","fmt_complex","fmt",$funcType([$Float64,$Float64,$Int,$Int32],[],false),-1],["fmt_e32","fmt_e32","fmt",$funcType([$Float32],[],false),-1],["fmt_e64","fmt_e64","fmt",$funcType([$Float64],[],false),-1],["fmt_f32","fmt_f32","fmt",$funcType([$Float32],[],false),-1],["fmt_f64","fmt_f64","fmt",$funcType([$Float64],[],false),-1],["fmt_fb32","fmt_fb32","fmt",$funcType([$Float32],[],false),-1],["fmt_fb64","fmt_fb64","fmt",$funcType([$Float64],[],false),-1],["fmt_g32","fmt_g32","fmt",$funcType([$Float32],[],false),-1],["fmt_g64","fmt_g64","fmt",$funcType([$Float64],[],false),-1],["fmt_q","fmt_q","fmt",$funcType([$String],[],false),-1],["fmt_qc","fmt_qc","fmt",$funcType([$Int64],[],false),-1],["fmt_s","fmt_s","fmt",$funcType([$String],[],false),-1],["fmt_sbx","fmt_sbx","fmt",$funcType([$String,CE,$String],[],false),-1],["fmt_sx","fmt_sx","fmt",$funcType([$String,$String],[],false),-1],["formatFloat","formatFloat","fmt",$funcType([$Float64,$Uint8,$Int,$Int],[],false),-1],["init","init","fmt",$funcType([CJ],[],false),-1],["integer","integer","fmt",$funcType([$Int64,$Uint64,$Bool,$String],[],false),-1],["pad","pad","fmt",$funcType([CE],[],false),-1],["padString","padString","fmt",$funcType([$String],[],false),-1],["truncate","truncate","fmt",$funcType([$String],[$String],false),-1],["writePadding","writePadding","fmt",$funcType([$Int,CE],[],false),-1]];M.init([["intbuf","intbuf","fmt",DI,""],["buf","buf","fmt",CJ,""],["wid","wid","fmt",$Int,""],["prec","prec","fmt",$Int,""],["fmtFlags","","fmt",L,""]]);AF.init([["Flag","Flag","",$funcType([$Int],[$Bool],false)],["Precision","Precision","",$funcType([],[$Int,$Bool],false)],["Width","Width","",$funcType([],[$Int,$Bool],false)],["Write","Write","",$funcType([CE],[$Int,$error],false)]]);AG.init([["Format","Format","",$funcType([AF,$Int32],[],false)]]);AH.init([["String","String","",$funcType([],[$String],false)]]);AI.init([["GoString","GoString","",$funcType([],[$String],false)]]);CJ.methods=[["Write","Write","",$funcType([CE],[$Int,$error],false),-1],["WriteByte","WriteByte","",$funcType([$Uint8],[$error],false),-1],["WriteRune","WriteRune","",$funcType([$Int32],[$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1]];AJ.init($Uint8);CI.methods=[["Flag","Flag","",$funcType([$Int],[$Bool],false),-1],["Precision","Precision","",$funcType([],[$Int,$Bool],false),-1],["Width","Width","",$funcType([],[$Int,$Bool],false),-1],["Write","Write","",$funcType([CE],[$Int,$error],false),-1],["add","add","fmt",$funcType([$Int32],[],false),-1],["argNumber","argNumber","fmt",$funcType([$Int,$String,$Int,$Int],[$Int,$Int,$Bool],false),-1],["badVerb","badVerb","fmt",$funcType([$Int32],[],false),-1],["catchPanic","catchPanic","fmt",$funcType([$emptyInterface,$Int32],[],false),-1],["clearSpecialFlags","clearSpecialFlags","fmt",$funcType([],[$Bool,$Bool],false),-1],["doPrint","doPrint","fmt",$funcType([CF,$Bool,$Bool],[],false),-1],["doPrintf","doPrintf","fmt",$funcType([$String,CF],[],false),-1],["fmt0x64","fmt0x64","fmt",$funcType([$Uint64,$Bool],[],false),-1],["fmtBool","fmtBool","fmt",$funcType([$Bool,$Int32],[],false),-1],["fmtBytes","fmtBytes","fmt",$funcType([CE,$Int32,G.Type,$Int],[],false),-1],["fmtC","fmtC","fmt",$funcType([$Int64],[],false),-1],["fmtComplex128","fmtComplex128","fmt",$funcType([$Complex128,$Int32],[],false),-1],["fmtComplex64","fmtComplex64","fmt",$funcType([$Complex64,$Int32],[],false),-1],["fmtFloat32","fmtFloat32","fmt",$funcType([$Float32,$Int32],[],false),-1],["fmtFloat64","fmtFloat64","fmt",$funcType([$Float64,$Int32],[],false),-1],["fmtInt64","fmtInt64","fmt",$funcType([$Int64,$Int32],[],false),-1],["fmtPointer","fmtPointer","fmt",$funcType([G.Value,$Int32],[],false),-1],["fmtString","fmtString","fmt",$funcType([$String,$Int32],[],false),-1],["fmtUint64","fmtUint64","fmt",$funcType([$Uint64,$Int32],[],false),-1],["fmtUnicode","fmtUnicode","fmt",$funcType([$Int64],[],false),-1],["free","free","fmt",$funcType([],[],false),-1],["handleMethods","handleMethods","fmt",$funcType([$Int32,$Int],[$Bool],false),-1],["printArg","printArg","fmt",$funcType([$emptyInterface,$Int32,$Int],[$Bool],false),-1],["printReflectValue","printReflectValue","fmt",$funcType([G.Value,$Int32,$Int],[$Bool],false),-1],["printValue","printValue","fmt",$funcType([G.Value,$Int32,$Int],[$Bool],false),-1],["restoreSpecialFlags","restoreSpecialFlags","fmt",$funcType([$Bool,$Bool],[],false),-1],["unknownType","unknownType","fmt",$funcType([G.Value],[],false),-1]];AK.init([["n","n","fmt",$Int,""],["panicking","panicking","fmt",$Bool,""],["erroring","erroring","fmt",$Bool,""],["buf","buf","fmt",AJ,""],["arg","arg","fmt",$emptyInterface,""],["value","value","fmt",G.Value,""],["reordered","reordered","fmt",$Bool,""],["goodArgNum","goodArgNum","fmt",$Bool,""],["runeBuf","runeBuf","fmt",CO,""],["fmt","fmt","fmt",M,""]]);BE.init([["UnreadRune","UnreadRune","",$funcType([],[$error],false)]]);BR.init([["err","err","fmt",$error,""]]);CN.methods=[["Read","Read","",$funcType([CE],[$Int,$error],false),-1],["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false),-1],["SkipSpace","SkipSpace","",$funcType([],[],false),-1],["Token","Token","",$funcType([$Bool,DK],[CE,$error],false),-1],["UnreadRune","UnreadRune","",$funcType([],[$error],false),-1],["Width","Width","",$funcType([],[$Int,$Bool],false),-1],["accept","accept","fmt",$funcType([$String],[$Bool],false),-1],["advance","advance","fmt",$funcType([$String],[$Int],false),-1],["complexTokens","complexTokens","fmt",$funcType([],[$String,$String],false),-1],["consume","consume","fmt",$funcType([$String,$Bool],[$Bool],false),-1],["convertFloat","convertFloat","fmt",$funcType([$String,$Int],[$Float64],false),-1],["convertString","convertString","fmt",$funcType([$Int32],[$String],false),-1],["doScan","doScan","fmt",$funcType([CF],[$Int,$error],false),-1],["doScanf","doScanf","fmt",$funcType([$String,CF],[$Int,$error],false),-1],["error","error","fmt",$funcType([$error],[],false),-1],["errorString","errorString","fmt",$funcType([$String],[],false),-1],["floatToken","floatToken","fmt",$funcType([],[$String],false),-1],["free","free","fmt",$funcType([BT],[],false),-1],["getBase","getBase","fmt",$funcType([$Int32],[$Int,$String],false),-1],["getRune","getRune","fmt",$funcType([],[$Int32],false),-1],["hexByte","hexByte","fmt",$funcType([],[$Uint8,$Bool],false),-1],["hexDigit","hexDigit","fmt",$funcType([$Int32],[$Int],false),-1],["hexString","hexString","fmt",$funcType([],[$String],false),-1],["mustReadRune","mustReadRune","fmt",$funcType([],[$Int32],false),-1],["notEOF","notEOF","fmt",$funcType([],[],false),-1],["okVerb","okVerb","fmt",$funcType([$Int32,$String,$String],[$Bool],false),-1],["peek","peek","fmt",$funcType([$String],[$Bool],false),-1],["quotedString","quotedString","fmt",$funcType([],[$String],false),-1],["scanBasePrefix","scanBasePrefix","fmt",$funcType([],[$Int,$String,$Bool],false),-1],["scanBool","scanBool","fmt",$funcType([$Int32],[$Bool],false),-1],["scanComplex","scanComplex","fmt",$funcType([$Int32,$Int],[$Complex128],false),-1],["scanInt","scanInt","fmt",$funcType([$Int32,$Int],[$Int64],false),-1],["scanNumber","scanNumber","fmt",$funcType([$String,$Bool],[$String],false),-1],["scanOne","scanOne","fmt",$funcType([$Int32,$emptyInterface],[],false),-1],["scanRune","scanRune","fmt",$funcType([$Int],[$Int64],false),-1],["scanUint","scanUint","fmt",$funcType([$Int32,$Int],[$Uint64],false),-1],["skipSpace","skipSpace","fmt",$funcType([$Bool],[],false),-1],["token","token","fmt",$funcType([$Bool,DK],[CE],false),-1]];BS.init([["rr","rr","fmt",E.RuneReader,""],["buf","buf","fmt",AJ,""],["peekRune","peekRune","fmt",$Int32,""],["prevRune","prevRune","fmt",$Int32,""],["count","count","fmt",$Int,""],["atEOF","atEOF","fmt",$Bool,""],["ssave","","fmt",BT,""]]);BT.init([["validSave","validSave","fmt",$Bool,""],["nlIsEnd","nlIsEnd","fmt",$Bool,""],["nlIsSpace","nlIsSpace","fmt",$Bool,""],["argLimit","argLimit","fmt",$Int,""],["limit","limit","fmt",$Int,""],["maxWid","maxWid","fmt",$Int,""]]);I=CE.make(65);J=CE.make(65);N=new CE($stringToBytes("true"));O=new CE($stringToBytes("false"));Q=new CE($stringToBytes(", "));R=new CE($stringToBytes(""));S=new CE($stringToBytes("(nil)"));T=new CE($stringToBytes("nil"));U=new CE($stringToBytes("map["));V=new CE($stringToBytes("%!"));W=new CE($stringToBytes("(MISSING)"));X=new CE($stringToBytes("(BADINDEX)"));Y=new CE($stringToBytes("(PANIC="));Z=new CE($stringToBytes("%!(EXTRA "));AA=new CE($stringToBytes("i)"));AB=new CE($stringToBytes("[]byte{"));AC=new CE($stringToBytes("%!(BADWIDTH)"));AD=new CE($stringToBytes("%!(BADPREC)"));AE=new CE($stringToBytes("%!(NOVERB)"));AL=new H.Pool.Ptr(0,0,CF.nil,(function(){return new AK.Ptr();}));AZ=G.TypeOf(new $Int(0)).Bits();BA=G.TypeOf(new $Uintptr(0)).Bits();BB=G.TypeOf(new $Uint8(0));BU=new CH([$toNativeArray($kindUint16,[9,13]),$toNativeArray($kindUint16,[32,32]),$toNativeArray($kindUint16,[133,133]),$toNativeArray($kindUint16,[160,160]),$toNativeArray($kindUint16,[5760,5760]),$toNativeArray($kindUint16,[8192,8202]),$toNativeArray($kindUint16,[8232,8233]),$toNativeArray($kindUint16,[8239,8239]),$toNativeArray($kindUint16,[8287,8287]),$toNativeArray($kindUint16,[12288,12288])]);BY=new H.Pool.Ptr(0,0,CF.nil,(function(){return new BS.Ptr();}));CA=D.New("syntax error scanning complex number");CB=D.New("syntax error scanning boolean");K();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/gopherjs/webgl"]=(function(){var $pkg={},A,B,G,H,I,J,K,L,M,C,E,D,F;A=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];C=$pkg.ContextAttributes=$newType(0,$kindStruct,"webgl.ContextAttributes","ContextAttributes","github.com/gopherjs/webgl",function(Alpha_,Depth_,Stencil_,Antialias_,PremultipliedAlpha_,PreserveDrawingBuffer_){this.$val=this;this.Alpha=Alpha_!==undefined?Alpha_:false;this.Depth=Depth_!==undefined?Depth_:false;this.Stencil=Stencil_!==undefined?Stencil_:false;this.Antialias=Antialias_!==undefined?Antialias_:false;this.PremultipliedAlpha=PremultipliedAlpha_!==undefined?PremultipliedAlpha_:false;this.PreserveDrawingBuffer=PreserveDrawingBuffer_!==undefined?PreserveDrawingBuffer_:false;});E=$pkg.Context=$newType(0,$kindStruct,"webgl.Context","Context","github.com/gopherjs/webgl",function(Object_,ARRAY_BUFFER_,ARRAY_BUFFER_BINDING_,ATTACHED_SHADERS_,BACK_,BLEND_,BLEND_COLOR_,BLEND_DST_ALPHA_,BLEND_DST_RGB_,BLEND_EQUATION_,BLEND_EQUATION_ALPHA_,BLEND_EQUATION_RGB_,BLEND_SRC_ALPHA_,BLEND_SRC_RGB_,BLUE_BITS_,BOOL_,BOOL_VEC2_,BOOL_VEC3_,BOOL_VEC4_,BROWSER_DEFAULT_WEBGL_,BUFFER_SIZE_,BUFFER_USAGE_,BYTE_,CCW_,CLAMP_TO_EDGE_,COLOR_ATTACHMENT0_,COLOR_BUFFER_BIT_,COLOR_CLEAR_VALUE_,COLOR_WRITEMASK_,COMPILE_STATUS_,COMPRESSED_TEXTURE_FORMATS_,CONSTANT_ALPHA_,CONSTANT_COLOR_,CONTEXT_LOST_WEBGL_,CULL_FACE_,CULL_FACE_MODE_,CURRENT_PROGRAM_,CURRENT_VERTEX_ATTRIB_,CW_,DECR_,DECR_WRAP_,DELETE_STATUS_,DEPTH_ATTACHMENT_,DEPTH_BITS_,DEPTH_BUFFER_BIT_,DEPTH_CLEAR_VALUE_,DEPTH_COMPONENT_,DEPTH_COMPONENT16_,DEPTH_FUNC_,DEPTH_RANGE_,DEPTH_STENCIL_,DEPTH_STENCIL_ATTACHMENT_,DEPTH_TEST_,DEPTH_WRITEMASK_,DITHER_,DONT_CARE_,DST_ALPHA_,DST_COLOR_,DYNAMIC_DRAW_,ELEMENT_ARRAY_BUFFER_,ELEMENT_ARRAY_BUFFER_BINDING_,EQUAL_,FASTEST_,FLOAT_,FLOAT_MAT2_,FLOAT_MAT3_,FLOAT_MAT4_,FLOAT_VEC2_,FLOAT_VEC3_,FLOAT_VEC4_,FRAGMENT_SHADER_,FRAMEBUFFER_,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_,FRAMEBUFFER_BINDING_,FRAMEBUFFER_COMPLETE_,FRAMEBUFFER_INCOMPLETE_ATTACHMENT_,FRAMEBUFFER_INCOMPLETE_DIMENSIONS_,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_,FRAMEBUFFER_UNSUPPORTED_,FRONT_,FRONT_AND_BACK_,FRONT_FACE_,FUNC_ADD_,FUNC_REVERSE_SUBTRACT_,FUNC_SUBTRACT_,GENERATE_MIPMAP_HINT_,GEQUAL_,GREATER_,GREEN_BITS_,HIGH_FLOAT_,HIGH_INT_,INCR_,INCR_WRAP_,INFO_LOG_LENGTH_,INT_,INT_VEC2_,INT_VEC3_,INT_VEC4_,INVALID_ENUM_,INVALID_FRAMEBUFFER_OPERATION_,INVALID_OPERATION_,INVALID_VALUE_,INVERT_,KEEP_,LEQUAL_,LESS_,LINEAR_,LINEAR_MIPMAP_LINEAR_,LINEAR_MIPMAP_NEAREST_,LINES_,LINE_LOOP_,LINE_STRIP_,LINE_WIDTH_,LINK_STATUS_,LOW_FLOAT_,LOW_INT_,LUMINANCE_,LUMINANCE_ALPHA_,MAX_COMBINED_TEXTURE_IMAGE_UNITS_,MAX_CUBE_MAP_TEXTURE_SIZE_,MAX_FRAGMENT_UNIFORM_VECTORS_,MAX_RENDERBUFFER_SIZE_,MAX_TEXTURE_IMAGE_UNITS_,MAX_TEXTURE_SIZE_,MAX_VARYING_VECTORS_,MAX_VERTEX_ATTRIBS_,MAX_VERTEX_TEXTURE_IMAGE_UNITS_,MAX_VERTEX_UNIFORM_VECTORS_,MAX_VIEWPORT_DIMS_,MEDIUM_FLOAT_,MEDIUM_INT_,MIRRORED_REPEAT_,NEAREST_,NEAREST_MIPMAP_LINEAR_,NEAREST_MIPMAP_NEAREST_,NEVER_,NICEST_,NONE_,NOTEQUAL_,NO_ERROR_,NUM_COMPRESSED_TEXTURE_FORMATS_,ONE_,ONE_MINUS_CONSTANT_ALPHA_,ONE_MINUS_CONSTANT_COLOR_,ONE_MINUS_DST_ALPHA_,ONE_MINUS_DST_COLOR_,ONE_MINUS_SRC_ALPHA_,ONE_MINUS_SRC_COLOR_,OUT_OF_MEMORY_,PACK_ALIGNMENT_,POINTS_,POLYGON_OFFSET_FACTOR_,POLYGON_OFFSET_FILL_,POLYGON_OFFSET_UNITS_,RED_BITS_,RENDERBUFFER_,RENDERBUFFER_ALPHA_SIZE_,RENDERBUFFER_BINDING_,RENDERBUFFER_BLUE_SIZE_,RENDERBUFFER_DEPTH_SIZE_,RENDERBUFFER_GREEN_SIZE_,RENDERBUFFER_HEIGHT_,RENDERBUFFER_INTERNAL_FORMAT_,RENDERBUFFER_RED_SIZE_,RENDERBUFFER_STENCIL_SIZE_,RENDERBUFFER_WIDTH_,RENDERER_,REPEAT_,REPLACE_,RGB_,RGB5_A1_,RGB565_,RGBA_,RGBA4_,SAMPLER_2D_,SAMPLER_CUBE_,SAMPLES_,SAMPLE_ALPHA_TO_COVERAGE_,SAMPLE_BUFFERS_,SAMPLE_COVERAGE_,SAMPLE_COVERAGE_INVERT_,SAMPLE_COVERAGE_VALUE_,SCISSOR_BOX_,SCISSOR_TEST_,SHADER_COMPILER_,SHADER_SOURCE_LENGTH_,SHADER_TYPE_,SHADING_LANGUAGE_VERSION_,SHORT_,SRC_ALPHA_,SRC_ALPHA_SATURATE_,SRC_COLOR_,STATIC_DRAW_,STENCIL_ATTACHMENT_,STENCIL_BACK_FAIL_,STENCIL_BACK_FUNC_,STENCIL_BACK_PASS_DEPTH_FAIL_,STENCIL_BACK_PASS_DEPTH_PASS_,STENCIL_BACK_REF_,STENCIL_BACK_VALUE_MASK_,STENCIL_BACK_WRITEMASK_,STENCIL_BITS_,STENCIL_BUFFER_BIT_,STENCIL_CLEAR_VALUE_,STENCIL_FAIL_,STENCIL_FUNC_,STENCIL_INDEX_,STENCIL_INDEX8_,STENCIL_PASS_DEPTH_FAIL_,STENCIL_PASS_DEPTH_PASS_,STENCIL_REF_,STENCIL_TEST_,STENCIL_VALUE_MASK_,STENCIL_WRITEMASK_,STREAM_DRAW_,SUBPIXEL_BITS_,TEXTURE_,TEXTURE0_,TEXTURE1_,TEXTURE2_,TEXTURE3_,TEXTURE4_,TEXTURE5_,TEXTURE6_,TEXTURE7_,TEXTURE8_,TEXTURE9_,TEXTURE10_,TEXTURE11_,TEXTURE12_,TEXTURE13_,TEXTURE14_,TEXTURE15_,TEXTURE16_,TEXTURE17_,TEXTURE18_,TEXTURE19_,TEXTURE20_,TEXTURE21_,TEXTURE22_,TEXTURE23_,TEXTURE24_,TEXTURE25_,TEXTURE26_,TEXTURE27_,TEXTURE28_,TEXTURE29_,TEXTURE30_,TEXTURE31_,TEXTURE_2D_,TEXTURE_BINDING_2D_,TEXTURE_BINDING_CUBE_MAP_,TEXTURE_CUBE_MAP_,TEXTURE_CUBE_MAP_NEGATIVE_X_,TEXTURE_CUBE_MAP_NEGATIVE_Y_,TEXTURE_CUBE_MAP_NEGATIVE_Z_,TEXTURE_CUBE_MAP_POSITIVE_X_,TEXTURE_CUBE_MAP_POSITIVE_Y_,TEXTURE_CUBE_MAP_POSITIVE_Z_,TEXTURE_MAG_FILTER_,TEXTURE_MIN_FILTER_,TEXTURE_WRAP_S_,TEXTURE_WRAP_T_,TRIANGLES_,TRIANGLE_FAN_,TRIANGLE_STRIP_,UNPACK_ALIGNMENT_,UNPACK_COLORSPACE_CONVERSION_WEBGL_,UNPACK_FLIP_Y_WEBGL_,UNPACK_PREMULTIPLY_ALPHA_WEBGL_,UNSIGNED_BYTE_,UNSIGNED_INT_,UNSIGNED_SHORT_,UNSIGNED_SHORT_4_4_4_4_,UNSIGNED_SHORT_5_5_5_1_,UNSIGNED_SHORT_5_6_5_,VALIDATE_STATUS_,VENDOR_,VERSION_,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_,VERTEX_ATTRIB_ARRAY_ENABLED_,VERTEX_ATTRIB_ARRAY_NORMALIZED_,VERTEX_ATTRIB_ARRAY_POINTER_,VERTEX_ATTRIB_ARRAY_SIZE_,VERTEX_ATTRIB_ARRAY_STRIDE_,VERTEX_ATTRIB_ARRAY_TYPE_,VERTEX_SHADER_,VIEWPORT_,ZERO_){this.$val=this;this.Object=Object_!==undefined?Object_:null;this.ARRAY_BUFFER=ARRAY_BUFFER_!==undefined?ARRAY_BUFFER_:0;this.ARRAY_BUFFER_BINDING=ARRAY_BUFFER_BINDING_!==undefined?ARRAY_BUFFER_BINDING_:0;this.ATTACHED_SHADERS=ATTACHED_SHADERS_!==undefined?ATTACHED_SHADERS_:0;this.BACK=BACK_!==undefined?BACK_:0;this.BLEND=BLEND_!==undefined?BLEND_:0;this.BLEND_COLOR=BLEND_COLOR_!==undefined?BLEND_COLOR_:0;this.BLEND_DST_ALPHA=BLEND_DST_ALPHA_!==undefined?BLEND_DST_ALPHA_:0;this.BLEND_DST_RGB=BLEND_DST_RGB_!==undefined?BLEND_DST_RGB_:0;this.BLEND_EQUATION=BLEND_EQUATION_!==undefined?BLEND_EQUATION_:0;this.BLEND_EQUATION_ALPHA=BLEND_EQUATION_ALPHA_!==undefined?BLEND_EQUATION_ALPHA_:0;this.BLEND_EQUATION_RGB=BLEND_EQUATION_RGB_!==undefined?BLEND_EQUATION_RGB_:0;this.BLEND_SRC_ALPHA=BLEND_SRC_ALPHA_!==undefined?BLEND_SRC_ALPHA_:0;this.BLEND_SRC_RGB=BLEND_SRC_RGB_!==undefined?BLEND_SRC_RGB_:0;this.BLUE_BITS=BLUE_BITS_!==undefined?BLUE_BITS_:0;this.BOOL=BOOL_!==undefined?BOOL_:0;this.BOOL_VEC2=BOOL_VEC2_!==undefined?BOOL_VEC2_:0;this.BOOL_VEC3=BOOL_VEC3_!==undefined?BOOL_VEC3_:0;this.BOOL_VEC4=BOOL_VEC4_!==undefined?BOOL_VEC4_:0;this.BROWSER_DEFAULT_WEBGL=BROWSER_DEFAULT_WEBGL_!==undefined?BROWSER_DEFAULT_WEBGL_:0;this.BUFFER_SIZE=BUFFER_SIZE_!==undefined?BUFFER_SIZE_:0;this.BUFFER_USAGE=BUFFER_USAGE_!==undefined?BUFFER_USAGE_:0;this.BYTE=BYTE_!==undefined?BYTE_:0;this.CCW=CCW_!==undefined?CCW_:0;this.CLAMP_TO_EDGE=CLAMP_TO_EDGE_!==undefined?CLAMP_TO_EDGE_:0;this.COLOR_ATTACHMENT0=COLOR_ATTACHMENT0_!==undefined?COLOR_ATTACHMENT0_:0;this.COLOR_BUFFER_BIT=COLOR_BUFFER_BIT_!==undefined?COLOR_BUFFER_BIT_:0;this.COLOR_CLEAR_VALUE=COLOR_CLEAR_VALUE_!==undefined?COLOR_CLEAR_VALUE_:0;this.COLOR_WRITEMASK=COLOR_WRITEMASK_!==undefined?COLOR_WRITEMASK_:0;this.COMPILE_STATUS=COMPILE_STATUS_!==undefined?COMPILE_STATUS_:0;this.COMPRESSED_TEXTURE_FORMATS=COMPRESSED_TEXTURE_FORMATS_!==undefined?COMPRESSED_TEXTURE_FORMATS_:0;this.CONSTANT_ALPHA=CONSTANT_ALPHA_!==undefined?CONSTANT_ALPHA_:0;this.CONSTANT_COLOR=CONSTANT_COLOR_!==undefined?CONSTANT_COLOR_:0;this.CONTEXT_LOST_WEBGL=CONTEXT_LOST_WEBGL_!==undefined?CONTEXT_LOST_WEBGL_:0;this.CULL_FACE=CULL_FACE_!==undefined?CULL_FACE_:0;this.CULL_FACE_MODE=CULL_FACE_MODE_!==undefined?CULL_FACE_MODE_:0;this.CURRENT_PROGRAM=CURRENT_PROGRAM_!==undefined?CURRENT_PROGRAM_:0;this.CURRENT_VERTEX_ATTRIB=CURRENT_VERTEX_ATTRIB_!==undefined?CURRENT_VERTEX_ATTRIB_:0;this.CW=CW_!==undefined?CW_:0;this.DECR=DECR_!==undefined?DECR_:0;this.DECR_WRAP=DECR_WRAP_!==undefined?DECR_WRAP_:0;this.DELETE_STATUS=DELETE_STATUS_!==undefined?DELETE_STATUS_:0;this.DEPTH_ATTACHMENT=DEPTH_ATTACHMENT_!==undefined?DEPTH_ATTACHMENT_:0;this.DEPTH_BITS=DEPTH_BITS_!==undefined?DEPTH_BITS_:0;this.DEPTH_BUFFER_BIT=DEPTH_BUFFER_BIT_!==undefined?DEPTH_BUFFER_BIT_:0;this.DEPTH_CLEAR_VALUE=DEPTH_CLEAR_VALUE_!==undefined?DEPTH_CLEAR_VALUE_:0;this.DEPTH_COMPONENT=DEPTH_COMPONENT_!==undefined?DEPTH_COMPONENT_:0;this.DEPTH_COMPONENT16=DEPTH_COMPONENT16_!==undefined?DEPTH_COMPONENT16_:0;this.DEPTH_FUNC=DEPTH_FUNC_!==undefined?DEPTH_FUNC_:0;this.DEPTH_RANGE=DEPTH_RANGE_!==undefined?DEPTH_RANGE_:0;this.DEPTH_STENCIL=DEPTH_STENCIL_!==undefined?DEPTH_STENCIL_:0;this.DEPTH_STENCIL_ATTACHMENT=DEPTH_STENCIL_ATTACHMENT_!==undefined?DEPTH_STENCIL_ATTACHMENT_:0;this.DEPTH_TEST=DEPTH_TEST_!==undefined?DEPTH_TEST_:0;this.DEPTH_WRITEMASK=DEPTH_WRITEMASK_!==undefined?DEPTH_WRITEMASK_:0;this.DITHER=DITHER_!==undefined?DITHER_:0;this.DONT_CARE=DONT_CARE_!==undefined?DONT_CARE_:0;this.DST_ALPHA=DST_ALPHA_!==undefined?DST_ALPHA_:0;this.DST_COLOR=DST_COLOR_!==undefined?DST_COLOR_:0;this.DYNAMIC_DRAW=DYNAMIC_DRAW_!==undefined?DYNAMIC_DRAW_:0;this.ELEMENT_ARRAY_BUFFER=ELEMENT_ARRAY_BUFFER_!==undefined?ELEMENT_ARRAY_BUFFER_:0;this.ELEMENT_ARRAY_BUFFER_BINDING=ELEMENT_ARRAY_BUFFER_BINDING_!==undefined?ELEMENT_ARRAY_BUFFER_BINDING_:0;this.EQUAL=EQUAL_!==undefined?EQUAL_:0;this.FASTEST=FASTEST_!==undefined?FASTEST_:0;this.FLOAT=FLOAT_!==undefined?FLOAT_:0;this.FLOAT_MAT2=FLOAT_MAT2_!==undefined?FLOAT_MAT2_:0;this.FLOAT_MAT3=FLOAT_MAT3_!==undefined?FLOAT_MAT3_:0;this.FLOAT_MAT4=FLOAT_MAT4_!==undefined?FLOAT_MAT4_:0;this.FLOAT_VEC2=FLOAT_VEC2_!==undefined?FLOAT_VEC2_:0;this.FLOAT_VEC3=FLOAT_VEC3_!==undefined?FLOAT_VEC3_:0;this.FLOAT_VEC4=FLOAT_VEC4_!==undefined?FLOAT_VEC4_:0;this.FRAGMENT_SHADER=FRAGMENT_SHADER_!==undefined?FRAGMENT_SHADER_:0;this.FRAMEBUFFER=FRAMEBUFFER_!==undefined?FRAMEBUFFER_:0;this.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_!==undefined?FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_:0;this.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_!==undefined?FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_:0;this.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_!==undefined?FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_:0;this.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_!==undefined?FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_:0;this.FRAMEBUFFER_BINDING=FRAMEBUFFER_BINDING_!==undefined?FRAMEBUFFER_BINDING_:0;this.FRAMEBUFFER_COMPLETE=FRAMEBUFFER_COMPLETE_!==undefined?FRAMEBUFFER_COMPLETE_:0;this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=FRAMEBUFFER_INCOMPLETE_ATTACHMENT_!==undefined?FRAMEBUFFER_INCOMPLETE_ATTACHMENT_:0;this.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=FRAMEBUFFER_INCOMPLETE_DIMENSIONS_!==undefined?FRAMEBUFFER_INCOMPLETE_DIMENSIONS_:0;this.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_!==undefined?FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_:0;this.FRAMEBUFFER_UNSUPPORTED=FRAMEBUFFER_UNSUPPORTED_!==undefined?FRAMEBUFFER_UNSUPPORTED_:0;this.FRONT=FRONT_!==undefined?FRONT_:0;this.FRONT_AND_BACK=FRONT_AND_BACK_!==undefined?FRONT_AND_BACK_:0;this.FRONT_FACE=FRONT_FACE_!==undefined?FRONT_FACE_:0;this.FUNC_ADD=FUNC_ADD_!==undefined?FUNC_ADD_:0;this.FUNC_REVERSE_SUBTRACT=FUNC_REVERSE_SUBTRACT_!==undefined?FUNC_REVERSE_SUBTRACT_:0;this.FUNC_SUBTRACT=FUNC_SUBTRACT_!==undefined?FUNC_SUBTRACT_:0;this.GENERATE_MIPMAP_HINT=GENERATE_MIPMAP_HINT_!==undefined?GENERATE_MIPMAP_HINT_:0;this.GEQUAL=GEQUAL_!==undefined?GEQUAL_:0;this.GREATER=GREATER_!==undefined?GREATER_:0;this.GREEN_BITS=GREEN_BITS_!==undefined?GREEN_BITS_:0;this.HIGH_FLOAT=HIGH_FLOAT_!==undefined?HIGH_FLOAT_:0;this.HIGH_INT=HIGH_INT_!==undefined?HIGH_INT_:0;this.INCR=INCR_!==undefined?INCR_:0;this.INCR_WRAP=INCR_WRAP_!==undefined?INCR_WRAP_:0;this.INFO_LOG_LENGTH=INFO_LOG_LENGTH_!==undefined?INFO_LOG_LENGTH_:0;this.INT=INT_!==undefined?INT_:0;this.INT_VEC2=INT_VEC2_!==undefined?INT_VEC2_:0;this.INT_VEC3=INT_VEC3_!==undefined?INT_VEC3_:0;this.INT_VEC4=INT_VEC4_!==undefined?INT_VEC4_:0;this.INVALID_ENUM=INVALID_ENUM_!==undefined?INVALID_ENUM_:0;this.INVALID_FRAMEBUFFER_OPERATION=INVALID_FRAMEBUFFER_OPERATION_!==undefined?INVALID_FRAMEBUFFER_OPERATION_:0;this.INVALID_OPERATION=INVALID_OPERATION_!==undefined?INVALID_OPERATION_:0;this.INVALID_VALUE=INVALID_VALUE_!==undefined?INVALID_VALUE_:0;this.INVERT=INVERT_!==undefined?INVERT_:0;this.KEEP=KEEP_!==undefined?KEEP_:0;this.LEQUAL=LEQUAL_!==undefined?LEQUAL_:0;this.LESS=LESS_!==undefined?LESS_:0;this.LINEAR=LINEAR_!==undefined?LINEAR_:0;this.LINEAR_MIPMAP_LINEAR=LINEAR_MIPMAP_LINEAR_!==undefined?LINEAR_MIPMAP_LINEAR_:0;this.LINEAR_MIPMAP_NEAREST=LINEAR_MIPMAP_NEAREST_!==undefined?LINEAR_MIPMAP_NEAREST_:0;this.LINES=LINES_!==undefined?LINES_:0;this.LINE_LOOP=LINE_LOOP_!==undefined?LINE_LOOP_:0;this.LINE_STRIP=LINE_STRIP_!==undefined?LINE_STRIP_:0;this.LINE_WIDTH=LINE_WIDTH_!==undefined?LINE_WIDTH_:0;this.LINK_STATUS=LINK_STATUS_!==undefined?LINK_STATUS_:0;this.LOW_FLOAT=LOW_FLOAT_!==undefined?LOW_FLOAT_:0;this.LOW_INT=LOW_INT_!==undefined?LOW_INT_:0;this.LUMINANCE=LUMINANCE_!==undefined?LUMINANCE_:0;this.LUMINANCE_ALPHA=LUMINANCE_ALPHA_!==undefined?LUMINANCE_ALPHA_:0;this.MAX_COMBINED_TEXTURE_IMAGE_UNITS=MAX_COMBINED_TEXTURE_IMAGE_UNITS_!==undefined?MAX_COMBINED_TEXTURE_IMAGE_UNITS_:0;this.MAX_CUBE_MAP_TEXTURE_SIZE=MAX_CUBE_MAP_TEXTURE_SIZE_!==undefined?MAX_CUBE_MAP_TEXTURE_SIZE_:0;this.MAX_FRAGMENT_UNIFORM_VECTORS=MAX_FRAGMENT_UNIFORM_VECTORS_!==undefined?MAX_FRAGMENT_UNIFORM_VECTORS_:0;this.MAX_RENDERBUFFER_SIZE=MAX_RENDERBUFFER_SIZE_!==undefined?MAX_RENDERBUFFER_SIZE_:0;this.MAX_TEXTURE_IMAGE_UNITS=MAX_TEXTURE_IMAGE_UNITS_!==undefined?MAX_TEXTURE_IMAGE_UNITS_:0;this.MAX_TEXTURE_SIZE=MAX_TEXTURE_SIZE_!==undefined?MAX_TEXTURE_SIZE_:0;this.MAX_VARYING_VECTORS=MAX_VARYING_VECTORS_!==undefined?MAX_VARYING_VECTORS_:0;this.MAX_VERTEX_ATTRIBS=MAX_VERTEX_ATTRIBS_!==undefined?MAX_VERTEX_ATTRIBS_:0;this.MAX_VERTEX_TEXTURE_IMAGE_UNITS=MAX_VERTEX_TEXTURE_IMAGE_UNITS_!==undefined?MAX_VERTEX_TEXTURE_IMAGE_UNITS_:0;this.MAX_VERTEX_UNIFORM_VECTORS=MAX_VERTEX_UNIFORM_VECTORS_!==undefined?MAX_VERTEX_UNIFORM_VECTORS_:0;this.MAX_VIEWPORT_DIMS=MAX_VIEWPORT_DIMS_!==undefined?MAX_VIEWPORT_DIMS_:0;this.MEDIUM_FLOAT=MEDIUM_FLOAT_!==undefined?MEDIUM_FLOAT_:0;this.MEDIUM_INT=MEDIUM_INT_!==undefined?MEDIUM_INT_:0;this.MIRRORED_REPEAT=MIRRORED_REPEAT_!==undefined?MIRRORED_REPEAT_:0;this.NEAREST=NEAREST_!==undefined?NEAREST_:0;this.NEAREST_MIPMAP_LINEAR=NEAREST_MIPMAP_LINEAR_!==undefined?NEAREST_MIPMAP_LINEAR_:0;this.NEAREST_MIPMAP_NEAREST=NEAREST_MIPMAP_NEAREST_!==undefined?NEAREST_MIPMAP_NEAREST_:0;this.NEVER=NEVER_!==undefined?NEVER_:0;this.NICEST=NICEST_!==undefined?NICEST_:0;this.NONE=NONE_!==undefined?NONE_:0;this.NOTEQUAL=NOTEQUAL_!==undefined?NOTEQUAL_:0;this.NO_ERROR=NO_ERROR_!==undefined?NO_ERROR_:0;this.NUM_COMPRESSED_TEXTURE_FORMATS=NUM_COMPRESSED_TEXTURE_FORMATS_!==undefined?NUM_COMPRESSED_TEXTURE_FORMATS_:0;this.ONE=ONE_!==undefined?ONE_:0;this.ONE_MINUS_CONSTANT_ALPHA=ONE_MINUS_CONSTANT_ALPHA_!==undefined?ONE_MINUS_CONSTANT_ALPHA_:0;this.ONE_MINUS_CONSTANT_COLOR=ONE_MINUS_CONSTANT_COLOR_!==undefined?ONE_MINUS_CONSTANT_COLOR_:0;this.ONE_MINUS_DST_ALPHA=ONE_MINUS_DST_ALPHA_!==undefined?ONE_MINUS_DST_ALPHA_:0;this.ONE_MINUS_DST_COLOR=ONE_MINUS_DST_COLOR_!==undefined?ONE_MINUS_DST_COLOR_:0;this.ONE_MINUS_SRC_ALPHA=ONE_MINUS_SRC_ALPHA_!==undefined?ONE_MINUS_SRC_ALPHA_:0;this.ONE_MINUS_SRC_COLOR=ONE_MINUS_SRC_COLOR_!==undefined?ONE_MINUS_SRC_COLOR_:0;this.OUT_OF_MEMORY=OUT_OF_MEMORY_!==undefined?OUT_OF_MEMORY_:0;this.PACK_ALIGNMENT=PACK_ALIGNMENT_!==undefined?PACK_ALIGNMENT_:0;this.POINTS=POINTS_!==undefined?POINTS_:0;this.POLYGON_OFFSET_FACTOR=POLYGON_OFFSET_FACTOR_!==undefined?POLYGON_OFFSET_FACTOR_:0;this.POLYGON_OFFSET_FILL=POLYGON_OFFSET_FILL_!==undefined?POLYGON_OFFSET_FILL_:0;this.POLYGON_OFFSET_UNITS=POLYGON_OFFSET_UNITS_!==undefined?POLYGON_OFFSET_UNITS_:0;this.RED_BITS=RED_BITS_!==undefined?RED_BITS_:0;this.RENDERBUFFER=RENDERBUFFER_!==undefined?RENDERBUFFER_:0;this.RENDERBUFFER_ALPHA_SIZE=RENDERBUFFER_ALPHA_SIZE_!==undefined?RENDERBUFFER_ALPHA_SIZE_:0;this.RENDERBUFFER_BINDING=RENDERBUFFER_BINDING_!==undefined?RENDERBUFFER_BINDING_:0;this.RENDERBUFFER_BLUE_SIZE=RENDERBUFFER_BLUE_SIZE_!==undefined?RENDERBUFFER_BLUE_SIZE_:0;this.RENDERBUFFER_DEPTH_SIZE=RENDERBUFFER_DEPTH_SIZE_!==undefined?RENDERBUFFER_DEPTH_SIZE_:0;this.RENDERBUFFER_GREEN_SIZE=RENDERBUFFER_GREEN_SIZE_!==undefined?RENDERBUFFER_GREEN_SIZE_:0;this.RENDERBUFFER_HEIGHT=RENDERBUFFER_HEIGHT_!==undefined?RENDERBUFFER_HEIGHT_:0;this.RENDERBUFFER_INTERNAL_FORMAT=RENDERBUFFER_INTERNAL_FORMAT_!==undefined?RENDERBUFFER_INTERNAL_FORMAT_:0;this.RENDERBUFFER_RED_SIZE=RENDERBUFFER_RED_SIZE_!==undefined?RENDERBUFFER_RED_SIZE_:0;this.RENDERBUFFER_STENCIL_SIZE=RENDERBUFFER_STENCIL_SIZE_!==undefined?RENDERBUFFER_STENCIL_SIZE_:0;this.RENDERBUFFER_WIDTH=RENDERBUFFER_WIDTH_!==undefined?RENDERBUFFER_WIDTH_:0;this.RENDERER=RENDERER_!==undefined?RENDERER_:0;this.REPEAT=REPEAT_!==undefined?REPEAT_:0;this.REPLACE=REPLACE_!==undefined?REPLACE_:0;this.RGB=RGB_!==undefined?RGB_:0;this.RGB5_A1=RGB5_A1_!==undefined?RGB5_A1_:0;this.RGB565=RGB565_!==undefined?RGB565_:0;this.RGBA=RGBA_!==undefined?RGBA_:0;this.RGBA4=RGBA4_!==undefined?RGBA4_:0;this.SAMPLER_2D=SAMPLER_2D_!==undefined?SAMPLER_2D_:0;this.SAMPLER_CUBE=SAMPLER_CUBE_!==undefined?SAMPLER_CUBE_:0;this.SAMPLES=SAMPLES_!==undefined?SAMPLES_:0;this.SAMPLE_ALPHA_TO_COVERAGE=SAMPLE_ALPHA_TO_COVERAGE_!==undefined?SAMPLE_ALPHA_TO_COVERAGE_:0;this.SAMPLE_BUFFERS=SAMPLE_BUFFERS_!==undefined?SAMPLE_BUFFERS_:0;this.SAMPLE_COVERAGE=SAMPLE_COVERAGE_!==undefined?SAMPLE_COVERAGE_:0;this.SAMPLE_COVERAGE_INVERT=SAMPLE_COVERAGE_INVERT_!==undefined?SAMPLE_COVERAGE_INVERT_:0;this.SAMPLE_COVERAGE_VALUE=SAMPLE_COVERAGE_VALUE_!==undefined?SAMPLE_COVERAGE_VALUE_:0;this.SCISSOR_BOX=SCISSOR_BOX_!==undefined?SCISSOR_BOX_:0;this.SCISSOR_TEST=SCISSOR_TEST_!==undefined?SCISSOR_TEST_:0;this.SHADER_COMPILER=SHADER_COMPILER_!==undefined?SHADER_COMPILER_:0;this.SHADER_SOURCE_LENGTH=SHADER_SOURCE_LENGTH_!==undefined?SHADER_SOURCE_LENGTH_:0;this.SHADER_TYPE=SHADER_TYPE_!==undefined?SHADER_TYPE_:0;this.SHADING_LANGUAGE_VERSION=SHADING_LANGUAGE_VERSION_!==undefined?SHADING_LANGUAGE_VERSION_:0;this.SHORT=SHORT_!==undefined?SHORT_:0;this.SRC_ALPHA=SRC_ALPHA_!==undefined?SRC_ALPHA_:0;this.SRC_ALPHA_SATURATE=SRC_ALPHA_SATURATE_!==undefined?SRC_ALPHA_SATURATE_:0;this.SRC_COLOR=SRC_COLOR_!==undefined?SRC_COLOR_:0;this.STATIC_DRAW=STATIC_DRAW_!==undefined?STATIC_DRAW_:0;this.STENCIL_ATTACHMENT=STENCIL_ATTACHMENT_!==undefined?STENCIL_ATTACHMENT_:0;this.STENCIL_BACK_FAIL=STENCIL_BACK_FAIL_!==undefined?STENCIL_BACK_FAIL_:0;this.STENCIL_BACK_FUNC=STENCIL_BACK_FUNC_!==undefined?STENCIL_BACK_FUNC_:0;this.STENCIL_BACK_PASS_DEPTH_FAIL=STENCIL_BACK_PASS_DEPTH_FAIL_!==undefined?STENCIL_BACK_PASS_DEPTH_FAIL_:0;this.STENCIL_BACK_PASS_DEPTH_PASS=STENCIL_BACK_PASS_DEPTH_PASS_!==undefined?STENCIL_BACK_PASS_DEPTH_PASS_:0;this.STENCIL_BACK_REF=STENCIL_BACK_REF_!==undefined?STENCIL_BACK_REF_:0;this.STENCIL_BACK_VALUE_MASK=STENCIL_BACK_VALUE_MASK_!==undefined?STENCIL_BACK_VALUE_MASK_:0;this.STENCIL_BACK_WRITEMASK=STENCIL_BACK_WRITEMASK_!==undefined?STENCIL_BACK_WRITEMASK_:0;this.STENCIL_BITS=STENCIL_BITS_!==undefined?STENCIL_BITS_:0;this.STENCIL_BUFFER_BIT=STENCIL_BUFFER_BIT_!==undefined?STENCIL_BUFFER_BIT_:0;this.STENCIL_CLEAR_VALUE=STENCIL_CLEAR_VALUE_!==undefined?STENCIL_CLEAR_VALUE_:0;this.STENCIL_FAIL=STENCIL_FAIL_!==undefined?STENCIL_FAIL_:0;this.STENCIL_FUNC=STENCIL_FUNC_!==undefined?STENCIL_FUNC_:0;this.STENCIL_INDEX=STENCIL_INDEX_!==undefined?STENCIL_INDEX_:0;this.STENCIL_INDEX8=STENCIL_INDEX8_!==undefined?STENCIL_INDEX8_:0;this.STENCIL_PASS_DEPTH_FAIL=STENCIL_PASS_DEPTH_FAIL_!==undefined?STENCIL_PASS_DEPTH_FAIL_:0;this.STENCIL_PASS_DEPTH_PASS=STENCIL_PASS_DEPTH_PASS_!==undefined?STENCIL_PASS_DEPTH_PASS_:0;this.STENCIL_REF=STENCIL_REF_!==undefined?STENCIL_REF_:0;this.STENCIL_TEST=STENCIL_TEST_!==undefined?STENCIL_TEST_:0;this.STENCIL_VALUE_MASK=STENCIL_VALUE_MASK_!==undefined?STENCIL_VALUE_MASK_:0;this.STENCIL_WRITEMASK=STENCIL_WRITEMASK_!==undefined?STENCIL_WRITEMASK_:0;this.STREAM_DRAW=STREAM_DRAW_!==undefined?STREAM_DRAW_:0;this.SUBPIXEL_BITS=SUBPIXEL_BITS_!==undefined?SUBPIXEL_BITS_:0;this.TEXTURE=TEXTURE_!==undefined?TEXTURE_:0;this.TEXTURE0=TEXTURE0_!==undefined?TEXTURE0_:0;this.TEXTURE1=TEXTURE1_!==undefined?TEXTURE1_:0;this.TEXTURE2=TEXTURE2_!==undefined?TEXTURE2_:0;this.TEXTURE3=TEXTURE3_!==undefined?TEXTURE3_:0;this.TEXTURE4=TEXTURE4_!==undefined?TEXTURE4_:0;this.TEXTURE5=TEXTURE5_!==undefined?TEXTURE5_:0;this.TEXTURE6=TEXTURE6_!==undefined?TEXTURE6_:0;this.TEXTURE7=TEXTURE7_!==undefined?TEXTURE7_:0;this.TEXTURE8=TEXTURE8_!==undefined?TEXTURE8_:0;this.TEXTURE9=TEXTURE9_!==undefined?TEXTURE9_:0;this.TEXTURE10=TEXTURE10_!==undefined?TEXTURE10_:0;this.TEXTURE11=TEXTURE11_!==undefined?TEXTURE11_:0;this.TEXTURE12=TEXTURE12_!==undefined?TEXTURE12_:0;this.TEXTURE13=TEXTURE13_!==undefined?TEXTURE13_:0;this.TEXTURE14=TEXTURE14_!==undefined?TEXTURE14_:0;this.TEXTURE15=TEXTURE15_!==undefined?TEXTURE15_:0;this.TEXTURE16=TEXTURE16_!==undefined?TEXTURE16_:0;this.TEXTURE17=TEXTURE17_!==undefined?TEXTURE17_:0;this.TEXTURE18=TEXTURE18_!==undefined?TEXTURE18_:0;this.TEXTURE19=TEXTURE19_!==undefined?TEXTURE19_:0;this.TEXTURE20=TEXTURE20_!==undefined?TEXTURE20_:0;this.TEXTURE21=TEXTURE21_!==undefined?TEXTURE21_:0;this.TEXTURE22=TEXTURE22_!==undefined?TEXTURE22_:0;this.TEXTURE23=TEXTURE23_!==undefined?TEXTURE23_:0;this.TEXTURE24=TEXTURE24_!==undefined?TEXTURE24_:0;this.TEXTURE25=TEXTURE25_!==undefined?TEXTURE25_:0;this.TEXTURE26=TEXTURE26_!==undefined?TEXTURE26_:0;this.TEXTURE27=TEXTURE27_!==undefined?TEXTURE27_:0;this.TEXTURE28=TEXTURE28_!==undefined?TEXTURE28_:0;this.TEXTURE29=TEXTURE29_!==undefined?TEXTURE29_:0;this.TEXTURE30=TEXTURE30_!==undefined?TEXTURE30_:0;this.TEXTURE31=TEXTURE31_!==undefined?TEXTURE31_:0;this.TEXTURE_2D=TEXTURE_2D_!==undefined?TEXTURE_2D_:0;this.TEXTURE_BINDING_2D=TEXTURE_BINDING_2D_!==undefined?TEXTURE_BINDING_2D_:0;this.TEXTURE_BINDING_CUBE_MAP=TEXTURE_BINDING_CUBE_MAP_!==undefined?TEXTURE_BINDING_CUBE_MAP_:0;this.TEXTURE_CUBE_MAP=TEXTURE_CUBE_MAP_!==undefined?TEXTURE_CUBE_MAP_:0;this.TEXTURE_CUBE_MAP_NEGATIVE_X=TEXTURE_CUBE_MAP_NEGATIVE_X_!==undefined?TEXTURE_CUBE_MAP_NEGATIVE_X_:0;this.TEXTURE_CUBE_MAP_NEGATIVE_Y=TEXTURE_CUBE_MAP_NEGATIVE_Y_!==undefined?TEXTURE_CUBE_MAP_NEGATIVE_Y_:0;this.TEXTURE_CUBE_MAP_NEGATIVE_Z=TEXTURE_CUBE_MAP_NEGATIVE_Z_!==undefined?TEXTURE_CUBE_MAP_NEGATIVE_Z_:0;this.TEXTURE_CUBE_MAP_POSITIVE_X=TEXTURE_CUBE_MAP_POSITIVE_X_!==undefined?TEXTURE_CUBE_MAP_POSITIVE_X_:0;this.TEXTURE_CUBE_MAP_POSITIVE_Y=TEXTURE_CUBE_MAP_POSITIVE_Y_!==undefined?TEXTURE_CUBE_MAP_POSITIVE_Y_:0;this.TEXTURE_CUBE_MAP_POSITIVE_Z=TEXTURE_CUBE_MAP_POSITIVE_Z_!==undefined?TEXTURE_CUBE_MAP_POSITIVE_Z_:0;this.TEXTURE_MAG_FILTER=TEXTURE_MAG_FILTER_!==undefined?TEXTURE_MAG_FILTER_:0;this.TEXTURE_MIN_FILTER=TEXTURE_MIN_FILTER_!==undefined?TEXTURE_MIN_FILTER_:0;this.TEXTURE_WRAP_S=TEXTURE_WRAP_S_!==undefined?TEXTURE_WRAP_S_:0;this.TEXTURE_WRAP_T=TEXTURE_WRAP_T_!==undefined?TEXTURE_WRAP_T_:0;this.TRIANGLES=TRIANGLES_!==undefined?TRIANGLES_:0;this.TRIANGLE_FAN=TRIANGLE_FAN_!==undefined?TRIANGLE_FAN_:0;this.TRIANGLE_STRIP=TRIANGLE_STRIP_!==undefined?TRIANGLE_STRIP_:0;this.UNPACK_ALIGNMENT=UNPACK_ALIGNMENT_!==undefined?UNPACK_ALIGNMENT_:0;this.UNPACK_COLORSPACE_CONVERSION_WEBGL=UNPACK_COLORSPACE_CONVERSION_WEBGL_!==undefined?UNPACK_COLORSPACE_CONVERSION_WEBGL_:0;this.UNPACK_FLIP_Y_WEBGL=UNPACK_FLIP_Y_WEBGL_!==undefined?UNPACK_FLIP_Y_WEBGL_:0;this.UNPACK_PREMULTIPLY_ALPHA_WEBGL=UNPACK_PREMULTIPLY_ALPHA_WEBGL_!==undefined?UNPACK_PREMULTIPLY_ALPHA_WEBGL_:0;this.UNSIGNED_BYTE=UNSIGNED_BYTE_!==undefined?UNSIGNED_BYTE_:0;this.UNSIGNED_INT=UNSIGNED_INT_!==undefined?UNSIGNED_INT_:0;this.UNSIGNED_SHORT=UNSIGNED_SHORT_!==undefined?UNSIGNED_SHORT_:0;this.UNSIGNED_SHORT_4_4_4_4=UNSIGNED_SHORT_4_4_4_4_!==undefined?UNSIGNED_SHORT_4_4_4_4_:0;this.UNSIGNED_SHORT_5_5_5_1=UNSIGNED_SHORT_5_5_5_1_!==undefined?UNSIGNED_SHORT_5_5_5_1_:0;this.UNSIGNED_SHORT_5_6_5=UNSIGNED_SHORT_5_6_5_!==undefined?UNSIGNED_SHORT_5_6_5_:0;this.VALIDATE_STATUS=VALIDATE_STATUS_!==undefined?VALIDATE_STATUS_:0;this.VENDOR=VENDOR_!==undefined?VENDOR_:0;this.VERSION=VERSION_!==undefined?VERSION_:0;this.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_!==undefined?VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_:0;this.VERTEX_ATTRIB_ARRAY_ENABLED=VERTEX_ATTRIB_ARRAY_ENABLED_!==undefined?VERTEX_ATTRIB_ARRAY_ENABLED_:0;this.VERTEX_ATTRIB_ARRAY_NORMALIZED=VERTEX_ATTRIB_ARRAY_NORMALIZED_!==undefined?VERTEX_ATTRIB_ARRAY_NORMALIZED_:0;this.VERTEX_ATTRIB_ARRAY_POINTER=VERTEX_ATTRIB_ARRAY_POINTER_!==undefined?VERTEX_ATTRIB_ARRAY_POINTER_:0;this.VERTEX_ATTRIB_ARRAY_SIZE=VERTEX_ATTRIB_ARRAY_SIZE_!==undefined?VERTEX_ATTRIB_ARRAY_SIZE_:0;this.VERTEX_ATTRIB_ARRAY_STRIDE=VERTEX_ATTRIB_ARRAY_STRIDE_!==undefined?VERTEX_ATTRIB_ARRAY_STRIDE_:0;this.VERTEX_ATTRIB_ARRAY_TYPE=VERTEX_ATTRIB_ARRAY_TYPE_!==undefined?VERTEX_ATTRIB_ARRAY_TYPE_:0;this.VERTEX_SHADER=VERTEX_SHADER_!==undefined?VERTEX_SHADER_:0;this.VIEWPORT=VIEWPORT_!==undefined?VIEWPORT_:0;this.ZERO=ZERO_!==undefined?ZERO_:0;});D=$pkg.DefaultAttributes=function(){return new C.Ptr(true,true,false,true,true,false);};F=$pkg.NewContext=function(a,b){var c,d,e,f,g;if($global.WebGLRenderingContext===undefined){return[G.nil,A.New("Your browser doesn't appear to support webgl.")];}if(b===H.nil){b=D();}c=(d=new $Map(),e="alpha",d[e]={k:e,v:b.Alpha},e="depth",d[e]={k:e,v:b.Depth},e="stencil",d[e]={k:e,v:b.Stencil},e="antialias",d[e]={k:e,v:b.Antialias},e="premultipliedAlpha",d[e]={k:e,v:b.PremultipliedAlpha},e="preserveDrawingBuffer",d[e]={k:e,v:b.PreserveDrawingBuffer},d);f=a.getContext($externalize("webgl",$String),$externalize(c,I));if(f===null){f=a.getContext($externalize("experimental-webgl",$String),$externalize(c,I));if(f===null){return[G.nil,A.New("Creating a webgl context has failed.")];}}g=new E.Ptr();g.Object=f;return[g,$ifaceNil];};E.Ptr.prototype.GetContextAttributes=function(){var a,b;a=this;b=a.Object.getContextAttributes();return new C.Ptr(!!(b.alpha),!!(b.depth),!!(b.stencil),!!(b.antialias),!!(b.premultipliedAlpha),!!(b.preservedDrawingBuffer));};E.prototype.GetContextAttributes=function(){return this.$val.GetContextAttributes();};E.Ptr.prototype.ActiveTexture=function(a){var b;b=this;b.Object.activeTexture(a);};E.prototype.ActiveTexture=function(a){return this.$val.ActiveTexture(a);};E.Ptr.prototype.AttachShader=function(a,b){var c;c=this;c.Object.attachShader(a,b);};E.prototype.AttachShader=function(a,b){return this.$val.AttachShader(a,b);};E.Ptr.prototype.BindAttribLocation=function(a,b,c){var d;d=this;d.Object.bindAttribLocation(a,b,$externalize(c,$String));};E.prototype.BindAttribLocation=function(a,b,c){return this.$val.BindAttribLocation(a,b,c);};E.Ptr.prototype.BindBuffer=function(a,b){var c;c=this;c.Object.bindBuffer(a,b);};E.prototype.BindBuffer=function(a,b){return this.$val.BindBuffer(a,b);};E.Ptr.prototype.BindFramebuffer=function(a,b){var c;c=this;c.Object.bindFramebuffer(a,b);};E.prototype.BindFramebuffer=function(a,b){return this.$val.BindFramebuffer(a,b);};E.Ptr.prototype.BindRenderbuffer=function(a,b){var c;c=this;c.Object.bindRenderbuffer(a,b);};E.prototype.BindRenderbuffer=function(a,b){return this.$val.BindRenderbuffer(a,b);};E.Ptr.prototype.BindTexture=function(a,b){var c;c=this;c.Object.bindTexture(a,b);};E.prototype.BindTexture=function(a,b){return this.$val.BindTexture(a,b);};E.Ptr.prototype.BlendColor=function(a,b,c,d){var e;e=this;e.Object.blendColor(a,b,c,d);};E.prototype.BlendColor=function(a,b,c,d){return this.$val.BlendColor(a,b,c,d);};E.Ptr.prototype.BlendEquation=function(a){var b;b=this;b.Object.blendEquation(a);};E.prototype.BlendEquation=function(a){return this.$val.BlendEquation(a);};E.Ptr.prototype.BlendEquationSeparate=function(a,b){var c;c=this;c.Object.blendEquationSeparate(a,b);};E.prototype.BlendEquationSeparate=function(a,b){return this.$val.BlendEquationSeparate(a,b);};E.Ptr.prototype.BlendFunc=function(a,b){var c;c=this;c.Object.blendFunc(a,b);};E.prototype.BlendFunc=function(a,b){return this.$val.BlendFunc(a,b);};E.Ptr.prototype.BlendFuncSeparate=function(a,b,c,d){var e;e=this;e.Object.blendFuncSeparate(a,b,c,d);};E.prototype.BlendFuncSeparate=function(a,b,c,d){return this.$val.BlendFuncSeparate(a,b,c,d);};E.Ptr.prototype.BufferData=function(a,b,c){var d;d=this;d.Object.bufferData(a,$externalize(b,$emptyInterface),c);};E.prototype.BufferData=function(a,b,c){return this.$val.BufferData(a,b,c);};E.Ptr.prototype.BufferSubData=function(a,b,c){var d;d=this;d.Object.bufferSubData(a,b,$externalize(c,$emptyInterface));};E.prototype.BufferSubData=function(a,b,c){return this.$val.BufferSubData(a,b,c);};E.Ptr.prototype.CheckFramebufferStatus=function(a){var b;b=this;return $parseInt(b.Object.checkFramebufferStatus(a))>>0;};E.prototype.CheckFramebufferStatus=function(a){return this.$val.CheckFramebufferStatus(a);};E.Ptr.prototype.Clear=function(a){var b;b=this;b.Object.clear(a);};E.prototype.Clear=function(a){return this.$val.Clear(a);};E.Ptr.prototype.ClearColor=function(a,b,c,d){var e;e=this;e.Object.clearColor(a,b,c,d);};E.prototype.ClearColor=function(a,b,c,d){return this.$val.ClearColor(a,b,c,d);};E.Ptr.prototype.ClearDepth=function(a){var b;b=this;b.Object.clearDepth(a);};E.prototype.ClearDepth=function(a){return this.$val.ClearDepth(a);};E.Ptr.prototype.ClearStencil=function(a){var b;b=this;b.Object.clearStencil(a);};E.prototype.ClearStencil=function(a){return this.$val.ClearStencil(a);};E.Ptr.prototype.ColorMask=function(a,b,c,d){var e;e=this;e.Object.colorMask($externalize(a,$Bool),$externalize(b,$Bool),$externalize(c,$Bool),$externalize(d,$Bool));};E.prototype.ColorMask=function(a,b,c,d){return this.$val.ColorMask(a,b,c,d);};E.Ptr.prototype.CompileShader=function(a){var b;b=this;b.Object.compileShader(a);};E.prototype.CompileShader=function(a){return this.$val.CompileShader(a);};E.Ptr.prototype.CopyTexImage2D=function(a,b,c,d,e,f,g,h){var i;i=this;i.Object.copyTexImage2D(a,b,c,d,e,f,g,h);};E.prototype.CopyTexImage2D=function(a,b,c,d,e,f,g,h){return this.$val.CopyTexImage2D(a,b,c,d,e,f,g,h);};E.Ptr.prototype.CopyTexSubImage2D=function(a,b,c,d,e,f,g,h){var i;i=this;i.Object.copyTexSubImage2D(a,b,c,d,e,f,g,h);};E.prototype.CopyTexSubImage2D=function(a,b,c,d,e,f,g,h){return this.$val.CopyTexSubImage2D(a,b,c,d,e,f,g,h);};E.Ptr.prototype.CreateBuffer=function(){var a;a=this;return a.Object.createBuffer();};E.prototype.CreateBuffer=function(){return this.$val.CreateBuffer();};E.Ptr.prototype.CreateFramebuffer=function(){var a;a=this;return a.Object.createFramebuffer();};E.prototype.CreateFramebuffer=function(){return this.$val.CreateFramebuffer();};E.Ptr.prototype.CreateProgram=function(){var a;a=this;return a.Object.createProgram();};E.prototype.CreateProgram=function(){return this.$val.CreateProgram();};E.Ptr.prototype.CreateRenderbuffer=function(){var a;a=this;return a.Object.createRenderbuffer();};E.prototype.CreateRenderbuffer=function(){return this.$val.CreateRenderbuffer();};E.Ptr.prototype.CreateShader=function(a){var b;b=this;return b.Object.createShader(a);};E.prototype.CreateShader=function(a){return this.$val.CreateShader(a);};E.Ptr.prototype.CreateTexture=function(){var a;a=this;return a.Object.createTexture();};E.prototype.CreateTexture=function(){return this.$val.CreateTexture();};E.Ptr.prototype.CullFace=function(a){var b;b=this;b.Object.cullFace(a);};E.prototype.CullFace=function(a){return this.$val.CullFace(a);};E.Ptr.prototype.DeleteBuffer=function(a){var b;b=this;b.Object.deleteBuffer(a);};E.prototype.DeleteBuffer=function(a){return this.$val.DeleteBuffer(a);};E.Ptr.prototype.DeleteFramebuffer=function(a){var b;b=this;b.Object.deleteFramebuffer(a);};E.prototype.DeleteFramebuffer=function(a){return this.$val.DeleteFramebuffer(a);};E.Ptr.prototype.DeleteProgram=function(a){var b;b=this;b.Object.deleteProgram(a);};E.prototype.DeleteProgram=function(a){return this.$val.DeleteProgram(a);};E.Ptr.prototype.DeleteRenderbuffer=function(a){var b;b=this;b.Object.deleteRenderbuffer(a);};E.prototype.DeleteRenderbuffer=function(a){return this.$val.DeleteRenderbuffer(a);};E.Ptr.prototype.DeleteShader=function(a){var b;b=this;b.Object.deleteShader(a);};E.prototype.DeleteShader=function(a){return this.$val.DeleteShader(a);};E.Ptr.prototype.DeleteTexture=function(a){var b;b=this;b.Object.deleteTexture(a);};E.prototype.DeleteTexture=function(a){return this.$val.DeleteTexture(a);};E.Ptr.prototype.DepthFunc=function(a){var b;b=this;b.Object.depthFunc(a);};E.prototype.DepthFunc=function(a){return this.$val.DepthFunc(a);};E.Ptr.prototype.DepthMask=function(a){var b;b=this;b.Object.depthMask($externalize(a,$Bool));};E.prototype.DepthMask=function(a){return this.$val.DepthMask(a);};E.Ptr.prototype.DepthRange=function(a,b){var c;c=this;c.Object.depthRange(a,b);};E.prototype.DepthRange=function(a,b){return this.$val.DepthRange(a,b);};E.Ptr.prototype.DetachShader=function(a,b){var c;c=this;c.Object.detachShader(a,b);};E.prototype.DetachShader=function(a,b){return this.$val.DetachShader(a,b);};E.Ptr.prototype.Disable=function(a){var b;b=this;b.Object.disable(a);};E.prototype.Disable=function(a){return this.$val.Disable(a);};E.Ptr.prototype.DisableVertexAttribArray=function(a){var b;b=this;b.Object.disableVertexAttribArray(a);};E.prototype.DisableVertexAttribArray=function(a){return this.$val.DisableVertexAttribArray(a);};E.Ptr.prototype.DrawArrays=function(a,b,c){var d;d=this;d.Object.drawArrays(a,b,c);};E.prototype.DrawArrays=function(a,b,c){return this.$val.DrawArrays(a,b,c);};E.Ptr.prototype.DrawElements=function(a,b,c,d){var e;e=this;e.Object.drawElements(a,b,c,d);};E.prototype.DrawElements=function(a,b,c,d){return this.$val.DrawElements(a,b,c,d);};E.Ptr.prototype.Enable=function(a){var b;b=this;b.Object.enable(a);};E.prototype.Enable=function(a){return this.$val.Enable(a);};E.Ptr.prototype.EnableVertexAttribArray=function(a){var b;b=this;b.Object.enableVertexAttribArray(a);};E.prototype.EnableVertexAttribArray=function(a){return this.$val.EnableVertexAttribArray(a);};E.Ptr.prototype.Finish=function(){var a;a=this;a.Object.finish();};E.prototype.Finish=function(){return this.$val.Finish();};E.Ptr.prototype.Flush=function(){var a;a=this;a.Object.flush();};E.prototype.Flush=function(){return this.$val.Flush();};E.Ptr.prototype.FrameBufferRenderBuffer=function(a,b,c,d){var e;e=this;e.Object.framebufferRenderBuffer(a,b,c,d);};E.prototype.FrameBufferRenderBuffer=function(a,b,c,d){return this.$val.FrameBufferRenderBuffer(a,b,c,d);};E.Ptr.prototype.FramebufferTexture2D=function(a,b,c,d,e){var f;f=this;f.Object.framebufferTexture2D(a,b,c,d,e);};E.prototype.FramebufferTexture2D=function(a,b,c,d,e){return this.$val.FramebufferTexture2D(a,b,c,d,e);};E.Ptr.prototype.FrontFace=function(a){var b;b=this;b.Object.frontFace(a);};E.prototype.FrontFace=function(a){return this.$val.FrontFace(a);};E.Ptr.prototype.GenerateMipmap=function(a){var b;b=this;b.Object.generateMipmap(a);};E.prototype.GenerateMipmap=function(a){return this.$val.GenerateMipmap(a);};E.Ptr.prototype.GetActiveAttrib=function(a,b){var c;c=this;return c.Object.getActiveAttrib(a,b);};E.prototype.GetActiveAttrib=function(a,b){return this.$val.GetActiveAttrib(a,b);};E.Ptr.prototype.GetActiveUniform=function(a,b){var c;c=this;return c.Object.getActiveUniform(a,b);};E.prototype.GetActiveUniform=function(a,b){return this.$val.GetActiveUniform(a,b);};E.Ptr.prototype.GetAttachedShaders=function(a){var b,c,d,e;b=this;c=b.Object.getAttachedShaders(a);d=J.make($parseInt(c.length));e=0;while(e<$parseInt(c.length)){(e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=c[e];e=e+(1)>>0;}return d;};E.prototype.GetAttachedShaders=function(a){return this.$val.GetAttachedShaders(a);};E.Ptr.prototype.GetAttribLocation=function(a,b){var c;c=this;return $parseInt(c.Object.getAttribLocation(a,$externalize(b,$String)))>>0;};E.prototype.GetAttribLocation=function(a,b){return this.$val.GetAttribLocation(a,b);};E.Ptr.prototype.GetBufferParameter=function(a,b){var c;c=this;return c.Object.getBufferParameter(a,b);};E.prototype.GetBufferParameter=function(a,b){return this.$val.GetBufferParameter(a,b);};E.Ptr.prototype.GetParameter=function(a){var b;b=this;return b.Object.getParameter(a);};E.prototype.GetParameter=function(a){return this.$val.GetParameter(a);};E.Ptr.prototype.GetError=function(){var a;a=this;return $parseInt(a.Object.getError())>>0;};E.prototype.GetError=function(){return this.$val.GetError();};E.Ptr.prototype.GetExtension=function(a){var b;b=this;return b.Object.getExtension($externalize(a,$String));};E.prototype.GetExtension=function(a){return this.$val.GetExtension(a);};E.Ptr.prototype.GetFramebufferAttachmentParameter=function(a,b,c){var d;d=this;return d.Object.getFramebufferAttachmentParameter(a,b,c);};E.prototype.GetFramebufferAttachmentParameter=function(a,b,c){return this.$val.GetFramebufferAttachmentParameter(a,b,c);};E.Ptr.prototype.GetProgramParameteri=function(a,b){var c;c=this;return $parseInt(c.Object.getProgramParameter(a,b))>>0;};E.prototype.GetProgramParameteri=function(a,b){return this.$val.GetProgramParameteri(a,b);};E.Ptr.prototype.GetProgramParameterb=function(a,b){var c;c=this;return!!(c.Object.getProgramParameter(a,b));};E.prototype.GetProgramParameterb=function(a,b){return this.$val.GetProgramParameterb(a,b);};E.Ptr.prototype.GetProgramInfoLog=function(a){var b;b=this;return $internalize(b.Object.getProgramInfoLog(a),$String);};E.prototype.GetProgramInfoLog=function(a){return this.$val.GetProgramInfoLog(a);};E.Ptr.prototype.GetRenderbufferParameter=function(a,b){var c;c=this;return c.Object.getRenderbufferParameter(a,b);};E.prototype.GetRenderbufferParameter=function(a,b){return this.$val.GetRenderbufferParameter(a,b);};E.Ptr.prototype.GetShaderParameter=function(a,b){var c;c=this;return c.Object.getShaderParameter(a,b);};E.prototype.GetShaderParameter=function(a,b){return this.$val.GetShaderParameter(a,b);};E.Ptr.prototype.GetShaderParameterb=function(a,b){var c;c=this;return!!(c.Object.getShaderParameter(a,b));};E.prototype.GetShaderParameterb=function(a,b){return this.$val.GetShaderParameterb(a,b);};E.Ptr.prototype.GetShaderInfoLog=function(a){var b;b=this;return $internalize(b.Object.getShaderInfoLog(a),$String);};E.prototype.GetShaderInfoLog=function(a){return this.$val.GetShaderInfoLog(a);};E.Ptr.prototype.GetShaderSource=function(a){var b;b=this;return $internalize(b.Object.getShaderSource(a),$String);};E.prototype.GetShaderSource=function(a){return this.$val.GetShaderSource(a);};E.Ptr.prototype.GetSupportedExtensions=function(){var a,b,c,d;a=this;b=a.Object.getSupportedExtensions();c=K.make($parseInt(b.length));d=0;while(d<$parseInt(b.length)){(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=$internalize(b[d],$String);d=d+(1)>>0;}return c;};E.prototype.GetSupportedExtensions=function(){return this.$val.GetSupportedExtensions();};E.Ptr.prototype.GetTexParameter=function(a,b){var c;c=this;return c.Object.getTexParameter(a,b);};E.prototype.GetTexParameter=function(a,b){return this.$val.GetTexParameter(a,b);};E.Ptr.prototype.GetUniform=function(a,b){var c;c=this;return c.Object.getUniform(a,b);};E.prototype.GetUniform=function(a,b){return this.$val.GetUniform(a,b);};E.Ptr.prototype.GetUniformLocation=function(a,b){var c;c=this;return c.Object.getUniformLocation(a,$externalize(b,$String));};E.prototype.GetUniformLocation=function(a,b){return this.$val.GetUniformLocation(a,b);};E.Ptr.prototype.GetVertexAttrib=function(a,b){var c;c=this;return c.Object.getVertexAttrib(a,b);};E.prototype.GetVertexAttrib=function(a,b){return this.$val.GetVertexAttrib(a,b);};E.Ptr.prototype.GetVertexAttribOffset=function(a,b){var c;c=this;return $parseInt(c.Object.getVertexAttribOffset(a,b))>>0;};E.prototype.GetVertexAttribOffset=function(a,b){return this.$val.GetVertexAttribOffset(a,b);};E.Ptr.prototype.IsBuffer=function(a){var b;b=this;return!!(b.Object.isBuffer(a));};E.prototype.IsBuffer=function(a){return this.$val.IsBuffer(a);};E.Ptr.prototype.IsContextLost=function(){var a;a=this;return!!(a.Object.isContextLost());};E.prototype.IsContextLost=function(){return this.$val.IsContextLost();};E.Ptr.prototype.IsFramebuffer=function(a){var b;b=this;return!!(b.Object.isFramebuffer(a));};E.prototype.IsFramebuffer=function(a){return this.$val.IsFramebuffer(a);};E.Ptr.prototype.IsProgram=function(a){var b;b=this;return!!(b.Object.isProgram(a));};E.prototype.IsProgram=function(a){return this.$val.IsProgram(a);};E.Ptr.prototype.IsRenderbuffer=function(a){var b;b=this;return!!(b.Object.isRenderbuffer(a));};E.prototype.IsRenderbuffer=function(a){return this.$val.IsRenderbuffer(a);};E.Ptr.prototype.IsShader=function(a){var b;b=this;return!!(b.Object.isShader(a));};E.prototype.IsShader=function(a){return this.$val.IsShader(a);};E.Ptr.prototype.IsTexture=function(a){var b;b=this;return!!(b.Object.isTexture(a));};E.prototype.IsTexture=function(a){return this.$val.IsTexture(a);};E.Ptr.prototype.IsEnabled=function(a){var b;b=this;return!!(b.Object.isEnabled(a));};E.prototype.IsEnabled=function(a){return this.$val.IsEnabled(a);};E.Ptr.prototype.LineWidth=function(a){var b;b=this;b.Object.lineWidth(a);};E.prototype.LineWidth=function(a){return this.$val.LineWidth(a);};E.Ptr.prototype.LinkProgram=function(a){var b;b=this;b.Object.linkProgram(a);};E.prototype.LinkProgram=function(a){return this.$val.LinkProgram(a);};E.Ptr.prototype.PixelStorei=function(a,b){var c;c=this;c.Object.pixelStorei(a,b);};E.prototype.PixelStorei=function(a,b){return this.$val.PixelStorei(a,b);};E.Ptr.prototype.PolygonOffset=function(a,b){var c;c=this;c.Object.polygonOffset(a,b);};E.prototype.PolygonOffset=function(a,b){return this.$val.PolygonOffset(a,b);};E.Ptr.prototype.ReadPixels=function(a,b,c,d,e,f,g){var h;h=this;h.Object.readPixels(a,b,c,d,e,f,g);};E.prototype.ReadPixels=function(a,b,c,d,e,f,g){return this.$val.ReadPixels(a,b,c,d,e,f,g);};E.Ptr.prototype.RenderbufferStorage=function(a,b,c,d){var e;e=this;e.Object.renderbufferStorage(a,b,c,d);};E.prototype.RenderbufferStorage=function(a,b,c,d){return this.$val.RenderbufferStorage(a,b,c,d);};E.Ptr.prototype.Scissor=function(a,b,c,d){var e;e=this;e.Object.scissor(a,b,c,d);};E.prototype.Scissor=function(a,b,c,d){return this.$val.Scissor(a,b,c,d);};E.Ptr.prototype.ShaderSource=function(a,b){var c;c=this;c.Object.shaderSource(a,$externalize(b,$String));};E.prototype.ShaderSource=function(a,b){return this.$val.ShaderSource(a,b);};E.Ptr.prototype.TexImage2D=function(a,b,c,d,e,f){var g;g=this;g.Object.texImage2D(a,b,c,d,e,f);};E.prototype.TexImage2D=function(a,b,c,d,e,f){return this.$val.TexImage2D(a,b,c,d,e,f);};E.Ptr.prototype.TexParameteri=function(a,b,c){var d;d=this;d.Object.texParameteri(a,b,c);};E.prototype.TexParameteri=function(a,b,c){return this.$val.TexParameteri(a,b,c);};E.Ptr.prototype.TexSubImage2D=function(a,b,c,d,e,f,g){var h;h=this;h.Object.texSubImage2D(a,b,c,d,e,f,g);};E.prototype.TexSubImage2D=function(a,b,c,d,e,f,g){return this.$val.TexSubImage2D(a,b,c,d,e,f,g);};E.Ptr.prototype.Uniform1f=function(a,b){var c;c=this;c.Object.uniform1f(a,b);};E.prototype.Uniform1f=function(a,b){return this.$val.Uniform1f(a,b);};E.Ptr.prototype.Uniform1i=function(a,b){var c;c=this;c.Object.uniform1i(a,b);};E.prototype.Uniform1i=function(a,b){return this.$val.Uniform1i(a,b);};E.Ptr.prototype.Uniform2f=function(a,b,c){var d;d=this;d.Object.uniform2f(a,b,c);};E.prototype.Uniform2f=function(a,b,c){return this.$val.Uniform2f(a,b,c);};E.Ptr.prototype.Uniform2i=function(a,b,c){var d;d=this;d.Object.uniform2i(a,b,c);};E.prototype.Uniform2i=function(a,b,c){return this.$val.Uniform2i(a,b,c);};E.Ptr.prototype.Uniform3f=function(a,b,c,d){var e;e=this;e.Object.uniform3f(a,b,c,d);};E.prototype.Uniform3f=function(a,b,c,d){return this.$val.Uniform3f(a,b,c,d);};E.Ptr.prototype.Uniform3i=function(a,b,c,d){var e;e=this;e.Object.uniform3i(a,b,c,d);};E.prototype.Uniform3i=function(a,b,c,d){return this.$val.Uniform3i(a,b,c,d);};E.Ptr.prototype.Uniform4f=function(a,b,c,d,e){var f;f=this;f.Object.uniform4f(a,b,c,d,e);};E.prototype.Uniform4f=function(a,b,c,d,e){return this.$val.Uniform4f(a,b,c,d,e);};E.Ptr.prototype.Uniform4i=function(a,b,c,d,e){var f;f=this;f.Object.uniform4i(a,b,c,d,e);};E.prototype.Uniform4i=function(a,b,c,d,e){return this.$val.Uniform4i(a,b,c,d,e);};E.Ptr.prototype.UniformMatrix2fv=function(a,b,c){var d;d=this;d.Object.uniformMatrix2fv(a,$externalize(b,$Bool),$externalize(c,L));};E.prototype.UniformMatrix2fv=function(a,b,c){return this.$val.UniformMatrix2fv(a,b,c);};E.Ptr.prototype.UniformMatrix3fv=function(a,b,c){var d;d=this;d.Object.uniformMatrix3fv(a,$externalize(b,$Bool),$externalize(c,L));};E.prototype.UniformMatrix3fv=function(a,b,c){return this.$val.UniformMatrix3fv(a,b,c);};E.Ptr.prototype.UniformMatrix4fv=function(a,b,c){var d;d=this;d.Object.uniformMatrix4fv(a,$externalize(b,$Bool),$externalize(c,L));};E.prototype.UniformMatrix4fv=function(a,b,c){return this.$val.UniformMatrix4fv(a,b,c);};E.Ptr.prototype.UseProgram=function(a){var b;b=this;b.Object.useProgram(a);};E.prototype.UseProgram=function(a){return this.$val.UseProgram(a);};E.Ptr.prototype.ValidateProgram=function(a){var b;b=this;b.Object.validateProgram(a);};E.prototype.ValidateProgram=function(a){return this.$val.ValidateProgram(a);};E.Ptr.prototype.VertexAttribPointer=function(a,b,c,d,e,f){var g;g=this;g.Object.vertexAttribPointer(a,b,c,$externalize(d,$Bool),e,f);};E.prototype.VertexAttribPointer=function(a,b,c,d,e,f){return this.$val.VertexAttribPointer(a,b,c,d,e,f);};E.Ptr.prototype.Viewport=function(a,b,c,d){var e;e=this;e.Object.viewport(a,b,c,d);};E.prototype.Viewport=function(a,b,c,d){return this.$val.Viewport(a,b,c,d);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}G=$ptrType(E);H=$ptrType(C);I=$mapType($String,$Bool);J=$sliceType(B.Object);K=$sliceType($String);L=$sliceType($Float32);M=$sliceType($emptyInterface);C.init([["Alpha","Alpha","",$Bool,""],["Depth","Depth","",$Bool,""],["Stencil","Stencil","",$Bool,""],["Antialias","Antialias","",$Bool,""],["PremultipliedAlpha","PremultipliedAlpha","",$Bool,""],["PreserveDrawingBuffer","PreserveDrawingBuffer","",$Bool,""]]);E.methods=[["Bool","Bool","",$funcType([],[$Bool],false),0],["Call","Call","",$funcType([$String,M],[B.Object],true),0],["Delete","Delete","",$funcType([$String],[],false),0],["Float","Float","",$funcType([],[$Float64],false),0],["Get","Get","",$funcType([$String],[B.Object],false),0],["Index","Index","",$funcType([$Int],[B.Object],false),0],["Int","Int","",$funcType([],[$Int],false),0],["Int64","Int64","",$funcType([],[$Int64],false),0],["Interface","Interface","",$funcType([],[$emptyInterface],false),0],["Invoke","Invoke","",$funcType([M],[B.Object],true),0],["Length","Length","",$funcType([],[$Int],false),0],["New","New","",$funcType([M],[B.Object],true),0],["Set","Set","",$funcType([$String,$emptyInterface],[],false),0],["SetIndex","SetIndex","",$funcType([$Int,$emptyInterface],[],false),0],["Str","Str","",$funcType([],[$String],false),0],["Uint64","Uint64","",$funcType([],[$Uint64],false),0],["Unsafe","Unsafe","",$funcType([],[$Uintptr],false),0]];G.methods=[["ActiveTexture","ActiveTexture","",$funcType([$Int],[],false),-1],["AttachShader","AttachShader","",$funcType([B.Object,B.Object],[],false),-1],["BindAttribLocation","BindAttribLocation","",$funcType([B.Object,$Int,$String],[],false),-1],["BindBuffer","BindBuffer","",$funcType([$Int,B.Object],[],false),-1],["BindFramebuffer","BindFramebuffer","",$funcType([$Int,B.Object],[],false),-1],["BindRenderbuffer","BindRenderbuffer","",$funcType([$Int,B.Object],[],false),-1],["BindTexture","BindTexture","",$funcType([$Int,B.Object],[],false),-1],["BlendColor","BlendColor","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["BlendEquation","BlendEquation","",$funcType([$Int],[],false),-1],["BlendEquationSeparate","BlendEquationSeparate","",$funcType([$Int,$Int],[],false),-1],["BlendFunc","BlendFunc","",$funcType([$Int,$Int],[],false),-1],["BlendFuncSeparate","BlendFuncSeparate","",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),0],["BufferData","BufferData","",$funcType([$Int,$emptyInterface,$Int],[],false),-1],["BufferSubData","BufferSubData","",$funcType([$Int,$Int,$emptyInterface],[],false),-1],["Call","Call","",$funcType([$String,M],[B.Object],true),0],["CheckFramebufferStatus","CheckFramebufferStatus","",$funcType([$Int],[$Int],false),-1],["Clear","Clear","",$funcType([$Int],[],false),-1],["ClearColor","ClearColor","",$funcType([$Float32,$Float32,$Float32,$Float32],[],false),-1],["ClearDepth","ClearDepth","",$funcType([$Float64],[],false),-1],["ClearStencil","ClearStencil","",$funcType([$Int],[],false),-1],["ColorMask","ColorMask","",$funcType([$Bool,$Bool,$Bool,$Bool],[],false),-1],["CompileShader","CompileShader","",$funcType([B.Object],[],false),-1],["CopyTexImage2D","CopyTexImage2D","",$funcType([$Int,$Int,$Int,$Int,$Int,$Int,$Int,$Int],[],false),-1],["CopyTexSubImage2D","CopyTexSubImage2D","",$funcType([$Int,$Int,$Int,$Int,$Int,$Int,$Int,$Int],[],false),-1],["CreateBuffer","CreateBuffer","",$funcType([],[B.Object],false),-1],["CreateFramebuffer","CreateFramebuffer","",$funcType([],[B.Object],false),-1],["CreateProgram","CreateProgram","",$funcType([],[B.Object],false),-1],["CreateRenderbuffer","CreateRenderbuffer","",$funcType([],[B.Object],false),-1],["CreateShader","CreateShader","",$funcType([$Int],[B.Object],false),-1],["CreateTexture","CreateTexture","",$funcType([],[B.Object],false),-1],["CullFace","CullFace","",$funcType([$Int],[],false),-1],["Delete","Delete","",$funcType([$String],[],false),0],["DeleteBuffer","DeleteBuffer","",$funcType([B.Object],[],false),-1],["DeleteFramebuffer","DeleteFramebuffer","",$funcType([B.Object],[],false),-1],["DeleteProgram","DeleteProgram","",$funcType([B.Object],[],false),-1],["DeleteRenderbuffer","DeleteRenderbuffer","",$funcType([B.Object],[],false),-1],["DeleteShader","DeleteShader","",$funcType([B.Object],[],false),-1],["DeleteTexture","DeleteTexture","",$funcType([B.Object],[],false),-1],["DepthFunc","DepthFunc","",$funcType([$Int],[],false),-1],["DepthMask","DepthMask","",$funcType([$Bool],[],false),-1],["DepthRange","DepthRange","",$funcType([$Float64,$Float64],[],false),-1],["DetachShader","DetachShader","",$funcType([B.Object,B.Object],[],false),-1],["Disable","Disable","",$funcType([$Int],[],false),-1],["DisableVertexAttribArray","DisableVertexAttribArray","",$funcType([$Int],[],false),-1],["DrawArrays","DrawArrays","",$funcType([$Int,$Int,$Int],[],false),-1],["DrawElements","DrawElements","",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["Enable","Enable","",$funcType([$Int],[],false),-1],["EnableVertexAttribArray","EnableVertexAttribArray","",$funcType([$Int],[],false),-1],["Finish","Finish","",$funcType([],[],false),-1],["Float","Float","",$funcType([],[$Float64],false),0],["Flush","Flush","",$funcType([],[],false),-1],["FrameBufferRenderBuffer","FrameBufferRenderBuffer","",$funcType([$Int,$Int,$Int,B.Object],[],false),-1],["FramebufferTexture2D","FramebufferTexture2D","",$funcType([$Int,$Int,$Int,B.Object,$Int],[],false),-1],["FrontFace","FrontFace","",$funcType([$Int],[],false),-1],["GenerateMipmap","GenerateMipmap","",$funcType([$Int],[],false),-1],["Get","Get","",$funcType([$String],[B.Object],false),0],["GetActiveAttrib","GetActiveAttrib","",$funcType([B.Object,$Int],[B.Object],false),-1],["GetActiveUniform","GetActiveUniform","",$funcType([B.Object,$Int],[B.Object],false),-1],["GetAttachedShaders","GetAttachedShaders","",$funcType([B.Object],[J],false),-1],["GetAttribLocation","GetAttribLocation","",$funcType([B.Object,$String],[$Int],false),-1],["GetBufferParameter","GetBufferParameter","",$funcType([$Int,$Int],[B.Object],false),-1],["GetContextAttributes","GetContextAttributes","",$funcType([],[C],false),-1],["GetError","GetError","",$funcType([],[$Int],false),-1],["GetExtension","GetExtension","",$funcType([$String],[B.Object],false),-1],["GetFramebufferAttachmentParameter","GetFramebufferAttachmentParameter","",$funcType([$Int,$Int,$Int],[B.Object],false),-1],["GetParameter","GetParameter","",$funcType([$Int],[B.Object],false),-1],["GetProgramInfoLog","GetProgramInfoLog","",$funcType([B.Object],[$String],false),-1],["GetProgramParameterb","GetProgramParameterb","",$funcType([B.Object,$Int],[$Bool],false),-1],["GetProgramParameteri","GetProgramParameteri","",$funcType([B.Object,$Int],[$Int],false),-1],["GetRenderbufferParameter","GetRenderbufferParameter","",$funcType([$Int,$Int],[B.Object],false),-1],["GetShaderInfoLog","GetShaderInfoLog","",$funcType([B.Object],[$String],false),-1],["GetShaderParameter","GetShaderParameter","",$funcType([B.Object,$Int],[B.Object],false),-1],["GetShaderParameterb","GetShaderParameterb","",$funcType([B.Object,$Int],[$Bool],false),-1],["GetShaderSource","GetShaderSource","",$funcType([B.Object],[$String],false),-1],["GetSupportedExtensions","GetSupportedExtensions","",$funcType([],[K],false),-1],["GetTexParameter","GetTexParameter","",$funcType([$Int,$Int],[B.Object],false),-1],["GetUniform","GetUniform","",$funcType([B.Object,B.Object],[B.Object],false),-1],["GetUniformLocation","GetUniformLocation","",$funcType([B.Object,$String],[B.Object],false),-1],["GetVertexAttrib","GetVertexAttrib","",$funcType([$Int,$Int],[B.Object],false),-1],["GetVertexAttribOffset","GetVertexAttribOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Index","Index","",$funcType([$Int],[B.Object],false),0],["Int","Int","",$funcType([],[$Int],false),0],["Int64","Int64","",$funcType([],[$Int64],false),0],["Interface","Interface","",$funcType([],[$emptyInterface],false),0],["Invoke","Invoke","",$funcType([M],[B.Object],true),0],["IsBuffer","IsBuffer","",$funcType([B.Object],[$Bool],false),-1],["IsContextLost","IsContextLost","",$funcType([],[$Bool],false),-1],["IsEnabled","IsEnabled","",$funcType([$Int],[$Bool],false),-1],["IsFramebuffer","IsFramebuffer","",$funcType([B.Object],[$Bool],false),-1],["IsProgram","IsProgram","",$funcType([B.Object],[$Bool],false),-1],["IsRenderbuffer","IsRenderbuffer","",$funcType([B.Object],[$Bool],false),-1],["IsShader","IsShader","",$funcType([B.Object],[$Bool],false),-1],["IsTexture","IsTexture","",$funcType([B.Object],[$Bool],false),-1],["Length","Length","",$funcType([],[$Int],false),0],["LineWidth","LineWidth","",$funcType([$Float64],[],false),-1],["LinkProgram","LinkProgram","",$funcType([B.Object],[],false),-1],["New","New","",$funcType([M],[B.Object],true),0],["PixelStorei","PixelStorei","",$funcType([$Int,$Int],[],false),-1],["PolygonOffset","PolygonOffset","",$funcType([$Float64,$Float64],[],false),-1],["ReadPixels","ReadPixels","",$funcType([$Int,$Int,$Int,$Int,$Int,$Int,B.Object],[],false),-1],["RenderbufferStorage","RenderbufferStorage","",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["Scissor","Scissor","",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["Set","Set","",$funcType([$String,$emptyInterface],[],false),0],["SetIndex","SetIndex","",$funcType([$Int,$emptyInterface],[],false),0],["ShaderSource","ShaderSource","",$funcType([B.Object,$String],[],false),-1],["Str","Str","",$funcType([],[$String],false),0],["TexImage2D","TexImage2D","",$funcType([$Int,$Int,$Int,$Int,$Int,B.Object],[],false),-1],["TexParameteri","TexParameteri","",$funcType([$Int,$Int,$Int],[],false),-1],["TexSubImage2D","TexSubImage2D","",$funcType([$Int,$Int,$Int,$Int,$Int,$Int,B.Object],[],false),-1],["Uint64","Uint64","",$funcType([],[$Uint64],false),0],["Uniform1f","Uniform1f","",$funcType([B.Object,$Float32],[],false),-1],["Uniform1i","Uniform1i","",$funcType([B.Object,$Int],[],false),-1],["Uniform2f","Uniform2f","",$funcType([B.Object,$Float32,$Float32],[],false),-1],["Uniform2i","Uniform2i","",$funcType([B.Object,$Int,$Int],[],false),-1],["Uniform3f","Uniform3f","",$funcType([B.Object,$Float32,$Float32,$Float32],[],false),-1],["Uniform3i","Uniform3i","",$funcType([B.Object,$Int,$Int,$Int],[],false),-1],["Uniform4f","Uniform4f","",$funcType([B.Object,$Float32,$Float32,$Float32,$Float32],[],false),-1],["Uniform4i","Uniform4i","",$funcType([B.Object,$Int,$Int,$Int,$Int],[],false),-1],["UniformMatrix2fv","UniformMatrix2fv","",$funcType([B.Object,$Bool,L],[],false),-1],["UniformMatrix3fv","UniformMatrix3fv","",$funcType([B.Object,$Bool,L],[],false),-1],["UniformMatrix4fv","UniformMatrix4fv","",$funcType([B.Object,$Bool,L],[],false),-1],["Unsafe","Unsafe","",$funcType([],[$Uintptr],false),0],["UseProgram","UseProgram","",$funcType([B.Object],[],false),-1],["ValidateProgram","ValidateProgram","",$funcType([B.Object],[],false),-1],["VertexAttribPointer","VertexAttribPointer","",$funcType([$Int,$Int,$Int,$Bool,$Int,$Int],[],false),-1],["Viewport","Viewport","",$funcType([$Int,$Int,$Int,$Int],[],false),-1]];E.init([["Object","","",B.Object,""],["ARRAY_BUFFER","ARRAY_BUFFER","",$Int,"js:\"ARRAY_BUFFER\""],["ARRAY_BUFFER_BINDING","ARRAY_BUFFER_BINDING","",$Int,"js:\"ARRAY_BUFFER_BINDING\""],["ATTACHED_SHADERS","ATTACHED_SHADERS","",$Int,"js:\"ATTACHED_SHADERS\""],["BACK","BACK","",$Int,"js:\"BACK\""],["BLEND","BLEND","",$Int,"js:\"BLEND\""],["BLEND_COLOR","BLEND_COLOR","",$Int,"js:\"BLEND_COLOR\""],["BLEND_DST_ALPHA","BLEND_DST_ALPHA","",$Int,"js:\"BLEND_DST_ALPHA\""],["BLEND_DST_RGB","BLEND_DST_RGB","",$Int,"js:\"BLEND_DST_RGB\""],["BLEND_EQUATION","BLEND_EQUATION","",$Int,"js:\"BLEND_EQUATION\""],["BLEND_EQUATION_ALPHA","BLEND_EQUATION_ALPHA","",$Int,"js:\"BLEND_EQUATION_ALPHA\""],["BLEND_EQUATION_RGB","BLEND_EQUATION_RGB","",$Int,"js:\"BLEND_EQUATION_RGB\""],["BLEND_SRC_ALPHA","BLEND_SRC_ALPHA","",$Int,"js:\"BLEND_SRC_ALPHA\""],["BLEND_SRC_RGB","BLEND_SRC_RGB","",$Int,"js:\"BLEND_SRC_RGB\""],["BLUE_BITS","BLUE_BITS","",$Int,"js:\"BLUE_BITS\""],["BOOL","BOOL","",$Int,"js:\"BOOL\""],["BOOL_VEC2","BOOL_VEC2","",$Int,"js:\"BOOL_VEC2\""],["BOOL_VEC3","BOOL_VEC3","",$Int,"js:\"BOOL_VEC3\""],["BOOL_VEC4","BOOL_VEC4","",$Int,"js:\"BOOL_VEC4\""],["BROWSER_DEFAULT_WEBGL","BROWSER_DEFAULT_WEBGL","",$Int,"js:\"BROWSER_DEFAULT_WEBGL\""],["BUFFER_SIZE","BUFFER_SIZE","",$Int,"js:\"BUFFER_SIZE\""],["BUFFER_USAGE","BUFFER_USAGE","",$Int,"js:\"BUFFER_USAGE\""],["BYTE","BYTE","",$Int,"js:\"BYTE\""],["CCW","CCW","",$Int,"js:\"CCW\""],["CLAMP_TO_EDGE","CLAMP_TO_EDGE","",$Int,"js:\"CLAMP_TO_EDGE\""],["COLOR_ATTACHMENT0","COLOR_ATTACHMENT0","",$Int,"js:\"COLOR_ATTACHMENT0\""],["COLOR_BUFFER_BIT","COLOR_BUFFER_BIT","",$Int,"js:\"COLOR_BUFFER_BIT\""],["COLOR_CLEAR_VALUE","COLOR_CLEAR_VALUE","",$Int,"js:\"COLOR_CLEAR_VALUE\""],["COLOR_WRITEMASK","COLOR_WRITEMASK","",$Int,"js:\"COLOR_WRITEMASK\""],["COMPILE_STATUS","COMPILE_STATUS","",$Int,"js:\"COMPILE_STATUS\""],["COMPRESSED_TEXTURE_FORMATS","COMPRESSED_TEXTURE_FORMATS","",$Int,"js:\"COMPRESSED_TEXTURE_FORMATS\""],["CONSTANT_ALPHA","CONSTANT_ALPHA","",$Int,"js:\"CONSTANT_ALPHA\""],["CONSTANT_COLOR","CONSTANT_COLOR","",$Int,"js:\"CONSTANT_COLOR\""],["CONTEXT_LOST_WEBGL","CONTEXT_LOST_WEBGL","",$Int,"js:\"CONTEXT_LOST_WEBGL\""],["CULL_FACE","CULL_FACE","",$Int,"js:\"CULL_FACE\""],["CULL_FACE_MODE","CULL_FACE_MODE","",$Int,"js:\"CULL_FACE_MODE\""],["CURRENT_PROGRAM","CURRENT_PROGRAM","",$Int,"js:\"CURRENT_PROGRAM\""],["CURRENT_VERTEX_ATTRIB","CURRENT_VERTEX_ATTRIB","",$Int,"js:\"CURRENT_VERTEX_ATTRIB\""],["CW","CW","",$Int,"js:\"CW\""],["DECR","DECR","",$Int,"js:\"DECR\""],["DECR_WRAP","DECR_WRAP","",$Int,"js:\"DECR_WRAP\""],["DELETE_STATUS","DELETE_STATUS","",$Int,"js:\"DELETE_STATUS\""],["DEPTH_ATTACHMENT","DEPTH_ATTACHMENT","",$Int,"js:\"DEPTH_ATTACHMENT\""],["DEPTH_BITS","DEPTH_BITS","",$Int,"js:\"DEPTH_BITS\""],["DEPTH_BUFFER_BIT","DEPTH_BUFFER_BIT","",$Int,"js:\"DEPTH_BUFFER_BIT\""],["DEPTH_CLEAR_VALUE","DEPTH_CLEAR_VALUE","",$Int,"js:\"DEPTH_CLEAR_VALUE\""],["DEPTH_COMPONENT","DEPTH_COMPONENT","",$Int,"js:\"DEPTH_COMPONENT\""],["DEPTH_COMPONENT16","DEPTH_COMPONENT16","",$Int,"js:\"DEPTH_COMPONENT16\""],["DEPTH_FUNC","DEPTH_FUNC","",$Int,"js:\"DEPTH_FUNC\""],["DEPTH_RANGE","DEPTH_RANGE","",$Int,"js:\"DEPTH_RANGE\""],["DEPTH_STENCIL","DEPTH_STENCIL","",$Int,"js:\"DEPTH_STENCIL\""],["DEPTH_STENCIL_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","",$Int,"js:\"DEPTH_STENCIL_ATTACHMENT\""],["DEPTH_TEST","DEPTH_TEST","",$Int,"js:\"DEPTH_TEST\""],["DEPTH_WRITEMASK","DEPTH_WRITEMASK","",$Int,"js:\"DEPTH_WRITEMASK\""],["DITHER","DITHER","",$Int,"js:\"DITHER\""],["DONT_CARE","DONT_CARE","",$Int,"js:\"DONT_CARE\""],["DST_ALPHA","DST_ALPHA","",$Int,"js:\"DST_ALPHA\""],["DST_COLOR","DST_COLOR","",$Int,"js:\"DST_COLOR\""],["DYNAMIC_DRAW","DYNAMIC_DRAW","",$Int,"js:\"DYNAMIC_DRAW\""],["ELEMENT_ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER","",$Int,"js:\"ELEMENT_ARRAY_BUFFER\""],["ELEMENT_ARRAY_BUFFER_BINDING","ELEMENT_ARRAY_BUFFER_BINDING","",$Int,"js:\"ELEMENT_ARRAY_BUFFER_BINDING\""],["EQUAL","EQUAL","",$Int,"js:\"EQUAL\""],["FASTEST","FASTEST","",$Int,"js:\"FASTEST\""],["FLOAT","FLOAT","",$Int,"js:\"FLOAT\""],["FLOAT_MAT2","FLOAT_MAT2","",$Int,"js:\"FLOAT_MAT2\""],["FLOAT_MAT3","FLOAT_MAT3","",$Int,"js:\"FLOAT_MAT3\""],["FLOAT_MAT4","FLOAT_MAT4","",$Int,"js:\"FLOAT_MAT4\""],["FLOAT_VEC2","FLOAT_VEC2","",$Int,"js:\"FLOAT_VEC2\""],["FLOAT_VEC3","FLOAT_VEC3","",$Int,"js:\"FLOAT_VEC3\""],["FLOAT_VEC4","FLOAT_VEC4","",$Int,"js:\"FLOAT_VEC4\""],["FRAGMENT_SHADER","FRAGMENT_SHADER","",$Int,"js:\"FRAGMENT_SHADER\""],["FRAMEBUFFER","FRAMEBUFFER","",$Int,"js:\"FRAMEBUFFER\""],["FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","",$Int,"js:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\""],["FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","",$Int,"js:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\""],["FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","",$Int,"js:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\""],["FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","",$Int,"js:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\""],["FRAMEBUFFER_BINDING","FRAMEBUFFER_BINDING","",$Int,"js:\"FRAMEBUFFER_BINDING\""],["FRAMEBUFFER_COMPLETE","FRAMEBUFFER_COMPLETE","",$Int,"js:\"FRAMEBUFFER_COMPLETE\""],["FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","",$Int,"js:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\""],["FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","",$Int,"js:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\""],["FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","",$Int,"js:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\""],["FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_UNSUPPORTED","",$Int,"js:\"FRAMEBUFFER_UNSUPPORTED\""],["FRONT","FRONT","",$Int,"js:\"FRONT\""],["FRONT_AND_BACK","FRONT_AND_BACK","",$Int,"js:\"FRONT_AND_BACK\""],["FRONT_FACE","FRONT_FACE","",$Int,"js:\"FRONT_FACE\""],["FUNC_ADD","FUNC_ADD","",$Int,"js:\"FUNC_ADD\""],["FUNC_REVERSE_SUBTRACT","FUNC_REVERSE_SUBTRACT","",$Int,"js:\"FUNC_REVERSE_SUBTRACT\""],["FUNC_SUBTRACT","FUNC_SUBTRACT","",$Int,"js:\"FUNC_SUBTRACT\""],["GENERATE_MIPMAP_HINT","GENERATE_MIPMAP_HINT","",$Int,"js:\"GENERATE_MIPMAP_HINT\""],["GEQUAL","GEQUAL","",$Int,"js:\"GEQUAL\""],["GREATER","GREATER","",$Int,"js:\"GREATER\""],["GREEN_BITS","GREEN_BITS","",$Int,"js:\"GREEN_BITS\""],["HIGH_FLOAT","HIGH_FLOAT","",$Int,"js:\"HIGH_FLOAT\""],["HIGH_INT","HIGH_INT","",$Int,"js:\"HIGH_INT\""],["INCR","INCR","",$Int,"js:\"INCR\""],["INCR_WRAP","INCR_WRAP","",$Int,"js:\"INCR_WRAP\""],["INFO_LOG_LENGTH","INFO_LOG_LENGTH","",$Int,"js:\"INFO_LOG_LENGTH\""],["INT","INT","",$Int,"js:\"INT\""],["INT_VEC2","INT_VEC2","",$Int,"js:\"INT_VEC2\""],["INT_VEC3","INT_VEC3","",$Int,"js:\"INT_VEC3\""],["INT_VEC4","INT_VEC4","",$Int,"js:\"INT_VEC4\""],["INVALID_ENUM","INVALID_ENUM","",$Int,"js:\"INVALID_ENUM\""],["INVALID_FRAMEBUFFER_OPERATION","INVALID_FRAMEBUFFER_OPERATION","",$Int,"js:\"INVALID_FRAMEBUFFER_OPERATION\""],["INVALID_OPERATION","INVALID_OPERATION","",$Int,"js:\"INVALID_OPERATION\""],["INVALID_VALUE","INVALID_VALUE","",$Int,"js:\"INVALID_VALUE\""],["INVERT","INVERT","",$Int,"js:\"INVERT\""],["KEEP","KEEP","",$Int,"js:\"KEEP\""],["LEQUAL","LEQUAL","",$Int,"js:\"LEQUAL\""],["LESS","LESS","",$Int,"js:\"LESS\""],["LINEAR","LINEAR","",$Int,"js:\"LINEAR\""],["LINEAR_MIPMAP_LINEAR","LINEAR_MIPMAP_LINEAR","",$Int,"js:\"LINEAR_MIPMAP_LINEAR\""],["LINEAR_MIPMAP_NEAREST","LINEAR_MIPMAP_NEAREST","",$Int,"js:\"LINEAR_MIPMAP_NEAREST\""],["LINES","LINES","",$Int,"js:\"LINES\""],["LINE_LOOP","LINE_LOOP","",$Int,"js:\"LINE_LOOP\""],["LINE_STRIP","LINE_STRIP","",$Int,"js:\"LINE_STRIP\""],["LINE_WIDTH","LINE_WIDTH","",$Int,"js:\"LINE_WIDTH\""],["LINK_STATUS","LINK_STATUS","",$Int,"js:\"LINK_STATUS\""],["LOW_FLOAT","LOW_FLOAT","",$Int,"js:\"LOW_FLOAT\""],["LOW_INT","LOW_INT","",$Int,"js:\"LOW_INT\""],["LUMINANCE","LUMINANCE","",$Int,"js:\"LUMINANCE\""],["LUMINANCE_ALPHA","LUMINANCE_ALPHA","",$Int,"js:\"LUMINANCE_ALPHA\""],["MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_COMBINED_TEXTURE_IMAGE_UNITS","",$Int,"js:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\""],["MAX_CUBE_MAP_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE","",$Int,"js:\"MAX_CUBE_MAP_TEXTURE_SIZE\""],["MAX_FRAGMENT_UNIFORM_VECTORS","MAX_FRAGMENT_UNIFORM_VECTORS","",$Int,"js:\"MAX_FRAGMENT_UNIFORM_VECTORS\""],["MAX_RENDERBUFFER_SIZE","MAX_RENDERBUFFER_SIZE","",$Int,"js:\"MAX_RENDERBUFFER_SIZE\""],["MAX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_IMAGE_UNITS","",$Int,"js:\"MAX_TEXTURE_IMAGE_UNITS\""],["MAX_TEXTURE_SIZE","MAX_TEXTURE_SIZE","",$Int,"js:\"MAX_TEXTURE_SIZE\""],["MAX_VARYING_VECTORS","MAX_VARYING_VECTORS","",$Int,"js:\"MAX_VARYING_VECTORS\""],["MAX_VERTEX_ATTRIBS","MAX_VERTEX_ATTRIBS","",$Int,"js:\"MAX_VERTEX_ATTRIBS\""],["MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","",$Int,"js:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\""],["MAX_VERTEX_UNIFORM_VECTORS","MAX_VERTEX_UNIFORM_VECTORS","",$Int,"js:\"MAX_VERTEX_UNIFORM_VECTORS\""],["MAX_VIEWPORT_DIMS","MAX_VIEWPORT_DIMS","",$Int,"js:\"MAX_VIEWPORT_DIMS\""],["MEDIUM_FLOAT","MEDIUM_FLOAT","",$Int,"js:\"MEDIUM_FLOAT\""],["MEDIUM_INT","MEDIUM_INT","",$Int,"js:\"MEDIUM_INT\""],["MIRRORED_REPEAT","MIRRORED_REPEAT","",$Int,"js:\"MIRRORED_REPEAT\""],["NEAREST","NEAREST","",$Int,"js:\"NEAREST\""],["NEAREST_MIPMAP_LINEAR","NEAREST_MIPMAP_LINEAR","",$Int,"js:\"NEAREST_MIPMAP_LINEAR\""],["NEAREST_MIPMAP_NEAREST","NEAREST_MIPMAP_NEAREST","",$Int,"js:\"NEAREST_MIPMAP_NEAREST\""],["NEVER","NEVER","",$Int,"js:\"NEVER\""],["NICEST","NICEST","",$Int,"js:\"NICEST\""],["NONE","NONE","",$Int,"js:\"NONE\""],["NOTEQUAL","NOTEQUAL","",$Int,"js:\"NOTEQUAL\""],["NO_ERROR","NO_ERROR","",$Int,"js:\"NO_ERROR\""],["NUM_COMPRESSED_TEXTURE_FORMATS","NUM_COMPRESSED_TEXTURE_FORMATS","",$Int,"js:\"NUM_COMPRESSED_TEXTURE_FORMATS\""],["ONE","ONE","",$Int,"js:\"ONE\""],["ONE_MINUS_CONSTANT_ALPHA","ONE_MINUS_CONSTANT_ALPHA","",$Int,"js:\"ONE_MINUS_CONSTANT_ALPHA\""],["ONE_MINUS_CONSTANT_COLOR","ONE_MINUS_CONSTANT_COLOR","",$Int,"js:\"ONE_MINUS_CONSTANT_COLOR\""],["ONE_MINUS_DST_ALPHA","ONE_MINUS_DST_ALPHA","",$Int,"js:\"ONE_MINUS_DST_ALPHA\""],["ONE_MINUS_DST_COLOR","ONE_MINUS_DST_COLOR","",$Int,"js:\"ONE_MINUS_DST_COLOR\""],["ONE_MINUS_SRC_ALPHA","ONE_MINUS_SRC_ALPHA","",$Int,"js:\"ONE_MINUS_SRC_ALPHA\""],["ONE_MINUS_SRC_COLOR","ONE_MINUS_SRC_COLOR","",$Int,"js:\"ONE_MINUS_SRC_COLOR\""],["OUT_OF_MEMORY","OUT_OF_MEMORY","",$Int,"js:\"OUT_OF_MEMORY\""],["PACK_ALIGNMENT","PACK_ALIGNMENT","",$Int,"js:\"PACK_ALIGNMENT\""],["POINTS","POINTS","",$Int,"js:\"POINTS\""],["POLYGON_OFFSET_FACTOR","POLYGON_OFFSET_FACTOR","",$Int,"js:\"POLYGON_OFFSET_FACTOR\""],["POLYGON_OFFSET_FILL","POLYGON_OFFSET_FILL","",$Int,"js:\"POLYGON_OFFSET_FILL\""],["POLYGON_OFFSET_UNITS","POLYGON_OFFSET_UNITS","",$Int,"js:\"POLYGON_OFFSET_UNITS\""],["RED_BITS","RED_BITS","",$Int,"js:\"RED_BITS\""],["RENDERBUFFER","RENDERBUFFER","",$Int,"js:\"RENDERBUFFER\""],["RENDERBUFFER_ALPHA_SIZE","RENDERBUFFER_ALPHA_SIZE","",$Int,"js:\"RENDERBUFFER_ALPHA_SIZE\""],["RENDERBUFFER_BINDING","RENDERBUFFER_BINDING","",$Int,"js:\"RENDERBUFFER_BINDING\""],["RENDERBUFFER_BLUE_SIZE","RENDERBUFFER_BLUE_SIZE","",$Int,"js:\"RENDERBUFFER_BLUE_SIZE\""],["RENDERBUFFER_DEPTH_SIZE","RENDERBUFFER_DEPTH_SIZE","",$Int,"js:\"RENDERBUFFER_DEPTH_SIZE\""],["RENDERBUFFER_GREEN_SIZE","RENDERBUFFER_GREEN_SIZE","",$Int,"js:\"RENDERBUFFER_GREEN_SIZE\""],["RENDERBUFFER_HEIGHT","RENDERBUFFER_HEIGHT","",$Int,"js:\"RENDERBUFFER_HEIGHT\""],["RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_INTERNAL_FORMAT","",$Int,"js:\"RENDERBUFFER_INTERNAL_FORMAT\""],["RENDERBUFFER_RED_SIZE","RENDERBUFFER_RED_SIZE","",$Int,"js:\"RENDERBUFFER_RED_SIZE\""],["RENDERBUFFER_STENCIL_SIZE","RENDERBUFFER_STENCIL_SIZE","",$Int,"js:\"RENDERBUFFER_STENCIL_SIZE\""],["RENDERBUFFER_WIDTH","RENDERBUFFER_WIDTH","",$Int,"js:\"RENDERBUFFER_WIDTH\""],["RENDERER","RENDERER","",$Int,"js:\"RENDERER\""],["REPEAT","REPEAT","",$Int,"js:\"REPEAT\""],["REPLACE","REPLACE","",$Int,"js:\"REPLACE\""],["RGB","RGB","",$Int,"js:\"RGB\""],["RGB5_A1","RGB5_A1","",$Int,"js:\"RGB5_A1\""],["RGB565","RGB565","",$Int,"js:\"RGB565\""],["RGBA","RGBA","",$Int,"js:\"RGBA\""],["RGBA4","RGBA4","",$Int,"js:\"RGBA4\""],["SAMPLER_2D","SAMPLER_2D","",$Int,"js:\"SAMPLER_2D\""],["SAMPLER_CUBE","SAMPLER_CUBE","",$Int,"js:\"SAMPLER_CUBE\""],["SAMPLES","SAMPLES","",$Int,"js:\"SAMPLES\""],["SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_ALPHA_TO_COVERAGE","",$Int,"js:\"SAMPLE_ALPHA_TO_COVERAGE\""],["SAMPLE_BUFFERS","SAMPLE_BUFFERS","",$Int,"js:\"SAMPLE_BUFFERS\""],["SAMPLE_COVERAGE","SAMPLE_COVERAGE","",$Int,"js:\"SAMPLE_COVERAGE\""],["SAMPLE_COVERAGE_INVERT","SAMPLE_COVERAGE_INVERT","",$Int,"js:\"SAMPLE_COVERAGE_INVERT\""],["SAMPLE_COVERAGE_VALUE","SAMPLE_COVERAGE_VALUE","",$Int,"js:\"SAMPLE_COVERAGE_VALUE\""],["SCISSOR_BOX","SCISSOR_BOX","",$Int,"js:\"SCISSOR_BOX\""],["SCISSOR_TEST","SCISSOR_TEST","",$Int,"js:\"SCISSOR_TEST\""],["SHADER_COMPILER","SHADER_COMPILER","",$Int,"js:\"SHADER_COMPILER\""],["SHADER_SOURCE_LENGTH","SHADER_SOURCE_LENGTH","",$Int,"js:\"SHADER_SOURCE_LENGTH\""],["SHADER_TYPE","SHADER_TYPE","",$Int,"js:\"SHADER_TYPE\""],["SHADING_LANGUAGE_VERSION","SHADING_LANGUAGE_VERSION","",$Int,"js:\"SHADING_LANGUAGE_VERSION\""],["SHORT","SHORT","",$Int,"js:\"SHORT\""],["SRC_ALPHA","SRC_ALPHA","",$Int,"js:\"SRC_ALPHA\""],["SRC_ALPHA_SATURATE","SRC_ALPHA_SATURATE","",$Int,"js:\"SRC_ALPHA_SATURATE\""],["SRC_COLOR","SRC_COLOR","",$Int,"js:\"SRC_COLOR\""],["STATIC_DRAW","STATIC_DRAW","",$Int,"js:\"STATIC_DRAW\""],["STENCIL_ATTACHMENT","STENCIL_ATTACHMENT","",$Int,"js:\"STENCIL_ATTACHMENT\""],["STENCIL_BACK_FAIL","STENCIL_BACK_FAIL","",$Int,"js:\"STENCIL_BACK_FAIL\""],["STENCIL_BACK_FUNC","STENCIL_BACK_FUNC","",$Int,"js:\"STENCIL_BACK_FUNC\""],["STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_FAIL","",$Int,"js:\"STENCIL_BACK_PASS_DEPTH_FAIL\""],["STENCIL_BACK_PASS_DEPTH_PASS","STENCIL_BACK_PASS_DEPTH_PASS","",$Int,"js:\"STENCIL_BACK_PASS_DEPTH_PASS\""],["STENCIL_BACK_REF","STENCIL_BACK_REF","",$Int,"js:\"STENCIL_BACK_REF\""],["STENCIL_BACK_VALUE_MASK","STENCIL_BACK_VALUE_MASK","",$Int,"js:\"STENCIL_BACK_VALUE_MASK\""],["STENCIL_BACK_WRITEMASK","STENCIL_BACK_WRITEMASK","",$Int,"js:\"STENCIL_BACK_WRITEMASK\""],["STENCIL_BITS","STENCIL_BITS","",$Int,"js:\"STENCIL_BITS\""],["STENCIL_BUFFER_BIT","STENCIL_BUFFER_BIT","",$Int,"js:\"STENCIL_BUFFER_BIT\""],["STENCIL_CLEAR_VALUE","STENCIL_CLEAR_VALUE","",$Int,"js:\"STENCIL_CLEAR_VALUE\""],["STENCIL_FAIL","STENCIL_FAIL","",$Int,"js:\"STENCIL_FAIL\""],["STENCIL_FUNC","STENCIL_FUNC","",$Int,"js:\"STENCIL_FUNC\""],["STENCIL_INDEX","STENCIL_INDEX","",$Int,"js:\"STENCIL_INDEX\""],["STENCIL_INDEX8","STENCIL_INDEX8","",$Int,"js:\"STENCIL_INDEX8\""],["STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_FAIL","",$Int,"js:\"STENCIL_PASS_DEPTH_FAIL\""],["STENCIL_PASS_DEPTH_PASS","STENCIL_PASS_DEPTH_PASS","",$Int,"js:\"STENCIL_PASS_DEPTH_PASS\""],["STENCIL_REF","STENCIL_REF","",$Int,"js:\"STENCIL_REF\""],["STENCIL_TEST","STENCIL_TEST","",$Int,"js:\"STENCIL_TEST\""],["STENCIL_VALUE_MASK","STENCIL_VALUE_MASK","",$Int,"js:\"STENCIL_VALUE_MASK\""],["STENCIL_WRITEMASK","STENCIL_WRITEMASK","",$Int,"js:\"STENCIL_WRITEMASK\""],["STREAM_DRAW","STREAM_DRAW","",$Int,"js:\"STREAM_DRAW\""],["SUBPIXEL_BITS","SUBPIXEL_BITS","",$Int,"js:\"SUBPIXEL_BITS\""],["TEXTURE","TEXTURE","",$Int,"js:\"TEXTURE\""],["TEXTURE0","TEXTURE0","",$Int,"js:\"TEXTURE0\""],["TEXTURE1","TEXTURE1","",$Int,"js:\"TEXTURE1\""],["TEXTURE2","TEXTURE2","",$Int,"js:\"TEXTURE2\""],["TEXTURE3","TEXTURE3","",$Int,"js:\"TEXTURE3\""],["TEXTURE4","TEXTURE4","",$Int,"js:\"TEXTURE4\""],["TEXTURE5","TEXTURE5","",$Int,"js:\"TEXTURE5\""],["TEXTURE6","TEXTURE6","",$Int,"js:\"TEXTURE6\""],["TEXTURE7","TEXTURE7","",$Int,"js:\"TEXTURE7\""],["TEXTURE8","TEXTURE8","",$Int,"js:\"TEXTURE8\""],["TEXTURE9","TEXTURE9","",$Int,"js:\"TEXTURE9\""],["TEXTURE10","TEXTURE10","",$Int,"js:\"TEXTURE10\""],["TEXTURE11","TEXTURE11","",$Int,"js:\"TEXTURE11\""],["TEXTURE12","TEXTURE12","",$Int,"js:\"TEXTURE12\""],["TEXTURE13","TEXTURE13","",$Int,"js:\"TEXTURE13\""],["TEXTURE14","TEXTURE14","",$Int,"js:\"TEXTURE14\""],["TEXTURE15","TEXTURE15","",$Int,"js:\"TEXTURE15\""],["TEXTURE16","TEXTURE16","",$Int,"js:\"TEXTURE16\""],["TEXTURE17","TEXTURE17","",$Int,"js:\"TEXTURE17\""],["TEXTURE18","TEXTURE18","",$Int,"js:\"TEXTURE18\""],["TEXTURE19","TEXTURE19","",$Int,"js:\"TEXTURE19\""],["TEXTURE20","TEXTURE20","",$Int,"js:\"TEXTURE20\""],["TEXTURE21","TEXTURE21","",$Int,"js:\"TEXTURE21\""],["TEXTURE22","TEXTURE22","",$Int,"js:\"TEXTURE22\""],["TEXTURE23","TEXTURE23","",$Int,"js:\"TEXTURE23\""],["TEXTURE24","TEXTURE24","",$Int,"js:\"TEXTURE24\""],["TEXTURE25","TEXTURE25","",$Int,"js:\"TEXTURE25\""],["TEXTURE26","TEXTURE26","",$Int,"js:\"TEXTURE26\""],["TEXTURE27","TEXTURE27","",$Int,"js:\"TEXTURE27\""],["TEXTURE28","TEXTURE28","",$Int,"js:\"TEXTURE28\""],["TEXTURE29","TEXTURE29","",$Int,"js:\"TEXTURE29\""],["TEXTURE30","TEXTURE30","",$Int,"js:\"TEXTURE30\""],["TEXTURE31","TEXTURE31","",$Int,"js:\"TEXTURE31\""],["TEXTURE_2D","TEXTURE_2D","",$Int,"js:\"TEXTURE_2D\""],["TEXTURE_BINDING_2D","TEXTURE_BINDING_2D","",$Int,"js:\"TEXTURE_BINDING_2D\""],["TEXTURE_BINDING_CUBE_MAP","TEXTURE_BINDING_CUBE_MAP","",$Int,"js:\"TEXTURE_BINDING_CUBE_MAP\""],["TEXTURE_CUBE_MAP","TEXTURE_CUBE_MAP","",$Int,"js:\"TEXTURE_CUBE_MAP\""],["TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_X","",$Int,"js:\"TEXTURE_CUBE_MAP_NEGATIVE_X\""],["TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Y","",$Int,"js:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\""],["TEXTURE_CUBE_MAP_NEGATIVE_Z","TEXTURE_CUBE_MAP_NEGATIVE_Z","",$Int,"js:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\""],["TEXTURE_CUBE_MAP_POSITIVE_X","TEXTURE_CUBE_MAP_POSITIVE_X","",$Int,"js:\"TEXTURE_CUBE_MAP_POSITIVE_X\""],["TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Y","",$Int,"js:\"TEXTURE_CUBE_MAP_POSITIVE_Y\""],["TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_CUBE_MAP_POSITIVE_Z","",$Int,"js:\"TEXTURE_CUBE_MAP_POSITIVE_Z\""],["TEXTURE_MAG_FILTER","TEXTURE_MAG_FILTER","",$Int,"js:\"TEXTURE_MAG_FILTER\""],["TEXTURE_MIN_FILTER","TEXTURE_MIN_FILTER","",$Int,"js:\"TEXTURE_MIN_FILTER\""],["TEXTURE_WRAP_S","TEXTURE_WRAP_S","",$Int,"js:\"TEXTURE_WRAP_S\""],["TEXTURE_WRAP_T","TEXTURE_WRAP_T","",$Int,"js:\"TEXTURE_WRAP_T\""],["TRIANGLES","TRIANGLES","",$Int,"js:\"TRIANGLES\""],["TRIANGLE_FAN","TRIANGLE_FAN","",$Int,"js:\"TRIANGLE_FAN\""],["TRIANGLE_STRIP","TRIANGLE_STRIP","",$Int,"js:\"TRIANGLE_STRIP\""],["UNPACK_ALIGNMENT","UNPACK_ALIGNMENT","",$Int,"js:\"UNPACK_ALIGNMENT\""],["UNPACK_COLORSPACE_CONVERSION_WEBGL","UNPACK_COLORSPACE_CONVERSION_WEBGL","",$Int,"js:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\""],["UNPACK_FLIP_Y_WEBGL","UNPACK_FLIP_Y_WEBGL","",$Int,"js:\"UNPACK_FLIP_Y_WEBGL\""],["UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","",$Int,"js:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\""],["UNSIGNED_BYTE","UNSIGNED_BYTE","",$Int,"js:\"UNSIGNED_BYTE\""],["UNSIGNED_INT","UNSIGNED_INT","",$Int,"js:\"UNSIGNED_INT\""],["UNSIGNED_SHORT","UNSIGNED_SHORT","",$Int,"js:\"UNSIGNED_SHORT\""],["UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_4_4_4_4","",$Int,"js:\"UNSIGNED_SHORT_4_4_4_4\""],["UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_5_5_1","",$Int,"js:\"UNSIGNED_SHORT_5_5_5_1\""],["UNSIGNED_SHORT_5_6_5","UNSIGNED_SHORT_5_6_5","",$Int,"js:\"UNSIGNED_SHORT_5_6_5\""],["VALIDATE_STATUS","VALIDATE_STATUS","",$Int,"js:\"VALIDATE_STATUS\""],["VENDOR","VENDOR","",$Int,"js:\"VENDOR\""],["VERSION","VERSION","",$Int,"js:\"VERSION\""],["VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","",$Int,"js:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\""],["VERTEX_ATTRIB_ARRAY_ENABLED","VERTEX_ATTRIB_ARRAY_ENABLED","",$Int,"js:\"VERTEX_ATTRIB_ARRAY_ENABLED\""],["VERTEX_ATTRIB_ARRAY_NORMALIZED","VERTEX_ATTRIB_ARRAY_NORMALIZED","",$Int,"js:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\""],["VERTEX_ATTRIB_ARRAY_POINTER","VERTEX_ATTRIB_ARRAY_POINTER","",$Int,"js:\"VERTEX_ATTRIB_ARRAY_POINTER\""],["VERTEX_ATTRIB_ARRAY_SIZE","VERTEX_ATTRIB_ARRAY_SIZE","",$Int,"js:\"VERTEX_ATTRIB_ARRAY_SIZE\""],["VERTEX_ATTRIB_ARRAY_STRIDE","VERTEX_ATTRIB_ARRAY_STRIDE","",$Int,"js:\"VERTEX_ATTRIB_ARRAY_STRIDE\""],["VERTEX_ATTRIB_ARRAY_TYPE","VERTEX_ATTRIB_ARRAY_TYPE","",$Int,"js:\"VERTEX_ATTRIB_ARRAY_TYPE\""],["VERTEX_SHADER","VERTEX_SHADER","",$Int,"js:\"VERTEX_SHADER\""],["VIEWPORT","VIEWPORT","",$Int,"js:\"VIEWPORT\""],["ZERO","ZERO","",$Int,"js:\"ZERO\""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/opengl"]=(function(){var $pkg={},A,B,C,D,U,V,W,X,Y,Z,E,F,G,H,I,K,P,Q,R,S,T,M,N,O,a,b,c,d,L;A=$packages["errors"];B=$packages["fmt"];C=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["github.com/gopherjs/webgl"];E=$pkg.Texture=$newType(8,$kindInterface,"opengl.Texture","Texture","github.com/hajimehoshi/ebiten/internal/opengl",null);F=$pkg.Framebuffer=$newType(8,$kindInterface,"opengl.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/opengl",null);G=$pkg.Shader=$newType(8,$kindInterface,"opengl.Shader","Shader","github.com/hajimehoshi/ebiten/internal/opengl",null);H=$pkg.Program=$newType(8,$kindInterface,"opengl.Program","Program","github.com/hajimehoshi/ebiten/internal/opengl",null);I=$pkg.UniformLocation=$newType(8,$kindInterface,"opengl.UniformLocation","UniformLocation","github.com/hajimehoshi/ebiten/internal/opengl",null);K=$pkg.context=$newType(0,$kindStruct,"opengl.context","context","github.com/hajimehoshi/ebiten/internal/opengl",function(gl_){this.$val=this;this.gl=gl_!==undefined?gl_:X.nil;});P=$pkg.FilterType=$newType(4,$kindInt,"opengl.FilterType","FilterType","github.com/hajimehoshi/ebiten/internal/opengl",null);Q=$pkg.ShaderType=$newType(4,$kindInt,"opengl.ShaderType","ShaderType","github.com/hajimehoshi/ebiten/internal/opengl",null);R=$pkg.BufferType=$newType(4,$kindInt,"opengl.BufferType","BufferType","github.com/hajimehoshi/ebiten/internal/opengl",null);S=$pkg.BufferUsageType=$newType(4,$kindInt,"opengl.BufferUsageType","BufferUsageType","github.com/hajimehoshi/ebiten/internal/opengl",null);T=$pkg.Context=$newType(0,$kindStruct,"opengl.Context","Context","github.com/hajimehoshi/ebiten/internal/opengl",function(Nearest_,Linear_,VertexShader_,FragmentShader_,ArrayBuffer_,ElementArrayBuffer_,DynamicDraw_,StaticDraw_,context_){this.$val=this;this.Nearest=Nearest_!==undefined?Nearest_:0;this.Linear=Linear_!==undefined?Linear_:0;this.VertexShader=VertexShader_!==undefined?VertexShader_:0;this.FragmentShader=FragmentShader_!==undefined?FragmentShader_:0;this.ArrayBuffer=ArrayBuffer_!==undefined?ArrayBuffer_:0;this.ElementArrayBuffer=ElementArrayBuffer_!==undefined?ElementArrayBuffer_:0;this.DynamicDraw=DynamicDraw_!==undefined?DynamicDraw_:0;this.StaticDraw=StaticDraw_!==undefined?StaticDraw_:0;this.context=context_!==undefined?context_:new K.Ptr();});L=$pkg.NewContext=function(e){var f;f=new T.Ptr((($parseInt(e.Object.NEAREST)>>0)>>0),(($parseInt(e.Object.LINEAR)>>0)>>0),(($parseInt(e.Object.VERTEX_SHADER)>>0)>>0),(($parseInt(e.Object.FRAGMENT_SHADER)>>0)>>0),(($parseInt(e.Object.ARRAY_BUFFER)>>0)>>0),(($parseInt(e.Object.ELEMENT_ARRAY_BUFFER)>>0)>>0),(($parseInt(e.Object.DYNAMIC_DRAW)>>0)>>0),(($parseInt(e.Object.STATIC_DRAW)>>0)>>0),new K.Ptr());f.context.gl=e;f.init();return f;};T.Ptr.prototype.init=function(){var e,f;e=this;f=e.context.gl;f.Enable($parseInt(f.Object.BLEND)>>0);f.BlendFunc($parseInt(f.Object.ONE)>>0,$parseInt(f.Object.ONE_MINUS_SRC_ALPHA)>>0);};T.prototype.init=function(){return this.$val.init();};T.Ptr.prototype.NewTexture=function(e,f,g,h){var i,j,k,l;i=this;j=i.context.gl;k=j.CreateTexture();if(k===null){return[$ifaceNil,A.New("glGenTexture failed")];}j.PixelStorei($parseInt(j.Object.UNPACK_ALIGNMENT)>>0,4);j.BindTexture($parseInt(j.Object.TEXTURE_2D)>>0,k);j.TexParameteri($parseInt(j.Object.TEXTURE_2D)>>0,$parseInt(j.Object.TEXTURE_MAG_FILTER)>>0,(h>>0));j.TexParameteri($parseInt(j.Object.TEXTURE_2D)>>0,$parseInt(j.Object.TEXTURE_MIN_FILTER)>>0,(h>>0));l=$ifaceNil;if(!(g===U.nil)){l=g;}j.Object.texImage2D($parseInt(j.Object.TEXTURE_2D)>>0,0,$parseInt(j.Object.RGBA)>>0,e,f,0,$parseInt(j.Object.RGBA)>>0,$parseInt(j.Object.UNSIGNED_BYTE)>>0,$externalize(l,$emptyInterface));return[k,$ifaceNil];};T.prototype.NewTexture=function(e,f,g,h){return this.$val.NewTexture(e,f,g,h);};T.Ptr.prototype.TexturePixels=function(e,f,g){var h,i,j,k;h=this;i=h.context.gl;i.Flush();j=new($global.Uint8Array)((4*f>>0)*g>>0);i.BindTexture($parseInt(i.Object.TEXTURE_2D)>>0,e);i.ReadPixels(0,0,f,g,$parseInt(i.Object.RGBA)>>0,$parseInt(i.Object.UNSIGNED_BYTE)>>0,j);k=i.GetError();if(!((k===($parseInt(i.Object.NO_ERROR)>>0)))){return[U.nil,A.New(B.Sprintf("gl error: %d",new V([new $Int(k)])))];}return[$assertType($internalize(j,$emptyInterface),U),$ifaceNil];};T.prototype.TexturePixels=function(e,f,g){return this.$val.TexturePixels(e,f,g);};T.Ptr.prototype.BindTexture=function(e){var f,g;f=this;g=f.context.gl;g.BindTexture($parseInt(g.Object.TEXTURE_2D)>>0,e);};T.prototype.BindTexture=function(e){return this.$val.BindTexture(e);};T.Ptr.prototype.DeleteTexture=function(e){var f,g;f=this;g=f.context.gl;g.DeleteTexture(e);};T.prototype.DeleteTexture=function(e){return this.$val.DeleteTexture(e);};T.Ptr.prototype.GlslHighpSupported=function(){var e,f;e=this;f=e.context.gl;return!((($parseInt(f.Object.getShaderPrecisionFormat($parseInt(f.Object.FRAGMENT_SHADER)>>0,$parseInt(f.Object.HIGH_FLOAT)>>0).precision)>>0)===0));};T.prototype.GlslHighpSupported=function(){return this.$val.GlslHighpSupported();};T.Ptr.prototype.NewFramebuffer=function(e){var f,g,h;f=this;g=f.context.gl;h=g.CreateFramebuffer();g.BindFramebuffer($parseInt(g.Object.FRAMEBUFFER)>>0,h);g.FramebufferTexture2D($parseInt(g.Object.FRAMEBUFFER)>>0,$parseInt(g.Object.COLOR_ATTACHMENT0)>>0,$parseInt(g.Object.TEXTURE_2D)>>0,e,0);if(!((g.CheckFramebufferStatus($parseInt(g.Object.FRAMEBUFFER)>>0)===($parseInt(g.Object.FRAMEBUFFER_COMPLETE)>>0)))){return[$ifaceNil,A.New("creating framebuffer failed")];}return[h,$ifaceNil];};T.prototype.NewFramebuffer=function(e){return this.$val.NewFramebuffer(e);};T.Ptr.prototype.SetViewport=function(e,f,g){var h,i;h=this;i=h.context.gl;if(!($interfaceIsEqual(M,e))){i.Flush();M=e;}if(!($interfaceIsEqual(e,$ifaceNil))){i.BindFramebuffer($parseInt(i.Object.FRAMEBUFFER)>>0,e);}else{i.BindFramebuffer($parseInt(i.Object.FRAMEBUFFER)>>0,null);}i.Viewport(0,0,f,g);return $ifaceNil;};T.prototype.SetViewport=function(e,f,g){return this.$val.SetViewport(e,f,g);};T.Ptr.prototype.FillFramebuffer=function(e,f,g,h,i){var j,k;j=this;k=j.context.gl;k.ClearColor(f,g,h,i);k.Clear($parseInt(k.Object.COLOR_BUFFER_BIT)>>0);return $ifaceNil;};T.prototype.FillFramebuffer=function(e,f,g,h,i){return this.$val.FillFramebuffer(e,f,g,h,i);};T.Ptr.prototype.DeleteFramebuffer=function(e){var f,g;f=this;g=f.context.gl;g.DeleteFramebuffer(e);};T.prototype.DeleteFramebuffer=function(e){return this.$val.DeleteFramebuffer(e);};T.Ptr.prototype.NewShader=function(e,f){var g,h,i,j;g=this;h=g.context.gl;i=h.CreateShader((e>>0));if(i===null){console.log(h.GetError());return[$ifaceNil,A.New("glCreateShader failed")];}h.ShaderSource(i,f);h.CompileShader(i);if(!h.GetShaderParameterb(i,$parseInt(h.Object.COMPILE_STATUS)>>0)){j=h.GetShaderInfoLog(i);return[$ifaceNil,A.New(B.Sprintf("shader compile failed: %s",new V([new $String(j)])))];}return[i,$ifaceNil];};T.prototype.NewShader=function(e,f){return this.$val.NewShader(e,f);};T.Ptr.prototype.DeleteShader=function(e){var f,g;f=this;g=f.context.gl;g.DeleteShader(e);};T.prototype.DeleteShader=function(e){return this.$val.DeleteShader(e);};T.Ptr.prototype.NewProgram=function(e){var f,g,h,i,j,k;f=this;g=f.context.gl;h=g.CreateProgram();if(h===null){return[$ifaceNil,A.New("glCreateProgram failed")];}i=e;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);g.AttachShader(h,k);j++;}g.LinkProgram(h);if(!g.GetProgramParameterb(h,$parseInt(g.Object.LINK_STATUS)>>0)){return[$ifaceNil,A.New("program error")];}return[h,$ifaceNil];};T.prototype.NewProgram=function(e){return this.$val.NewProgram(e);};T.Ptr.prototype.UseProgram=function(e){var f,g;f=this;g=f.context.gl;g.UseProgram(e);};T.prototype.UseProgram=function(e){return this.$val.UseProgram(e);};T.Ptr.prototype.UniformInt=function(e,f,g){var h,i,j,k,l,m,n;h=this;i=h.context.gl;j=(k=N[f],k!==undefined?[k.v,true]:[$ifaceNil,false]);l=j[0];m=j[1];if(!m){l=i.GetUniformLocation(e,f);n=f;(N||$throwRuntimeError("assignment to entry in nil map"))[n]={k:n,v:l};}i.Uniform1i(l,g);};T.prototype.UniformInt=function(e,f,g){return this.$val.UniformInt(e,f,g);};T.Ptr.prototype.UniformFloats=function(e,f,g){var h,i,j,k,l,m,n,o;h=this;i=h.context.gl;j=(k=N[f],k!==undefined?[k.v,true]:[$ifaceNil,false]);l=j[0];m=j[1];if(!m){l=i.GetUniformLocation(e,f);n=f;(N||$throwRuntimeError("assignment to entry in nil map"))[n]={k:n,v:l};}o=g.$length;if(o===4){i.Object.uniform4fv($externalize(l,I),$externalize(g,W));}else if(o===16){i.UniformMatrix4fv(l,false,g);}else{$panic(new $String("not reach"));}};T.prototype.UniformFloats=function(e,f,g){return this.$val.UniformFloats(e,f,g);};T.Ptr.prototype.VertexAttribPointer=function(e,f,g,h){var i,j,k,l,m,n,o;i=this;j=i.context.gl;k=(l=O[f],l!==undefined?[l.v,true]:[0,false]);m=k[0];n=k[1];if(!n){m=(j.GetAttribLocation(e,f)>>0);o=f;(O||$throwRuntimeError("assignment to entry in nil map"))[o]={k:o,v:m};}j.VertexAttribPointer((m>>0),2,$parseInt(j.Object.FLOAT)>>0,false,g,(h>>0));};T.prototype.VertexAttribPointer=function(e,f,g,h){return this.$val.VertexAttribPointer(e,f,g,h);};T.Ptr.prototype.EnableVertexAttribArray=function(e,f){var g,h,i,j,k,l,m;g=this;h=g.context.gl;i=(j=O[f],j!==undefined?[j.v,true]:[0,false]);k=i[0];l=i[1];if(!l){k=(h.GetAttribLocation(e,f)>>0);m=f;(O||$throwRuntimeError("assignment to entry in nil map"))[m]={k:m,v:k};}h.EnableVertexAttribArray((k>>0));};T.prototype.EnableVertexAttribArray=function(e,f){return this.$val.EnableVertexAttribArray(e,f);};T.Ptr.prototype.DisableVertexAttribArray=function(e,f){var g,h,i,j,k,l,m;g=this;h=g.context.gl;i=(j=O[f],j!==undefined?[j.v,true]:[0,false]);k=i[0];l=i[1];if(!l){k=(h.GetAttribLocation(e,f)>>0);m=f;(O||$throwRuntimeError("assignment to entry in nil map"))[m]={k:m,v:k};}h.DisableVertexAttribArray((k>>0));};T.prototype.DisableVertexAttribArray=function(e,f){return this.$val.DisableVertexAttribArray(e,f);};T.Ptr.prototype.NewBuffer=function(e,f,g){var h,i,j;h=this;i=h.context.gl;j=i.CreateBuffer();i.BindBuffer((e>>0),j);i.BufferData((e>>0),f,(g>>0));};T.prototype.NewBuffer=function(e,f,g){return this.$val.NewBuffer(e,f,g);};T.Ptr.prototype.BufferSubData=function(e,f){var g,h;g=this;h=g.context.gl;h.BufferSubData((e>>0),0,f);};T.prototype.BufferSubData=function(e,f){return this.$val.BufferSubData(e,f);};T.Ptr.prototype.DrawElements=function(e){var f,g;f=this;g=f.context.gl;g.DrawElements($parseInt(g.Object.TRIANGLES)>>0,e,$parseInt(g.Object.UNSIGNED_SHORT)>>0,0);};T.prototype.DrawElements=function(e){return this.$val.DrawElements(e);};T.Ptr.prototype.Flush=function(){var e,f;e=this;f=e.context.gl;f.Flush();};T.prototype.Flush=function(){return this.$val.Flush();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}U=$sliceType($Uint8);V=$sliceType($emptyInterface);W=$sliceType($Float32);X=$ptrType(D.Context);Y=$sliceType(G);Z=$ptrType(T);E.init([["Bool","Bool","",$funcType([],[$Bool],false)],["Call","Call","",$funcType([$String,V],[C.Object],true)],["Delete","Delete","",$funcType([$String],[],false)],["Float","Float","",$funcType([],[$Float64],false)],["Get","Get","",$funcType([$String],[C.Object],false)],["Index","Index","",$funcType([$Int],[C.Object],false)],["Int","Int","",$funcType([],[$Int],false)],["Int64","Int64","",$funcType([],[$Int64],false)],["Interface","Interface","",$funcType([],[$emptyInterface],false)],["Invoke","Invoke","",$funcType([V],[C.Object],true)],["Length","Length","",$funcType([],[$Int],false)],["New","New","",$funcType([V],[C.Object],true)],["Set","Set","",$funcType([$String,$emptyInterface],[],false)],["SetIndex","SetIndex","",$funcType([$Int,$emptyInterface],[],false)],["Str","Str","",$funcType([],[$String],false)],["Uint64","Uint64","",$funcType([],[$Uint64],false)],["Unsafe","Unsafe","",$funcType([],[$Uintptr],false)]]);F.init([["Bool","Bool","",$funcType([],[$Bool],false)],["Call","Call","",$funcType([$String,V],[C.Object],true)],["Delete","Delete","",$funcType([$String],[],false)],["Float","Float","",$funcType([],[$Float64],false)],["Get","Get","",$funcType([$String],[C.Object],false)],["Index","Index","",$funcType([$Int],[C.Object],false)],["Int","Int","",$funcType([],[$Int],false)],["Int64","Int64","",$funcType([],[$Int64],false)],["Interface","Interface","",$funcType([],[$emptyInterface],false)],["Invoke","Invoke","",$funcType([V],[C.Object],true)],["Length","Length","",$funcType([],[$Int],false)],["New","New","",$funcType([V],[C.Object],true)],["Set","Set","",$funcType([$String,$emptyInterface],[],false)],["SetIndex","SetIndex","",$funcType([$Int,$emptyInterface],[],false)],["Str","Str","",$funcType([],[$String],false)],["Uint64","Uint64","",$funcType([],[$Uint64],false)],["Unsafe","Unsafe","",$funcType([],[$Uintptr],false)]]);G.init([["Bool","Bool","",$funcType([],[$Bool],false)],["Call","Call","",$funcType([$String,V],[C.Object],true)],["Delete","Delete","",$funcType([$String],[],false)],["Float","Float","",$funcType([],[$Float64],false)],["Get","Get","",$funcType([$String],[C.Object],false)],["Index","Index","",$funcType([$Int],[C.Object],false)],["Int","Int","",$funcType([],[$Int],false)],["Int64","Int64","",$funcType([],[$Int64],false)],["Interface","Interface","",$funcType([],[$emptyInterface],false)],["Invoke","Invoke","",$funcType([V],[C.Object],true)],["Length","Length","",$funcType([],[$Int],false)],["New","New","",$funcType([V],[C.Object],true)],["Set","Set","",$funcType([$String,$emptyInterface],[],false)],["SetIndex","SetIndex","",$funcType([$Int,$emptyInterface],[],false)],["Str","Str","",$funcType([],[$String],false)],["Uint64","Uint64","",$funcType([],[$Uint64],false)],["Unsafe","Unsafe","",$funcType([],[$Uintptr],false)]]);H.init([["Bool","Bool","",$funcType([],[$Bool],false)],["Call","Call","",$funcType([$String,V],[C.Object],true)],["Delete","Delete","",$funcType([$String],[],false)],["Float","Float","",$funcType([],[$Float64],false)],["Get","Get","",$funcType([$String],[C.Object],false)],["Index","Index","",$funcType([$Int],[C.Object],false)],["Int","Int","",$funcType([],[$Int],false)],["Int64","Int64","",$funcType([],[$Int64],false)],["Interface","Interface","",$funcType([],[$emptyInterface],false)],["Invoke","Invoke","",$funcType([V],[C.Object],true)],["Length","Length","",$funcType([],[$Int],false)],["New","New","",$funcType([V],[C.Object],true)],["Set","Set","",$funcType([$String,$emptyInterface],[],false)],["SetIndex","SetIndex","",$funcType([$Int,$emptyInterface],[],false)],["Str","Str","",$funcType([],[$String],false)],["Uint64","Uint64","",$funcType([],[$Uint64],false)],["Unsafe","Unsafe","",$funcType([],[$Uintptr],false)]]);I.init([["Bool","Bool","",$funcType([],[$Bool],false)],["Call","Call","",$funcType([$String,V],[C.Object],true)],["Delete","Delete","",$funcType([$String],[],false)],["Float","Float","",$funcType([],[$Float64],false)],["Get","Get","",$funcType([$String],[C.Object],false)],["Index","Index","",$funcType([$Int],[C.Object],false)],["Int","Int","",$funcType([],[$Int],false)],["Int64","Int64","",$funcType([],[$Int64],false)],["Interface","Interface","",$funcType([],[$emptyInterface],false)],["Invoke","Invoke","",$funcType([V],[C.Object],true)],["Length","Length","",$funcType([],[$Int],false)],["New","New","",$funcType([V],[C.Object],true)],["Set","Set","",$funcType([$String,$emptyInterface],[],false)],["SetIndex","SetIndex","",$funcType([$Int,$emptyInterface],[],false)],["Str","Str","",$funcType([],[$String],false)],["Uint64","Uint64","",$funcType([],[$Uint64],false)],["Unsafe","Unsafe","",$funcType([],[$Uintptr],false)]]);K.init([["gl","gl","github.com/hajimehoshi/ebiten/internal/opengl",X,""]]);Z.methods=[["BindTexture","BindTexture","",$funcType([E],[],false),-1],["BufferSubData","BufferSubData","",$funcType([R,W],[],false),-1],["DeleteFramebuffer","DeleteFramebuffer","",$funcType([F],[],false),-1],["DeleteShader","DeleteShader","",$funcType([G],[],false),-1],["DeleteTexture","DeleteTexture","",$funcType([E],[],false),-1],["DisableVertexAttribArray","DisableVertexAttribArray","",$funcType([H,$String],[],false),-1],["DrawElements","DrawElements","",$funcType([$Int],[],false),-1],["EnableVertexAttribArray","EnableVertexAttribArray","",$funcType([H,$String],[],false),-1],["FillFramebuffer","FillFramebuffer","",$funcType([F,$Float64,$Float64,$Float64,$Float64],[$error],false),-1],["Flush","Flush","",$funcType([],[],false),-1],["GlslHighpSupported","GlslHighpSupported","",$funcType([],[$Bool],false),-1],["NewBuffer","NewBuffer","",$funcType([R,$emptyInterface,S],[],false),-1],["NewFramebuffer","NewFramebuffer","",$funcType([E],[F,$error],false),-1],["NewProgram","NewProgram","",$funcType([Y],[H,$error],false),-1],["NewShader","NewShader","",$funcType([Q,$String],[G,$error],false),-1],["NewTexture","NewTexture","",$funcType([$Int,$Int,U,P],[E,$error],false),-1],["SetViewport","SetViewport","",$funcType([F,$Int,$Int],[$error],false),-1],["TexturePixels","TexturePixels","",$funcType([E,$Int,$Int],[U,$error],false),-1],["UniformFloats","UniformFloats","",$funcType([H,$String,W],[],false),-1],["UniformInt","UniformInt","",$funcType([H,$String,$Int],[],false),-1],["UseProgram","UseProgram","",$funcType([H],[],false),-1],["VertexAttribPointer","VertexAttribPointer","",$funcType([H,$String,$Int,$Uintptr],[],false),-1],["init","init","github.com/hajimehoshi/ebiten/internal/opengl",$funcType([],[],false),-1]];T.init([["Nearest","Nearest","",P,""],["Linear","Linear","",P,""],["VertexShader","VertexShader","",Q,""],["FragmentShader","FragmentShader","",Q,""],["ArrayBuffer","ArrayBuffer","",R,""],["ElementArrayBuffer","ElementArrayBuffer","",R,""],["DynamicDraw","DynamicDraw","",S,""],["StaticDraw","StaticDraw","",S,""],["context","","github.com/hajimehoshi/ebiten/internal/opengl",K,""]]);M=$ifaceNil;N=(a=new $Map(),a);O=(c=new $Map(),c);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/graphics/internal/shader"]=(function(){var $pkg={},A,B,O,P,Q,R,S,F,H,J,N,a,b,C,G,I,K,M;A=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];B=$packages["strings"];C=function(c){return new O([(c.nilCheck,c[0])[0],(c.nilCheck,c[1])[0],(c.nilCheck,c[2])[0],(c.nilCheck,c[3])[0],(c.nilCheck,c[0])[1],(c.nilCheck,c[1])[1],(c.nilCheck,c[2])[1],(c.nilCheck,c[3])[1],(c.nilCheck,c[0])[2],(c.nilCheck,c[1])[2],(c.nilCheck,c[2])[2],(c.nilCheck,c[3])[2],(c.nilCheck,c[0])[3],(c.nilCheck,c[1])[3],(c.nilCheck,c[2])[3],(c.nilCheck,c[3])[3]]);};G=$pkg.DrawTexture=function(c,d,e,f,g,h){var $deferred=[],$err=null,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;try{$deferFrames.push($deferred);if(!F){i=I(c);if(!($interfaceIsEqual(i,$ifaceNil))){return i;}F=true;}if(f.Len()===0){return $ifaceNil;}j=K(c,C(e),g,h);c.BindTexture(d);c.EnableVertexAttribArray(j,"vertex");c.EnableVertexAttribArray(j,"tex_coord");$deferred.push([(function(){c.DisableVertexAttribArray(j,"tex_coord");c.DisableVertexAttribArray(j,"vertex");}),[]]);c.VertexAttribPointer(j,"vertex",16,0);c.VertexAttribPointer(j,"tex_coord",16,8);k=O.make(0,(16*f.Len()>>0));l=0;while(l>0;continue;}k=$append(k,n,o,s,t,p,o,u,t,n,q,s,v,p,q,u,v);l=l+(1)>>0;}if(k.$length===0){return $ifaceNil;}c.BufferSubData(c.ArrayBuffer,k);c.DrawElements((w=(6*k.$length>>0)/16,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero")));return $ifaceNil;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};I=function(c){var $deferred=[],$err=null,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;try{$deferFrames.push($deferred);d=c.NewShader(c.VertexShader,M(c,0));e=d[0];f=d[1];if(!($interfaceIsEqual(f,$ifaceNil))){return f;}$deferred.push([$methodVal(c,"DeleteShader"),[e]]);g=c.NewShader(c.FragmentShader,M(c,1));h=g[0];f=g[1];if(!($interfaceIsEqual(f,$ifaceNil))){return f;}$deferred.push([$methodVal(c,"DeleteShader"),[h]]);i=new P([e,h]);j=c.NewProgram(i);H=j[0];f=j[1];if(!($interfaceIsEqual(f,$ifaceNil))){return f;}k=O.make(160000);c.NewBuffer(c.ArrayBuffer,k,c.DynamicDraw);l=Q.make(60000);m=0;while(m<10000){(n=(6*m<<16>>>16)+0<<16>>>16,(n<0||n>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+n]=(4*m<<16>>>16)+0<<16>>>16);(o=(6*m<<16>>>16)+1<<16>>>16,(o<0||o>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+o]=(4*m<<16>>>16)+1<<16>>>16);(p=(6*m<<16>>>16)+2<<16>>>16,(p<0||p>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+p]=(4*m<<16>>>16)+2<<16>>>16);(q=(6*m<<16>>>16)+3<<16>>>16,(q<0||q>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+q]=(4*m<<16>>>16)+1<<16>>>16);(r=(6*m<<16>>>16)+4<<16>>>16,(r<0||r>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+r]=(4*m<<16>>>16)+2<<16>>>16);(s=(6*m<<16>>>16)+5<<16>>>16,(s<0||s>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+s]=(4*m<<16>>>16)+3<<16>>>16);m=m+(1)<<16>>>16;}c.NewBuffer(c.ElementArrayBuffer,l,c.StaticDraw);return $ifaceNil;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};K=function(c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(!($interfaceIsEqual(J,H))){c.UseProgram(H);J=H;}g=H;c.UniformFloats(g,"projection_matrix",d);h=e.Element(0,0);i=e.Element(0,1);j=e.Element(1,0);k=e.Element(1,1);l=e.Element(0,2);m=e.Element(1,2);n=new O([h,j,0,0,i,k,0,0,0,0,1,0,l,m,0,1]);c.UniformFloats(g,"modelview_matrix",n);c.UniformInt(g,"texture",0);o=S.zero();p=0;while(p<4){q=0;while(q<5){(r=((p<0||p>=o.length)?$throwRuntimeError("index out of range"):o[p]),(q<0||q>=r.length)?$throwRuntimeError("index out of range"):r[q]=f.Element(p,q));q=q+(1)>>0;}p=p+(1)>>0;}s=new O([o[0][0],o[1][0],o[2][0],o[3][0],o[0][1],o[1][1],o[2][1],o[3][1],o[0][2],o[1][2],o[2][2],o[3][2],o[0][3],o[1][3],o[2][3],o[3][3]]);c.UniformFloats(g,"color_matrix",s);t=new O([o[0][4],o[1][4],o[2][4],o[3][4]]);c.UniformFloats(g,"color_matrix_translation",t);return g;};M=function(c,d){var e,f;f=(e=N[d],e!==undefined?e.v:"");if(!c.GlslHighpSupported()){f=B.Replace(f,"highp ","",-1);f=B.Replace(f,"lowp ","",-1);}return f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}O=$sliceType($Float32);P=$sliceType(A.Shader);Q=$sliceType($Uint16);R=$arrayType($Float32,5);S=$arrayType(R,4);H=$ifaceNil;J=$ifaceNil;F=false;N=(a=new $Map(),b=0,a[b]={k:b,v:"\nuniform highp mat4 projection_matrix;\nuniform highp mat4 modelview_matrix;\nattribute highp vec2 vertex;\nattribute highp vec2 tex_coord;\nvarying highp vec2 vertex_out_tex_coord;\n\nvoid main(void) {\n vertex_out_tex_coord = tex_coord;\n gl_Position = projection_matrix * modelview_matrix * vec4(vertex, 0, 1);\n}\n"},b=1,a[b]={k:b,v:"\nuniform lowp sampler2D texture;\nuniform lowp mat4 color_matrix;\nuniform lowp vec4 color_matrix_translation;\nvarying highp vec2 vertex_out_tex_coord;\n\nvoid main(void) {\n lowp vec4 color = texture2D(texture, vertex_out_tex_coord);\n\n if (color_matrix != mat4(1.0) || color_matrix_translation != vec4(0.0)) {\n // Un-premultiply alpha\n color.rgb /= color.a;\n // Apply the color matrix\n color = (color_matrix * color) + color_matrix_translation;\n color = clamp(color, 0.0, 1.0);\n // Premultiply alpha\n color.rgb *= color.a;\n }\n\n gl_FragColor = color;\n}\n"},a);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["bufio"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,E,H,I,F,G;A=$packages["bytes"];B=$packages["errors"];C=$packages["io"];D=$packages["unicode/utf8"];E=$pkg.Reader=$newType(0,$kindStruct,"bufio.Reader","Reader","bufio",function(buf_,rd_,r_,w_,err_,lastByte_,lastRuneSize_){this.$val=this;this.buf=buf_!==undefined?buf_:Y.nil;this.rd=rd_!==undefined?rd_:$ifaceNil;this.r=r_!==undefined?r_:0;this.w=w_!==undefined?w_:0;this.err=err_!==undefined?err_:$ifaceNil;this.lastByte=lastByte_!==undefined?lastByte_:0;this.lastRuneSize=lastRuneSize_!==undefined?lastRuneSize_:0;});F=$pkg.NewReaderSize=function(a,b){var c,d,e,f;c=$assertType(a,Z,true);d=c[0];e=c[1];if(e&&d.buf.$length>=b){return d;}if(b<16){b=16;}f=new E.Ptr();f.reset(Y.make(b),a);return f;};G=$pkg.NewReader=function(a){return F(a,4096);};E.Ptr.prototype.Reset=function(a){var b;b=this;b.reset(b.buf,a);};E.prototype.Reset=function(a){return this.$val.Reset(a);};E.Ptr.prototype.reset=function(a,b){var c;c=this;$copy(c,new E.Ptr(a,b,0,0,$ifaceNil,-1,-1),E);};E.prototype.reset=function(a,b){return this.$val.reset(a,b);};E.Ptr.prototype.fill=function(){var a,b,c,d,e;a=this;if(a.r>0){$copySlice(a.buf,$subslice(a.buf,a.r,a.w));a.w=a.w-(a.r)>>0;a.r=0;}if(a.w>=a.buf.$length){$panic(new $String("bufio: tried to fill full buffer"));}b=100;while(b>0){c=a.rd.Read($subslice(a.buf,a.w));d=c[0];e=c[1];if(d<0){$panic(H);}a.w=a.w+(d)>>0;if(!($interfaceIsEqual(e,$ifaceNil))){a.err=e;return;}if(d>0){return;}b=b-(1)>>0;}a.err=C.ErrNoProgress;};E.prototype.fill=function(){return this.$val.fill();};E.Ptr.prototype.readErr=function(){var a,b;a=this;b=a.err;a.err=$ifaceNil;return b;};E.prototype.readErr=function(){return this.$val.readErr();};E.Ptr.prototype.Peek=function(a){var b,c,d;b=this;if(a<0){return[Y.nil,$pkg.ErrNegativeCount];}if(a>b.buf.$length){return[Y.nil,$pkg.ErrBufferFull];}while((b.w-b.r>>0)>0;if(d>0)),c];};E.prototype.Peek=function(a){return this.$val.Peek(a);};E.Ptr.prototype.Read=function(a){var b=0,c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;d=this;b=a.$length;if(b===0){e=0;f=d.readErr();b=e;c=f;return[b,c];}if(d.r===d.w){if(!($interfaceIsEqual(d.err,$ifaceNil))){g=0;h=d.readErr();b=g;c=h;return[b,c];}if(a.$length>=d.buf.$length){i=d.rd.Read(a);b=i[0];d.err=i[1];if(b<0){$panic(H);}if(b>0){d.lastByte=((j=b-1>>0,((j<0||j>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+j]))>>0);d.lastRuneSize=-1;}k=b;l=d.readErr();b=k;c=l;return[b,c];}d.fill();if(d.r===d.w){m=0;n=d.readErr();b=m;c=n;return[b,c];}}b=$copySlice(a,$subslice(d.buf,d.r,d.w));d.r=d.r+(b)>>0;d.lastByte=((o=d.buf,p=d.r-1>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))>>0);d.lastRuneSize=-1;q=b;r=$ifaceNil;b=q;c=r;return[b,c];};E.prototype.Read=function(a){return this.$val.Read(a);};E.Ptr.prototype.ReadByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i;c=this;c.lastRuneSize=-1;while(c.r===c.w){if(!($interfaceIsEqual(c.err,$ifaceNil))){d=0;e=c.readErr();a=d;b=e;return[a,b];}c.fill();}a=(f=c.buf,g=c.r,((g<0||g>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]));c.r=c.r+(1)>>0;c.lastByte=(a>>0);h=a;i=$ifaceNil;a=h;b=i;return[a,b];};E.prototype.ReadByte=function(){return this.$val.ReadByte();};E.Ptr.prototype.UnreadByte=function(){var a,b,c;a=this;if(a.lastByte<0||(a.r===0)&&a.w>0){return $pkg.ErrInvalidUnreadByte;}if(a.r>0){a.r=a.r-(1)>>0;}else{a.w=1;}(b=a.buf,c=a.r,(c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]=(a.lastByte<<24>>>24));a.lastByte=-1;a.lastRuneSize=-1;return $ifaceNil;};E.prototype.UnreadByte=function(){return this.$val.UnreadByte();};E.Ptr.prototype.ReadRune=function(){var a=0,b=0,c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,n,o,p,q;d=this;while((d.r+4>>0)>d.w&&!D.FullRune($subslice(d.buf,d.r,d.w))&&$interfaceIsEqual(d.err,$ifaceNil)&&(d.w-d.r>>0)=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))>>0);k=1;a=h;b=k;if(a>=128){l=D.DecodeRune($subslice(d.buf,d.r,d.w));a=l[0];b=l[1];}d.r=d.r+(b)>>0;d.lastByte=((m=d.buf,n=d.r-1>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))>>0);d.lastRuneSize=b;o=a;p=b;q=$ifaceNil;a=o;b=p;c=q;return[a,b,c];};E.prototype.ReadRune=function(){return this.$val.ReadRune();};E.Ptr.prototype.UnreadRune=function(){var a;a=this;if(a.lastRuneSize<0||a.r>0;a.lastByte=-1;a.lastRuneSize=-1;return $ifaceNil;};E.prototype.UnreadRune=function(){return this.$val.UnreadRune();};E.Ptr.prototype.Buffered=function(){var a;a=this;return a.w-a.r>>0;};E.prototype.Buffered=function(){return this.$val.Buffered();};E.Ptr.prototype.ReadSlice=function(a){var b=Y.nil,c=$ifaceNil,d,e,f;d=this;while(true){e=A.IndexByte($subslice(d.buf,d.r,d.w),a);if(e>=0){b=$subslice(d.buf,d.r,((d.r+e>>0)+1>>0));d.r=d.r+((e+1>>0))>>0;break;}if(!($interfaceIsEqual(d.err,$ifaceNil))){b=$subslice(d.buf,d.r,d.w);d.r=d.w;c=d.readErr();break;}if(d.Buffered()>=d.buf.$length){d.r=d.w;b=d.buf;c=$pkg.ErrBufferFull;break;}d.fill();}f=b.$length-1>>0;if(f>=0){d.lastByte=(((f<0||f>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+f])>>0);d.lastRuneSize=-1;}return[b,c];};E.prototype.ReadSlice=function(a){return this.$val.ReadSlice(a);};E.Ptr.prototype.ReadLine=function(){var a=Y.nil,b=false,c=$ifaceNil,d,e,f,g,h,i,j,k,l;d=this;e=d.ReadSlice(10);a=e[0];c=e[1];if($interfaceIsEqual(c,$pkg.ErrBufferFull)){if(a.$length>0&&((f=a.$length-1>>0,((f<0||f>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+f]))===13)){if(d.r===0){$panic(new $String("bufio: tried to rewind past start of buffer"));}d.r=d.r-(1)>>0;a=$subslice(a,0,(a.$length-1>>0));}g=a;h=true;i=$ifaceNil;a=g;b=h;c=i;return[a,b,c];}if(a.$length===0){if(!($interfaceIsEqual(c,$ifaceNil))){a=Y.nil;}return[a,b,c];}c=$ifaceNil;if((j=a.$length-1>>0,((j<0||j>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+j]))===10){k=1;if(a.$length>1&&((l=a.$length-2>>0,((l<0||l>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+l]))===13)){k=2;}a=$subslice(a,0,(a.$length-k>>0));}return[a,b,c];};E.prototype.ReadLine=function(){return this.$val.ReadLine();};E.Ptr.prototype.ReadBytes=function(a){var b=Y.nil,c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;d=this;e=Y.nil;f=AA.nil;c=$ifaceNil;while(true){g=$ifaceNil;h=d.ReadSlice(a);e=h[0];g=h[1];if($interfaceIsEqual(g,$ifaceNil)){break;}if(!($interfaceIsEqual(g,$pkg.ErrBufferFull))){c=g;break;}i=Y.make(e.$length);$copySlice(i,e);f=$append(f,i);}j=0;k=f;l=0;while(l=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+m]).$length)>>0;l++;}j=j+(e.$length)>>0;n=Y.make(j);j=0;o=f;p=0;while(p=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+q])))>>0;p++;}$copySlice($subslice(n,j),e);r=n;s=c;b=r;c=s;return[b,c];};E.prototype.ReadBytes=function(a){return this.$val.ReadBytes(a);};E.Ptr.prototype.ReadString=function(a){var b="",c=$ifaceNil,d,e,f,g,h;d=this;e=d.ReadBytes(a);f=e[0];c=e[1];b=$bytesToString(f);g=b;h=c;b=g;c=h;return[b,c];};E.prototype.ReadString=function(a){return this.$val.ReadString(a);};E.Ptr.prototype.WriteTo=function(a){var b=new $Int64(0,0),c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;d=this;e=d.writeBuf(a);b=e[0];c=e[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[b,c];}f=$assertType(d.rd,C.WriterTo,true);g=f[0];h=f[1];if(h){i=g.WriteTo(a);j=i[0];k=i[1];b=(l=j,new $Int64(b.$high+l.$high,b.$low+l.$low));m=b;n=k;b=m;c=n;return[b,c];}o=$assertType(a,C.ReaderFrom,true);p=o[0];q=o[1];if(q){r=p.ReadFrom(d.rd);s=r[0];t=r[1];b=(u=s,new $Int64(b.$high+u.$high,b.$low+u.$low));v=b;w=t;b=v;c=w;return[b,c];}if((d.w-d.r>>0)>0;return[new $Int64(0,d),e];};E.prototype.writeBuf=function(a){return this.$val.writeBuf(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);Z=$ptrType(E);AA=$sliceType(Y);Z.methods=[["Buffered","Buffered","",$funcType([],[$Int],false),-1],["Peek","Peek","",$funcType([$Int],[Y,$error],false),-1],["Read","Read","",$funcType([Y],[$Int,$error],false),-1],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false),-1],["ReadBytes","ReadBytes","",$funcType([$Uint8],[Y,$error],false),-1],["ReadLine","ReadLine","",$funcType([],[Y,$Bool,$error],false),-1],["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false),-1],["ReadSlice","ReadSlice","",$funcType([$Uint8],[Y,$error],false),-1],["ReadString","ReadString","",$funcType([$Uint8],[$String,$error],false),-1],["Reset","Reset","",$funcType([C.Reader],[],false),-1],["UnreadByte","UnreadByte","",$funcType([],[$error],false),-1],["UnreadRune","UnreadRune","",$funcType([],[$error],false),-1],["WriteTo","WriteTo","",$funcType([C.Writer],[$Int64,$error],false),-1],["fill","fill","bufio",$funcType([],[],false),-1],["readErr","readErr","bufio",$funcType([],[$error],false),-1],["reset","reset","bufio",$funcType([Y,C.Reader],[],false),-1],["writeBuf","writeBuf","bufio",$funcType([C.Writer],[$Int64,$error],false),-1]];E.init([["buf","buf","bufio",Y,""],["rd","rd","bufio",C.Reader,""],["r","r","bufio",$Int,""],["w","w","bufio",$Int,""],["err","err","bufio",$error,""],["lastByte","lastByte","bufio",$Int,""],["lastRuneSize","lastRuneSize","bufio",$Int,""]]);$pkg.ErrInvalidUnreadByte=B.New("bufio: invalid use of UnreadByte");$pkg.ErrInvalidUnreadRune=B.New("bufio: invalid use of UnreadRune");$pkg.ErrBufferFull=B.New("bufio: buffer full");$pkg.ErrNegativeCount=B.New("bufio: negative count");H=B.New("bufio: reader returned negative count from Read");I=B.New("bufio: writer returned negative count from Write");$pkg.ErrTooLong=B.New("bufio.Scanner: token too long");$pkg.ErrNegativeAdvance=B.New("bufio.Scanner: SplitFunc returns negative advance count");$pkg.ErrAdvanceTooFar=B.New("bufio.Scanner: SplitFunc returns advance count beyond input");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["image"]=(function(){var $pkg={},A,B,E,C,D,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,F,I,O,Q,S,T,V,X,Z,AB,AD,AF,AH,AJ,AL,AN,AP,AQ,G,a,b,c,d,H,J,K,L,M,R,W,Y,AA,AC,AI,AK,AM,AO;A=$packages["bufio"];B=$packages["errors"];E=$packages["image/color"];C=$packages["io"];D=$packages["strconv"];F=$pkg.format=$newType(0,$kindStruct,"image.format","format","image",function(name_,magic_,decode_,decodeConfig_){this.$val=this;this.name=name_!==undefined?name_:"";this.magic=magic_!==undefined?magic_:"";this.decode=decode_!==undefined?decode_:$throwNilPointerError;this.decodeConfig=decodeConfig_!==undefined?decodeConfig_:$throwNilPointerError;});I=$pkg.reader=$newType(8,$kindInterface,"image.reader","reader","image",null);O=$pkg.Point=$newType(0,$kindStruct,"image.Point","Point","image",function(X_,Y_){this.$val=this;this.X=X_!==undefined?X_:0;this.Y=Y_!==undefined?Y_:0;});Q=$pkg.Rectangle=$newType(0,$kindStruct,"image.Rectangle","Rectangle","image",function(Min_,Max_){this.$val=this;this.Min=Min_!==undefined?Min_:new O.Ptr();this.Max=Max_!==undefined?Max_:new O.Ptr();});S=$pkg.Config=$newType(0,$kindStruct,"image.Config","Config","image",function(ColorModel_,Width_,Height_){this.$val=this;this.ColorModel=ColorModel_!==undefined?ColorModel_:$ifaceNil;this.Width=Width_!==undefined?Width_:0;this.Height=Height_!==undefined?Height_:0;});T=$pkg.Image=$newType(8,$kindInterface,"image.Image","Image","image",null);V=$pkg.RGBA=$newType(0,$kindStruct,"image.RGBA","RGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});X=$pkg.RGBA64=$newType(0,$kindStruct,"image.RGBA64","RGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});Z=$pkg.NRGBA=$newType(0,$kindStruct,"image.NRGBA","NRGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AB=$pkg.NRGBA64=$newType(0,$kindStruct,"image.NRGBA64","NRGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AD=$pkg.Alpha=$newType(0,$kindStruct,"image.Alpha","Alpha","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AF=$pkg.Alpha16=$newType(0,$kindStruct,"image.Alpha16","Alpha16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AH=$pkg.Gray=$newType(0,$kindStruct,"image.Gray","Gray","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AJ=$pkg.Gray16=$newType(0,$kindStruct,"image.Gray16","Gray16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AL=$pkg.Paletted=$newType(0,$kindStruct,"image.Paletted","Paletted","image",function(Pix_,Stride_,Rect_,Palette_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();this.Palette=Palette_!==undefined?Palette_:E.Palette.nil;});AN=$pkg.Uniform=$newType(0,$kindStruct,"image.Uniform","Uniform","image",function(C_){this.$val=this;this.C=C_!==undefined?C_:$ifaceNil;});AP=$pkg.YCbCrSubsampleRatio=$newType(4,$kindInt,"image.YCbCrSubsampleRatio","YCbCrSubsampleRatio","image",null);AQ=$pkg.YCbCr=$newType(0,$kindStruct,"image.YCbCr","YCbCr","image",function(Y_,Cb_,Cr_,YStride_,CStride_,SubsampleRatio_,Rect_){this.$val=this;this.Y=Y_!==undefined?Y_:AT.nil;this.Cb=Cb_!==undefined?Cb_:AT.nil;this.Cr=Cr_!==undefined?Cr_:AT.nil;this.YStride=YStride_!==undefined?YStride_:0;this.CStride=CStride_!==undefined?CStride_:0;this.SubsampleRatio=SubsampleRatio_!==undefined?SubsampleRatio_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});H=$pkg.RegisterFormat=function(e,f,g,h){G=$append(G,new F.Ptr(e,f,g,h));};J=function(e){var f,g,h;f=$assertType(e,I,true);g=f[0];h=f[1];if(h){return g;}return A.NewReader(e);};K=function(e,f){var g,h,i,j;if(!((e.length===f.$length))){return false;}g=f;h=0;while(h=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+h]);if(!((e.charCodeAt(i)===j))&&!((e.charCodeAt(i)===63))){return false;}h++;}return true;};L=function(e){var f,g,h,i,j,k;f=G;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),F);i=e.Peek(h.magic.length);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&K(h.magic,j)){return h;}g++;}return new F.Ptr("","",$throwNilPointerError,$throwNilPointerError);};M=$pkg.Decode=function(e){var f,g,h,i,j;f=J(e);g=$clone(L(f),F);if(g.decode===$throwNilPointerError){return[$ifaceNil,"",$pkg.ErrFormat];}h=g.decode(f);i=h[0];j=h[1];return[i,g.name,j];};O.Ptr.prototype.String=function(){var e;e=$clone(this,O);return"("+D.Itoa(e.X)+","+D.Itoa(e.Y)+")";};O.prototype.String=function(){return this.$val.String();};O.Ptr.prototype.Add=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X+e.X>>0,f.Y+e.Y>>0);};O.prototype.Add=function(e){return this.$val.Add(e);};O.Ptr.prototype.Sub=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X-e.X>>0,f.Y-e.Y>>0);};O.prototype.Sub=function(e){return this.$val.Sub(e);};O.Ptr.prototype.Mul=function(e){var f;f=$clone(this,O);return new O.Ptr(f.X*e>>0,f.Y*e>>0);};O.prototype.Mul=function(e){return this.$val.Mul(e);};O.Ptr.prototype.Div=function(e){var f,g,h;f=$clone(this,O);return new O.Ptr((g=f.X/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),(h=f.Y/e,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")));};O.prototype.Div=function(e){return this.$val.Div(e);};O.Ptr.prototype.In=function(e){var f;f=$clone(this,O);e=$clone(e,Q);return e.Min.X<=f.X&&f.X>0;}f.Y=(l=f.Y%j,l===l?l:$throwRuntimeError("integer divide by zero"));if(f.Y<0){f.Y=f.Y+(j)>>0;}return f.Add(e.Min);};O.prototype.Mod=function(e){return this.$val.Mod(e);};O.Ptr.prototype.Eq=function(e){var f;f=$clone(this,O);e=$clone(e,O);return(f.X===e.X)&&(f.Y===e.Y);};O.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.String=function(){var e;e=$clone(this,Q);return e.Min.String()+"-"+e.Max.String();};Q.prototype.String=function(){return this.$val.String();};Q.Ptr.prototype.Dx=function(){var e;e=$clone(this,Q);return e.Max.X-e.Min.X>>0;};Q.prototype.Dx=function(){return this.$val.Dx();};Q.Ptr.prototype.Dy=function(){var e;e=$clone(this,Q);return e.Max.Y-e.Min.Y>>0;};Q.prototype.Dy=function(){return this.$val.Dy();};Q.Ptr.prototype.Size=function(){var e;e=$clone(this,Q);return new O.Ptr(e.Max.X-e.Min.X>>0,e.Max.Y-e.Min.Y>>0);};Q.prototype.Size=function(){return this.$val.Size();};Q.Ptr.prototype.Add=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X+e.X>>0,f.Min.Y+e.Y>>0),new O.Ptr(f.Max.X+e.X>>0,f.Max.Y+e.Y>>0));};Q.prototype.Add=function(e){return this.$val.Add(e);};Q.Ptr.prototype.Sub=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X-e.X>>0,f.Min.Y-e.Y>>0),new O.Ptr(f.Max.X-e.X>>0,f.Max.Y-e.Y>>0));};Q.prototype.Sub=function(e){return this.$val.Sub(e);};Q.Ptr.prototype.Inset=function(e){var f,g,h;f=$clone(this,Q);if(f.Dx()<(2*e>>0)){f.Min.X=(g=((f.Min.X+f.Max.X>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));f.Max.X=f.Min.X;}else{f.Min.X=f.Min.X+(e)>>0;f.Max.X=f.Max.X-(e)>>0;}if(f.Dy()<(2*e>>0)){f.Min.Y=(h=((f.Min.Y+f.Max.Y>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));f.Max.Y=f.Min.Y;}else{f.Min.Y=f.Min.Y+(e)>>0;f.Max.Y=f.Max.Y-(e)>>0;}return f;};Q.prototype.Inset=function(e){return this.$val.Inset(e);};Q.Ptr.prototype.Intersect=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.Xe.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y>e.Max.Y){f.Max.Y=e.Max.Y;}if(f.Min.X>f.Max.X||f.Min.Y>f.Max.Y){return $pkg.ZR;}return f;};Q.prototype.Intersect=function(e){return this.$val.Intersect(e);};Q.Ptr.prototype.Union=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.X>e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y>e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X=e.Max.X||e.Min.Y>=e.Max.Y;};Q.prototype.Empty=function(){return this.$val.Empty();};Q.Ptr.prototype.Eq=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return(f.Min.X===e.Min.X)&&(f.Min.Y===e.Min.Y)&&(f.Max.X===e.Max.X)&&(f.Max.Y===e.Max.Y);};Q.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.Overlaps=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return f.Min.Xg){i=g;j=e;e=i;g=j;}if(f>h){k=h;l=f;f=k;h=l;}return new Q.Ptr(new O.Ptr(e,f),new O.Ptr(g,h));};V.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBAModel;};V.prototype.ColorModel=function(){return this.$val.ColorModel();};V.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};V.prototype.Bounds=function(){return this.$val.Bounds();};V.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBAAt(e,f),new h.constructor.Struct(h));};V.prototype.At=function(e,f){return this.$val.At(e,f);};V.Ptr.prototype.RGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};V.prototype.RGBAAt=function(e,f){return this.$val.RGBAAt(e,f);};V.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};V.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};V.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBAModel.Convert(g),E.RGBA),E.RGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};V.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};V.Ptr.prototype.SetRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.RGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};V.prototype.SetRGBA=function(e,f,g){return this.$val.SetRGBA(e,f,g);};V.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new V.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new V.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};V.prototype.SubImage=function(e){return this.$val.SubImage(e);};V.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};V.prototype.Opaque=function(){return this.$val.Opaque();};W=$pkg.NewRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new V.Ptr(j,4*h>>0,$clone(e,Q));};X.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBA64Model;};X.prototype.ColorModel=function(){return this.$val.ColorModel();};X.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};X.prototype.Bounds=function(){return this.$val.Bounds();};X.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBA64At(e,f),new h.constructor.Struct(h));};X.prototype.At=function(e,f){return this.$val.At(e,f);};X.Ptr.prototype.RGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};X.prototype.RGBA64At=function(e,f){return this.$val.RGBA64At(e,f);};X.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};X.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};X.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBA64Model.Convert(g),E.RGBA64),E.RGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};X.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};X.Ptr.prototype.SetRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.RGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};X.prototype.SetRGBA64=function(e,f,g){return this.$val.SetRGBA64(e,f,g);};X.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new X.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new X.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};X.prototype.SubImage=function(e){return this.$val.SubImage(e);};X.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};X.prototype.Opaque=function(){return this.$val.Opaque();};Y=$pkg.NewRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new X.Ptr(j,8*h>>0,$clone(e,Q));};Z.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBAModel;};Z.prototype.ColorModel=function(){return this.$val.ColorModel();};Z.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};Z.prototype.Bounds=function(){return this.$val.Bounds();};Z.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBAAt(e,f),new h.constructor.Struct(h));};Z.prototype.At=function(e,f){return this.$val.At(e,f);};Z.Ptr.prototype.NRGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};Z.prototype.NRGBAAt=function(e,f){return this.$val.NRGBAAt(e,f);};Z.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};Z.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};Z.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBAModel.Convert(g),E.NRGBA),E.NRGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};Z.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};Z.Ptr.prototype.SetNRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.NRGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};Z.prototype.SetNRGBA=function(e,f,g){return this.$val.SetNRGBA(e,f,g);};Z.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new Z.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new Z.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};Z.prototype.SubImage=function(e){return this.$val.SubImage(e);};Z.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};Z.prototype.Opaque=function(){return this.$val.Opaque();};AA=$pkg.NewNRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new Z.Ptr(j,4*h>>0,$clone(e,Q));};AB.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBA64Model;};AB.prototype.ColorModel=function(){return this.$val.ColorModel();};AB.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AB.prototype.Bounds=function(){return this.$val.Bounds();};AB.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBA64At(e,f),new h.constructor.Struct(h));};AB.prototype.At=function(e,f){return this.$val.At(e,f);};AB.Ptr.prototype.NRGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};AB.prototype.NRGBA64At=function(e,f){return this.$val.NRGBA64At(e,f);};AB.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};AB.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AB.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBA64Model.Convert(g),E.NRGBA64),E.NRGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};AB.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AB.Ptr.prototype.SetNRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.NRGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};AB.prototype.SetNRGBA64=function(e,f,g){return this.$val.SetNRGBA64(e,f,g);};AB.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AB.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AB.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AB.prototype.SubImage=function(e){return this.$val.SubImage(e);};AB.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AB.prototype.Opaque=function(){return this.$val.Opaque();};AC=$pkg.NewNRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new AB.Ptr(j,8*h>>0,$clone(e,Q));};AD.Ptr.prototype.ColorModel=function(){var e;e=this;return E.AlphaModel;};AD.prototype.ColorModel=function(){return this.$val.ColorModel();};AD.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AD.prototype.Bounds=function(){return this.$val.Bounds();};AD.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.AlphaAt(e,f),new h.constructor.Struct(h));};AD.prototype.At=function(e,f){return this.$val.At(e,f);};AD.Ptr.prototype.AlphaAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AD.prototype.AlphaAt=function(e,f){return this.$val.AlphaAt(e,f);};AD.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AD.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AD.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.AlphaModel.Convert(g),E.Alpha).A);};AD.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AD.Ptr.prototype.SetAlpha=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Alpha);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.A);};AD.prototype.SetAlpha=function(e,f,g){return this.$val.SetAlpha(e,f,g);};AD.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AD.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AD.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AD.prototype.SubImage=function(e){return this.$val.SubImage(e);};AD.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx();h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(1)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AD.prototype.Opaque=function(){return this.$val.Opaque();};AF.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Alpha16Model;};AF.prototype.ColorModel=function(){return this.$val.ColorModel();};AF.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AF.prototype.Bounds=function(){return this.$val.Bounds();};AF.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Alpha16At(e,f),new h.constructor.Struct(h));};AF.prototype.At=function(e,f){return this.$val.At(e,f);};AF.Ptr.prototype.Alpha16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha16.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AF.prototype.Alpha16At=function(e,f){return this.$val.Alpha16At(e,f);};AF.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AF.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AF.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Alpha16Model.Convert(g),E.Alpha16),E.Alpha16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.A>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.A<<24>>>24));};AF.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AF.Ptr.prototype.SetAlpha16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Alpha16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.A>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.A<<24>>>24));};AF.prototype.SetAlpha16=function(e,f,g){return this.$val.SetAlpha16(e,f,g);};AF.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AF.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AF.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AF.prototype.SubImage=function(e){return this.$val.SubImage(e);};AF.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx()*2>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(2)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AF.prototype.Opaque=function(){return this.$val.Opaque();};AH.Ptr.prototype.ColorModel=function(){var e;e=this;return E.GrayModel;};AH.prototype.ColorModel=function(){return this.$val.ColorModel();};AH.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AH.prototype.Bounds=function(){return this.$val.Bounds();};AH.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.GrayAt(e,f),new h.constructor.Struct(h));};AH.prototype.At=function(e,f){return this.$val.At(e,f);};AH.Ptr.prototype.GrayAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AH.prototype.GrayAt=function(e,f){return this.$val.GrayAt(e,f);};AH.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AH.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AH.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.GrayModel.Convert(g),E.Gray).Y);};AH.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AH.Ptr.prototype.SetGray=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Gray);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.Y);};AH.prototype.SetGray=function(e,f,g){return this.$val.SetGray(e,f,g);};AH.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AH.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AH.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AH.prototype.SubImage=function(e){return this.$val.SubImage(e);};AH.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AH.prototype.Opaque=function(){return this.$val.Opaque();};AI=$pkg.NewGray=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((1*h>>0)*i>>0));return new AH.Ptr(j,1*h>>0,$clone(e,Q));};AJ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Gray16Model;};AJ.prototype.ColorModel=function(){return this.$val.ColorModel();};AJ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AJ.prototype.Bounds=function(){return this.$val.Bounds();};AJ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Gray16At(e,f),new h.constructor.Struct(h));};AJ.prototype.At=function(e,f){return this.$val.At(e,f);};AJ.Ptr.prototype.Gray16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray16.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AJ.prototype.Gray16At=function(e,f){return this.$val.Gray16At(e,f);};AJ.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AJ.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AJ.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Gray16Model.Convert(g),E.Gray16),E.Gray16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.Y>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.Y<<24>>>24));};AJ.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AJ.Ptr.prototype.SetGray16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Gray16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.Y>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.Y<<24>>>24));};AJ.prototype.SetGray16=function(e,f,g){return this.$val.SetGray16(e,f,g);};AJ.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AJ.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AJ.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AJ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AJ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AJ.prototype.Opaque=function(){return this.$val.Opaque();};AK=$pkg.NewGray16=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((2*h>>0)*i>>0));return new AJ.Ptr(j,2*h>>0,$clone(e,Q));};AL.Ptr.prototype.ColorModel=function(){var e;e=this;return e.Palette;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.At=function(e,f){var g,h,i,j,k,l;g=this;if(g.Palette.$length===0){return $ifaceNil;}if(!(new O.Ptr(e,f).In(g.Rect))){return(h=g.Palette,((0<0||0>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));}i=g.PixOffset(e,f);return(j=g.Palette,k=(l=g.Pix,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])),((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));};AL.prototype.At=function(e,f){return this.$val.At(e,f);};AL.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AL.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AL.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=(h.Palette.Index(g)<<24>>>24));};AL.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AL.Ptr.prototype.ColorIndexAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return 0;}h=g.PixOffset(e,f);return(i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));};AL.prototype.ColorIndexAt=function(e,f){return this.$val.ColorIndexAt(e,f);};AL.Ptr.prototype.SetColorIndex=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g);};AL.prototype.SetColorIndex=function(e,f,g){return this.$val.SetColorIndex(e,f,g);};AL.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AL.Ptr(AT.nil,0,new Q.Ptr(),f.Palette);}g=f.PixOffset(e.Min.X,e.Min.Y);return new AL.Ptr($subslice(f.Pix,g),f.Stride,$clone(f.Rect.Intersect(e),Q),f.Palette);};AL.prototype.SubImage=function(e){return this.$val.SubImage(e);};AL.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this;f=$clone(AU.zero(),AU);g=0;h=e.Rect.Dx();i=g;j=h;k=e.Rect.Min.Y;while(k=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);(n<0||n>=f.length)?$throwRuntimeError("index out of range"):f[n]=true;m++;}i=i+(e.Stride)>>0;j=j+(e.Stride)>>0;k=k+(1)>>0;}o=e.Palette;p=0;while(p=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]);if(!((q<0||q>=f.length)?$throwRuntimeError("index out of range"):f[q])){p++;continue;}s=r.RGBA();t=s[3];if(!((t===65535))){return false;}p++;}return true;};AL.prototype.Opaque=function(){return this.$val.Opaque();};AM=$pkg.NewPaletted=function(e,f){var g,h,i,j,k;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=g;j=h;k=AT.make(((1*i>>0)*j>>0));return new AL.Ptr(k,1*i>>0,$clone(e,Q),f);};AN.Ptr.prototype.RGBA=function(){var e=0,f=0,g=0,h=0,i,j;i=this;j=i.C.RGBA();e=j[0];f=j[1];g=j[2];h=j[3];return[e,f,g,h];};AN.prototype.RGBA=function(){return this.$val.RGBA();};AN.Ptr.prototype.ColorModel=function(){var e;e=this;return e;};AN.prototype.ColorModel=function(){return this.$val.ColorModel();};AN.Ptr.prototype.Convert=function(e){var f;f=this;return f.C;};AN.prototype.Convert=function(e){return this.$val.Convert(e);};AN.Ptr.prototype.Bounds=function(){var e;e=this;return new Q.Ptr(new O.Ptr(-1000000000,-1000000000),new O.Ptr(1000000000,1000000000));};AN.prototype.Bounds=function(){return this.$val.Bounds();};AN.Ptr.prototype.At=function(e,f){var g;g=this;return g.C;};AN.prototype.At=function(e,f){return this.$val.At(e,f);};AN.Ptr.prototype.Opaque=function(){var e,f,g;e=this;f=e.C.RGBA();g=f[3];return g===65535;};AN.prototype.Opaque=function(){return this.$val.Opaque();};AO=$pkg.NewUniform=function(e){return new AN.Ptr(e);};AP.prototype.String=function(){var e,f;e=this.$val!==undefined?this.$val:this;f=e;if(f===0){return"YCbCrSubsampleRatio444";}else if(f===1){return"YCbCrSubsampleRatio422";}else if(f===2){return"YCbCrSubsampleRatio420";}else if(f===3){return"YCbCrSubsampleRatio440";}return"YCbCrSubsampleRatioUnknown";};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AQ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.YCbCrModel;};AQ.prototype.ColorModel=function(){return this.$val.ColorModel();};AQ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AQ.prototype.Bounds=function(){return this.$val.Bounds();};AQ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.YCbCrAt(e,f),new h.constructor.Struct(h));};AQ.prototype.At=function(e,f){return this.$val.At(e,f);};AQ.Ptr.prototype.YCbCrAt=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.YCbCr.Ptr(0,0,0);}h=g.YOffset(e,f);i=g.COffset(e,f);return new E.YCbCr.Ptr((j=g.Y,((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])),(k=g.Cb,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),(l=g.Cr,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])));};AQ.prototype.YCbCrAt=function(e,f){return this.$val.YCbCrAt(e,f);};AQ.Ptr.prototype.YOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.YStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.YOffset=function(e,f){return this.$val.YOffset(e,f);};AQ.Ptr.prototype.COffset=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.SubsampleRatio;if(h===1){return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+(((i=e/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"))-(j=g.Rect.Min.X/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===2){return((((k=f/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-(l=g.Rect.Min.Y/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+(((m=e/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))-(n=g.Rect.Min.X/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===3){return((((o=f/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))-(p=g.Rect.Min.Y/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;}return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.COffset=function(e,f){return this.$val.COffset(e,f);};AQ.Ptr.prototype.SubImage=function(e){var f,g,h;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AQ.Ptr(AT.nil,AT.nil,AT.nil,0,0,f.SubsampleRatio,new Q.Ptr());}g=f.YOffset(e.Min.X,e.Min.Y);h=f.COffset(e.Min.X,e.Min.Y);return new AQ.Ptr($subslice(f.Y,g),$subslice(f.Cb,h),$subslice(f.Cr,h),f.YStride,f.CStride,f.SubsampleRatio,$clone(e,Q));};AQ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AQ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AQ.prototype.Opaque=function(){return this.$val.Opaque();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AS=$sliceType(F);AT=$sliceType($Uint8);AU=$arrayType($Bool,256);AV=$sliceType($Uint8);AW=$funcType([C.Reader],[T,$error],false);AX=$funcType([C.Reader],[S,$error],false);AY=$ptrType(O);AZ=$ptrType(Q);BA=$ptrType(V);BB=$ptrType(X);BC=$ptrType(Z);BD=$ptrType(AB);BE=$ptrType(AD);BF=$ptrType(AF);BG=$ptrType(AH);BH=$ptrType(AJ);BI=$ptrType(AL);BJ=$ptrType(AN);BK=$ptrType(AP);BL=$ptrType(AQ);F.init([["name","name","image",$String,""],["magic","magic","image",$String,""],["decode","decode","image",AW,""],["decodeConfig","decodeConfig","image",AX,""]]);I.init([["Peek","Peek","",$funcType([$Int],[AV,$error],false)],["Read","Read","",$funcType([AV],[$Int,$error],false)]]);O.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];AY.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];O.init([["X","X","",$Int,""],["Y","Y","",$Int,""]]);Q.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];AZ.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];Q.init([["Min","Min","",O,""],["Max","Max","",O,""]]);S.init([["ColorModel","ColorModel","",E.Model,""],["Width","Width","",$Int,""],["Height","Height","",$Int,""]]);T.init([["At","At","",$funcType([$Int,$Int],[E.Color],false)],["Bounds","Bounds","",$funcType([],[Q],false)],["ColorModel","ColorModel","",$funcType([],[E.Model],false)]]);BA.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBAAt","RGBAAt","",$funcType([$Int,$Int],[E.RGBA],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA","SetRGBA","",$funcType([$Int,$Int,E.RGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];V.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BB.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBA64At","RGBA64At","",$funcType([$Int,$Int],[E.RGBA64],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA64","SetRGBA64","",$funcType([$Int,$Int,E.RGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];X.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BC.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBAAt","NRGBAAt","",$funcType([$Int,$Int],[E.NRGBA],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA","SetNRGBA","",$funcType([$Int,$Int,E.NRGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];Z.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BD.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBA64At","NRGBA64At","",$funcType([$Int,$Int],[E.NRGBA64],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA64","SetNRGBA64","",$funcType([$Int,$Int,E.NRGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AB.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BE.methods=[["AlphaAt","AlphaAt","",$funcType([$Int,$Int],[E.Alpha],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha","SetAlpha","",$funcType([$Int,$Int,E.Alpha],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AD.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BF.methods=[["Alpha16At","Alpha16At","",$funcType([$Int,$Int],[E.Alpha16],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha16","SetAlpha16","",$funcType([$Int,$Int,E.Alpha16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AF.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BG.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["GrayAt","GrayAt","",$funcType([$Int,$Int],[E.Gray],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray","SetGray","",$funcType([$Int,$Int,E.Gray],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AH.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BH.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Gray16At","Gray16At","",$funcType([$Int,$Int],[E.Gray16],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray16","SetGray16","",$funcType([$Int,$Int,E.Gray16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AJ.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BI.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorIndexAt","ColorIndexAt","",$funcType([$Int,$Int],[$Uint8],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetColorIndex","SetColorIndex","",$funcType([$Int,$Int,$Uint8],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AL.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""],["Palette","Palette","",E.Palette,""]]);BJ.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Convert","Convert","",$funcType([E.Color],[E.Color],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AN.init([["C","C","",E.Color,""]]);AP.methods=[["String","String","",$funcType([],[$String],false),-1]];BK.methods=[["String","String","",$funcType([],[$String],false),-1]];BL.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["COffset","COffset","",$funcType([$Int,$Int],[$Int],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1],["YCbCrAt","YCbCrAt","",$funcType([$Int,$Int],[E.YCbCr],false),-1],["YOffset","YOffset","",$funcType([$Int,$Int],[$Int],false),-1]];AQ.init([["Y","Y","",AT,""],["Cb","Cb","",AT,""],["Cr","Cr","",AT,""],["YStride","YStride","",$Int,""],["CStride","CStride","",$Int,""],["SubsampleRatio","SubsampleRatio","",AP,""],["Rect","Rect","",Q,""]]);G=AS.nil;$pkg.ZP=new O.Ptr();$pkg.ZR=new Q.Ptr();$pkg.ErrFormat=B.New("image: unknown format");$pkg.Black=AO((a=E.Black,new a.constructor.Struct(a)));$pkg.White=AO((b=E.White,new b.constructor.Struct(b)));$pkg.Transparent=AO((c=E.Transparent,new c.constructor.Struct(c)));$pkg.Opaque=AO((d=E.Opaque,new d.constructor.Struct(d)));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["image/draw"]=(function(){var $pkg={},A,B,X,Y,Z,AA,AB,AC,AD,AE,AF,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V;A=$packages["image"];B=$packages["image/color"];H=function(b,c,d,e,f,g){var h,i,j;h=$clone(c.Min,A.Point);$copy(c,c.Intersect(b.Bounds()),A.Rectangle);$copy(c,c.Intersect(d.Bounds().Add(h.Sub(e))),A.Rectangle);if(!($interfaceIsEqual(f,$ifaceNil))){$copy(c,c.Intersect(f.Bounds().Add(h.Sub(g))),A.Rectangle);}i=c.Min.X-h.X>>0;j=c.Min.Y-h.Y>>0;if((i===0)&&(j===0)){return;}e.X=(e).X+(i)>>0;e.Y=(e).Y+(j)>>0;g.X=(g).X+(i)>>0;g.Y=(g).Y+(j)>>0;};I=function(b,c,d,e){e=$clone(e,A.Point);c=$clone(c,A.Rectangle);return $interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))&&(e.Y>0;ag=w-1>>0;ah=-1;w=af;x=ag;y=ah;ai=ad-1>>0;aj=ac-1>>0;ak=-1;ac=ai;ad=aj;ae=ak;}al=$clone(new B.RGBA64.Ptr(),B.RGBA64);am=(e.Y+ac>>0)-c.Min.Y>>0;an=(g.Y+ac>>0)-c.Min.Y>>0;ao=ac;while(!((ao===ad))){ap=(e.X+w>>0)-c.Min.X>>0;aq=(g.X+w>>0)-c.Min.X>>0;ar=w;while(!((ar===x))){as=65535;if(!($interfaceIsEqual(f,$ifaceNil))){at=f.At(aq,an).RGBA();as=at[3];}if(as===0){if(h===0){}else{b.Set(ar,ao,(au=B.Transparent,new au.constructor.Struct(au)));}}else if((as===65535)&&(h===1)){b.Set(ar,ao,d.At(ap,am));}else{av=d.At(ap,am).RGBA();aw=av[0];ax=av[1];ay=av[2];az=av[3];if(h===0){ba=b.At(ar,ao).RGBA();bb=ba[0];bc=ba[1];bd=ba[2];be=ba[3];bg=65535-((bf=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bf===bf&&bf!==1/0&&bf!==-1/0)?bf>>>0:$throwRuntimeError("integer divide by zero")))>>>0;al.R=((bh=((((((bb>>>16<<16)*bg>>>0)+(bb<<16>>>16)*bg)>>>0)+((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)>>>0))/65535,(bh===bh&&bh!==1/0&&bh!==-1/0)?bh>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bi=((((((bc>>>16<<16)*bg>>>0)+(bc<<16>>>16)*bg)>>>0)+((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)>>>0))/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bj=((((((bd>>>16<<16)*bg>>>0)+(bd<<16>>>16)*bg)>>>0)+((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)>>>0))/65535,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bk=((((((be>>>16<<16)*bg>>>0)+(be<<16>>>16)*bg)>>>0)+((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}else{al.R=((bl=((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)/65535,(bl===bl&&bl!==1/0&&bl!==-1/0)?bl>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bm=((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)/65535,(bm===bm&&bm!==1/0&&bm!==-1/0)?bm>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bn=((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bo=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bo===bo&&bo!==1/0&&bo!==-1/0)?bo>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}b.Set(ar,ao,al);}bp=ar+y>>0;bq=ap+y>>0;br=aq+y>>0;ar=bp;ap=bq;aq=br;}bs=ao+ae>>0;bt=am+ae>>0;bu=an+ae>>0;ao=bs;am=bt;an=bu;}};L=function(b,c,d){var e,f,g,h,i,j,k,l,m,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;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];k=(j=(65535-i>>>0),(((j>>>16<<16)*257>>>0)+(j<<16>>>16)*257)>>>0);l=b.PixOffset(c.Min.X,c.Min.Y);m=l+(c.Dx()*4>>0)>>0;n=c.Min.Y;while(!((n===c.Max.Y))){o=l;while(o>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>>0);u=((s=b.Pix,t=o+1>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))>>>0);x=((v=b.Pix,w=o+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]))>>>0);aa=((y=b.Pix,z=o+3>>0,((z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]))>>>0);(ac=b.Pix,ad=o+0>>0,(ad<0||ad>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ad]=(((((ab=((((r>>>16<<16)*k>>>0)+(r<<16>>>16)*k)>>>0)/65535,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"))+f>>>0))>>>8>>>0)<<24>>>24));(af=b.Pix,ag=o+1>>0,(ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]=(((((ae=((((u>>>16<<16)*k>>>0)+(u<<16>>>16)*k)>>>0)/65535,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>>0:$throwRuntimeError("integer divide by zero"))+g>>>0))>>>8>>>0)<<24>>>24));(ai=b.Pix,aj=o+2>>0,(aj<0||aj>=ai.$length)?$throwRuntimeError("index out of range"):ai.$array[ai.$offset+aj]=(((((ah=((((x>>>16<<16)*k>>>0)+(x<<16>>>16)*k)>>>0)/65535,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>>0:$throwRuntimeError("integer divide by zero"))+h>>>0))>>>8>>>0)<<24>>>24));(al=b.Pix,am=o+3>>0,(am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]=(((((ak=((((aa>>>16<<16)*k>>>0)+(aa<<16>>>16)*k)>>>0)/65535,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>>0:$throwRuntimeError("integer divide by zero"))+i>>>0))>>>8>>>0)<<24>>>24));o=o+(4)>>0;}l=l+(b.Stride)>>0;m=m+(b.Stride)>>0;n=n+(1)>>0;}};M=function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];j=b.PixOffset(c.Min.X,c.Min.Y);k=j+(c.Dx()*4>>0)>>0;l=j;while(l>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=((f>>>8>>>0)<<24>>>24));(o=b.Pix,p=l+1>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((g>>>8>>>0)<<24>>>24));(q=b.Pix,r=l+2>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=((h>>>8>>>0)<<24>>>24));(s=b.Pix,t=l+3>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((i>>>8>>>0)<<24>>>24));l=l+(4)>>0;}u=$subslice(b.Pix,j,k);v=c.Min.Y+1>>0;while(v>0;k=k+(b.Stride)>>0;$copySlice($subslice(b.Pix,j,k),u);v=v+(1)>>0;}};N=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=c.Dx();g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;p=0;q=0;r=0;s=p;t=q;u=r;if(c.Min.Y>0;x=4;s=v;t=w;u=x;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;y=((h-1>>0))*4>>0;z=-4;aa=-4;s=y;t=z;u=aa;}while(i>0){ab=$subslice(b.Pix,j);ac=$subslice(d.Pix,k);ad=s;while(!((ad===t))){ag=(ae=((af=ad+0>>0,((af<0||af>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+af]))>>>0),(((ae>>>16<<16)*257>>>0)+(ae<<16>>>16)*257)>>>0);aj=(ah=((ai=ad+1>>0,((ai<0||ai>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ai]))>>>0),(((ah>>>16<<16)*257>>>0)+(ah<<16>>>16)*257)>>>0);am=(ak=((al=ad+2>>0,((al<0||al>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+al]))>>>0),(((ak>>>16<<16)*257>>>0)+(ak<<16>>>16)*257)>>>0);ap=(an=((ao=ad+3>>0,((ao<0||ao>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ao]))>>>0),(((an>>>16<<16)*257>>>0)+(an<<16>>>16)*257)>>>0);ar=((aq=ad+0>>0,((aq<0||aq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aq]))>>>0);at=((as=ad+1>>0,((as<0||as>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+as]))>>>0);av=((au=ad+2>>0,((au<0||au>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+au]))>>>0);ax=((aw=ad+3>>0,((aw<0||aw>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aw]))>>>0);az=(ay=(65535-ap>>>0),(((ay>>>16<<16)*257>>>0)+(ay<<16>>>16)*257)>>>0);(bb=ad+0>>0,(bb<0||bb>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bb]=(((((ba=((((ar>>>16<<16)*az>>>0)+(ar<<16>>>16)*az)>>>0)/65535,(ba===ba&&ba!==1/0&&ba!==-1/0)?ba>>>0:$throwRuntimeError("integer divide by zero"))+ag>>>0))>>>8>>>0)<<24>>>24));(bd=ad+1>>0,(bd<0||bd>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bd]=(((((bc=((((at>>>16<<16)*az>>>0)+(at<<16>>>16)*az)>>>0)/65535,(bc===bc&&bc!==1/0&&bc!==-1/0)?bc>>>0:$throwRuntimeError("integer divide by zero"))+aj>>>0))>>>8>>>0)<<24>>>24));(bf=ad+2>>0,(bf<0||bf>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bf]=(((((be=((((av>>>16<<16)*az>>>0)+(av<<16>>>16)*az)>>>0)/65535,(be===be&&be!==1/0&&be!==-1/0)?be>>>0:$throwRuntimeError("integer divide by zero"))+am>>>0))>>>8>>>0)<<24>>>24));(bh=ad+3>>0,(bh<0||bh>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bh]=(((((bg=((((ax>>>16<<16)*az>>>0)+(ax<<16>>>16)*az)>>>0)/65535,(bg===bg&&bg!==1/0&&bg!==-1/0)?bg>>>0:$throwRuntimeError("integer divide by zero"))+ap>>>0))>>>8>>>0)<<24>>>24));ad=ad+(u)>>0;}j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};O=function(b,c,d,e){var f,g,h,i,j,k,l,m,n,o;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=4*c.Dx()>>0;g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;if(c.Min.Y<=e.Y){n=b.Stride;o=d.Stride;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;}while(i>0){$copySlice($subslice(b.Pix,j,(j+h>>0)),$subslice(d.Pix,k,(k+h>>0)));j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};P=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));ah=((ag=p+0>>0,((ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]))>>>0);aj=((ai=p+1>>0,((ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]))>>>0);al=((ak=p+2>>0,((ak<0||ak>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ak]))>>>0);an=((am=p+3>>0,((am<0||am>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+am]))>>>0);ap=(ao=(65535-t>>>0),(((ao>>>16<<16)*257>>>0)+(ao<<16>>>16)*257)>>>0);(ar=p+0>>0,(ar<0||ar>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ar]=(((((aq=((((ah>>>16<<16)*ap>>>0)+(ah<<16>>>16)*ap)>>>0)/65535,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>>0:$throwRuntimeError("integer divide by zero"))+x>>>0))>>>8>>>0)<<24>>>24));(at=p+1>>0,(at<0||at>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+at]=(((((as=((((aj>>>16<<16)*ap>>>0)+(aj<<16>>>16)*ap)>>>0)/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))+ab>>>0))>>>8>>>0)<<24>>>24));(av=p+2>>0,(av<0||av>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+av]=(((((au=((((al>>>16<<16)*ap>>>0)+(al<<16>>>16)*ap)>>>0)/65535,(au===au&&au!==1/0&&au!==-1/0)?au>>>0:$throwRuntimeError("integer divide by zero"))+af>>>0))>>>8>>>0)<<24>>>24));(ax=p+3>>0,(ax<0||ax>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ax]=(((((aw=((((an>>>16<<16)*ap>>>0)+(an<<16>>>16)*ap)>>>0)/65535,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>>0:$throwRuntimeError("integer divide by zero"))+t>>>0))>>>8>>>0)<<24>>>24));ay=p+4>>0;az=q+4>>0;p=ay;q=az;}ba=j+1>>0;bb=k+1>>0;j=ba;k=bb;}};Q=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));(ag=p+0>>0,(ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]=((x>>>8>>>0)<<24>>>24));(ah=p+1>>0,(ah<0||ah>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ah]=((ab>>>8>>>0)<<24>>>24));(ai=p+2>>0,(ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]=((af>>>8>>>0)<<24>>>24));(aj=p+3>>0,(aj<0||aj>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+aj]=((t>>>8>>>0)<<24>>>24));ak=p+4>>0;al=q+4>>0;p=ak;q=al;}am=j+1>>0;an=k+1>>0;j=am;k=an;}};R=function(b,c,d,e){var f=false,g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=((c.Min.X-b.Rect.Min.X>>0))*4>>0;h=((c.Max.X-b.Rect.Min.X>>0))*4>>0;i=c.Min.Y-b.Rect.Min.Y>>0;j=c.Max.Y-b.Rect.Min.Y>>0;k=d.SubsampleRatio;if(k===0){l=i;m=e.Y;n=l;o=m;while(!((n===j))){p=$subslice(b.Pix,(n*b.Stride>>0));q=(((o-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;r=(((o-d.Rect.Min.Y>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;s=g;while(!((s===h))){t=B.YCbCrToRGB((u=d.Y,((q<0||q>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+q])),(v=d.Cb,((r<0||r>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+r])),(w=d.Cr,((r<0||r>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+r])));x=t[0];y=t[1];z=t[2];(aa=s+0>>0,(aa<0||aa>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+aa]=x);(ab=s+1>>0,(ab<0||ab>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ab]=y);(ac=s+2>>0,(ac<0||ac>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ac]=z);(ad=s+3>>0,(ad<0||ad>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ad]=255);ae=s+4>>0;af=q+1>>0;ag=r+1>>0;s=ae;q=af;r=ag;}ah=n+1>>0;ai=o+1>>0;n=ah;o=ai;}}else if(k===1){aj=i;ak=e.Y;al=aj;am=ak;while(!((al===j))){an=$subslice(b.Pix,(al*b.Stride>>0));ao=(((am-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;aq=(((am-d.Rect.Min.Y>>0))*d.CStride>>0)-(ap=d.Rect.Min.X/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"))>>0;ar=g;as=e.X;at=ar;au=as;while(!((at===h))){aw=aq+(av=au/2,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"))>>0;ax=B.YCbCrToRGB((ay=d.Y,((ao<0||ao>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+ao])),(az=d.Cb,((aw<0||aw>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+aw])),(ba=d.Cr,((aw<0||aw>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+aw])));bb=ax[0];bc=ax[1];bd=ax[2];(be=at+0>>0,(be<0||be>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+be]=bb);(bf=at+1>>0,(bf<0||bf>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bf]=bc);(bg=at+2>>0,(bg<0||bg>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bg]=bd);(bh=at+3>>0,(bh<0||bh>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bh]=255);bi=at+4>>0;bj=au+1>>0;bk=ao+1>>0;at=bi;au=bj;ao=bk;}bl=al+1>>0;bm=am+1>>0;al=bl;am=bm;}}else if(k===2){bn=i;bo=e.Y;bp=bn;bq=bo;while(!((bp===j))){br=$subslice(b.Pix,(bp*b.Stride>>0));bs=(((bq-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;bw=((((bt=bq/2,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>0:$throwRuntimeError("integer divide by zero"))-(bu=d.Rect.Min.Y/2,(bu===bu&&bu!==1/0&&bu!==-1/0)?bu>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)-(bv=d.Rect.Min.X/2,(bv===bv&&bv!==1/0&&bv!==-1/0)?bv>>0:$throwRuntimeError("integer divide by zero"))>>0;bx=g;by=e.X;bz=bx;ca=by;while(!((bz===h))){cc=bw+(cb=ca/2,(cb===cb&&cb!==1/0&&cb!==-1/0)?cb>>0:$throwRuntimeError("integer divide by zero"))>>0;cd=B.YCbCrToRGB((ce=d.Y,((bs<0||bs>=ce.$length)?$throwRuntimeError("index out of range"):ce.$array[ce.$offset+bs])),(cf=d.Cb,((cc<0||cc>=cf.$length)?$throwRuntimeError("index out of range"):cf.$array[cf.$offset+cc])),(cg=d.Cr,((cc<0||cc>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+cc])));ch=cd[0];ci=cd[1];cj=cd[2];(ck=bz+0>>0,(ck<0||ck>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+ck]=ch);(cl=bz+1>>0,(cl<0||cl>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cl]=ci);(cm=bz+2>>0,(cm<0||cm>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cm]=cj);(cn=bz+3>>0,(cn<0||cn>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cn]=255);co=bz+4>>0;cp=ca+1>>0;cq=bs+1>>0;bz=co;ca=cp;bs=cq;}cr=bp+1>>0;cs=bq+1>>0;bp=cr;bq=cs;}}else if(k===3){ct=i;cu=e.Y;cv=ct;cw=cu;while(!((cv===j))){cx=$subslice(b.Pix,(cv*b.Stride>>0));cy=(((cw-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;db=((((cz=cw/2,(cz===cz&&cz!==1/0&&cz!==-1/0)?cz>>0:$throwRuntimeError("integer divide by zero"))-(da=d.Rect.Min.Y/2,(da===da&&da!==1/0&&da!==-1/0)?da>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;dc=g;while(!((dc===h))){dd=B.YCbCrToRGB((de=d.Y,((cy<0||cy>=de.$length)?$throwRuntimeError("index out of range"):de.$array[de.$offset+cy])),(df=d.Cb,((db<0||db>=df.$length)?$throwRuntimeError("index out of range"):df.$array[df.$offset+db])),(dg=d.Cr,((db<0||db>=dg.$length)?$throwRuntimeError("index out of range"):dg.$array[dg.$offset+db])));dh=dd[0];di=dd[1];dj=dd[2];(dk=dc+0>>0,(dk<0||dk>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dk]=dh);(dl=dc+1>>0,(dl<0||dl>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dl]=di);(dm=dc+2>>0,(dm<0||dm>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dm]=dj);(dn=dc+3>>0,(dn<0||dn>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dn]=255);dp=dc+4>>0;dq=cy+1>>0;dr=db+1>>0;dc=dp;cy=dq;db=dr;}ds=cv+1>>0;dt=cw+1>>0;cv=ds;cw=dt;}}else{f=false;return f;}f=true;return f;};S=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be;f=$clone(f,A.Point);c=$clone(c,A.Rectangle);g=b.PixOffset(c.Min.X,c.Min.Y);h=g+(c.Dx()*4>>0)>>0;i=e.PixOffset(f.X,f.Y);j=d.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=c.Min.Y;p=f.Y;q=o;r=p;while(!((q===c.Max.Y))){s=g;t=i;u=s;v=t;while(u=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+v]))>>>0);if(x===0){y=u+4>>0;z=v+1>>0;u=y;v=z;continue;}x=(x|((x<<8>>>0)))>>>0;ac=((aa=b.Pix,ab=u+0>>0,((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]))>>>0);af=((ad=b.Pix,ae=u+1>>0,((ae<0||ae>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]))>>>0);ai=((ag=b.Pix,ah=u+2>>0,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]))>>>0);al=((aj=b.Pix,ak=u+3>>0,((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]))>>>0);ao=(am=(65535-((an=((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((am>>>16<<16)*257>>>0)+(am<<16>>>16)*257)>>>0);(aq=b.Pix,ar=u+0>>0,(ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=(((ap=((((((ac>>>16<<16)*ao>>>0)+(ac<<16>>>16)*ao)>>>0)+((((k>>>16<<16)*x>>>0)+(k<<16>>>16)*x)>>>0)>>>0))/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(at=b.Pix,au=u+1>>0,(au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=(((as=((((((af>>>16<<16)*ao>>>0)+(af<<16>>>16)*ao)>>>0)+((((l>>>16<<16)*x>>>0)+(l<<16>>>16)*x)>>>0)>>>0))/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(aw=b.Pix,ax=u+2>>0,(ax<0||ax>=aw.$length)?$throwRuntimeError("index out of range"):aw.$array[aw.$offset+ax]=(((av=((((((ai>>>16<<16)*ao>>>0)+(ai<<16>>>16)*ao)>>>0)+((((m>>>16<<16)*x>>>0)+(m<<16>>>16)*x)>>>0)>>>0))/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(az=b.Pix,ba=u+3>>0,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=(((ay=((((((al>>>16<<16)*ao>>>0)+(al<<16>>>16)*ao)>>>0)+((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)>>>0))/65535,(ay===ay&&ay!==1/0&&ay!==-1/0)?ay>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));bb=u+4>>0;bc=v+1>>0;u=bb;v=bc;}g=g+(b.Stride)>>0;h=h+(b.Stride)>>0;i=i+(e.Stride)>>0;bd=q+1>>0;be=r+1>>0;q=bd;r=be;}};T=function(b,c,d,e,f,g,h){var i,j,k,l,m,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,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;g=$clone(g,A.Point);e=$clone(e,A.Point);c=$clone(c,A.Rectangle);i=c.Min.X;j=c.Max.X;k=1;l=i;m=j;n=k;o=c.Min.Y;p=c.Max.Y;q=1;r=o;s=p;t=q;if($interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))){if(e.Y>0;v=l-1>>0;w=-1;l=u;m=v;n=w;x=s-1>>0;y=r-1>>0;z=-1;r=x;s=y;t=z;}}aa=(e.Y+r>>0)-c.Min.Y>>0;ab=(g.Y+r>>0)-c.Min.Y>>0;ac=(e.X+l>>0)-c.Min.X>>0;ad=(g.X+l>>0)-c.Min.X>>0;ae=ac+((m-l>>0))>>0;af=b.PixOffset(l,r);ag=n*4>>0;ah=r;while(!((ah===s))){ai=af;aj=ac;ak=ad;al=ai;am=aj;an=ak;while(!((am===ae))){ao=65535;if(!($interfaceIsEqual(f,$ifaceNil))){ap=f.At(an,ab).RGBA();ao=ap[3];}aq=d.At(am,aa).RGBA();ar=aq[0];as=aq[1];at=aq[2];au=aq[3];if(h===0){ax=((av=b.Pix,aw=al+0>>0,((aw<0||aw>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]))>>>0);ba=((ay=b.Pix,az=al+1>>0,((az<0||az>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+az]))>>>0);bd=((bb=b.Pix,bc=al+2>>0,((bc<0||bc>=bb.$length)?$throwRuntimeError("index out of range"):bb.$array[bb.$offset+bc]))>>>0);bg=((be=b.Pix,bf=al+3>>0,((bf<0||bf>=be.$length)?$throwRuntimeError("index out of range"):be.$array[be.$offset+bf]))>>>0);bj=(bh=(65535-((bi=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((bh>>>16<<16)*257>>>0)+(bh<<16>>>16)*257)>>>0);(bl=b.Pix,bm=al+0>>0,(bm<0||bm>=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bm]=(((bk=((((((ax>>>16<<16)*bj>>>0)+(ax<<16>>>16)*bj)>>>0)+((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bo=b.Pix,bp=al+1>>0,(bp<0||bp>=bo.$length)?$throwRuntimeError("index out of range"):bo.$array[bo.$offset+bp]=(((bn=((((((ba>>>16<<16)*bj>>>0)+(ba<<16>>>16)*bj)>>>0)+((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)>>>0))/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(br=b.Pix,bs=al+2>>0,(bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]=(((bq=((((((bd>>>16<<16)*bj>>>0)+(bd<<16>>>16)*bj)>>>0)+((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)>>>0))/65535,(bq===bq&&bq!==1/0&&bq!==-1/0)?bq>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bu=b.Pix,bv=al+3>>0,(bv<0||bv>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bv]=(((bt=((((((bg>>>16<<16)*bj>>>0)+(bg<<16>>>16)*bj)>>>0)+((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)>>>0))/65535,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}else{(bx=b.Pix,by=al+0>>0,(by<0||by>=bx.$length)?$throwRuntimeError("index out of range"):bx.$array[bx.$offset+by]=(((bw=((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)/65535,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(ca=b.Pix,cb=al+1>>0,(cb<0||cb>=ca.$length)?$throwRuntimeError("index out of range"):ca.$array[ca.$offset+cb]=(((bz=((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)/65535,(bz===bz&&bz!==1/0&&bz!==-1/0)?bz>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cd=b.Pix,ce=al+2>>0,(ce<0||ce>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+ce]=(((cc=((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cg=b.Pix,ch=al+3>>0,(ch<0||ch>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+ch]=(((cf=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}ci=al+ag>>0;cj=am+n>>0;ck=an+n>>0;al=ci;am=cj;an=ck;}af=af+((t*b.Stride>>0))>>0;cl=ah+t>>0;cm=aa+t>>0;cn=ab+t>>0;ah=cl;aa=cm;ab=cn;}};U=function(b){if(b<0){return 0;}if(b>65535){return 65535;}return b;};V=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=AE.nil;h=AF.nil;i=0;j=g;k=h;l=i;m=$assertType(b,Y,true);n=m[0];o=m[1];if(o){j=AE.make(n.Palette.$length);p=n.Palette;q=0;while(q=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]);t=s.RGBA();u=t[0];v=t[1];w=t[2];((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[0]=(u>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[1]=(v>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[2]=(w>>0);q++;}x=$subslice(n.Pix,n.PixOffset(c.Min.X,c.Min.Y));y=n.Stride;k=x;l=y;}z=AE.nil;aa=AE.nil;ab=z;ac=aa;if(f){ab=AE.make((c.Dx()+2>>0));ac=AE.make((c.Dx()+2>>0));}ad=new B.RGBA64.Ptr(0,0,0,65535);ae=0;while(!((ae===c.Dy()))){af=0;while(!((af===c.Dx()))){ag=d.At(e.X+af>>0,e.Y+ae>>0).RGBA();ah=ag[0];ai=ag[1];aj=ag[2];ak=(ah>>0);al=(ai>>0);am=(aj>>0);an=ak;ao=al;ap=am;if(f){an=U(an+(aq=(ar=af+1>>0,((ar<0||ar>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ar]))[0]/16,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero"))>>0);ao=U(ao+(as=(at=af+1>>0,((at<0||at>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+at]))[1]/16,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>0);ap=U(ap+(au=(av=af+1>>0,((av<0||av>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+av]))[2]/16,(au===au&&au!==1/0&&au!==-1/0)?au>>0:$throwRuntimeError("integer divide by zero"))>>0);}if(!(j===AE.nil)){aw=0;ax=4294967295;ay=aw;az=ax;ba=j;bb=0;while(bb=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+bb]),AD);be=((an-bd[0]>>0))>>1>>0;bf=(((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0);be=((ao-bd[1]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;be=((ap-bd[2]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;if(bf>0)+af>>0,(bi<0||bi>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bi]=(ay<<24>>>24));if(!f){af=af+(1)>>0;continue;}an=an-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[0])>>0;ao=ao-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[1])>>0;ap=ap-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[2])>>0;}else{ad.R=(an<<16>>>16);ad.G=(ao<<16>>>16);ad.B=(ap<<16>>>16);b.Set(c.Min.X+af>>0,c.Min.Y+ae>>0,ad);if(!f){af=af+(1)>>0;continue;}bj=b.At(c.Min.X+af>>0,c.Min.Y+ae>>0).RGBA();ah=bj[0];ai=bj[1];aj=bj[2];an=an-((ah>>0))>>0;ao=ao-((ai>>0))>>0;ap=ap-((aj>>0))>>0;}bk=(bm=af+0>>0,((bm<0||bm>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bm]));bl=0;(bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl]=((bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl])+(((((an>>>16<<16)*3>>0)+(an<<16>>>16)*3)>>0))>>0;bn=(bp=af+0>>0,((bp<0||bp>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bp]));bo=1;(bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo]=((bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo])+(((((ao>>>16<<16)*3>>0)+(ao<<16>>>16)*3)>>0))>>0;bq=(bs=af+0>>0,((bs<0||bs>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bs]));br=2;(br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br]=((br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br])+(((((ap>>>16<<16)*3>>0)+(ap<<16>>>16)*3)>>0))>>0;bt=(bv=af+1>>0,((bv<0||bv>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bv]));bu=0;(bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu]=((bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu])+(((((an>>>16<<16)*5>>0)+(an<<16>>>16)*5)>>0))>>0;bw=(by=af+1>>0,((by<0||by>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+by]));bx=1;(bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx]=((bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx])+(((((ao>>>16<<16)*5>>0)+(ao<<16>>>16)*5)>>0))>>0;bz=(cb=af+1>>0,((cb<0||cb>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cb]));ca=2;(ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca]=((ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca])+(((((ap>>>16<<16)*5>>0)+(ap<<16>>>16)*5)>>0))>>0;cc=(ce=af+2>>0,((ce<0||ce>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ce]));cd=0;(cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd]=((cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd])+(((((an>>>16<<16)*1>>0)+(an<<16>>>16)*1)>>0))>>0;cf=(ch=af+2>>0,((ch<0||ch>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ch]));cg=1;(cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg]=((cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg])+(((((ao>>>16<<16)*1>>0)+(ao<<16>>>16)*1)>>0))>>0;ci=(ck=af+2>>0,((ck<0||ck>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ck]));cj=2;(cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj]=((cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj])+(((((ap>>>16<<16)*1>>0)+(ap<<16>>>16)*1)>>0))>>0;cl=(cn=af+2>>0,((cn<0||cn>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cn]));cm=0;(cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm]=((cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm])+(((((an>>>16<<16)*7>>0)+(an<<16>>>16)*7)>>0))>>0;co=(cq=af+2>>0,((cq<0||cq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cq]));cp=1;(cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp]=((cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp])+(((((ao>>>16<<16)*7>>0)+(ao<<16>>>16)*7)>>0))>>0;cr=(ct=af+2>>0,((ct<0||ct>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ct]));cs=2;(cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs]=((cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs])+(((((ap>>>16<<16)*7>>0)+(ap<<16>>>16)*7)>>0))>>0;af=af+(1)>>0;}if(f){cu=ac;cv=ab;ab=cu;ac=cv;cw=ac;cx=0;while(cx=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cy]),AD.zero(),AD);cx++;}}ae=ae+(1)>>0;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}X=$ptrType(A.RGBA);Y=$ptrType(A.Paletted);Z=$ptrType(A.Uniform);AA=$ptrType(A.NRGBA);AB=$ptrType(A.YCbCr);AC=$ptrType(A.Alpha);AD=$arrayType($Int32,3);AE=$sliceType(AD);AF=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/graphics"]=(function(){var $pkg={},D,A,B,C,E,F,Q,R,S,T,U,V,W,X,H,K,L,N,G,I,J,M,O,P;D=$packages["errors"];A=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics/internal/shader"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];E=$packages["image"];F=$packages["image/draw"];H=$pkg.Framebuffer=$newType(0,$kindStruct,"graphics.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_,flipY_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flipY=flipY_!==undefined?flipY_:false;});K=$pkg.Matrix=$newType(8,$kindInterface,"graphics.Matrix","Matrix","github.com/hajimehoshi/ebiten/internal/graphics",null);L=$pkg.TextureQuads=$newType(8,$kindInterface,"graphics.TextureQuads","TextureQuads","github.com/hajimehoshi/ebiten/internal/graphics",null);N=$pkg.Texture=$newType(0,$kindStruct,"graphics.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});G=function(a,b,c,d){var e,f,g,h;e=2/(b-a>>0);f=2/(d-c>>0);g=-1*(b+a>>0)/(b-a>>0);h=-1*(d+c>>0)/(d-c>>0);return $toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,0,0,g]),$toNativeArray($kindFloat64,[0,f,0,h]),$toNativeArray($kindFloat64,[0,0,1,0]),$toNativeArray($kindFloat64,[0,0,0,1])]);};I=$pkg.NewZeroFramebuffer=function(a,b,c){var d;d=new H.Ptr($ifaceNil,b,c,true);return[d,$ifaceNil];};J=$pkg.NewFramebufferFromTexture=function(a,b){var c,d,e,f,g,h;c=a.NewFramebuffer(b.native$0);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[R.nil,e];}f=b.Size();g=f[0];h=f[1];return[new H.Ptr(d,g,h,false),$ifaceNil];};H.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};H.prototype.Size=function(){return this.$val.Size();};H.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteFramebuffer(b.native$0);};H.prototype.Dispose=function(a){return this.$val.Dispose(a);};H.Ptr.prototype.setAsViewport=function(a){var b,c,d;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);return a.SetViewport(b.native$0,c,d);};H.prototype.setAsViewport=function(a){return this.$val.setAsViewport(a);};H.Ptr.prototype.projectionMatrix=function(){var a,b,c,d,e,f,g,h;a=this;b=A.NextPowerOf2Int(a.width);c=A.NextPowerOf2Int(a.height);d=G(0,b,0,c);if(a.flipY){e=(d.nilCheck,d[1]);f=1;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(-1);g=(d.nilCheck,d[1]);h=3;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])+(a.height/A.NextPowerOf2Int(a.height)*2);}return d;};H.prototype.projectionMatrix=function(){return this.$val.projectionMatrix();};H.Ptr.prototype.Fill=function(a,b,c,d,e){var f,g;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return a.FillFramebuffer(f.native$0,b,c,d,e);};H.prototype.Fill=function(a,b,c,d,e){return this.$val.Fill(a,b,c,d,e);};H.Ptr.prototype.DrawTexture=function(a,b,c,d,e){var f,g,h;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=f.projectionMatrix();return B.DrawTexture(a,b.native$0,h,c,d,e);};H.prototype.DrawTexture=function(a,b,c,d,e){return this.$val.DrawTexture(a,b,c,d,e);};M=function(a){var b,c,d,e,f,g,h,i,j,k;b=a.Bounds().Size().X;c=a.Bounds().Size().Y;d=b;e=c;f=new E.Rectangle.Ptr($clone(E.ZP,E.Point),new E.Point.Ptr(A.NextPowerOf2Int(d),A.NextPowerOf2Int(e)));g=$assertType(a,S,true);h=g[0];i=g[1];if(i&&$equal(a.Bounds(),f,E.Rectangle)){return h;}j=E.NewRGBA(f);k=new E.Rectangle.Ptr($clone(E.ZP,E.Point),$clone(a.Bounds().Size(),E.Point));F.Draw(j,k,a,E.ZP,1);return j;};N.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};N.prototype.Size=function(){return this.$val.Size();};O=$pkg.NewTexture=function(a,b,c,d){var e,f,g,h,i;e=A.NextPowerOf2Int(b);f=A.NextPowerOf2Int(c);if(e<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(f<4){return[T.nil,D.New("height must be equal or more than 4.")];}g=a.NewTexture(e,f,U.nil,d);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,b,c),$ifaceNil];};P=$pkg.NewTextureFromImage=function(a,b,c){var d,e,f,g,h,i;d=$clone(b.Bounds().Size(),E.Point);if(d.X<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(d.Y<4){return[T.nil,D.New("height must be equal or more than 4.")];}e=M(b);f=$clone(e.Bounds().Size(),E.Point);g=a.NewTexture(f.X,f.Y,e.Pix,c);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,d.X,d.Y),$ifaceNil];};N.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteTexture(b.native$0);};N.prototype.Dispose=function(a){return this.$val.Dispose(a);};N.Ptr.prototype.Pixels=function(a){var b,c,d,e,f;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);e=c;f=d;return a.TexturePixels(b.native$0,e,f);};N.prototype.Pixels=function(a){return this.$val.Pixels(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Q=$arrayType($Float64,4);R=$ptrType(H);S=$ptrType(E.RGBA);T=$ptrType(N);U=$sliceType($Uint8);V=$ptrType(C.Context);W=$arrayType(Q,4);X=$ptrType(W);R.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["DrawTexture","DrawTexture","",$funcType([V,T,L,K,K],[$error],false),-1],["Fill","Fill","",$funcType([V,$Float64,$Float64,$Float64,$Float64],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["projectionMatrix","projectionMatrix","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([],[X],false),-1],["setAsViewport","setAsViewport","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([V],[$error],false),-1]];H.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Framebuffer,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["flipY","flipY","github.com/hajimehoshi/ebiten/internal/graphics",$Bool,""]]);K.init([["Element","Element","",$funcType([$Int,$Int],[$Float64],false)]]);L.init([["Len","Len","",$funcType([],[$Int],false)],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)]]);T.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["Pixels","Pixels","",$funcType([V],[U,$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1]];N.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Texture,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,AB,AC,AD,AE,AF,E,J,L,F,K,M,N,a,b,G,O,P,Q,R,S,T,U,V,W,X;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AE.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AE.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});J=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);E.Ptr.prototype.isKeyPressed=function(c){var d,e;d=this;return(e=d.keyPressed,((c<0||c>=e.length)?$throwRuntimeError("index out of range"):e[c]));};E.prototype.isKeyPressed=function(c){return this.$val.isKeyPressed(c);};G=$pkg.IsKeyPressed=function(c){return F.isKeyPressed(c);};E.Ptr.prototype.keyDown=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=true);};E.prototype.keyDown=function(c){return this.$val.keyDown(c);};E.Ptr.prototype.keyUp=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=false);};E.prototype.keyUp=function(c){return this.$val.keyUp(c);};E.Ptr.prototype.mouseDown=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=true;}else if(f===1){e.nilCheck,e[2]=true;}else if(f===2){e.nilCheck,e[1]=true;}};E.prototype.mouseDown=function(c){return this.$val.mouseDown(c);};E.Ptr.prototype.mouseUp=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=false;}else if(f===1){e.nilCheck,e[2]=false;}else if(f===2){e.nilCheck,e[1]=false;}};E.prototype.mouseUp=function(c){return this.$val.mouseUp(c);};E.Ptr.prototype.mouseMove=function(c,d){var e,f,g;e=this;f=c;g=d;e.cursorX=f;e.cursorY=g;};E.prototype.mouseMove=function(c,d){return this.$val.mouseMove(c,d);};O=function(){return!!!($global.document.hidden);};P=$pkg.Use=function(c){c(N);};Q=function($b){var $this=this,$args=arguments,$r,$s=0,c,d;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.requestAnimationFrame($externalize((function(){$close(c);}),AB));d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=Q($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case 2:if(!(!O())){$s=3;continue;}$r=Q($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$s=2;continue;case 3:case-1:}return;}};$f.$blocking=true;return $f;};S=$pkg.Terminate=function(){};T=$pkg.IsClosed=function(){return false;};U=$pkg.SwapBuffers=function(){};V=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.onload=$externalize((function(){$close(c);}),AB);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;e.onkeydown=$externalize((function(f){var g;g=$parseInt(f.keyCode)>>0;if(g===8){return false;}if(112<=g&&g<=123){return false;}if((g===37)&&(g===39)){return false;}return true;}),AC);M=e.createElement($externalize("canvas",$String));M.width=16;M.height=16;e.body.appendChild(M);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);e.body.onclick=$externalize((function(){M.focus();}),AB);h=M.style;h.position=$externalize("absolute",$String);i=B.NewContext(M,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}N=C.NewContext(j);M.setAttribute($externalize("tabindex",$String),1);M.style.outline=$externalize("none",$String);M.onkeydown=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyDown(m);return false;}),AC);M.onkeyup=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyUp(m);return false;}),AC);M.onmousedown=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseDown(m);return false;}),AC);M.onmouseup=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseUp(m);return false;}),AC);M.oncontextmenu=$externalize((function(l){return false;}),AC);case-1:}return;}};$f.$blocking=true;return $f;};W=function(){var c;c=$parseInt($global.window.devicePixelRatio)>>0;if(c===0){c=1;}return c;};X=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n,o,p;i=$global.document;i.title=$externalize(f,$String);g=e*W()>>0;M.width=c*g>>0;M.height=d*g>>0;j=M.style;k=c*e>>0;l=d*e>>0;j.width=$externalize(D.Itoa(k)+"px",$String);j.height=$externalize(D.Itoa(l)+"px",$String);j.left=$externalize("calc(50% - "+D.Itoa((m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((n=l/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);M.onmousemove=$externalize((function(o){var p,q,r,s,t,u,v;p=M.getBoundingClientRect();q=$parseInt(o.clientX)>>0;r=$parseInt(o.clientY)>>0;s=q;t=r;s=s-(($parseInt(p.left)>>0))>>0;t=t-(($parseInt(p.top)>>0))>>0;F.mouseMove((u=s/e,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero")),(v=t/e,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero")));}),AD);M.focus();o=g;p=$ifaceNil;g=o;h=p;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(C.Context);Z=$structType([]);AA=$chanType(Z,false,false);AB=$funcType([],[],false);AC=$funcType([A.Object],[$Bool],false);AD=$funcType([A.Object],[],false);AE=$arrayType($Bool,256);AF=$ptrType(E);AF.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([J],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseDown","mouseDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseMove","mouseMove","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int,$Int],[],false),-1],["mouseUp","mouseUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];E.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);F=new E.Ptr();M=null;N=Y.nil;K=(a=new $Map(),b=8,a[b]={k:b,v:37},b=9,a[b]={k:b,v:67},b=13,a[b]={k:b,v:44},b=16,a[b]={k:b,v:65},b=17,a[b]={k:b,v:40},b=18,a[b]={k:b,v:36},b=20,a[b]={k:b,v:38},b=27,a[b]={k:b,v:45},b=32,a[b]={k:b,v:66},b=33,a[b]={k:b,v:62},b=34,a[b]={k:b,v:61},b=35,a[b]={k:b,v:43},b=36,a[b]={k:b,v:58},b=37,a[b]={k:b,v:60},b=38,a[b]={k:b,v:68},b=39,a[b]={k:b,v:64},b=40,a[b]={k:b,v:42},b=45,a[b]={k:b,v:59},b=46,a[b]={k:b,v:41},b=48,a[b]={k:b,v:0},b=49,a[b]={k:b,v:1},b=50,a[b]={k:b,v:2},b=51,a[b]={k:b,v:3},b=52,a[b]={k:b,v:4},b=53,a[b]={k:b,v:5},b=54,a[b]={k:b,v:6},b=55,a[b]={k:b,v:7},b=56,a[b]={k:b,v:8},b=57,a[b]={k:b,v:9},b=65,a[b]={k:b,v:10},b=66,a[b]={k:b,v:11},b=67,a[b]={k:b,v:12},b=68,a[b]={k:b,v:13},b=69,a[b]={k:b,v:14},b=70,a[b]={k:b,v:15},b=71,a[b]={k:b,v:16},b=72,a[b]={k:b,v:17},b=73,a[b]={k:b,v:18},b=74,a[b]={k:b,v:19},b=75,a[b]={k:b,v:20},b=76,a[b]={k:b,v:21},b=77,a[b]={k:b,v:22},b=78,a[b]={k:b,v:23},b=79,a[b]={k:b,v:24},b=80,a[b]={k:b,v:25},b=81,a[b]={k:b,v:26},b=82,a[b]={k:b,v:27},b=83,a[b]={k:b,v:28},b=84,a[b]={k:b,v:29},b=85,a[b]={k:b,v:30},b=86,a[b]={k:b,v:31},b=87,a[b]={k:b,v:32},b=88,a[b]={k:b,v:33},b=89,a[b]={k:b,v:34},b=90,a[b]={k:b,v:35},b=112,a[b]={k:b,v:46},b=113,a[b]={k:b,v:47},b=114,a[b]={k:b,v:48},b=115,a[b]={k:b,v:49},b=116,a[b]={k:b,v:50},b=117,a[b]={k:b,v:51},b=118,a[b]={k:b,v:52},b=119,a[b]={k:b,v:53},b=120,a[b]={k:b,v:54},b=121,a[b]={k:b,v:55},b=122,a[b]={k:b,v:56},b=123,a[b]={k:b,v:57},b=188,a[b]={k:b,v:39},b=190,a[b]={k:b,v:63},a);$r=V($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,G,B,C,D,E,H,A,I,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,N,X,AE,AF,AH,AI,AL,AM,AN,AO,AP,AS,L,M,S,V,W,AA,AC,AD,AG,AJ,AK,AT;F=$packages["errors"];G=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];H=$packages["image/color"];A=$packages["math"];I=$packages["time"];N=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AV.zero();});X=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:BB.zero();});AE=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BD.nil;this.screen=screen_!==undefined?screen_:AW.nil;this.defaultR=defaultR_!==undefined?defaultR_:AW.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AF=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BI.nil;this.texture=texture_!==undefined?texture_:AX.nil;});AH=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AI=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AM=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AW.nil;this.pixels=pixels_!==undefined?pixels_:AZ.nil;});AN=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AO=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AP=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new X.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new N.Ptr();this.Parts=Parts_!==undefined?Parts_:BE.nil;});L=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};M=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};N.Ptr.prototype.dim=function(){var a;a=this;return 5;};N.prototype.dim=function(){return this.$val.dim();};N.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};N.prototype.initialize=function(){return this.$val.initialize();};N.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};N.prototype.Element=function(a,b){return this.$val.Element(a,b);};N.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());M(a,b,c);$copy(b,c,N);};N.prototype.Concat=function(a){return this.$val.Concat(a);};N.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());L(a,b,c);$copy(b,c,N);};N.prototype.Add=function(a){return this.$val.Add(a);};N.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};N.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};N.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};N.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};N.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};N.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};S=$pkg.IsKeyPressed=function(a){return D.IsKeyPressed((a>>0));};V=$pkg.NewImage=function(a,b,c){var d,e;d=AW.nil;e=$ifaceNil;D.Use((function(f){var g,h,i;g=AX.nil;h=B.NewTexture(f,a,b,AC(f,c));g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return;}i=AG(f,g);d=i[0];e=i[1];d.Clear(f);}));if(!($interfaceIsEqual(e,$ifaceNil))){return[AY.nil,e];}return[new AM.Ptr(d,AZ.nil),$ifaceNil];};W=$pkg.NewImageFromImage=function(a,b){var c,d;c=AW.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AX.nil;g=B.NewTextureFromImage(e,a,AC(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AG(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AY.nil,d];}return[new AM.Ptr(c,AZ.nil),$ifaceNil];};X.Ptr.prototype.dim=function(){var a;a=this;return 3;};X.prototype.dim=function(){return this.$val.dim();};X.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};X.prototype.initialize=function(){return this.$val.initialize();};X.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};X.prototype.Element=function(a,b){return this.$val.Element(a,b);};X.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());M(a,b,c);$copy(b,c,X);};X.prototype.Concat=function(a){return this.$val.Concat(a);};X.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());L(a,b,c);$copy(b,c,X);};X.prototype.Add=function(a){return this.$val.Add(a);};X.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};X.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};X.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};X.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};X.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(AA(a));};X.prototype.Rotate=function(a){return this.$val.Rotate(a);};X.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};X.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};AA=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new X.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AC=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AD=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}j=AG(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}return[new AE.Ptr(a,k,new AF.Ptr(f,AX.nil),d),$ifaceNil];};AE.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AE.prototype.preUpdate=function(){return this.$val.preUpdate();};AE.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AE.prototype.postUpdate=function(){return this.$val.postUpdate();};AG=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AF.Ptr(d,b),$ifaceNil];};AF.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AF.prototype.size=function(){return this.$val.size();};AF.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=H.Transparent,new c.constructor.Struct(c)));};AF.prototype.Clear=function(a){return this.$val.Clear(a);};AF.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=G.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AF.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AH.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AH).prototype.Len=function(){return this.$get().Len();};AH.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Dst=function(a){return this.$get().Dst(a);};AH.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Src=function(a){return this.$get().Src(a);};AI.Ptr.prototype.Len=function(){var a;a=this;return 1;};AI.prototype.Len=function(){return this.$val.Len();};AI.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Dst=function(a){return this.$val.Dst(a);};AI.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Src=function(a){return this.$val.Src(a);};AF.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BF.nil){c=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BE.nil)){e=$subslice(new AH(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AI.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AL.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AF.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AJ=function(a,b){return a/G.NextPowerOf2Int(b);};AK=function(a,b){return a/G.NextPowerOf2Int(b);};AL.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AL.prototype.Len=function(){return this.$val.Len();};AL.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AL.prototype.Vertex=function(a){return this.$val.Vertex(a);};AL.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AJ(h,n);q=AK(i,o);r=AJ(j,n);s=AK(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AL.prototype.Texture=function(a){return this.$val.Texture(a);};AM.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AM.prototype.Size=function(){return this.$val.Size();};AM.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AZ.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AM.prototype.Clear=function(){return this.$val.Clear();};AM.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AZ.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AM.prototype.Fill=function(a){return this.$val.Fill(a);};AM.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;if(d===a){c=F.New("Image.DrawImage: image should be different from the receiver");return c;}c=d.drawImage(a.inner,b);return c;};AM.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AM.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AZ.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AM.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AM.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AM.prototype.Bounds=function(){return this.$val.Bounds();};AM.Ptr.prototype.ColorModel=function(){var a;a=this;return H.RGBAModel;};AM.prototype.ColorModel=function(){return this.$val.ColorModel();};AM.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AZ.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=G.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new H.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AM.prototype.At=function(a,b){return this.$val.At(a,b);};AT=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l,m,n,o,p;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BC.nil;D.Use((function(j){var k;k=AD(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}j=0;k=I.Now().UnixNano();case 1:if(!(true)){$s=2;continue;}$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(l){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=a(new AM.Ptr(i.screen,AZ.nil));if(!($interfaceIsEqual(l,$ifaceNil))){return l;}D.Use((function(m){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}m=I.Now().UnixNano();j=j+(1)>>0;if((n=(o=new $Int64(m.$high-k.$high,m.$low-k.$low),new I.Duration(o.$high,o.$low)),(0>31)*4294967296))>>0);k=m;j=0;}$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AU=$arrayType($Float64,5);AV=$arrayType(AU,4);AW=$ptrType(AF);AX=$ptrType(B.Texture);AY=$ptrType(AM);AZ=$sliceType($Uint8);BA=$arrayType($Float64,3);BB=$arrayType(BA,2);BC=$ptrType(AE);BD=$ptrType(C.Context);BE=$sliceType(AN);BF=$ptrType(AP);BG=$ptrType(N);BH=$ptrType(X);BI=$ptrType(B.Framebuffer);BJ=$ptrType(AH);BK=$ptrType(AI);BL=$ptrType(AL);BG.methods=[["Add","Add","",$funcType([N],[],false),-1],["Concat","Concat","",$funcType([N],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];N.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AV,""]]);BH.methods=[["Add","Add","",$funcType([X],[],false),-1],["Concat","Concat","",$funcType([X],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];X.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",BB,""]]);BC.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AE.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BD,""],["screen","screen","github.com/hajimehoshi/ebiten",AW,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AW,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["Clear","Clear","",$funcType([BD],[$error],false),-1],["Fill","Fill","",$funcType([BD,H.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BD,AW,BF],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AF.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BI,""],["texture","texture","github.com/hajimehoshi/ebiten",AX,""]]);AH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BJ.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init(AN);BK.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AI.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BL.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AL.init([["parts","parts","github.com/hajimehoshi/ebiten",AO,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AY.methods=[["At","At","",$funcType([$Int,$Int],[H.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[H.Model],false),-1],["DrawImage","DrawImage","",$funcType([AY,BF],[$error],false),-1],["Fill","Fill","",$funcType([H.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AW,BF],[$error],false),-1]];AM.init([["inner","inner","github.com/hajimehoshi/ebiten",AW,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AZ,""]]);AN.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AO.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AP.init([["ImageParts","ImageParts","",AO,""],["GeoM","GeoM","",X,""],["ColorM","ColorM","",N,""],["Parts","Parts","",BE,""]]);AS=0;}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["sort"]=(function(){var $pkg={},AG,AK,U,A,D,F,G,H,I,J,K,L,M,N,X;U=$pkg.StringSlice=$newType(12,$kindSlice,"sort.StringSlice","StringSlice","sort",null);A=$pkg.Search=function(a,b){var c,d,e,f,g,h;c=0;d=a;e=c;f=d;while(e>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(!b(h)){e=h+1>>0;}else{f=h;}}return e;};D=$pkg.SearchStrings=function(a,b){return A(a.$length,(function(c){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])>=b;}));};U.prototype.Search=function(a){var b;b=this;return D($subslice(new AG(b.$array),b.$offset,b.$offset+b.$length),a);};$ptrType(U).prototype.Search=function(a){return this.$get().Search(a);};F=function(a,b){if(a>0;while(db&&a.Less(e,e-1>>0)){a.Swap(e,e-1>>0);e=e-(1)>>0;}d=d+(1)>>0;}};H=function(a,b,c,d){var e,f;e=b;while(true){f=(2*e>>0)+1>>0;if(f>=c){break;}if((f+1>>0)>0,(d+f>>0)+1>>0)){f=f+(1)>>0;}if(!a.Less(d+e>>0,d+f>>0)){return;}a.Swap(d+e>>0,d+f>>0);e=f;}};I=function(a,b,c){var d,e,f,g,h,i;d=b;e=0;f=c-b>>0;h=(g=((f-1>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));while(h>=0){H(a,h,f,d);h=h-(1)>>0;}i=f-1>>0;while(i>=0){a.Swap(d,d+i>>0);H(a,e,i,d);i=i-(1)>>0;}};J=function(a,b,c,d){var e,f,g;e=c;f=b;g=d;if(a.Less(f,e)){a.Swap(f,e);}if(a.Less(g,f)){a.Swap(g,f);}if(a.Less(f,e)){a.Swap(f,e);}};K=function(a,b,c,d){var e;e=0;while(e>0,c+e>>0);e=e+(1)>>0;}};L=function(a,b,c){var d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;g=b+(f=((c-b>>0))/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"))>>0;if((c-b>>0)>40){i=(h=((c-b>>0))/8,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));J(a,b,b+i>>0,b+(2*i>>0)>>0);J(a,g,g-i>>0,g+i>>0);J(a,c-1>>0,(c-1>>0)-i>>0,(c-1>>0)-(2*i>>0)>>0);}J(a,b,g,c-1>>0);j=b;k=b+1>>0;l=b+1>>0;m=c;n=c;o=k;p=l;q=m;r=n;while(true){while(p>0;}else if(!a.Less(j,p)){a.Swap(o,p);o=o+(1)>>0;p=p+(1)>>0;}else{break;}}while(p>0)){q=q-(1)>>0;}else if(!a.Less(q-1>>0,j)){a.Swap(q-1>>0,r-1>>0);q=q-(1)>>0;r=r-(1)>>0;}else{break;}}if(p>=q){break;}a.Swap(p,q-1>>0);p=p+(1)>>0;q=q-(1)>>0;}s=F(p-o>>0,o-b>>0);K(a,b,p-s>>0,s);s=F(c-r>>0,r-q>>0);K(a,q,c-s>>0,s);t=(b+p>>0)-o>>0;u=c-((r-q>>0))>>0;d=t;e=u;return[d,e];};M=function(a,b,c,d){var e,f,g;while((c-b>>0)>7){if(d===0){I(a,b,c);return;}d=d-(1)>>0;e=L(a,b,c);f=e[0];g=e[1];if((f-b>>0)<(c-g>>0)){M(a,b,f,d);b=g;}else{M(a,g,c,d);c=f;}}if((c-b>>0)>1){G(a,b,c);}};N=$pkg.Sort=function(a){var b,c,d;b=a.Len();c=0;d=b;while(d>0){c=c+(1)>>0;d=(d>>$min((1),31))>>0;}c=c*(2)>>0;M(a,0,b,c);};U.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(U).prototype.Len=function(){return this.$get().Len();};U.prototype.Less=function(a,b){var c;c=this;return((a<0||a>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+a])<((b<0||b>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+b]);};$ptrType(U).prototype.Less=function(a,b){return this.$get().Less(a,b);};U.prototype.Swap=function(a,b){var c,d,e;c=this;d=((b<0||b>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+a]);(a<0||a>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+a]=d;(b<0||b>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+b]=e;};$ptrType(U).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};U.prototype.Sort=function(){var a;a=this;N(a);};$ptrType(U).prototype.Sort=function(){return this.$get().Sort();};X=$pkg.Strings=function(a){N($subslice(new U(a.$array),a.$offset,a.$offset+a.$length));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:AG=$sliceType($String);AK=$ptrType(U);U.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Less","Less","",$funcType([$Int,$Int],[$Bool],false),-1],["Search","Search","",$funcType([$String],[$Int],false),-1],["Sort","Sort","",$funcType([],[],false),-1],["Swap","Swap","",$funcType([$Int,$Int],[],false),-1]];AK.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Less","Less","",$funcType([$Int,$Int],[$Bool],false),-1],["Search","Search","",$funcType([$String],[$Int],false),-1],["Sort","Sort","",$funcType([],[],false),-1],["Swap","Swap","",$funcType([$Int,$Int],[],false),-1]];U.init($String);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["compress/flate"]=(function(){var $pkg={},E,A,B,C,D,F,BK,BL,BM,BN,BU,BV,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CS,CT,CU,CW,Y,Z,AK,AL,AM,AO,AP,AQ,AR,Q,AF,AG,AS,AW,G,AC,AD,AE,AT,AU,AV,AX,AY;E=$packages["bufio"];A=$packages["fmt"];B=$packages["io"];C=$packages["math"];D=$packages["sort"];F=$packages["strconv"];Y=$pkg.huffmanEncoder=$newType(0,$kindStruct,"flate.huffmanEncoder","huffmanEncoder","compress/flate",function(codeBits_,code_){this.$val=this;this.codeBits=codeBits_!==undefined?codeBits_:BV.nil;this.code=code_!==undefined?code_:BX.nil;});Z=$pkg.literalNode=$newType(0,$kindStruct,"flate.literalNode","literalNode","compress/flate",function(literal_,freq_){this.$val=this;this.literal=literal_!==undefined?literal_:0;this.freq=freq_!==undefined?freq_:0;});AK=$pkg.CorruptInputError=$newType(8,$kindInt64,"flate.CorruptInputError","CorruptInputError","compress/flate",null);AL=$pkg.InternalError=$newType(8,$kindString,"flate.InternalError","InternalError","compress/flate",null);AM=$pkg.ReadError=$newType(0,$kindStruct,"flate.ReadError","ReadError","compress/flate",function(Offset_,Err_){this.$val=this;this.Offset=Offset_!==undefined?Offset_:new $Int64(0,0);this.Err=Err_!==undefined?Err_:$ifaceNil;});AO=$pkg.Resetter=$newType(8,$kindInterface,"flate.Resetter","Resetter","compress/flate",null);AP=$pkg.huffmanDecoder=$newType(0,$kindStruct,"flate.huffmanDecoder","huffmanDecoder","compress/flate",function(min_,chunks_,links_,linkMask_){this.$val=this;this.min=min_!==undefined?min_:0;this.chunks=chunks_!==undefined?chunks_:CC.zero();this.links=links_!==undefined?links_:BL.nil;this.linkMask=linkMask_!==undefined?linkMask_:0;});AQ=$pkg.Reader=$newType(8,$kindInterface,"flate.Reader","Reader","compress/flate",null);AR=$pkg.decompressor=$newType(0,$kindStruct,"flate.decompressor","decompressor","compress/flate",function(r_,roffset_,woffset_,b_,nb_,h1_,h2_,bits_,codebits_,hist_,hp_,hw_,hfull_,buf_,step_,final$15_,err_,toRead_,hl_,hd_,copyLen_,copyDist_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.roffset=roffset_!==undefined?roffset_:new $Int64(0,0);this.woffset=woffset_!==undefined?woffset_:new $Int64(0,0);this.b=b_!==undefined?b_:0;this.nb=nb_!==undefined?nb_:0;this.h1=h1_!==undefined?h1_:new AP.Ptr();this.h2=h2_!==undefined?h2_:new AP.Ptr();this.bits=bits_!==undefined?bits_:CH.nil;this.codebits=codebits_!==undefined?codebits_:CJ.nil;this.hist=hist_!==undefined?hist_:CL.nil;this.hp=hp_!==undefined?hp_:0;this.hw=hw_!==undefined?hw_:0;this.hfull=hfull_!==undefined?hfull_:false;this.buf=buf_!==undefined?buf_:CM.zero();this.step=step_!==undefined?step_:$throwNilPointerError;this.final$15=final$15_!==undefined?final$15_:false;this.err=err_!==undefined?err_:$ifaceNil;this.toRead=toRead_!==undefined?toRead_:BM.nil;this.hl=hl_!==undefined?hl_:CF.nil;this.hd=hd_!==undefined?hd_:CF.nil;this.copyLen=copyLen_!==undefined?copyLen_:0;this.copyDist=copyDist_!==undefined?copyDist_:0;});G=function(a,b,c,d){var e;if(b<=c){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}while(true){if(b>=(c+d>>0)){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}e=b-c>>0;$copySlice($subslice(a,b,(b+e>>0)),$subslice(a,c,(c+e>>0)));d=d-(e)>>0;b=b+(e)>>0;}};AC=function(a){return new Y.Ptr(BV.make(a),BX.make(a));};AD=function(){var a,b,c,d,e,f;a=AC(286);b=a.codeBits;c=a.code;d=0;d=0;while(d<286){e=0;f=0;switch(0){default:if(d<144){e=d+48<<16>>>16;f=8;break;}else if(d<256){e=(d+400<<16>>>16)-144<<16>>>16;f=9;break;}else if(d<280){e=d-256<<16>>>16;f=7;break;}else{e=(d+192<<16>>>16)-280<<16>>>16;f=8;}}(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=f;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(e,f);d=d+(1)<<16>>>16;}return a;};AE=function(){var a,b,c,d;a=AC(30);b=a.codeBits;c=a.code;d=0;while(d<30){(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=5;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(d,5);d=d+(1)<<16>>>16;}return a;};AK.prototype.Error=function(){var a;a=this;return"flate: corrupt input before offset "+F.FormatInt(new $Int64(a.$high,a.$low),10);};$ptrType(AK).prototype.Error=function(){return this.$get().Error();};AL.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"flate: internal error: "+a;};$ptrType(AL).prototype.Error=function(){return new AL(this.$get()).Error();};AM.Ptr.prototype.Error=function(){var a;a=this;return"flate: read error at offset "+F.FormatInt(a.Offset,10)+": "+a.Err.Error();};AM.prototype.Error=function(){return this.$val.Error();};AP.Ptr.prototype.init=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax;b=this;if(!((b.min===0))){$copy(b,new AP.Ptr(0,CC.zero(),BL.nil,0),AP);}c=$clone(CD.zero(),CD);d=0;e=0;f=d;g=e;h=a;i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);if(j===0){i++;continue;}if((f===0)||jg){g=j;}k=c;l=j;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])+(1)>>0;i++;}if(g===0){return false;}b.min=f;m=0;n=0;if(g>9){m=(g>>>0)-9>>>0;n=(o=m,o<32?(1<>0;b.linkMask=((n-1>>0)>>>0);}p=0;q=$clone(CD.zero(),CD);r=f;while(r<=g){if(r===10){s=p>>1>>0;if(512>0));t=(s>>>0);while(t<512){w=((u=t>>>8>>>0,((u<0||u>=AW.length)?$throwRuntimeError("index out of range"):AW[u]))>>0)|(((v=(t&255)>>>0,((v<0||v>=AW.length)?$throwRuntimeError("index out of range"):AW[v]))>>0)<<8>>0);w=(w>>$min((7),31))>>0;x=t-(s>>>0)>>>0;(y=b.chunks,(w<0||w>=y.length)?$throwRuntimeError("index out of range"):y[w]=(((x<<4>>>0)+(r>>>0)>>>0)>>>0));(aa=b.links,(x<0||x>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+x]=BK.make(((z=m,z<32?(1<>0)));t=t+(1)>>>0;}}ab=((r<0||r>=c.length)?$throwRuntimeError("index out of range"):c[r]);(r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r]=p;p=p+(ab)>>0;p=(ac=(1),ac<32?(p<>0;r=r+(1)>>0;}ad=a;ae=0;while(ae=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]);if(ag===0){ae++;continue;}ah=((ag<0||ag>=q.length)?$throwRuntimeError("index out of range"):q[ag]);ai=q;aj=ag;(aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj]=((aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj])+(1)>>0;ak=(((af<<4>>0)|ag)>>>0);an=((al=ah>>8>>0,((al<0||al>=AW.length)?$throwRuntimeError("index out of range"):AW[al]))>>0)|(((am=ah&255,((am<0||am>=AW.length)?$throwRuntimeError("index out of range"):AW[am]))>>0)<<8>>0);an=(an>>$min((((16-ag>>0)>>>0)),31))>>0;if(ag<=9){ao=an;while(ao<512){(ap=b.chunks,(ao<0||ao>=ap.length)?$throwRuntimeError("index out of range"):ap[ao]=ak);ao=ao+(((aq=(ag>>>0),aq<32?(1<>0))>>0;}}else{at=(ar=b.chunks,as=an&511,((as<0||as>=ar.length)?$throwRuntimeError("index out of range"):ar[as]))>>>4>>>0;if(at>=(b.links.$length>>>0)){return false;}av=(au=b.links,((at<0||at>=au.$length)?$throwRuntimeError("index out of range"):au.$array[au.$offset+at]));an=(an>>$min((9),31))>>0;aw=an;while(aw=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]=ak;aw=aw+(((ax=((ag-9>>0)>>>0),ax<32?(1<>0))>>0;}}ae++;}return true;};AP.prototype.init=function(a){return this.$val.init(a);};AR.Ptr.prototype.nextBlock=function(){var a,b,c,d,e,f;a=this;if(a.final$15){if(!((a.hw===a.hp))){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.err=B.EOF;return;}while(a.nb<3){a.err=a.moreBits();if(!($interfaceIsEqual(a.err,$ifaceNil))){return;}}a.final$15=((a.b&1)>>>0)===1;a.b=(b=(1),b<32?(a.b>>>b):0)>>>0;c=(a.b&3)>>>0;a.b=(d=(2),d<32?(a.b>>>d):0)>>>0;a.nb=a.nb-(3)>>>0;e=c;switch(0){default:if(e===0){a.dataBlock();}else if(e===1){a.hl=Q;a.hd=CF.nil;a.huffmanBlock();}else if(e===2){a.err=a.readHuffman();if(!($interfaceIsEqual(a.err,$ifaceNil))){break;}a.hl=a.h1;a.hd=a.h2;a.huffmanBlock();}else{a.err=(f=a.roffset,new AK(f.$high,f.$low));}}};AR.prototype.nextBlock=function(){return this.$val.nextBlock();};AR.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.step(b);}};AR.prototype.Read=function(a){return this.$val.Read(a);};AR.Ptr.prototype.Close=function(){var a;a=this;if($interfaceIsEqual(a.err,B.EOF)){return $ifaceNil;}return a.err;};AR.prototype.Close=function(){return this.$val.Close();};AR.Ptr.prototype.readHuffman=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,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an;a=this;while(a.nb<14){b=a.moreBits();if(!($interfaceIsEqual(b,$ifaceNil))){return b;}}c=(((a.b&31)>>>0)>>0)+257>>0;if(c>286){return(d=a.roffset,new AK(d.$high,d.$low));}a.b=(e=(5),e<32?(a.b>>>e):0)>>>0;f=(((a.b&31)>>>0)>>0)+1>>0;a.b=(g=(5),g<32?(a.b>>>g):0)>>>0;h=(((a.b&15)>>>0)>>0)+4>>0;a.b=(i=(4),i<32?(a.b>>>i):0)>>>0;a.nb=a.nb-(14)>>>0;j=0;while(j=AS.length)?$throwRuntimeError("index out of range"):AS[j]),l.nilCheck,(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((a.b&7)>>>0)>>0));a.b=(n=(3),n<32?(a.b>>>n):0)>>>0;a.nb=a.nb-(3)>>>0;j=j+(1)>>0;}o=h;while(o<19){(p=a.codebits,q=((o<0||o>=AS.length)?$throwRuntimeError("index out of range"):AS[o]),p.nilCheck,(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=0);o=o+(1)>>0;}if(!a.h1.init($subslice(new BN(a.codebits),0))){return(r=a.roffset,new AK(r.$high,r.$low));}s=0;t=c+f>>0;u=s;v=t;while(u=z.length)?$throwRuntimeError("index out of range"):z[u]=x);u=u+(1)>>0;continue;}aa=0;ab=0;ac=0;ad=x;if(ad===16){aa=3;ab=2;if(u===0){return(ae=a.roffset,new AK(ae.$high,ae.$low));}ac=(af=a.bits,ag=u-1>>0,(af.nilCheck,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag])));}else if(ad===17){aa=3;ab=3;ac=0;}else if(ad===18){aa=11;ab=7;ac=0;}else{return new AL("unexpected length code");}while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(aj=(ab),aj<32?(a.b>>>aj):0)>>>0;a.nb=a.nb-(ab)>>>0;if((u+aa>>0)>v){return(ak=a.roffset,new AK(ak.$high,ak.$low));}al=0;while(al=am.length)?$throwRuntimeError("index out of range"):am[u]=ac);u=u+(1)>>0;al=al+(1)>>0;}}if(!a.h1.init($subslice(new BN(a.bits),0,c))||!a.h2.init($subslice(new BN(a.bits),c,(c+f>>0)))){return(an=a.roffset,new AK(an.$high,an.$low));}return $ifaceNil;};AR.prototype.readHuffman=function(){return this.$val.readHuffman();};AR.Ptr.prototype.huffmanBlock=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;a=this;while(true){b=a.huffSym(a.hl);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}e=0;f=0;if(c<256){(g=a.hist,h=a.hp,g.nilCheck,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));a.hp=a.hp+(1)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.huffmanBlock));return;}continue;}else if(c===256){a.step=$methodExpr(CE.prototype.nextBlock);return;}else if(c<265){f=c-254>>0;e=0;}else if(c<269){f=(c*2>>0)-519>>0;e=1;}else if(c<273){f=(c*4>>0)-1057>>0;e=2;}else if(c<277){f=(c*8>>0)-2149>>0;e=3;}else if(c<281){f=(c*16>>0)-4365>>0;e=4;}else if(c<285){f=(c*32>>0)-8861>>0;e=5;}else{f=258;e=0;}if(e>0){while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(j=(e),j<32?(a.b>>>j):0)>>>0;a.nb=a.nb-(e)>>>0;}k=0;if(a.hd===CF.nil){while(a.nb<5){d=a.moreBits();if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}k=((l=(((a.b&31)>>>0))<<3>>>0,((l<0||l>=AW.length)?$throwRuntimeError("index out of range"):AW[l]))>>0);a.b=(m=(5),m<32?(a.b>>>m):0)>>>0;a.nb=a.nb-(5)>>>0;}else{n=a.huffSym(a.hd);k=n[0];d=n[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}if(k<4){k=k+(1)>>0;}else if(k>=30){a.err=(o=a.roffset,new AK(o.$high,o.$low));return;}else{p=((k-2>>0)>>>0)>>>1>>>0;r=(q=p,q<32?(((k&1))<>0;while(a.nb>>0)-1>>>0))>>>0)>>0));a.b=(t=(p),t<32?(a.b>>>t):0)>>>0;a.nb=a.nb-(p)>>>0;k=(((u=((p+1>>>0)),u<32?(1<>0)+1>>0)+r>>0;}if(k>32768){a.err=new AL("bad history distance");return;}if(!a.hfull&&k>a.hp){a.err=(v=a.roffset,new AK(v.$high,v.$low));return;}w=f;x=k;a.copyLen=w;a.copyDist=x;if(a.copyHist()){return;}}};AR.prototype.huffmanBlock=function(){return this.$val.huffmanBlock();};AR.Ptr.prototype.copyHist=function(){var a,b,c,d,e;a=this;b=a.hp-a.copyDist>>0;if(b<0){b=b+(32768)>>0;}while(a.copyLen>0){c=a.copyLen;d=32768-a.hp>>0;if(c>d){c=d;}e=32768-b>>0;if(c>e){c=e;}G(new BM(a.hist),a.hp,b,c);b=b+(c)>>0;a.hp=a.hp+(c)>>0;a.copyLen=a.copyLen-(c)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.copyHuff));return true;}if(b===32768){b=0;}}return false;};AR.prototype.copyHist=function(){return this.$val.copyHist();};AR.Ptr.prototype.copyHuff=function(){var a;a=this;if(a.copyHist()){return;}a.huffmanBlock();};AR.prototype.copyHuff=function(){return this.$val.copyHuff();};AR.Ptr.prototype.dataBlock=function(){var a,b,c,d,e,f,g,h,i;a=this;a.nb=0;a.b=0;b=B.ReadFull(a.r,$subslice(new BM(a.buf),0,4));c=b[0];d=b[1];a.roffset=(e=a.roffset,f=new $Int64(0,c),new $Int64(e.$high+f.$high,e.$low+f.$low));if(!($interfaceIsEqual(d,$ifaceNil))){a.err=new AM.Ptr(a.roffset,d);return;}g=(a.buf[0]>>0)|((a.buf[1]>>0)<<8>>0);h=(a.buf[2]>>0)|((a.buf[3]>>0)<<8>>0);if(!(((h<<16>>>16)===((~g>>0)<<16>>>16)))){a.err=(i=a.roffset,new AK(i.$high,i.$low));return;}if(g===0){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.copyLen=g;a.copyData();};AR.prototype.dataBlock=function(){return this.$val.dataBlock();};AR.Ptr.prototype.copyData=function(){var a,b,c,d,e,f,g;a=this;b=a.copyLen;while(b>0){c=32768-a.hp>>0;if(c>b){c=b;}d=B.ReadFull(a.r,$subslice(new BM(a.hist),a.hp,(a.hp+c>>0)));c=d[0];e=d[1];a.roffset=(f=a.roffset,g=new $Int64(0,c),new $Int64(f.$high+g.$high,f.$low+g.$low));if(!($interfaceIsEqual(e,$ifaceNil))){a.err=new AM.Ptr(a.roffset,e);return;}b=b-(c)>>0;a.hp=a.hp+(c)>>0;if(a.hp===32768){a.copyLen=b;a.flush($methodExpr(CE.prototype.copyData));return;}}a.step=$methodExpr(CE.prototype.nextBlock);};AR.prototype.copyData=function(){return this.$val.copyData();};AR.Ptr.prototype.setDict=function(a){var b;b=this;if(a.$length>32768){a=$subslice(a,(a.$length-32768>>0));}b.hp=$copySlice(new BM(b.hist),a);if(b.hp===32768){b.hp=0;b.hfull=true;}b.hw=b.hp;};AR.prototype.setDict=function(a){return this.$val.setDict(a);};AR.Ptr.prototype.moreBits=function(){var a,b,c,d,e,f,g;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,B.EOF)){d=B.ErrUnexpectedEOF;}return d;}a.roffset=(e=a.roffset,f=new $Int64(0,1),new $Int64(e.$high+f.$high,e.$low+f.$low));a.b=(a.b|(((g=a.nb,g<32?((c>>>0)<>>0)))>>>0;a.nb=a.nb+(8)>>>0;return $ifaceNil;};AR.prototype.moreBits=function(){return this.$val.moreBits();};AR.Ptr.prototype.huffSym=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;c=(a.min>>>0);while(true){while(b.nb>>0,((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]));c=(((g&15)>>>0)>>>0);if(c>9){g=(h=(i=a.links,j=g>>>4>>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),k=(((b.b>>>9>>>0))&a.linkMask)>>>0,((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]));c=(((g&15)>>>0)>>>0);if(c===0){b.err=(l=b.roffset,new AK(l.$high,l.$low));return[0,b.err];}}if(c<=b.nb){b.b=(m=(c),m<32?(b.b>>>m):0)>>>0;b.nb=b.nb-(c)>>>0;return[((g>>>4>>>0)>>0),$ifaceNil];}}};AR.prototype.huffSym=function(a){return this.$val.huffSym(a);};AR.Ptr.prototype.flush=function(a){var b,c,d;b=this;b.toRead=$subslice(new BM(b.hist),b.hw,b.hp);b.woffset=(c=b.woffset,d=new $Int64(0,(b.hp-b.hw>>0)),new $Int64(c.$high+d.$high,c.$low+d.$low));b.hw=b.hp;if(b.hp===32768){b.hp=0;b.hw=0;b.hfull=true;}b.step=a;};AR.prototype.flush=function(a){return this.$val.flush(a);};AT=function(a){var b,c,d;b=$assertType(a,AQ,true);c=b[0];d=b[1];if(d){return c;}return E.NewReader(a);};AR.Ptr.prototype.Reset=function(a,b){var c;c=this;$copy(c,new AR.Ptr(AT(a),new $Int64(0,0),new $Int64(0,0),0,0,new AP.Ptr(),new AP.Ptr(),c.bits,c.codebits,c.hist,0,0,false,CM.zero(),$methodExpr(CE.prototype.nextBlock),false,$ifaceNil,BM.nil,CF.nil,CF.nil,0,0),AR);if(!(b===BM.nil)){c.setDict(b);}return $ifaceNil;};AR.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};AU=$pkg.NewReader=function(a){var b;b=$clone(new AR.Ptr(),AR);b.bits=CG.zero();b.codebits=CI.zero();b.r=AT(a);b.hist=CK.zero();b.step=$methodExpr(CE.prototype.nextBlock);return b;};AV=$pkg.NewReaderDict=function(a,b){var c;c=$clone(new AR.Ptr(),AR);c.r=AT(a);c.hist=CK.zero();c.bits=CG.zero();c.codebits=CI.zero();c.step=$methodExpr(CE.prototype.nextBlock);c.setDict(b);return c;};AX=function(a){var b,c;return(((b=a>>>8<<16>>>16,((b<0||b>=AW.length)?$throwRuntimeError("index out of range"):AW[b]))<<16>>>16)|(((c=(a&255)>>>0,((c<0||c>=AW.length)?$throwRuntimeError("index out of range"):AW[c]))<<16>>>16)<<8<<16>>>16))>>>0;};AY=function(a,b){var c;return AX((c=(16-b<<24>>>24),c<32?(a<>>16);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}BK=$sliceType($Uint32);BL=$sliceType(BK);BM=$sliceType($Uint8);BN=$sliceType($Int);BU=$sliceType($Int32);BV=$sliceType($Uint8);BW=$ptrType(Y);BX=$sliceType($Uint16);CB=$sliceType(Z);CC=$arrayType($Uint32,512);CD=$arrayType($Int,16);CE=$ptrType(AR);CF=$ptrType(AP);CG=$arrayType($Int,318);CH=$ptrType(CG);CI=$arrayType($Int,19);CJ=$ptrType(CI);CK=$arrayType($Uint8,32768);CL=$ptrType(CK);CM=$arrayType($Uint8,4);CS=$ptrType(AK);CT=$ptrType(AL);CU=$ptrType(AM);CW=$funcType([CE],[],false);BW.methods=[["assignEncodingAndSize","assignEncodingAndSize","compress/flate",$funcType([BU,CB],[],false),-1],["bitCounts","bitCounts","compress/flate",$funcType([CB,$Int32],[BU],false),-1],["bitLength","bitLength","compress/flate",$funcType([BU],[$Int64],false),-1],["generate","generate","compress/flate",$funcType([BU,$Int32],[],false),-1]];Y.init([["codeBits","codeBits","compress/flate",BV,""],["code","code","compress/flate",BX,""]]);Z.init([["literal","literal","compress/flate",$Uint16,""],["freq","freq","compress/flate",$Int32,""]]);AK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CS.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CT.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CU.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AM.init([["Offset","Offset","",$Int64,""],["Err","Err","",$error,""]]);AO.init([["Reset","Reset","",$funcType([B.Reader,BM],[$error],false)]]);CF.methods=[["init","init","compress/flate",$funcType([BN],[$Bool],false),-1]];AP.init([["min","min","compress/flate",$Int,""],["chunks","chunks","compress/flate",CC,""],["links","links","compress/flate",BL,""],["linkMask","linkMask","compress/flate",$Uint32,""]]);AQ.init([["Read","Read","",$funcType([BM],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);CE.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([BM],[$Int,$error],false),-1],["Reset","Reset","",$funcType([B.Reader,BM],[$error],false),-1],["copyData","copyData","compress/flate",$funcType([],[],false),-1],["copyHist","copyHist","compress/flate",$funcType([],[$Bool],false),-1],["copyHuff","copyHuff","compress/flate",$funcType([],[],false),-1],["dataBlock","dataBlock","compress/flate",$funcType([],[],false),-1],["flush","flush","compress/flate",$funcType([CW],[],false),-1],["huffSym","huffSym","compress/flate",$funcType([CF],[$Int,$error],false),-1],["huffmanBlock","huffmanBlock","compress/flate",$funcType([],[],false),-1],["moreBits","moreBits","compress/flate",$funcType([],[$error],false),-1],["nextBlock","nextBlock","compress/flate",$funcType([],[],false),-1],["readHuffman","readHuffman","compress/flate",$funcType([],[$error],false),-1],["setDict","setDict","compress/flate",$funcType([BM],[],false),-1]];AR.init([["r","r","compress/flate",AQ,""],["roffset","roffset","compress/flate",$Int64,""],["woffset","woffset","compress/flate",$Int64,""],["b","b","compress/flate",$Uint32,""],["nb","nb","compress/flate",$Uint,""],["h1","h1","compress/flate",AP,""],["h2","h2","compress/flate",AP,""],["bits","bits","compress/flate",CH,""],["codebits","codebits","compress/flate",CJ,""],["hist","hist","compress/flate",CL,""],["hp","hp","compress/flate",$Int,""],["hw","hw","compress/flate",$Int,""],["hfull","hfull","compress/flate",$Bool,""],["buf","buf","compress/flate",CM,""],["step","step","compress/flate",CW,""],["final$15","final","compress/flate",$Bool,""],["err","err","compress/flate",$error,""],["toRead","toRead","compress/flate",BM,""],["hl","hl","compress/flate",CF,""],["hd","hd","compress/flate",CF,""],["copyLen","copyLen","compress/flate",$Int,""],["copyDist","copyDist","compress/flate",$Int,""]]);Q=new AP.Ptr(7,$toNativeArray($kindUint32,[4103,1288,264,4488,4359,1800,776,3081,4231,1544,520,2569,8,2056,1032,3593,4167,1416,392,2313,4423,1928,904,3337,4295,1672,648,2825,136,2184,1160,3849,4135,1352,328,4552,4391,1864,840,3209,4263,1608,584,2697,72,2120,1096,3721,4199,1480,456,2441,4455,1992,968,3465,4327,1736,712,2953,200,2248,1224,3977,4119,1320,296,4520,4375,1832,808,3145,4247,1576,552,2633,40,2088,1064,3657,4183,1448,424,2377,4439,1960,936,3401,4311,1704,680,2889,168,2216,1192,3913,4151,1384,360,4584,4407,1896,872,3273,4279,1640,616,2761,104,2152,1128,3785,4215,1512,488,2505,4471,2024,1000,3529,4343,1768,744,3017,232,2280,1256,4041,4103,1304,280,4504,4359,1816,792,3113,4231,1560,536,2601,24,2072,1048,3625,4167,1432,408,2345,4423,1944,920,3369,4295,1688,664,2857,152,2200,1176,3881,4135,1368,344,4568,4391,1880,856,3241,4263,1624,600,2729,88,2136,1112,3753,4199,1496,472,2473,4455,2008,984,3497,4327,1752,728,2985,216,2264,1240,4009,4119,1336,312,4536,4375,1848,824,3177,4247,1592,568,2665,56,2104,1080,3689,4183,1464,440,2409,4439,1976,952,3433,4311,1720,696,2921,184,2232,1208,3945,4151,1400,376,4600,4407,1912,888,3305,4279,1656,632,2793,120,2168,1144,3817,4215,1528,504,2537,4471,2040,1016,3561,4343,1784,760,3049,248,2296,1272,4073,4103,1288,264,4488,4359,1800,776,3097,4231,1544,520,2585,8,2056,1032,3609,4167,1416,392,2329,4423,1928,904,3353,4295,1672,648,2841,136,2184,1160,3865,4135,1352,328,4552,4391,1864,840,3225,4263,1608,584,2713,72,2120,1096,3737,4199,1480,456,2457,4455,1992,968,3481,4327,1736,712,2969,200,2248,1224,3993,4119,1320,296,4520,4375,1832,808,3161,4247,1576,552,2649,40,2088,1064,3673,4183,1448,424,2393,4439,1960,936,3417,4311,1704,680,2905,168,2216,1192,3929,4151,1384,360,4584,4407,1896,872,3289,4279,1640,616,2777,104,2152,1128,3801,4215,1512,488,2521,4471,2024,1000,3545,4343,1768,744,3033,232,2280,1256,4057,4103,1304,280,4504,4359,1816,792,3129,4231,1560,536,2617,24,2072,1048,3641,4167,1432,408,2361,4423,1944,920,3385,4295,1688,664,2873,152,2200,1176,3897,4135,1368,344,4568,4391,1880,856,3257,4263,1624,600,2745,88,2136,1112,3769,4199,1496,472,2489,4455,2008,984,3513,4327,1752,728,3001,216,2264,1240,4025,4119,1336,312,4536,4375,1848,824,3193,4247,1592,568,2681,56,2104,1080,3705,4183,1464,440,2425,4439,1976,952,3449,4311,1720,696,2937,184,2232,1208,3961,4151,1400,376,4600,4407,1912,888,3321,4279,1656,632,2809,120,2168,1144,3833,4215,1528,504,2553,4471,2040,1016,3577,4343,1784,760,3065,248,2296,1272,4089]),BL.nil,0);AS=$toNativeArray($kindInt,[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);AW=$toNativeArray($kindUint8,[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255]);AF=AD();AG=AE();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["hash"]=(function(){var $pkg={},A,E,C;A=$packages["io"];C=$pkg.Hash32=$newType(8,$kindInterface,"hash.Hash32","Hash32","hash",null);$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}E=$sliceType($Uint8);C.init([["BlockSize","BlockSize","",$funcType([],[$Int],false)],["Reset","Reset","",$funcType([],[],false)],["Size","Size","",$funcType([],[$Int],false)],["Sum","Sum","",$funcType([E],[E],false)],["Sum32","Sum32","",$funcType([],[$Uint32],false)],["Write","Write","",$funcType([E],[$Int,$error],false)]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["hash/adler32"]=(function(){var $pkg={},A,F,G,B,C,D,E;A=$packages["hash"];B=$pkg.digest=$newType(4,$kindUint32,"adler32.digest","digest","hash/adler32",null);$ptrType(B).prototype.Reset=function(){var a;a=this;a.$set(1);};C=$pkg.New=function(){var a;a=$newDataPointer(0,F);a.Reset();return a;};$ptrType(B).prototype.Size=function(){var a;a=this;return 4;};$ptrType(B).prototype.BlockSize=function(){var a;a=this;return 1;};D=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;c=(((a&65535)>>>0)>>>0);d=((a>>>16>>>0)>>>0);e=c;f=d;while(b.$length>0){g=G.nil;if(b.$length>5552){h=$subslice(b,0,5552);i=$subslice(b,5552);b=h;g=i;}j=b;k=0;while(k=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]);e=e+((l>>>0))>>>0;f=f+(e)>>>0;k++;}e=(m=e%(65521),m===m?m:$throwRuntimeError("integer divide by zero"));f=(n=f%(65521),n===n?n:$throwRuntimeError("integer divide by zero"));b=g;}return((((f<<16>>>0)|e)>>>0)>>>0);};$ptrType(B).prototype.Write=function(a){var b=0,c=$ifaceNil,d,e,f;d=this;d.$set(D(d.$get(),a));e=a.$length;f=$ifaceNil;b=e;c=f;return[b,c];};$ptrType(B).prototype.Sum32=function(){var a;a=this;return(a.$get()>>>0);};$ptrType(B).prototype.Sum=function(a){var b,c;b=this;c=(b.$get()>>>0);return $append(a,((c>>>24>>>0)<<24>>>24),((c>>>16>>>0)<<24>>>24),((c>>>8>>>0)<<24>>>24),(c<<24>>>24));};E=$pkg.Checksum=function(a){return(D(1,a)>>>0);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}F=$ptrType(B);G=$sliceType($Uint8);F.methods=[["BlockSize","BlockSize","",$funcType([],[$Int],false),-1],["Reset","Reset","",$funcType([],[],false),-1],["Size","Size","",$funcType([],[$Int],false),-1],["Sum","Sum","",$funcType([G],[G],false),-1],["Sum32","Sum32","",$funcType([],[$Uint32],false),-1],["Write","Write","",$funcType([G],[$Int,$error],false),-1]];}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["compress/zlib"]=(function(){var $pkg={},A,B,C,G,D,E,F,P,T,U,H,J,K;A=$packages["bufio"];B=$packages["compress/flate"];C=$packages["errors"];G=$packages["fmt"];D=$packages["hash"];E=$packages["hash/adler32"];F=$packages["io"];H=$pkg.reader=$newType(0,$kindStruct,"zlib.reader","reader","compress/zlib",function(r_,decompressor_,digest_,err_,scratch_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.decompressor=decompressor_!==undefined?decompressor_:$ifaceNil;this.digest=digest_!==undefined?digest_:$ifaceNil;this.err=err_!==undefined?err_:$ifaceNil;this.scratch=scratch_!==undefined?scratch_:T.zero();});J=$pkg.NewReader=function(a){return K(a,P.nil);};K=$pkg.NewReaderDict=function(a,b){var c,d;c=new H.Ptr();d=c.Reset(a,b);if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}return[c,$ifaceNil];};H.Ptr.prototype.Read=function(a){var b=0,c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,n,o,p;d=this;if(!($interfaceIsEqual(d.err,$ifaceNil))){e=0;f=d.err;b=e;c=f;return[b,c];}if(a.$length===0){g=0;h=$ifaceNil;b=g;c=h;return[b,c];}i=d.decompressor.Read(a);b=i[0];c=i[1];d.digest.Write($subslice(a,0,b));if(!((b===0))||!($interfaceIsEqual(c,F.EOF))){d.err=c;return[b,c];}j=F.ReadFull(d.r,$subslice(new P(d.scratch),0,4));k=j[1];if(!($interfaceIsEqual(k,$ifaceNil))){d.err=k;l=0;m=k;b=l;c=m;return[b,c];}n=(((((((d.scratch[0]>>>0)<<24>>>0)|((d.scratch[1]>>>0)<<16>>>0))>>>0)|((d.scratch[2]>>>0)<<8>>>0))>>>0)|(d.scratch[3]>>>0))>>>0;if(!((n===d.digest.Sum32()))){d.err=$pkg.ErrChecksum;o=0;p=d.err;b=o;c=p;return[b,c];}return[b,c];};H.prototype.Read=function(a){return this.$val.Read(a);};H.Ptr.prototype.Close=function(){var a;a=this;if(!($interfaceIsEqual(a.err,$ifaceNil))){return a.err;}a.err=a.decompressor.Close();return a.err;};H.prototype.Close=function(){return this.$val.Close();};H.Ptr.prototype.Reset=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;c=this;d=$assertType(a,B.Reader,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=F.ReadFull(c.r,$subslice(new P(c.scratch),0,2));h=g[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}i=(((c.scratch[0]>>>0)<<8>>>0)|(c.scratch[1]>>>0))>>>0;if((!((((c.scratch[0]&15)>>>0)===8)))||(!(((j=i%31,j===j?j:$throwRuntimeError("integer divide by zero"))===0)))){return $pkg.ErrHeader;}k=!((((c.scratch[1]&32)>>>0)===0));if(k){l=F.ReadFull(c.r,$subslice(new P(c.scratch),0,4));h=l[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}m=(((((((c.scratch[0]>>>0)<<24>>>0)|((c.scratch[1]>>>0)<<16>>>0))>>>0)|((c.scratch[2]>>>0)<<8>>>0))>>>0)|(c.scratch[3]>>>0))>>>0;if(!((m===E.Checksum(b)))){return $pkg.ErrDictionary;}}if($interfaceIsEqual(c.decompressor,$ifaceNil)){if(k){c.decompressor=B.NewReaderDict(c.r,b);}else{c.decompressor=B.NewReader(c.r);}}else{$assertType(c.decompressor,B.Resetter).Reset(c.r,b);}c.digest=E.New();return $ifaceNil;};H.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}P=$sliceType($Uint8);T=$arrayType($Uint8,4);U=$ptrType(H);U.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([P],[$Int,$error],false),-1],["Reset","Reset","",$funcType([F.Reader,P],[$error],false),-1]];H.init([["r","r","compress/zlib",B.Reader,""],["decompressor","decompressor","compress/zlib",F.ReadCloser,""],["digest","digest","compress/zlib",D.Hash32,""],["err","err","compress/zlib",$error,""],["scratch","scratch","compress/zlib",T,""]]);$pkg.ErrChecksum=C.New("zlib: invalid checksum");$pkg.ErrDictionary=C.New("zlib: invalid dictionary");$pkg.ErrHeader=C.New("zlib: invalid header");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["encoding/binary"]=(function(){var $pkg={},A,B,C,D,Y,AQ,G,U;A=$packages["errors"];B=$packages["io"];C=$packages["math"];D=$packages["reflect"];G=$pkg.bigEndian=$newType(0,$kindStruct,"binary.bigEndian","bigEndian","encoding/binary",function(){this.$val=this;});G.Ptr.prototype.Uint16=function(a){return((((1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1])<<16>>>16)|((((0<0||0>=a.$length)?$throwRuntimeError("index out of range"):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){(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((b>>>8<<16>>>16)<<24>>>24);(1<0||1>=a.$length)?$throwRuntimeError("index out of range"):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){return((((((((3<0||3>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+3])>>>0)|((((2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2])>>>0)<<8>>>0))>>>0)|((((1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1])>>>0)<<16>>>0))>>>0)|((((0<0||0>=a.$length)?$throwRuntimeError("index out of range"):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){(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((b>>>24>>>0)<<24>>>24);(1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=((b>>>16>>>0)<<24>>>24);(2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=((b>>>8>>>0)<<24>>>24);(3<0||3>=a.$length)?$throwRuntimeError("index out of range"):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 b,c,d,e,f,g,h,i,j,k,l,m,n,o;return(b=(c=(d=(e=(f=(g=(h=new $Uint64(0,((7<0||7>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+7])),i=$shiftLeft64(new $Uint64(0,((6<0||6>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+6])),8),new $Uint64(h.$high|i.$high,(h.$low|i.$low)>>>0)),j=$shiftLeft64(new $Uint64(0,((5<0||5>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+5])),16),new $Uint64(g.$high|j.$high,(g.$low|j.$low)>>>0)),k=$shiftLeft64(new $Uint64(0,((4<0||4>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+4])),24),new $Uint64(f.$high|k.$high,(f.$low|k.$low)>>>0)),l=$shiftLeft64(new $Uint64(0,((3<0||3>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+3])),32),new $Uint64(e.$high|l.$high,(e.$low|l.$low)>>>0)),m=$shiftLeft64(new $Uint64(0,((2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2])),40),new $Uint64(d.$high|m.$high,(d.$low|m.$low)>>>0)),n=$shiftLeft64(new $Uint64(0,((1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1])),48),new $Uint64(c.$high|n.$high,(c.$low|n.$low)>>>0)),o=$shiftLeft64(new $Uint64(0,((0<0||0>=a.$length)?$throwRuntimeError("index out of range"):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){(0<0||0>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=($shiftRightUint64(b,56).$low<<24>>>24);(1<0||1>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=($shiftRightUint64(b,48).$low<<24>>>24);(2<0||2>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=($shiftRightUint64(b,40).$low<<24>>>24);(3<0||3>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+3]=($shiftRightUint64(b,32).$low<<24>>>24);(4<0||4>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+4]=($shiftRightUint64(b,24).$low<<24>>>24);(5<0||5>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+5]=($shiftRightUint64(b,16).$low<<24>>>24);(6<0||6>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+6]=($shiftRightUint64(b,8).$low<<24>>>24);(7<0||7>=a.$length)?$throwRuntimeError("index out of range"):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();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);AQ=$ptrType(G);G.methods=[["GoString","GoString","",$funcType([],[$String],false),-1],["PutUint16","PutUint16","",$funcType([Y,$Uint16],[],false),-1],["PutUint32","PutUint32","",$funcType([Y,$Uint32],[],false),-1],["PutUint64","PutUint64","",$funcType([Y,$Uint64],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["Uint16","Uint16","",$funcType([Y],[$Uint16],false),-1],["Uint32","Uint32","",$funcType([Y],[$Uint32],false),-1],["Uint64","Uint64","",$funcType([Y],[$Uint64],false),-1]];AQ.methods=[["GoString","GoString","",$funcType([],[$String],false),-1],["PutUint16","PutUint16","",$funcType([Y,$Uint16],[],false),-1],["PutUint32","PutUint32","",$funcType([Y,$Uint32],[],false),-1],["PutUint64","PutUint64","",$funcType([Y,$Uint64],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["Uint16","Uint16","",$funcType([Y],[$Uint16],false),-1],["Uint32","Uint32","",$funcType([Y],[$Uint32],false),-1],["Uint64","Uint64","",$funcType([Y],[$Uint64],false),-1]];G.init([]);$pkg.BigEndian=new G.Ptr();U=A.New("binary: varint overflows a 64-bit integer");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["hash/crc32"]=(function(){var $pkg={},A,B,Q,R,S,C,I,D,H,J,K,L,M,P;A=$packages["hash"];B=$packages["sync"];C=$pkg.Table=$newType(1024,$kindArray,"crc32.Table","Table","hash/crc32",null);I=$pkg.digest=$newType(0,$kindStruct,"crc32.digest","digest","hash/crc32",function(crc_,tab_){this.$val=this;this.crc=crc_!==undefined?crc_:0;this.tab=tab_!==undefined?tab_:Q.nil;});H=function(a){var b,c,d,e,f;b=C.zero();c=0;while(c<256){d=(c>>>0);e=0;while(e<8){if(((d&1)>>>0)===1){d=(((d>>>1>>>0))^a)>>>0;}else{d=(f=(1),f<32?(d>>>f):0)>>>0;}e=e+(1)>>0;}b.nilCheck,(c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]=d;c=c+(1)>>0;}return b;};J=$pkg.New=function(a){return new I.Ptr(0,a);};K=$pkg.NewIEEE=function(){return J($pkg.IEEETable);};I.Ptr.prototype.Size=function(){var a;a=this;return 4;};I.prototype.Size=function(){return this.$val.Size();};I.Ptr.prototype.BlockSize=function(){var a;a=this;return 1;};I.prototype.BlockSize=function(){return this.$val.BlockSize();};I.Ptr.prototype.Reset=function(){var a;a=this;a.crc=0;};I.prototype.Reset=function(){return this.$val.Reset();};L=function(a,b,c){var d,e,f,g;a=~a>>>0;d=c;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);a=((g=((a<<24>>>24)^f)<<24>>>24,(b.nilCheck,((g<0||g>=b.length)?$throwRuntimeError("index out of range"):b[g])))^((a>>>8>>>0)))>>>0;e++;}return~a>>>0;};M=$pkg.Update=function(a,b,c){if($equal(b,D,C)){return P(a,c);}return L(a,b,c);};I.Ptr.prototype.Write=function(a){var b=0,c=$ifaceNil,d,e,f;d=this;d.crc=M(d.crc,d.tab,a);e=a.$length;f=$ifaceNil;b=e;c=f;return[b,c];};I.prototype.Write=function(a){return this.$val.Write(a);};I.Ptr.prototype.Sum32=function(){var a;a=this;return a.crc;};I.prototype.Sum32=function(){return this.$val.Sum32();};I.Ptr.prototype.Sum=function(a){var b,c;b=this;c=b.Sum32();return $append(a,((c>>>24>>>0)<<24>>>24),((c>>>16>>>0)<<24>>>24),((c>>>8>>>0)<<24>>>24),(c<<24>>>24));};I.prototype.Sum=function(a){return this.$val.Sum(a);};P=function(a,b){return L(a,D,b);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}Q=$ptrType(C);R=$sliceType($Uint8);S=$ptrType(I);C.init($Uint32,256);S.methods=[["BlockSize","BlockSize","",$funcType([],[$Int],false),-1],["Reset","Reset","",$funcType([],[],false),-1],["Size","Size","",$funcType([],[$Int],false),-1],["Sum","Sum","",$funcType([R],[R],false),-1],["Sum32","Sum32","",$funcType([],[$Uint32],false),-1],["Write","Write","",$funcType([R],[$Int,$error],false),-1]];I.init([["crc","crc","hash/crc32",$Uint32,""],["tab","tab","hash/crc32",Q,""]]);D=Q.nil;$pkg.IEEETable=H(3988292384);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["image/png"]=(function(){var $pkg={},I,A,B,C,D,E,F,G,H,J,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AZ,BA,BB,N,P,Q,S,O,R,K,M,T,U,V,W;I=$packages["bufio"];A=$packages["compress/zlib"];B=$packages["encoding/binary"];C=$packages["fmt"];D=$packages["hash"];E=$packages["hash/crc32"];F=$packages["image"];G=$packages["image/color"];H=$packages["io"];J=$packages["strconv"];N=$pkg.interlaceScan=$newType(0,$kindStruct,"png.interlaceScan","interlaceScan","image/png",function(xFactor_,yFactor_,xOffset_,yOffset_){this.$val=this;this.xFactor=xFactor_!==undefined?xFactor_:0;this.yFactor=yFactor_!==undefined?yFactor_:0;this.xOffset=xOffset_!==undefined?xOffset_:0;this.yOffset=yOffset_!==undefined?yOffset_:0;});P=$pkg.decoder=$newType(0,$kindStruct,"png.decoder","decoder","image/png",function(r_,img_,crc_,width_,height_,depth_,palette_,cb_,stage_,idatLength_,tmp_,interlace_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.img=img_!==undefined?img_:$ifaceNil;this.crc=crc_!==undefined?crc_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.depth=depth_!==undefined?depth_:0;this.palette=palette_!==undefined?palette_:G.Palette.nil;this.cb=cb_!==undefined?cb_:0;this.stage=stage_!==undefined?stage_:0;this.idatLength=idatLength_!==undefined?idatLength_:0;this.tmp=tmp_!==undefined?tmp_:AW.zero();this.interlace=interlace_!==undefined?interlace_:0;});Q=$pkg.FormatError=$newType(8,$kindString,"png.FormatError","FormatError","image/png",null);S=$pkg.UnsupportedError=$newType(8,$kindString,"png.UnsupportedError","UnsupportedError","image/png",null);K=function(a){var b;b=a>>31>>0;return(((a^b)>>0))-b>>0;};M=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;d=0;e=0;f=0;g=0;h=0;i=0;j=d;k=e;l=f;m=g;n=h;o=i;p=0;while(p=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+s])>>0);m=k-l>>0;n=j-l>>0;o=K(m+n>>0);m=K(m);n=K(n);if(m<=n&&m<=o){}else if(n<=o){j=k;}else{j=l;}j=j+((((s<0||s>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+s])>>0))>>0;j=j&(255);(s<0||s>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+s]=(j<<24>>>24);l=k;s=s+(c)>>0;}p=p+(1)>>0;}};Q.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"png: invalid format: "+a;};$ptrType(Q).prototype.Error=function(){return new Q(this.$get()).Error();};S.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"png: unsupported feature: "+a;};$ptrType(S).prototype.Error=function(){return new S(this.$get()).Error();};T=function(a,b){if(a>0);e=(B.BigEndian.Uint32($subslice(new AJ(b.tmp),0,4))>>0);f=(B.BigEndian.Uint32($subslice(new AJ(b.tmp),4,8))>>0);if(e<0||f<0){return new Q("negative dimension");}g=$mul64(new $Int64(0,e),new $Int64(0,f));if(!((h=new $Int64(0,((g.$low+((g.$high>>31)*4294967296))>>0)),(g.$high===h.$high&&g.$low===h.$low)))){return new S("dimension overflow");}b.cb=0;b.depth=(b.tmp[8]>>0);i=b.depth;if(i===1){j=b.tmp[9];if(j===0){b.cb=1;}else if(j===3){b.cb=7;}}else if(i===2){k=b.tmp[9];if(k===0){b.cb=2;}else if(k===3){b.cb=8;}}else if(i===4){l=b.tmp[9];if(l===0){b.cb=3;}else if(l===3){b.cb=9;}}else if(i===8){m=b.tmp[9];if(m===0){b.cb=4;}else if(m===2){b.cb=6;}else if(m===3){b.cb=10;}else if(m===4){b.cb=5;}else if(m===6){b.cb=11;}}else if(i===16){n=b.tmp[9];if(n===0){b.cb=12;}else if(n===2){b.cb=14;}else if(n===4){b.cb=13;}else if(n===6){b.cb=15;}}if(b.cb===0){return new S(C.Sprintf("bit depth %d, color type %d",new AK([new $Uint8(b.tmp[8]),new $Uint8(b.tmp[9])])));}o=(e>>0);p=(f>>0);b.width=o;b.height=p;return b.verifyChecksum();};P.prototype.parseIHDR=function(a){return this.$val.parseIHDR(a);};P.Ptr.prototype.parsePLTE=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;b=this;d=((c=a/3,(c===c&&c!==1/0&&c!==-1/0)?c>>>0:$throwRuntimeError("integer divide by zero"))>>0);if(!(((e=a%3,e===e?e:$throwRuntimeError("integer divide by zero"))===0))||d<=0||d>256||d>((f=(b.depth>>>0),f<32?(1<>0)){return new Q("bad PLTE length");}g=H.ReadFull(b.r,$subslice(new AJ(b.tmp),0,(3*d>>0)));h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}b.crc.Write($subslice(new AJ(b.tmp),0,h));j=b.cb;if(j===7||j===8||j===9||j===10){b.palette=G.Palette.make(256);k=0;while(k=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+k]=(l=new G.RGBA.Ptr((m=b.tmp,n=(3*k>>0)+0>>0,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])),(o=b.tmp,p=(3*k>>0)+1>>0,((p<0||p>=o.length)?$throwRuntimeError("index out of range"):o[p])),(q=b.tmp,r=(3*k>>0)+2>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),255),new l.constructor.Struct(l)));k=k+(1)>>0;}t=d;while(t<256){(v=b.palette,(t<0||t>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+t]=(u=new G.RGBA.Ptr(0,0,0,255),new u.constructor.Struct(u)));t=t+(1)>>0;}b.palette=$subslice(b.palette,0,d);}else if(j===6||j===11||j===14||j===15){}else{return new Q("PLTE, color type mismatch");}return b.verifyChecksum();};P.prototype.parsePLTE=function(a){return this.$val.parsePLTE(a);};P.Ptr.prototype.parsetRNS=function(a){var b,c,d,e,f,g,h,i,j,k,l;b=this;if(a>256){return new Q("bad tRNS length");}c=H.ReadFull(b.r,$subslice(new AJ(b.tmp),0,a));d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}b.crc.Write($subslice(new AJ(b.tmp),0,d));f=b.cb;if(f===4||f===12){return new S("grayscale transparency");}else if(f===6||f===14){return new S("truecolor transparency");}else if(f===7||f===8||f===9||f===10){if(b.palette.$length=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+g])),G.RGBA),G.RGBA);(l=b.palette,(g<0||g>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+g]=(j=new G.NRGBA.Ptr(i.R,i.G,i.B,(k=b.tmp,((g<0||g>=k.length)?$throwRuntimeError("index out of range"):k[g]))),new j.constructor.Struct(j)));g=g+(1)>>0;}}else if(f===5||f===13||f===11||f===15){return new Q("tRNS, color type mismatch");}return b.verifyChecksum();};P.prototype.parsetRNS=function(a){return this.$val.parsetRNS(a);};P.Ptr.prototype.Read=function(a){var b,c,d,e,f,g,h;b=this;if(a.$length===0){return[0,$ifaceNil];}while(b.idatLength===0){c=b.verifyChecksum();if(!($interfaceIsEqual(c,$ifaceNil))){return[0,c];}d=H.ReadFull(b.r,$subslice(new AJ(b.tmp),0,8));e=d[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[0,e];}b.idatLength=B.BigEndian.Uint32($subslice(new AJ(b.tmp),0,4));if(!($bytesToString($subslice(new AJ(b.tmp),4,8))==="IDAT")){return[0,new Q("not enough pixel data")];}b.crc.Reset();b.crc.Write($subslice(new AJ(b.tmp),4,8));}if((b.idatLength>>0)<0){return[0,new S("IDAT chunk length overflow")];}f=b.r.Read($subslice(a,0,T(a.$length,(b.idatLength>>0))));g=f[0];h=f[1];b.crc.Write($subslice(a,0,g));b.idatLength=b.idatLength-((g>>>0))>>>0;return[g,h];};P.prototype.Read=function(a){return this.$val.Read(a);};P.Ptr.prototype.decode=function(){var $deferred=[],$err=null,a,b,c,d,e,f,g,h,i,j,k,l,m,n;try{$deferFrames.push($deferred);a=this;b=A.NewReader(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}$deferred.push([$methodVal(c,"Close"),[]]);e=$ifaceNil;if(a.interlace===0){f=a.readImagePass(c,0,false);e=f[0];d=f[1];}else if(a.interlace===1){g=a.readImagePass($ifaceNil,0,true);e=g[0];d=g[1];h=0;while(h<7){i=a.readImagePass(c,h,false);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return[$ifaceNil,k];}a.mergePassInto(e,j,h);h=h+(1)>>0;}}l=0;m=0;while((l===0)&&$interfaceIsEqual(d,$ifaceNil)){if(m===100){return[$ifaceNil,H.ErrNoProgress];}n=c.Read($subslice(new AJ(a.tmp),0,1));l=n[0];d=n[1];m=m+(1)>>0;}if(!($interfaceIsEqual(d,$ifaceNil))&&!($interfaceIsEqual(d,H.EOF))){return[$ifaceNil,new Q(d.Error())];}if(!((l===0))||!((a.idatLength===0))){return[$ifaceNil,new Q("too much pixel data")];}return[e,$ifaceNil];}catch(err){$err=err;return[$ifaceNil,$ifaceNil];}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};P.prototype.decode=function(){return this.$val.decode();};P.Ptr.prototype.readImagePass=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,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,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es;d=this;e=0;f=0;g=AL.nil;h=AM.nil;i=AN.nil;j=AO.nil;k=AP.nil;l=AQ.nil;m=AR.nil;n=$ifaceNil;o=d.width;p=d.height;q=o;r=p;if((d.interlace===1)&&!c){s=$clone(((b<0||b>=O.$length)?$throwRuntimeError("index out of range"):O.$array[O.$offset+b]),N);q=(t=((((q-s.xOffset>>0)+s.xFactor>>0)-1>>0))/s.xFactor,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));r=(u=((((r-s.yOffset>>0)+s.yFactor>>0)-1>>0))/s.yFactor,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"));}v=d.cb;if(v===1||v===2||v===3||v===4){e=d.depth;g=F.NewGray(F.Rect(0,0,q,r));n=g;}else if(v===5){e=16;j=F.NewNRGBA(F.Rect(0,0,q,r));n=j;}else if(v===6){e=24;h=F.NewRGBA(F.Rect(0,0,q,r));n=h;}else if(v===7||v===8||v===9||v===10){e=d.depth;i=F.NewPaletted(F.Rect(0,0,q,r),d.palette);n=i;}else if(v===11){e=32;j=F.NewNRGBA(F.Rect(0,0,q,r));n=j;}else if(v===12){e=16;k=F.NewGray16(F.Rect(0,0,q,r));n=k;}else if(v===13){e=32;m=F.NewNRGBA64(F.Rect(0,0,q,r));n=m;}else if(v===14){e=48;l=F.NewRGBA64(F.Rect(0,0,q,r));n=l;}else if(v===15){e=64;m=F.NewNRGBA64(F.Rect(0,0,q,r));n=m;}if(c){return[n,$ifaceNil];}x=(w=((e+7>>0))/8,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"));z=1+(y=(((e*q>>0)+7>>0))/8,(y===y&&y!==1/0&&y!==-1/0)?y>>0:$throwRuntimeError("integer divide by zero"))>>0;aa=AS.make(z);ab=AS.make(z);ac=0;while(ac=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+0]);if(ah===0){}else if(ah===1){ai=x;while(ai=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]=((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak])+((al=ai-x>>0,((al<0||al>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+al])))<<24>>>24;ai=ai+(1)>>0;}}else if(ah===2){am=ag;an=0;while(an=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);aq=af;ar=ao;(ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=((ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar])+(ap)<<24>>>24;an++;}}else if(ah===3){as=0;while(as=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=((au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au])+((av=((as<0||as>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+as])/2,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero")))<<24>>>24;as=as+(1)>>0;}aw=x;while(aw=ax.$length)?$throwRuntimeError("index out of range"):ax.$array[ax.$offset+ay]=((ay<0||ay>=ax.$length)?$throwRuntimeError("index out of range"):ax.$array[ax.$offset+ay])+(((az=((((ba=aw-x>>0,((ba<0||ba>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ba]))>>0)+(((aw<0||aw>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+aw])>>0)>>0))/2,(az===az&&az!==1/0&&az!==-1/0)?az>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))<<24>>>24;aw=aw+(1)>>0;}}else if(ah===4){M(af,ag,x);}else{return[$ifaceNil,new Q("bad filter type")];}bb=d.cb;if(bb===1){bc=0;while(bc>0:$throwRuntimeError("integer divide by zero")),((bd<0||bd>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bd]));bg=0;while(bg<8&&(bc+bg>>0)>0,ac,new G.Gray.Ptr(((bf>>>7<<24>>>24))*255<<24>>>24));bf=(bh=(1),bh<32?(bf<>>24;bg=bg+(1)>>0;}bc=bc+(8)>>0;}}else if(bb===2){bi=0;while(bi>0:$throwRuntimeError("integer divide by zero")),((bj<0||bj>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bj]));bm=0;while(bm<4&&(bi+bm>>0)>0,ac,new G.Gray.Ptr(((bl>>>6<<24>>>24))*85<<24>>>24));bl=(bn=(2),bn<32?(bl<>>24;bm=bm+(1)>>0;}bi=bi+(4)>>0;}}else if(bb===3){bo=0;while(bo>0:$throwRuntimeError("integer divide by zero")),((bp<0||bp>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bp]));bs=0;while(bs<2&&(bo+bs>>0)>0,ac,new G.Gray.Ptr(((br>>>4<<24>>>24))*17<<24>>>24));br=(bt=(4),bt<32?(br<>>24;bs=bs+(1)>>0;}bo=bo+(2)>>0;}}else if(bb===4){$copySlice($subslice(g.Pix,f),af);f=f+(g.Stride)>>0;}else if(bb===5){bu=0;while(bu>0)+0>>0,((bv<0||bv>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bv]));j.SetNRGBA(bu,ac,new G.NRGBA.Ptr(bw,bw,bw,(bx=(2*bu>>0)+1>>0,((bx<0||bx>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bx]))));bu=bu+(1)>>0;}}else if(bb===6){by=h.Pix;bz=f;ca=0;cb=by;cc=bz;cd=ca;ce=0;while(ce>0,(cg<0||cg>=cb.$length)?$throwRuntimeError("index out of range"):cb.$array[cb.$offset+cg]=(cf=cd+0>>0,((cf<0||cf>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cf])));(ci=cc+1>>0,(ci<0||ci>=cb.$length)?$throwRuntimeError("index out of range"):cb.$array[cb.$offset+ci]=(ch=cd+1>>0,((ch<0||ch>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ch])));(ck=cc+2>>0,(ck<0||ck>=cb.$length)?$throwRuntimeError("index out of range"):cb.$array[cb.$offset+ck]=(cj=cd+2>>0,((cj<0||cj>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cj])));(cl=cc+3>>0,(cl<0||cl>=cb.$length)?$throwRuntimeError("index out of range"):cb.$array[cb.$offset+cl]=255);cc=cc+(4)>>0;cd=cd+(3)>>0;ce=ce+(1)>>0;}f=f+(h.Stride)>>0;}else if(bb===7){cm=0;while(cm>0:$throwRuntimeError("integer divide by zero")),((cn<0||cn>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cn]));cq=0;while(cq<8&&(cm+cq>>0)>>7<<24>>>24;if(i.Palette.$length<=(cr>>0)){i.Palette=$subslice(i.Palette,0,((cr>>0)+1>>0));}i.SetColorIndex(cm+cq>>0,ac,cr);cp=(cs=(1),cs<32?(cp<>>24;cq=cq+(1)>>0;}cm=cm+(8)>>0;}}else if(bb===8){ct=0;while(ct>0:$throwRuntimeError("integer divide by zero")),((cu<0||cu>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cu]));cx=0;while(cx<4&&(ct+cx>>0)>>6<<24>>>24;if(i.Palette.$length<=(cy>>0)){i.Palette=$subslice(i.Palette,0,((cy>>0)+1>>0));}i.SetColorIndex(ct+cx>>0,ac,cy);cw=(cz=(2),cz<32?(cw<>>24;cx=cx+(1)>>0;}ct=ct+(4)>>0;}}else if(bb===9){da=0;while(da>0:$throwRuntimeError("integer divide by zero")),((db<0||db>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+db]));de=0;while(de<2&&(da+de>>0)>>4<<24>>>24;if(i.Palette.$length<=(df>>0)){i.Palette=$subslice(i.Palette,0,((df>>0)+1>>0));}i.SetColorIndex(da+de>>0,ac,df);dd=(dg=(4),dg<32?(dd<>>24;de=de+(1)>>0;}da=da+(2)>>0;}}else if(bb===10){if(!((i.Palette.$length===255))){dh=0;while(dh=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dh])>>0)){i.Palette=$subslice(i.Palette,0,((((dh<0||dh>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dh])>>0)+1>>0));}dh=dh+(1)>>0;}}$copySlice($subslice(i.Pix,f),af);f=f+(i.Stride)>>0;}else if(bb===11){$copySlice($subslice(j.Pix,f),af);f=f+(j.Stride)>>0;}else if(bb===12){di=0;while(di>0)+0>>0,((dj<0||dj>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dj]))<<16>>>16)<<8<<16>>>16)|((dk=(2*di>>0)+1>>0,((dk<0||dk>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dk]))<<16>>>16))>>>0;k.SetGray16(di,ac,new G.Gray16.Ptr(dl));di=di+(1)>>0;}}else if(bb===13){dm=0;while(dm>0)+0>>0,((dn<0||dn>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dn]))<<16>>>16)<<8<<16>>>16)|((dp=(4*dm>>0)+1>>0,((dp<0||dp>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dp]))<<16>>>16))>>>0;dt=((((dr=(4*dm>>0)+2>>0,((dr<0||dr>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dr]))<<16>>>16)<<8<<16>>>16)|((ds=(4*dm>>0)+3>>0,((ds<0||ds>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ds]))<<16>>>16))>>>0;m.SetNRGBA64(dm,ac,new G.NRGBA64.Ptr(dq,dq,dq,dt));dm=dm+(1)>>0;}}else if(bb===14){du=0;while(du>0)+0>>0,((dv<0||dv>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dv]))<<16>>>16)<<8<<16>>>16)|((dw=(6*du>>0)+1>>0,((dw<0||dw>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dw]))<<16>>>16))>>>0;ea=((((dy=(6*du>>0)+2>>0,((dy<0||dy>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dy]))<<16>>>16)<<8<<16>>>16)|((dz=(6*du>>0)+3>>0,((dz<0||dz>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+dz]))<<16>>>16))>>>0;ed=((((eb=(6*du>>0)+4>>0,((eb<0||eb>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+eb]))<<16>>>16)<<8<<16>>>16)|((ec=(6*du>>0)+5>>0,((ec<0||ec>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ec]))<<16>>>16))>>>0;l.SetRGBA64(du,ac,new G.RGBA64.Ptr(dx,ea,ed,65535));du=du+(1)>>0;}}else if(bb===15){ee=0;while(ee>0)+0>>0,((ef<0||ef>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ef]))<<16>>>16)<<8<<16>>>16)|((eg=(8*ee>>0)+1>>0,((eg<0||eg>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+eg]))<<16>>>16))>>>0;ek=((((ei=(8*ee>>0)+2>>0,((ei<0||ei>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ei]))<<16>>>16)<<8<<16>>>16)|((ej=(8*ee>>0)+3>>0,((ej<0||ej>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ej]))<<16>>>16))>>>0;en=((((el=(8*ee>>0)+4>>0,((el<0||el>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+el]))<<16>>>16)<<8<<16>>>16)|((em=(8*ee>>0)+5>>0,((em<0||em>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+em]))<<16>>>16))>>>0;eq=((((eo=(8*ee>>0)+6>>0,((eo<0||eo>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+eo]))<<16>>>16)<<8<<16>>>16)|((ep=(8*ee>>0)+7>>0,((ep<0||ep>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ep]))<<16>>>16))>>>0;m.SetNRGBA64(ee,ac,new G.NRGBA64.Ptr(eh,ek,en,eq));ee=ee+(1)>>0;}}er=aa;es=ab;ab=er;aa=es;ac=ac+(1)>>0;}return[n,$ifaceNil];};P.prototype.readImagePass=function(a,b,c){return this.$val.readImagePass(a,b,c);};P.Ptr.prototype.mergePassInto=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au;d=this;e=$clone(((c<0||c>=O.$length)?$throwRuntimeError("index out of range"):O.$array[O.$offset+c]),N);f=AS.nil;g=AS.nil;h=0;i=$clone(new F.Rectangle.Ptr(),F.Rectangle);j=0;l=a;if($assertType(l,AT,true)[1]){k=l.$val;f=$assertType(b,AT).Pix;m=k.Pix;n=k.Stride;o=$clone(k.Rect,F.Rectangle);g=m;h=n;$copy(i,o,F.Rectangle);j=1;}else if($assertType(l,AU,true)[1]){k=l.$val;f=$assertType(b,AU).Pix;p=k.Pix;q=k.Stride;r=$clone(k.Rect,F.Rectangle);g=p;h=q;$copy(i,r,F.Rectangle);j=2;}else if($assertType(l,AL,true)[1]){k=l.$val;f=$assertType(b,AL).Pix;s=k.Pix;t=k.Stride;u=$clone(k.Rect,F.Rectangle);g=s;h=t;$copy(i,u,F.Rectangle);j=1;}else if($assertType(l,AP,true)[1]){k=l.$val;f=$assertType(b,AP).Pix;v=k.Pix;w=k.Stride;x=$clone(k.Rect,F.Rectangle);g=v;h=w;$copy(i,x,F.Rectangle);j=2;}else if($assertType(l,AO,true)[1]){k=l.$val;f=$assertType(b,AO).Pix;y=k.Pix;z=k.Stride;aa=$clone(k.Rect,F.Rectangle);g=y;h=z;$copy(i,aa,F.Rectangle);j=4;}else if($assertType(l,AR,true)[1]){k=l.$val;f=$assertType(b,AR).Pix;ab=k.Pix;ac=k.Stride;ad=$clone(k.Rect,F.Rectangle);g=ab;h=ac;$copy(i,ad,F.Rectangle);j=8;}else if($assertType(l,AN,true)[1]){k=l.$val;f=$assertType(b,AN).Pix;ae=k.Pix;af=k.Stride;ag=$clone(k.Rect,F.Rectangle);g=ae;h=af;$copy(i,ag,F.Rectangle);j=1;}else if($assertType(l,AM,true)[1]){k=l.$val;f=$assertType(b,AM).Pix;ah=k.Pix;ai=k.Stride;aj=$clone(k.Rect,F.Rectangle);g=ah;h=ai;$copy(i,aj,F.Rectangle);j=4;}else if($assertType(l,AQ,true)[1]){k=l.$val;f=$assertType(b,AQ).Pix;ak=k.Pix;al=k.Stride;am=$clone(k.Rect,F.Rectangle);g=ak;h=al;$copy(i,am,F.Rectangle);j=8;}an=0;ao=$clone(b.Bounds(),F.Rectangle);ap=an;aq=$clone(ao,F.Rectangle);ar=aq.Min.Y;while(ar>0)+e.yOffset>>0)-i.Min.Y>>0))*h>>0)+(((e.xOffset-i.Min.X>>0))*j>>0)>>0;at=aq.Min.X;while(at>0)*j>>0)>>0;$copySlice($subslice(g,au),$subslice(f,ap,(ap+j>>0)));ap=ap+(j)>>0;at=at+(1)>>0;}ar=ar+(1)>>0;}};P.prototype.mergePassInto=function(a,b,c){return this.$val.mergePassInto(a,b,c);};P.Ptr.prototype.parseIDAT=function(a){var b=$ifaceNil,c,d;c=this;c.idatLength=a;d=c.decode();c.img=d[0];b=d[1];if(!($interfaceIsEqual(b,$ifaceNil))){b=b;return b;}b=c.verifyChecksum();return b;};P.prototype.parseIDAT=function(a){return this.$val.parseIDAT(a);};P.Ptr.prototype.parseIEND=function(a){var b;b=this;if(!((a===0))){return new Q("bad IEND length");}return b.verifyChecksum();};P.prototype.parseIEND=function(a){return this.$val.parseIEND(a);};P.Ptr.prototype.parseChunk=function(){var a,b,c,d,e,f,g,h;a=this;b=H.ReadFull(a.r,$subslice(new AJ(a.tmp),0,8));c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=B.BigEndian.Uint32($subslice(new AJ(a.tmp),0,4));a.crc.Reset();a.crc.Write($subslice(new AJ(a.tmp),4,8));f=$bytesToString($subslice(new AJ(a.tmp),4,8));if(f==="IHDR"){if(!((a.stage===0))){return new Q(R);}a.stage=1;return a.parseIHDR(e);}else if(f==="PLTE"){if(!((a.stage===1))){return new Q(R);}a.stage=2;return a.parsePLTE(e);}else if(f==="tRNS"){if(!((a.stage===2))){return new Q(R);}return a.parsetRNS(e);}else if(f==="IDAT"){if(a.stage<1||a.stage>3||((a.cb===10)&&(a.stage===1))){return new Q(R);}a.stage=3;return a.parseIDAT(e);}else if(f==="IEND"){if(!((a.stage===3))){return new Q(R);}a.stage=4;return a.parseIEND(e);}g=$clone(AV.zero(),AV);while(e>0){h=H.ReadFull(a.r,$subslice(new AJ(g),0,T(4096,(e>>0))));c=h[0];d=h[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}a.crc.Write($subslice(new AJ(g),0,c));e=e-((c>>>0))>>>0;}return a.verifyChecksum();};P.prototype.parseChunk=function(){return this.$val.parseChunk();};P.Ptr.prototype.verifyChecksum=function(){var a,b,c;a=this;b=H.ReadFull(a.r,$subslice(new AJ(a.tmp),0,4));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}if(!((B.BigEndian.Uint32($subslice(new AJ(a.tmp),0,4))===a.crc.Sum32()))){return new Q("invalid checksum");}return $ifaceNil;};P.prototype.verifyChecksum=function(){return this.$val.verifyChecksum();};P.Ptr.prototype.checkHeader=function(){var a,b,c;a=this;b=H.ReadFull(a.r,$subslice(new AJ(a.tmp),0,8));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}if(!($bytesToString($subslice(new AJ(a.tmp),0,8))==="\x89PNG\r\n\x1A\n")){return new Q("not a PNG file");}return $ifaceNil;};P.prototype.checkHeader=function(){return this.$val.checkHeader();};U=$pkg.Decode=function(a){var b,c,d;b=new P.Ptr(a,$ifaceNil,E.NewIEEE(),0,0,0,G.Palette.nil,0,0,0,AW.zero(),0);c=b.checkHeader();if(!($interfaceIsEqual(c,$ifaceNil))){if($interfaceIsEqual(c,H.EOF)){c=H.ErrUnexpectedEOF;}return[$ifaceNil,c];}while(!((b.stage===4))){d=b.parseChunk();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,H.EOF)){d=H.ErrUnexpectedEOF;}return[$ifaceNil,d];}}return[b.img,$ifaceNil];};V=$pkg.DecodeConfig=function(a){var b,c,d,e,f,g;b=new P.Ptr(a,$ifaceNil,E.NewIEEE(),0,0,0,G.Palette.nil,0,0,0,AW.zero(),0);c=b.checkHeader();if(!($interfaceIsEqual(c,$ifaceNil))){if($interfaceIsEqual(c,H.EOF)){c=H.ErrUnexpectedEOF;}return[new F.Config.Ptr($ifaceNil,0,0),c];}while(true){d=b.parseChunk();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,H.EOF)){d=H.ErrUnexpectedEOF;}return[new F.Config.Ptr($ifaceNil,0,0),d];}e=(b.cb===10)||(b.cb===9)||(b.cb===8)||(b.cb===7);if((b.stage===1)&&!e){break;}if((b.stage===2)&&e){break;}}f=$ifaceNil;g=b.cb;if(g===1||g===2||g===3||g===4){f=G.GrayModel;}else if(g===5){f=G.NRGBAModel;}else if(g===6){f=G.RGBAModel;}else if(g===7||g===8||g===9||g===10){f=b.palette;}else if(g===11){f=G.NRGBAModel;}else if(g===12){f=G.Gray16Model;}else if(g===13){f=G.NRGBA64Model;}else if(g===14){f=G.RGBA64Model;}else if(g===15){f=G.NRGBA64Model;}return[new F.Config.Ptr(f,b.width,b.height),$ifaceNil];};W=function(){F.RegisterFormat("png","\x89PNG\r\n\x1A\n",U,V);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=I.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}AI=$sliceType(N);AJ=$sliceType($Uint8);AK=$sliceType($emptyInterface);AL=$ptrType(F.Gray);AM=$ptrType(F.RGBA);AN=$ptrType(F.Paletted);AO=$ptrType(F.NRGBA);AP=$ptrType(F.Gray16);AQ=$ptrType(F.RGBA64);AR=$ptrType(F.NRGBA64);AS=$sliceType($Uint8);AT=$ptrType(F.Alpha);AU=$ptrType(F.Alpha16);AV=$arrayType($Uint8,4096);AW=$arrayType($Uint8,768);AZ=$ptrType(P);BA=$ptrType(Q);BB=$ptrType(S);N.init([["xFactor","xFactor","image/png",$Int,""],["yFactor","yFactor","image/png",$Int,""],["xOffset","xOffset","image/png",$Int,""],["yOffset","yOffset","image/png",$Int,""]]);AZ.methods=[["Read","Read","",$funcType([AJ],[$Int,$error],false),-1],["checkHeader","checkHeader","image/png",$funcType([],[$error],false),-1],["decode","decode","image/png",$funcType([],[F.Image,$error],false),-1],["mergePassInto","mergePassInto","image/png",$funcType([F.Image,F.Image,$Int],[],false),-1],["parseChunk","parseChunk","image/png",$funcType([],[$error],false),-1],["parseIDAT","parseIDAT","image/png",$funcType([$Uint32],[$error],false),-1],["parseIEND","parseIEND","image/png",$funcType([$Uint32],[$error],false),-1],["parseIHDR","parseIHDR","image/png",$funcType([$Uint32],[$error],false),-1],["parsePLTE","parsePLTE","image/png",$funcType([$Uint32],[$error],false),-1],["parsetRNS","parsetRNS","image/png",$funcType([$Uint32],[$error],false),-1],["readImagePass","readImagePass","image/png",$funcType([H.Reader,$Int,$Bool],[F.Image,$error],false),-1],["verifyChecksum","verifyChecksum","image/png",$funcType([],[$error],false),-1]];P.init([["r","r","image/png",H.Reader,""],["img","img","image/png",F.Image,""],["crc","crc","image/png",D.Hash32,""],["width","width","image/png",$Int,""],["height","height","image/png",$Int,""],["depth","depth","image/png",$Int,""],["palette","palette","image/png",G.Palette,""],["cb","cb","image/png",$Int,""],["stage","stage","image/png",$Int,""],["idatLength","idatLength","image/png",$Uint32,""],["tmp","tmp","image/png",AW,""],["interlace","interlace","image/png",$Int,""]]);Q.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BA.methods=[["Error","Error","",$funcType([],[$String],false),-1]];S.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BB.methods=[["Error","Error","",$funcType([],[$String],false),-1]];O=new AI([new N.Ptr(8,8,0,0),new N.Ptr(8,8,4,0),new N.Ptr(4,8,0,4),new N.Ptr(4,4,2,0),new N.Ptr(2,4,0,2),new N.Ptr(2,2,1,0),new N.Ptr(1,2,0,1)]);R="chunk out of order";W();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["path/filepath"]=(function(){var $pkg={},G,A,B,C,D,E,F;G=$packages["bytes"];A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=G.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["io/ioutil"]=(function(){var $pkg={},A,B,C,F,D,G,E,H,Y,Z,AA,R;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($emptyInterface);Z=$sliceType($Uint8);AA=$ptrType(Z);R=new E.Pool.Ptr(0,0,Y.nil,(function(){var a;a=Z.make(8192);return new AA(function(){return a;},function($v){a=$v;});}));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["path"]=(function(){var $pkg={},A,B,C;A=$packages["errors"];B=$packages["strings"];C=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J,AA,AB,AC,AF,L,M,N,T,a,b,K,O,P,Q;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["strings"];J=$packages["time"];L=$pkg.asset=$newType(0,$kindStruct,"assets.asset","asset","github.com/hajimehoshi/ebiten/internal/assets",function(bytes_,info_){this.$val=this;this.bytes=bytes_!==undefined?bytes_:AA.nil;this.info=info_!==undefined?info_:$ifaceNil;});M=$pkg.bindata_file_info=$newType(0,$kindStruct,"assets.bindata_file_info","bindata_file_info","github.com/hajimehoshi/ebiten/internal/assets",function(name_,size_,mode_,modTime_){this.$val=this;this.name=name_!==undefined?name_:"";this.size=size_!==undefined?size_:new $Int64(0,0);this.mode=mode_!==undefined?mode_:0;this.modTime=modTime_!==undefined?modTime_:new J.Time.Ptr();});K=$pkg.TextImage=function(){var g,h,i,j,k;g=Q("text.png");h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[$ifaceNil,i];}j=B.Decode(A.NewBuffer(h));k=j[0];i=j[2];if(!($interfaceIsEqual(i,$ifaceNil))){return[$ifaceNil,i];}return[k,$ifaceNil];};M.Ptr.prototype.Name=function(){var g;g=$clone(this,M);return g.name;};M.prototype.Name=function(){return this.$val.Name();};M.Ptr.prototype.Size=function(){var g;g=$clone(this,M);return g.size;};M.prototype.Size=function(){return this.$val.Size();};M.Ptr.prototype.Mode=function(){var g;g=$clone(this,M);return g.mode;};M.prototype.Mode=function(){return this.$val.Mode();};M.Ptr.prototype.ModTime=function(){var g;g=$clone(this,M);return g.modTime;};M.prototype.ModTime=function(){return this.$val.ModTime();};M.Ptr.prototype.IsDir=function(){var g;g=$clone(this,M);return false;};M.prototype.IsDir=function(){return this.$val.IsDir();};M.Ptr.prototype.Sys=function(){var g;g=$clone(this,M);return $ifaceNil;};M.prototype.Sys=function(){return this.$val.Sys();};O=function(){return[N,$ifaceNil];};P=function(){var g,h,i,j,k;g=O();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[AB.nil,i];}j=new M.Ptr("text.png",new $Int64(0,2058),420,$clone(J.Unix(new $Int64(0,1419689280),new $Int64(0,0)),J.Time));k=new L.Ptr(h,new j.constructor.Struct(j));return[k,$ifaceNil];};Q=$pkg.Asset=function(g){var h,i,j,k,l,m,n,o;h=I.Replace(g,"\\","/",-1);i=(j=T[h],j!==undefined?[j.v,true]:[$throwNilPointerError,false]);k=i[0];l=i[1];if(l){m=k();n=m[0];o=m[1];if(!($interfaceIsEqual(o,$ifaceNil))){return[AA.nil,D.Errorf("Asset %s can't read by error: %v",new AC([new $String(g),o]))];}return[n.bytes,$ifaceNil];}return[AA.nil,D.Errorf("Asset %s not found",new AC([new $String(g)]))];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}AA=$sliceType($Uint8);AB=$ptrType(L);AC=$sliceType($emptyInterface);AF=$ptrType(M);L.init([["bytes","bytes","github.com/hajimehoshi/ebiten/internal/assets",AA,""],["info","info","github.com/hajimehoshi/ebiten/internal/assets",F.FileInfo,""]]);M.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[J.Time],false),-1],["Mode","Mode","",$funcType([],[F.FileMode],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];AF.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[J.Time],false),-1],["Mode","Mode","",$funcType([],[F.FileMode],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];M.init([["name","name","github.com/hajimehoshi/ebiten/internal/assets",$String,""],["size","size","github.com/hajimehoshi/ebiten/internal/assets",$Int64,""],["mode","mode","github.com/hajimehoshi/ebiten/internal/assets",F.FileMode,""],["modTime","modTime","github.com/hajimehoshi/ebiten/internal/assets",J.Time,""]]);N=new AA($stringToBytes("\x89PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\xC0\x00\x00\x00\x80\b\x03\x00\x00\x00jZ\x96Y\x00\x00\x00\x06PLTE\x00\x00\x00\xFF\xFF\xFF\xA5\xD9\x9F\xDD\x00\x00\x00\x01tRNS\x00@\xE6\xD8f\x00\x00\x07\xB2IDATx\x9C\xEC\x1C\x89v#!\b\xF2\xE6\xFF\x7F\x99MT\xE4\xF4\x984m\x8E\r\xBB\xB5\x13\x83\x1C\xE2\x01\x8C\xF6\x02o\x0E_\x05n\x80\x83\x9AX?j\x1B\xF1w\xDA\xDE\xE0\x02x\x05iu\xFD\x87\xF5\xA1\xD4\xB7\xB2}\x8B\x86<\xB6\xF2\xB9`,\x80t\xFB\xD7>\xD0\x15J)\xDF\x92\xD5\xE0/`\xD0G\xD2\x97\x87\xAE.\xF2\xA3\xB2g\x11\x9E|c\xAA\xA8\xFB\x12D\x1A\xBB\x90\xF0\xBA}\xB8\xFEp\xDDa\xEB\xD9\x06\xA8x2\xEAU5E\xA8Yc\xA9\xC7\xBD\xA2k\xEAYoq\r+\x807\xE4f\x01C\xA2\x97T\xDB\xE0\xED\x7F\xED\x17~\xDA\x91\xC40\xDD\x05\x19\xCEM\xACR\xA2\xEBZ3Yqcp\x8F\xD6\x9CX\xF3\xE3U\b\xD5\x07\x94\xAA\xB6\xEE\x94\xB2Y\x80\xCA\x98Q\x16P\x1Asi\xD8R\xA7O\x9Dy\xAF#%\x11\x05a)\xD3\x00\x9Am\x1B\xF4QK\xC2\xAD\xE3P\xAB&e\x01QR\x9E\x9D\xEA)\xD7\xB8r\x9F]\xCBG\xAD\x10\x94\x00\x00v\xD5V\xE8}\x12\xB7\xE9.\xEBh\xEDJ\xB7\"=\x02N\xCD\x07bTLF\xC0\r\x0E[\xAD\xF7\x81V\xDE*\xC8\xB1\xFF\x912\xFB\x8D\x93\x01\xCC\xCA\xF4\xE5#\xD9\x07\x1C\x03Wa\xEC\xF3\x03\xD8\xB1\x03\xD9\x92T}\xDEpo\x15\x9A\x8B\xF4\xE09\xF0\xF9\xF0u\xA7\x9F\r\x1F\xA6\xC0b\x0E\x87\xCD\xE5\x05\xC0x\xA3\xFD\xB1|\x90\xC2:mg\xDC\xE9\xB2b\x83P\xEB{#U\xA2\xC93\xB2+\x12\x19\xF4=\xB6\xFE\xC6\xB8A\xA1\x0E\xB5\xD8\xBD\x13/%:^+CH\xFB\xC4EAcS\b\x02DbN\xD8\xDBO2\x07\x9AWz\xF5\xED\x8A{\xE7\tu\x1F\x1D\x9C\xDF\x94\xC9O\xFEA>\x1A\x93\xE7h\xAE\xB3\xE4K\xE5\xF3[\x05\xA8nr\xA47\xBD\x12'`\x1A\x9B\x11\xAE\x03\x1AP\xA6N\xE4T\x8EqB\xD3\x18\x84*bA\xA58\xC4P?*\xA2\\\xA0G4\xDE9\x8A\x86\xAF\xC6\xB9\x18t\x18\xBBB\x9DEU\xA5\xCAS]\xF6vQ\\{\x1A\x7F\xB8\"\xAB\xE3Bo\x11R\x06\xD0I\xC9\xA3g6\xC5m\xD6.g\xE2,\xA08\x1A\xFD\x17\x19\x14$L\xC2\xC8z\xEAG\xEA\xB1\x07\xA8\xAB\x90r\x13&A\xA0\xCE$\xDB\x90\xAE\x07\x8F\xA0\x03\xC3QH\xA9\xEA%P\xB4!e\x8FQ;\x02\xDA\xF5\xC2\xCD\xB5\x03\xCC\xB7\f\xA6\xD7\xCD\x1B\x80\xC9\xBB\xB7\xA4y\xAC\xDF\fh\x14i\xC3=0;\xA4:\x9D\xCC;\x06\xDC>\x00(47[l\xA0\r&q\xA6\xF3x\xB9\x9Aj\xD0]\xF4H\xBB\xBFt)\x04\xF4\x04\xA0\xED\x80\xE40\xC2\xA9x@N\x9B\x89qMrCS\xA7\xEC\x8DOkK\xBE-\xD7c\xE5\xE2O\x19\xD6W\xA3\xD4\xE7\xC9\xE3\x96g\x9D\x8D1\x95\xCBV\x9B\xA8c^\x93\x9D\xF8$U\x9AWd\x8D\xCED\xE8\xE7H\x7F\x06|\x807\xFA\xE6\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0\xBF(\xC0I\xED;\x00Cv\x01\xCD\x99\xCAGq49x\xD4\xB5\xEA\xA7f*\xFB\xDDK9\xB4\xEDr;\xFD~\xA6dA\x01\xD43\xBA6\xE6\xC4\xB5\x88`\x9A\x9B\xD7\x03\xC3\x1E@\xC3'(\x00^\xB1(\v8l\xB4(ir\x07\xD1\xBF\xBF7)`e\x8C\xBC\xC3,%\x937\x06}\x8A\x17#\xA6\x9C\xB2N\xE8\xF0\xB3b\x99\xF3\x8F\n\x18\x9Bk\xEEc2,\x88\x98Y\xCB\x16\xC4L\x944\xC4\xA2\x88\x88\xD1\xC0L\x17\xE3\x9D\r\xDD\xED\xDE\xE0\xFACH\xEE\xF2\xAB\x07hw4P]\xA6\xF4I\\N\xC1\xF6\xDCv\xA9H\xD2\xA4\xFC*\x038\x1F\xEA\xB9\xB2\xDA\xA1Yc\xAB\xEF\xF3\x94\x8B\x94\x18R\xDC\xAE\xBB3\xCB\xC5\x13\xE0\x00\xA6\x1EC\r\xA4\r\xE2\xC1\xB70z]?\xE1\xA7/\xB3\x94\xA2-\x8E\xE0\xD7\x9E\xD8\xC5\x10f\x84\xFD8Z'\x02f\xBE\fxr\xDD\x1C\xD0\x17\x8F\xDA\xCEZ@N|R;\x1B\xA6\xE9P j\xDA\r\xBF\xE5\x8A\xCC\b\xE1\xFD\x80g\x04\xEA\xC4h}\x1F\xC2\xB7^\x16g\x8D\x12\x01~\xE1\xBCLF\xF1\xF1\\~\x11\x12a\xDFJ\xFE\x07\xC0\xFF\xE2\x8D\xBE.|\x82\x02z\x8D\xE7+P\xE8\xF6?\r\x11\xDF\xF8z\xA1\x1E\x00\xFC^;\xE0\xA59\f\xA9a\xB2c\xEB\x82\xCF:\x80\xF2h\x93\xFB_\xDA/C\x98\xD4\xB3\x17\x97\xB7\xC5L\xD5)\x97\xFDM\x12@\xB3\xB9\xA3\xA9\xA6p\x0E}\x85\xEF\xFE8\x8C>'\x1EJ\xE7:\xF6\x9B\x17\xA1\x04\xCC\x0E\xEC\xF4c8\xBC\xC3\xE78\br7\xA48:\xF6\x18\x8E/A=\xAF\x0F<\xE5\x1EVR\xAAc\xF3\xE6\b}\xD7`!\xD6\x96O\x18\xE0\xD2<\xBBEy\xBF\x1B\x11or\x0Ea\xC7\xA75\xD7\xA5o\xF7\xB4\xF7\x8E\x9C\x91u[\xC7Ce\xDCtC\x83}\v \x1F#\xB9\x0E\xA1\x1As\xCDK+\xD1\xA0\\\xC1R\x83vNeE\xC5\xB9\xC9\xC7dVI\xA9\x99\xFC\x1A4\xC9N\xB2\xD8=\xB5X\xFE0\x94\x1C\xDFK\xCB\x16\xF6\xDA\x92#\xEC\"\"\xDA\xF3H\xB6d\x1C\\\xE2t\x99\xCE\x9Eh\xF9\vOw\x9F\xC7yi^\xCCS\x7F1q\xEE\x85O\xF0F\xDF\x1B>A\x81_\x8E\x07\x9As|&\x1E\x98q\xD1\x8E\xB7EjE\x16\x0Fd\xB4w\xE3\x01h\xA9\xDB\xEDx`\xC1\x05!*0\x85\x9F&\x83\xC2\xAB\x8B\x19\xEE\x83\xF1\x1E\x05\xDB\xFCp\xB3\x81\xFE\xFEX;B\xE9\x1F\x8F\xCA\xCA\x9A\xF9\x8B%\x80\xB9Q0\xF6g\xA9I\xE7\xEF\x15\xF8\x12L\x00\xD45\x9A\x95\x12V\x8E\xCAqK\x80\xC9\x8D\x02]r\xCA\x16\x97\x98\xAA<6\xA4W3\x99\xC6\x98s\xD8\xF0\xBA$\xFC<3\xC6\x8F\xD4\x85t\xA5\xF1\xD3\xEF\x8D\x076\xE0\x1Eg\xFD\xE4%\xA0i\x02\xE01\xC0\xA4RK\xFBk\x02<\x94r\xFF\xBE\x97\x9B\x93x\x9DqXLb\x11\x0E\xB0\xFD\x815_\x02\x9C\xBD\xB3n:\xE7dg\xDE\x03s\x1Ez\xD7\xC3%\xF69\xDA\x7F\x03\xA8\xFF\xBC\xDEG\xDCP\xFE\x17\x00\x00\xFF\xFF!o0\xC6\x16:4\xA9\x00\x00\x00\x00IEND\xAEB`\x82"));T=(a=new $Map(),b="text.png",a[b]={k:b,v:P},a);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["image/color/palette"]=(function(){var $pkg={},A;A=$packages["image/color"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["compress/lzw"]=(function(){var $pkg={},A,B,C,D,N,O,P,S,T,U,V,F,G,L,H;A=$packages["bufio"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];F=$pkg.decoder=$newType(0,$kindStruct,"lzw.decoder","decoder","compress/lzw",function(r_,bits_,nBits_,width_,read_,litWidth_,err_,clear_,eof_,hi_,overflow_,last_,suffix_,prefix_,output_,o_,toRead_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:0;this.nBits=nBits_!==undefined?nBits_:0;this.width=width_!==undefined?width_:0;this.read=read_!==undefined?read_:$throwNilPointerError;this.litWidth=litWidth_!==undefined?litWidth_:0;this.err=err_!==undefined?err_:$ifaceNil;this.clear=clear_!==undefined?clear_:0;this.eof=eof_!==undefined?eof_:0;this.hi=hi_!==undefined?hi_:0;this.overflow=overflow_!==undefined?overflow_:0;this.last=last_!==undefined?last_:0;this.suffix=suffix_!==undefined?suffix_:S.zero();this.prefix=prefix_!==undefined?prefix_:T.zero();this.output=output_!==undefined?output_:U.zero();this.o=o_!==undefined?o_:0;this.toRead=toRead_!==undefined?toRead_:N.nil;});F.Ptr.prototype.readLSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((a.bits&((((f=a.width,f<32?(1<>>0)-1>>>0)))>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits>>>h):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readLSB=function(){return this.$val.readLSB();};F.Ptr.prototype.readMSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)),e<32?((c>>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((f=((32-a.width>>>0)),f<32?(a.bits>>>f):0)>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits<>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readMSB=function(){return this.$val.readMSB();};F.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.decode();}};F.prototype.Read=function(a){return this.$val.Read(a);};F.Ptr.prototype.decode=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,y,z,aa,ab;a=this;while(true){b=a.read(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,D.EOF)){d=D.ErrUnexpectedEOF;}a.err=d;return;}if(c=e.length)?$throwRuntimeError("index out of range"):e[f]=(c<<24>>>24));a.o=a.o+(1)>>0;if(!((a.last===65535))){(g=a.suffix,h=a.hi,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));(i=a.prefix,j=a.hi,(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=a.last);}}else if(c===a.clear){a.width=1+(a.litWidth>>>0)>>>0;a.hi=a.eof;a.overflow=(k=a.width,k<32?(1<>>16;a.last=65535;continue;}else if(c===a.eof){a.flush();a.err=D.EOF;return;}else if(c<=a.hi){l=c;m=8191;n=l;o=m;if(c===a.hi){n=a.last;while(n>=a.clear){n=(p=a.prefix,((n<0||n>=p.length)?$throwRuntimeError("index out of range"):p[n]));}(q=a.output,(o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o]=(n<<24>>>24));o=o-(1)>>0;n=a.last;}while(n>=a.clear){(s=a.output,(o<0||o>=s.length)?$throwRuntimeError("index out of range"):s[o]=(r=a.suffix,((n<0||n>=r.length)?$throwRuntimeError("index out of range"):r[n])));o=o-(1)>>0;n=(t=a.prefix,((n<0||n>=t.length)?$throwRuntimeError("index out of range"):t[n]));}(u=a.output,(o<0||o>=u.length)?$throwRuntimeError("index out of range"):u[o]=(n<<24>>>24));a.o=a.o+($copySlice($subslice(new N(a.output),a.o),$subslice(new N(a.output),o)))>>0;if(!((a.last===65535))){(v=a.suffix,w=a.hi,(w<0||w>=v.length)?$throwRuntimeError("index out of range"):v[w]=(n<<24>>>24));(x=a.prefix,y=a.hi,(y<0||y>=x.length)?$throwRuntimeError("index out of range"):x[y]=a.last);}}else{a.err=B.New("lzw: invalid code");return;}z=c;aa=a.hi+1<<16>>>16;a.last=z;a.hi=aa;if(a.hi>=a.overflow){if(a.width===12){a.last=65535;}else{a.width=a.width+(1)>>>0;a.overflow=(ab=(1),ab<32?(a.overflow<>>16;}}if(a.o>=4096){a.flush();return;}}};F.prototype.decode=function(){return this.$val.decode();};F.Ptr.prototype.flush=function(){var a;a=this;a.toRead=$subslice(new N(a.output),0,a.o);a.o=0;};F.prototype.flush=function(){return this.$val.flush();};F.Ptr.prototype.Close=function(){var a;a=this;a.err=G;return $ifaceNil;};F.prototype.Close=function(){return this.$val.Close();};H=$pkg.NewReader=function(a,b,c){var d,e,f,g,h,i,j,k,l;d=new F.Ptr();e=b;if(e===0){d.read=$methodExpr(O.prototype.readLSB);}else if(e===1){d.read=$methodExpr(O.prototype.readMSB);}else{d.err=B.New("lzw: unknown order");return d;}if(c<2||8>>0)>>>0;d.clear=(i=(c>>>0),i<32?(1<>>16;j=d.clear+1<<16>>>16;k=d.clear+1<<16>>>16;d.eof=j;d.hi=k;d.overflow=(l=d.width,l<32?(1<>>16;d.last=65535;return d;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}N=$sliceType($Uint8);O=$ptrType(F);P=$sliceType($emptyInterface);S=$arrayType($Uint8,4096);T=$arrayType($Uint16,4096);U=$arrayType($Uint8,8192);V=$funcType([O],[$Uint16,$error],false);O.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([N],[$Int,$error],false),-1],["decode","decode","compress/lzw",$funcType([],[],false),-1],["flush","flush","compress/lzw",$funcType([],[],false),-1],["readLSB","readLSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1],["readMSB","readMSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1]];F.init([["r","r","compress/lzw",D.ByteReader,""],["bits","bits","compress/lzw",$Uint32,""],["nBits","nBits","compress/lzw",$Uint,""],["width","width","compress/lzw",$Uint,""],["read","read","compress/lzw",V,""],["litWidth","litWidth","compress/lzw",$Int,""],["err","err","compress/lzw",$error,""],["clear","clear","compress/lzw",$Uint16,""],["eof","eof","compress/lzw",$Uint16,""],["hi","hi","compress/lzw",$Uint16,""],["overflow","overflow","compress/lzw",$Uint16,""],["last","last","compress/lzw",$Uint16,""],["suffix","suffix","compress/lzw",S,""],["prefix","prefix","compress/lzw",T,""],["output","output","compress/lzw",U,""],["o","o","compress/lzw",$Int,""],["toRead","toRead","compress/lzw",N,""]]);G=B.New("compress/lzw: reader/writer is closed");L=B.New("lzw: out of codes");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["image/gif"]=(function(){var $pkg={},A,B,C,D,E,F,H,I,G,AG,AH,AI,AJ,AK,AL,AN,AO,AQ,AS,AT,M,N,O,P,J,K,L,Q,R,S,V,W;A=$packages["bufio"];B=$packages["compress/lzw"];C=$packages["errors"];D=$packages["fmt"];E=$packages["image"];F=$packages["image/color"];H=$packages["image/color/palette"];I=$packages["image/draw"];G=$packages["io"];M=$pkg.reader=$newType(8,$kindInterface,"gif.reader","reader","image/gif",null);N=$pkg.decoder=$newType(0,$kindStruct,"gif.decoder","decoder","image/gif",function(r_,vers_,width_,height_,flags_,headerFields_,backgroundIndex_,loopCount_,delayTime_,aspect_,imageFields_,transparentIndex_,hasTransparentIndex_,pixelSize_,globalColorMap_,delay_,image_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.vers=vers_!==undefined?vers_:"";this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flags=flags_!==undefined?flags_:0;this.headerFields=headerFields_!==undefined?headerFields_:0;this.backgroundIndex=backgroundIndex_!==undefined?backgroundIndex_:0;this.loopCount=loopCount_!==undefined?loopCount_:0;this.delayTime=delayTime_!==undefined?delayTime_:0;this.aspect=aspect_!==undefined?aspect_:0;this.imageFields=imageFields_!==undefined?imageFields_:0;this.transparentIndex=transparentIndex_!==undefined?transparentIndex_:0;this.hasTransparentIndex=hasTransparentIndex_!==undefined?hasTransparentIndex_:false;this.pixelSize=pixelSize_!==undefined?pixelSize_:0;this.globalColorMap=globalColorMap_!==undefined?globalColorMap_:F.Palette.nil;this.delay=delay_!==undefined?delay_:AO.nil;this.image=image_!==undefined?image_:AN.nil;this.tmp=tmp_!==undefined?tmp_:AQ.zero();});O=$pkg.blockReader=$newType(0,$kindStruct,"gif.blockReader","blockReader","image/gif",function(r_,slice_,err_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.slice=slice_!==undefined?slice_:AH.nil;this.err=err_!==undefined?err_:$ifaceNil;this.tmp=tmp_!==undefined?tmp_:AJ.zero();});P=$pkg.interlaceScan=$newType(0,$kindStruct,"gif.interlaceScan","interlaceScan","image/gif",function(skip_,start_){this.$val=this;this.skip=skip_!==undefined?skip_:0;this.start=start_!==undefined?start_:0;});O.Ptr.prototype.Read=function(a){var b,c,d,e,f;b=this;if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(a.$length===0){return[0,$ifaceNil];}if(b.slice.$length===0){c=0;d=b.r.ReadByte();c=d[0];b.err=d[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(c===0){b.err=G.EOF;return[0,b.err];}b.slice=$subslice(new AH(b.tmp),0,c);e=G.ReadFull(b.r,b.slice);b.err=e[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}}f=$copySlice(a,b.slice);b.slice=$subslice(b.slice,f);return[f,$ifaceNil];};O.prototype.Read=function(a){return this.$val.Read(a);};N.Ptr.prototype.decode=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;try{$deferFrames.push($deferred);c=this;d=$assertType(a,M,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=c.readHeaderAndScreenDescriptor();if(!($interfaceIsEqual(g,$ifaceNil))){return g;}if(b){return $ifaceNil;}if(!((((c.headerFields&128)>>>0)===0))){h=c.readColorMap();c.globalColorMap=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}}while(true){i=c.r.ReadByte();j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}l=j;if(l===33){k=c.readExtension();if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}else if(l===44){m=c.newImageFromDescriptor();n=m[0];o=m[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=!((((c.imageFields&128)>>>0)===0));if(p){q=c.readColorMap();n.Palette=q[0];o=q[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}}else{n.Palette=c.globalColorMap;}if(c.hasTransparentIndex&&(c.transparentIndex>>0)=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=(r=new F.RGBA.Ptr(0,0,0,0),new r.constructor.Struct(r)));}u=c.r.ReadByte();v=u[0];o=u[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}if(v<2||v>8){return D.Errorf("gif: pixel size in decode out of range: %d",new AI([new $Uint8(v)]));}w=new O.Ptr(c.r,AH.nil,$ifaceNil,AJ.zero());x=B.NewReader(w,0,(v>>0));$deferred.push([$methodVal(x,"Close"),[]]);y=G.ReadFull(x,n.Pix);o=y[1];if(!($interfaceIsEqual(o,$ifaceNil))){if(!($interfaceIsEqual(o,G.ErrUnexpectedEOF))){return o;}return J;}z=x.Read($subslice(new AH(c.tmp),0,1));aa=z[0];ab=z[1];if(!((aa===0))||!($interfaceIsEqual(ab,G.EOF))){if(!($interfaceIsEqual(ab,$ifaceNil))){return ab;}return K;}ac=w.Read($subslice(new AH(c.tmp),0,1));ad=ac[0];ae=ac[1];if(!((ad===0))||!($interfaceIsEqual(ae,G.EOF))){if(!($interfaceIsEqual(ae,$ifaceNil))){return ae;}return K;}if(n.Palette.$length<256){af=n.Pix;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if((ah>>0)>=n.Palette.$length){return L;}ag++;}}if(!((((c.imageFields&64)>>>0)===0))){R(n);}c.image=$append(c.image,n);c.delay=$append(c.delay,c.delayTime);c.delayTime=0;c.hasTransparentIndex=false;}else if(l===59){if(c.image.$length===0){return G.ErrUnexpectedEOF;}return $ifaceNil;}else{return D.Errorf("gif: unknown block type: 0x%.2x",new AI([new $Uint8(j)]));}}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};N.prototype.decode=function(a,b){return this.$val.decode(a,b);};N.Ptr.prototype.readHeaderAndScreenDescriptor=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,13));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}a.vers=$bytesToString($subslice(new AH(a.tmp),0,6));if(!(a.vers==="GIF87a")&&!(a.vers==="GIF89a")){return D.Errorf("gif: can't recognize format %s",new AI([new $String(a.vers)]));}a.width=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.height=(a.tmp[8]>>0)+((a.tmp[9]>>0)<<8>>0)>>0;a.headerFields=a.tmp[10];a.backgroundIndex=a.tmp[11];a.aspect=a.tmp[12];a.loopCount=-1;a.pixelSize=(((a.headerFields&7)>>>0)>>>0)+1>>>0;return $ifaceNil;};N.prototype.readHeaderAndScreenDescriptor=function(){return this.$val.readHeaderAndScreenDescriptor();};N.Ptr.prototype.readColorMap=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.pixelSize>8){return[F.Palette.nil,D.Errorf("gif: can't handle %d bits per pixel",new AI([new $Uint(a.pixelSize)]))];}c=(b=a.pixelSize,b<32?(1<>0;if(!((((a.imageFields&128)>>>0)===0))){c=(d=(((((a.imageFields&7)>>>0))+1<<24>>>24)),d<32?(1<>0;}e=3*c>>0;f=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));g=f[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[F.Palette.nil,D.Errorf("gif: short read on color map: %s",new AI([g]))];}h=F.Palette.make(c);i=0;j=h;k=0;while(k=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+l]=(m=new F.RGBA.Ptr((n=a.tmp,o=i+0>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o])),(p=a.tmp,q=i+1>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q])),(r=a.tmp,s=i+2>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s])),255),new m.constructor.Struct(m));i=i+(3)>>0;k++;}return[h,$ifaceNil];};N.prototype.readColorMap=function(){return this.$val.readColorMap();};N.Ptr.prototype.readExtension=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=0;f=c;if(f===1){e=13;}else if(f===249){return a.readGraphicControl();}else if(f===254){}else if(f===255){g=a.r.ReadByte();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}e=(h>>0);}else{return D.Errorf("gif: unknown extension 0x%.2x",new AI([new $Uint8(c)]));}if(e>0){j=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));k=j[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}if((c===255)&&$bytesToString($subslice(new AH(a.tmp),0,e))==="NETSCAPE2.0"){l=a.readBlock();m=l[0];n=l[1];if((m===0)||!($interfaceIsEqual(n,$ifaceNil))){return n;}if((m===3)&&(a.tmp[0]===1)){a.loopCount=(a.tmp[1]>>0)|((a.tmp[2]>>0)<<8>>0);}}while(true){o=a.readBlock();p=o[0];q=o[1];if((p===0)||!($interfaceIsEqual(q,$ifaceNil))){return q;}}};N.prototype.readExtension=function(){return this.$val.readExtension();};N.Ptr.prototype.readGraphicControl=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,6));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return D.Errorf("gif: can't read graphic control: %s",new AI([c]));}a.flags=a.tmp[1];a.delayTime=(a.tmp[2]>>0)|((a.tmp[3]>>0)<<8>>0);if(!((((a.flags&1)>>>0)===0))){a.transparentIndex=a.tmp[4];a.hasTransparentIndex=true;}return $ifaceNil;};N.prototype.readGraphicControl=function(){return this.$val.readGraphicControl();};N.Ptr.prototype.newImageFromDescriptor=function(){var a,b,c,d,e,f,g,h;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,9));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[AK.nil,D.Errorf("gif: can't read image descriptor: %s",new AI([c]))];}d=(a.tmp[0]>>0)+((a.tmp[1]>>0)<<8>>0)>>0;e=(a.tmp[2]>>0)+((a.tmp[3]>>0)<<8>>0)>>0;f=(a.tmp[4]>>0)+((a.tmp[5]>>0)<<8>>0)>>0;g=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.imageFields=a.tmp[8];h=$clone(E.Rect(d,e,d+f>>0,e+g>>0),E.Rectangle);if(!($equal(h,h.Intersect(E.Rect(0,0,a.width,a.height)),E.Rectangle))){return[AK.nil,C.New("gif: frame bounds larger than image bounds")];}return[E.NewPaletted(h,F.Palette.nil),$ifaceNil];};N.prototype.newImageFromDescriptor=function(){return this.$val.newImageFromDescriptor();};N.Ptr.prototype.readBlock=function(){var a,b,c,d;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if((c===0)||!($interfaceIsEqual(d,$ifaceNil))){return[0,d];}return G.ReadFull(a.r,$subslice(new AH(a.tmp),0,c));};N.prototype.readBlock=function(){return this.$val.readBlock();};R=function(a){var b,c,d,e,f,g,h,i,j;b=AL.nil;c=a.Bounds().Dx();d=a.Bounds().Dy();b=AL.make((c*d>>0));e=0;f=Q;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),P);i=h.start*c>>0;j=h.start;while(j>0)),$subslice(a.Pix,e,(e+c>>0)));e=e+(c)>>0;i=i+((c*h.skip>>0))>>0;j=j+(h.skip)>>0;}g++;}a.Pix=b;};S=$pkg.Decode=function(a){var b,c,d;b=$clone(new N.Ptr(),N);c=b.decode(a,false);if(!($interfaceIsEqual(c,$ifaceNil))){return[$ifaceNil,c];}return[(d=b.image,((0<0||0>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+0])),$ifaceNil];};V=$pkg.DecodeConfig=function(a){var b,c;b=$clone(new N.Ptr(),N);c=b.decode(a,true);if(!($interfaceIsEqual(c,$ifaceNil))){return[new E.Config.Ptr($ifaceNil,0,0),c];}return[new E.Config.Ptr(b.globalColorMap,b.width,b.height),$ifaceNil];};W=function(){E.RegisterFormat("gif","GIF8?a",S,V);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AG=$sliceType(P);AH=$sliceType($Uint8);AI=$sliceType($emptyInterface);AJ=$arrayType($Uint8,256);AK=$ptrType(E.Paletted);AL=$sliceType($Uint8);AN=$sliceType(AK);AO=$sliceType($Int);AQ=$arrayType($Uint8,1024);AS=$ptrType(N);AT=$ptrType(O);M.init([["Read","Read","",$funcType([AH],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);AS.methods=[["decode","decode","image/gif",$funcType([G.Reader,$Bool],[$error],false),-1],["newImageFromDescriptor","newImageFromDescriptor","image/gif",$funcType([],[AK,$error],false),-1],["readBlock","readBlock","image/gif",$funcType([],[$Int,$error],false),-1],["readColorMap","readColorMap","image/gif",$funcType([],[F.Palette,$error],false),-1],["readExtension","readExtension","image/gif",$funcType([],[$error],false),-1],["readGraphicControl","readGraphicControl","image/gif",$funcType([],[$error],false),-1],["readHeaderAndScreenDescriptor","readHeaderAndScreenDescriptor","image/gif",$funcType([],[$error],false),-1]];N.init([["r","r","image/gif",M,""],["vers","vers","image/gif",$String,""],["width","width","image/gif",$Int,""],["height","height","image/gif",$Int,""],["flags","flags","image/gif",$Uint8,""],["headerFields","headerFields","image/gif",$Uint8,""],["backgroundIndex","backgroundIndex","image/gif",$Uint8,""],["loopCount","loopCount","image/gif",$Int,""],["delayTime","delayTime","image/gif",$Int,""],["aspect","aspect","image/gif",$Uint8,""],["imageFields","imageFields","image/gif",$Uint8,""],["transparentIndex","transparentIndex","image/gif",$Uint8,""],["hasTransparentIndex","hasTransparentIndex","image/gif",$Bool,""],["pixelSize","pixelSize","image/gif",$Uint,""],["globalColorMap","globalColorMap","image/gif",F.Palette,""],["delay","delay","image/gif",AO,""],["image","image","image/gif",AN,""],["tmp","tmp","image/gif",AQ,""]]);AT.methods=[["Read","Read","",$funcType([AH],[$Int,$error],false),-1]];O.init([["r","r","image/gif",M,""],["slice","slice","image/gif",AH,""],["err","err","image/gif",$error,""],["tmp","tmp","image/gif",AJ,""]]);P.init([["skip","skip","image/gif",$Int,""],["start","start","image/gif",$Int,""]]);J=C.New("gif: not enough image data");K=C.New("gif: too much image data");L=C.New("gif: invalid pixel value");Q=new AG([new P.Ptr(8,0),new P.Ptr(8,4),new P.Ptr(4,2),new P.Ptr(2,1)]);W();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/ebitenutil"]=(function(){var $pkg={},L,M,N,O,A,B,F,C,G,H,I,J,D,E,K,Y,Z,AA,AB,AK,AL,P,Q,R,U,S,V;L=$packages["bytes"];M=$packages["errors"];N=$packages["fmt"];O=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/internal/assets"];F=$packages["image"];C=$packages["image/color"];G=$packages["image/color/palette"];H=$packages["image/draw"];I=$packages["image/gif"];J=$packages["io"];D=$packages["math"];E=$packages["strings"];K=$packages["sync"];P=$pkg.debugPrintImageParts=$newType(8,$kindString,"ebitenutil.debugPrintImageParts","debugPrintImageParts","github.com/hajimehoshi/ebiten/ebitenutil",null);Q=$pkg.debugPrintState=$newType(0,$kindStruct,"ebitenutil.debugPrintState","debugPrintState","github.com/hajimehoshi/ebiten/ebitenutil",function(textImage_,debugPrintRenderTarget_){this.$val=this;this.textImage=textImage_!==undefined?textImage_:Y.nil;this.debugPrintRenderTarget=debugPrintRenderTarget_!==undefined?debugPrintRenderTarget_:Y.nil;});P.prototype.Len=function(){var a;a=this.$val!==undefined?this.$val:this;return a.length;};$ptrType(P).prototype.Len=function(){return new P(this.$get()).Len();};P.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;f=this.$val!==undefined?this.$val:this;g=6;h=16;i=g;j=h;k=(a-E.LastIndex(f.substring(0,a),"\n")>>0)-1>>0;l=E.Count(f.substring(0,a),"\n");k=k*(i)>>0;l=l*(j)>>0;if(k<0){m=0;n=0;o=0;p=0;b=m;c=n;d=o;e=p;return[b,c,d,e];}q=k;r=l;s=k+i>>0;t=l+j>>0;b=q;c=r;d=s;e=t;return[b,c,d,e];};$ptrType(P).prototype.Dst=function(a){return new P(this.$get()).Dst(a);};P.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;f=this.$val!==undefined?this.$val:this;g=6;h=16;i=g;j=h;k=(f.charCodeAt(a)>>0);if(k===10){l=0;m=0;n=0;o=0;b=l;c=m;d=n;e=o;return[b,c,d,e];}q=((p=k%32,p===p?p:$throwRuntimeError("integer divide by zero")))*i>>0;s=((r=k/32,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero")))*j>>0;t=q;u=s;v=q+i>>0;w=s+j>>0;b=t;c=u;d=v;e=w;return[b,c,d,e];};$ptrType(P).prototype.Src=function(a){return new P(this.$get()).Src(a);};S=$pkg.DebugPrint=function(a,b){return R.DebugPrint(a,b);};Q.Ptr.prototype.drawText=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;f=this;g=e.RGBA();h=g[0];i=g[1];j=g[2];k=g[3];l=h/65535;m=i/65535;n=j/65535;o=k/65535;if(0>0),d);p.ColorM.Scale(l,m,n,o);a.DrawImage(f.textImage,p);};Q.prototype.drawText=function(a,b,c,d,e){return this.$val.drawText(a,b,c,d,e);};Q.Ptr.prototype.DebugPrint=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=this;if(c.textImage===Y.nil){d=B.TextImage();e=d[0];f=d[1];if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g=A.NewImageFromImage(e,0);c.textImage=g[0];f=g[1];if(!($interfaceIsEqual(f,$ifaceNil))){return f;}}if(c.debugPrintRenderTarget===Y.nil){h=256;i=256;j=h;k=i;l=$ifaceNil;m=A.NewImage(j,k,0);c.debugPrintRenderTarget=m[0];l=m[1];if(!($interfaceIsEqual(l,$ifaceNil))){return l;}}c.drawText(a,b,1,1,(n=new C.NRGBA.Ptr(0,0,0,128),new n.constructor.Struct(n)));c.drawText(a,b,0,0,(o=new C.NRGBA.Ptr(255,255,255,255),new o.constructor.Struct(o)));return $ifaceNil;};Q.prototype.DebugPrint=function(a,b){return this.$val.DebugPrint(a,b);};V=function(){var a,b,c,d,e,f,g,h,i,j,k;a=new AA([]);b=new AB([0,128,255]);c=0;while(c=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);e=new AB([0,128,255]);f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);h=new AB([0,128,255]);i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);a=$append(a,(k=new C.RGBA.Ptr(d,g,j,255),new k.constructor.Struct(k)));i++;}f++;}c++;}U=$subslice(new C.Palette(a.$array),a.$offset,a.$offset+a.$length);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=L.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=M.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=N.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=O.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=15;case 15:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(A.Image);Z=$sliceType(A.ImagePart);AA=$sliceType(C.Color);AB=$sliceType($Uint8);AK=$ptrType(P);AL=$ptrType(Q);P.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AK.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AL.methods=[["DebugPrint","DebugPrint","",$funcType([Y,$String],[$error],false),-1],["drawText","drawText","github.com/hajimehoshi/ebiten/ebitenutil",$funcType([Y,$String,$Int,$Int,C.Color],[],false),-1]];Q.init([["textImage","textImage","github.com/hajimehoshi/ebiten/ebitenutil",Y,""],["debugPrintRenderTarget","debugPrintRenderTarget","github.com/hajimehoshi/ebiten/ebitenutil",Y,""]]);U=C.Palette.nil;R=new Q.Ptr(Y.nil,Y.nil);V();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["log"]=(function(){var $pkg={},A,B,C,D,E,F,Y,Z,AA,AB,AC,G,I,H,J,S;A=$packages["fmt"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];E=$packages["sync"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger","Logger","log",function(mu_,prefix_,flag_,out_,buf_){this.$val=this;this.mu=mu_!==undefined?mu_:new E.Mutex.Ptr();this.prefix=prefix_!==undefined?prefix_:"";this.flag=flag_!==undefined?flag_:0;this.out=out_!==undefined?out_:$ifaceNil;this.buf=buf_!==undefined?buf_:Y.nil;});H=$pkg.New=function(a,b,c){return new G.Ptr(new E.Mutex.Ptr(),b,c,a,Y.nil);};J=function(a,b,c){var d,e,f,g,h;d=(b>>>0);if((d===0)&&c<=1){a.$set($append(a.$get(),48));return;}e=$clone(Z.zero(),Z);f=32;while(d>0||c>0){f=f-(1)>>0;c=c-(1)>>0;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((g=d%10,g===g?g:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24;d=(h=d/(10),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));}a.$set($appendSlice(a.$get(),$subslice(new Y(e),f)));};G.Ptr.prototype.formatHeader=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;e=this;b=$clone(b,F.Time);a.$set($appendSlice(a.$get(),new Y($stringToBytes(e.prefix))));if(!(((e.flag&7)===0))){if(!(((e.flag&1)===0))){f=b.Date();g=f[0];h=f[1];i=f[2];J(a,g,4);a.$set($append(a.$get(),47));J(a,(h>>0),2);a.$set($append(a.$get(),47));J(a,i,2);a.$set($append(a.$get(),32));}if(!(((e.flag&6)===0))){j=b.Clock();k=j[0];l=j[1];m=j[2];J(a,k,2);a.$set($append(a.$get(),58));J(a,l,2);a.$set($append(a.$get(),58));J(a,m,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(n=b.Nanosecond()/1000,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));}}if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){o=c;p=c.length-1>>0;while(p>0){if(c.charCodeAt(p)===47){o=c.substring((p+1>>0));break;}p=p-(1)>>0;}c=o;}a.$set($appendSlice(a.$get(),new Y($stringToBytes(c))));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),new Y($stringToBytes(": "))));}};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.Ptr.prototype.Output=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j;try{$deferFrames.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);c.formatHeader(new AA(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c),d,e,f);c.buf=$appendSlice(c.buf,new Y($stringToBytes(b)));if(b.length>0&&!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}i=c.out.Write(c.buf);j=i[1];return j;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.Ptr.prototype.Printf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.Ptr.prototype.Print=function(a){var b;b=this;b.Output(2,A.Sprint(a));};G.prototype.Print=function(a){return this.$val.Print(a);};G.Ptr.prototype.Println=function(a){var b;b=this;b.Output(2,A.Sprintln(a));};G.prototype.Println=function(a){return this.$val.Println(a);};G.Ptr.prototype.Fatal=function(a){var b;b=this;b.Output(2,A.Sprint(a));C.Exit(1);};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.Ptr.prototype.Fatalf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));C.Exit(1);};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.Ptr.prototype.Fatalln=function(a){var b;b=this;b.Output(2,A.Sprintln(a));C.Exit(1);};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.Ptr.prototype.Panic=function(a){var b,c;b=this;c=A.Sprint(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.Ptr.prototype.Panicf=function(a,b){var c,d;c=this;d=A.Sprintf(a,b);c.Output(2,d);$panic(new $String(d));};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.Ptr.prototype.Panicln=function(a){var b,c;b=this;c=A.Sprintln(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.Ptr.prototype.Flags=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.Ptr.prototype.SetFlags=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.Ptr.prototype.Prefix=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.Ptr.prototype.SetPrefix=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};S=$pkg.Fatal=function(a){I.Output(2,A.Sprint(a));C.Exit(1);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);Z=$arrayType($Uint8,32);AA=$ptrType(Y);AB=$sliceType($emptyInterface);AC=$ptrType(G);AC.methods=[["Fatal","Fatal","",$funcType([AB],[],true),-1],["Fatalf","Fatalf","",$funcType([$String,AB],[],true),-1],["Fatalln","Fatalln","",$funcType([AB],[],true),-1],["Flags","Flags","",$funcType([],[$Int],false),-1],["Output","Output","",$funcType([$Int,$String],[$error],false),-1],["Panic","Panic","",$funcType([AB],[],true),-1],["Panicf","Panicf","",$funcType([$String,AB],[],true),-1],["Panicln","Panicln","",$funcType([AB],[],true),-1],["Prefix","Prefix","",$funcType([],[$String],false),-1],["Print","Print","",$funcType([AB],[],true),-1],["Printf","Printf","",$funcType([$String,AB],[],true),-1],["Println","Println","",$funcType([AB],[],true),-1],["SetFlags","SetFlags","",$funcType([$Int],[],false),-1],["SetPrefix","SetPrefix","",$funcType([$String],[],false),-1],["formatHeader","formatHeader","log",$funcType([AA,F.Time,$String,$Int],[],false),-1]];G.init([["mu","mu","log",E.Mutex,""],["prefix","prefix","log",$String,""],["flag","flag","log",$Int,""],["out","out","log",B.Writer,""],["buf","buf","log",Y,""]]);I=H(C.Stderr,"",3);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/example/keyboard"]=(function(){var $pkg={},A,B,C,D,E,F,J,K,G,a,b,H,I;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["log"];D=$packages["sort"];E=$packages["strconv"];F=$packages["strings"];H=function(c){var d,e,f,g,h,i,j,k,l,m,n;d=new J([]);e=0;while(e<=9){if(A.IsKeyPressed((e>>0)+0>>0)){d=$append(d,$encodeRune((e+48>>0)));}e=e+(1)>>0;}f=65;while(f<=90){if(A.IsKeyPressed(((f>>0)-65>>0)+10>>0)){d=$append(d,$encodeRune(f));}f=f+(1)>>0;}g=1;while(g<=12){if(A.IsKeyPressed(((g>>0)+46>>0)-1>>0)){d=$append(d,"F"+E.Itoa(g));}g=g+(1)>>0;}h=G;i=0;j=$keys(h);while(i + + diff --git a/_docs/public/example/mosaic.html b/_docs/public/example/mosaic.html index 5f427098e..2c4087a8b 100644 --- a/_docs/public/example/mosaic.html +++ b/_docs/public/example/mosaic.html @@ -15,4 +15,72 @@ See the License for the specific language governing permissions and limitations under the License. --> - + + + +

mosaic

+ +
package main
+
+import (
+    "github.com/hajimehoshi/ebiten"
+    "github.com/hajimehoshi/ebiten/ebitenutil"
+    _ "image/jpeg"
+    "log"
+)
+
+const (
+    screenWidth  = 320
+    screenHeight = 240
+)
+
+const mosaicRatio = 16
+
+var (
+    gophersImage        *ebiten.Image
+    gophersRenderTarget *ebiten.Image
+)
+
+func update(screen *ebiten.Image) error {
+    op := &ebiten.DrawImageOptions{}
+    op.GeoM.Scale(1.0/mosaicRatio, 1.0/mosaicRatio)
+    gophersRenderTarget.DrawImage(gophersImage, op)
+    op = &ebiten.DrawImageOptions{}
+    op.GeoM.Scale(mosaicRatio, mosaicRatio)
+    screen.DrawImage(gophersRenderTarget, op)
+    return nil
+}
+
+func main() {
+    var err error
+    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
+    if err != nil {
+        log.Fatal(err)
+    }
+    w, h := gophersImage.Size()
+    gophersRenderTarget, err = ebiten.NewImage(w/mosaicRatio, h/mosaicRatio, ebiten.FilterNearest)
+    if err != nil {
+        log.Fatal(err)
+    }
+    if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Mosaic (Ebiten Demo)"); err != nil {
+        log.Fatal(err)
+    }
+}
+
+ + +
© 2015 Hajime Hoshi
diff --git a/_docs/public/example/mosaic.js b/_docs/public/example/mosaic.js index 4302f0619..9a1080d9e 100644 --- a/_docs/public/example/mosaic.js +++ b/_docs/public/example/mosaic.js @@ -4,10 +4,10 @@ Error.stackTraceLimit=Infinity;var $global,$module;if(typeof window!=="undefined"){$global=window;}else if(typeof self!=="undefined"){$global=self;}else if(typeof global!=="undefined"){$global=global;$global.require=require;}else{console.log("warning: no global object found");}if(typeof module!=="undefined"){$module=module;}var $packages={},$reflect,$idCounter=0;var $keys=function(m){return m?Object.keys(m):[];};var $min=Math.min;var $mod=function(x,y){return x%y;};var $parseInt=parseInt;var $parseFloat=function(f){if(f!==undefined&&f!==null&&f.constructor===Number){return f;}return parseFloat(f);};var $flushConsole=function(){};var $mapArray=function(array,f){var newArray=new array.constructor(array.length),i;for(i=0;islice.$capacity||max>slice.$capacity){$throwRuntimeError("slice bounds out of range");}var s=new slice.constructor(slice.$array);s.$offset=slice.$offset+low;s.$length=slice.$length-low;s.$capacity=slice.$capacity-low;if(high!==undefined){s.$length=high-low;}if(max!==undefined){s.$capacity=max-low;}return s;};var $sliceToArray=function(slice){if(slice.$length===0){return[];}if(slice.$array.constructor!==Array){return slice.$array.subarray(slice.$offset,slice.$offset+slice.$length);}return slice.$array.slice(slice.$offset,slice.$offset+slice.$length);};var $decodeRune=function(str,pos){var c0=str.charCodeAt(pos);if(c0<0x80){return[c0,1];}if(c0!==c0||c0<0xC0){return[0xFFFD,1];}var c1=str.charCodeAt(pos+1);if(c1!==c1||c1<0x80||0xC0<=c1){return[0xFFFD,1];}if(c0<0xE0){var r=(c0&0x1F)<<6|(c1&0x3F);if(r<=0x7F){return[0xFFFD,1];}return[r,2];}var c2=str.charCodeAt(pos+2);if(c2!==c2||c2<0x80||0xC0<=c2){return[0xFFFD,1];}if(c0<0xF0){var r=(c0&0x0F)<<12|(c1&0x3F)<<6|(c2&0x3F);if(r<=0x7FF){return[0xFFFD,1];}if(0xD800<=r&&r<=0xDFFF){return[0xFFFD,1];}return[r,3];}var c3=str.charCodeAt(pos+3);if(c3!==c3||c3<0x80||0xC0<=c3){return[0xFFFD,1];}if(c0<0xF8){var r=(c0&0x07)<<18|(c1&0x3F)<<12|(c2&0x3F)<<6|(c3&0x3F);if(r<=0xFFFF||0x10FFFF0x10FFFF||(0xD800<=r&&r<=0xDFFF)){r=0xFFFD;}if(r<=0x7F){return String.fromCharCode(r);}if(r<=0x7FF){return String.fromCharCode(0xC0|r>>6,0x80|(r&0x3F));}if(r<=0xFFFF){return String.fromCharCode(0xE0|r>>12,0x80|(r>>6&0x3F),0x80|(r&0x3F));}return String.fromCharCode(0xF0|r>>18,0x80|(r>>12&0x3F),0x80|(r>>6&0x3F),0x80|(r&0x3F));};var $stringToBytes=function(str){var array=new Uint8Array(str.length),i;for(i=0;inewCapacity){newOffset=0;newCapacity=Math.max(newLength,slice.$capacity<1024?slice.$capacity*2:Math.floor(slice.$capacity*5/4));if(slice.$array.constructor===Array){newArray=slice.$array.slice(slice.$offset,slice.$offset+slice.$length);newArray.length=newCapacity;var zero=slice.constructor.elem.zero,i;for(i=slice.$length;i>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindUint64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindComplex64:case $kindComplex128:typ=function(real,imag){this.$real=real;this.$imag=imag;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$real+"$"+this.$imag;};break;case $kindArray:typ=function(v){this.$val=v;};typ.Ptr=$newType(4,$kindPtr,"*"+string,"","",function(array){this.$get=function(){return array;};this.$set=function(v){$copy(this,v,typ);};this.$val=array;});typ.init=function(elem,len){typ.elem=elem;typ.len=len;typ.prototype.$key=function(){return string+"$"+Array.prototype.join.call($mapArray(this.$val,function(e){var key=e.$key?e.$key():String(e);return key.replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}),"$");};typ.extendReflectType=function(rt){rt.arrayType=new $reflect.arrayType.Ptr(rt,elem.reflectType(),undefined,len);};typ.Ptr.init(typ);Object.defineProperty(typ.Ptr.nil,"nilCheck",{get:$throwNilPointerError});};break;case $kindChan:typ=function(capacity){this.$val=this;this.$capacity=capacity;this.$buffer=[];this.$sendQueue=[];this.$recvQueue=[];this.$closed=false;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem,sendOnly,recvOnly){typ.elem=elem;typ.sendOnly=sendOnly;typ.recvOnly=recvOnly;typ.nil=new typ(0);typ.nil.$sendQueue=typ.nil.$recvQueue={length:0,push:function(){},shift:function(){return undefined;},indexOf:function(){return-1;}};typ.extendReflectType=function(rt){rt.chanType=new $reflect.chanType.Ptr(rt,elem.reflectType(),sendOnly?$reflect.SendDir:(recvOnly?$reflect.RecvDir:$reflect.BothDir));};};break;case $kindFunc:typ=function(v){this.$val=v;};typ.init=function(params,results,variadic){typ.params=params;typ.results=results;typ.variadic=variadic;typ.extendReflectType=function(rt){var typeSlice=($sliceType($ptrType($reflect.rtype.Ptr)));rt.funcType=new $reflect.funcType.Ptr(rt,variadic,new typeSlice($mapArray(params,function(p){return p.reflectType();})),new typeSlice($mapArray(results,function(p){return p.reflectType();})));};};break;case $kindInterface:typ={implementedBy:{},missingMethodFor:{}};typ.init=function(methods){typ.methods=methods;typ.extendReflectType=function(rt){var imethods=$mapArray(methods,function(m){return new $reflect.imethod.Ptr($newStringPtr(m[1]),$newStringPtr(m[2]),m[3].reflectType());});var methodSlice=($sliceType($ptrType($reflect.imethod.Ptr)));rt.interfaceType=new $reflect.interfaceType.Ptr(rt,new methodSlice(imethods));};};break;case $kindMap:typ=function(v){this.$val=v;};typ.init=function(key,elem){typ.key=key;typ.elem=elem;typ.extendReflectType=function(rt){rt.mapType=new $reflect.mapType.Ptr(rt,key.reflectType(),elem.reflectType(),undefined,undefined);};};break;case $kindPtr:typ=constructor||function(getter,setter,target){this.$get=getter;this.$set=setter;this.$target=target;this.$val=this;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem){typ.nil=new typ($throwNilPointerError,$throwNilPointerError);typ.extendReflectType=function(rt){rt.ptrType=new $reflect.ptrType.Ptr(rt,elem.reflectType());};};break;case $kindSlice:var nativeArray;typ=function(array){if(array.constructor!==nativeArray){array=new nativeArray(array);}this.$array=array;this.$offset=0;this.$length=array.length;this.$capacity=array.length;this.$val=this;};typ.make=function(length,capacity){capacity=capacity||length;var array=new nativeArray(capacity),i;if(nativeArray===Array){for(i=0;i1){string+=" ("+$mapArray(results,function(r){return r.string;}).join(", ")+")";}var typ=$funcTypes[string];if(typ===undefined){typ=$newType(4,$kindFunc,string,"","",null);typ.init(params,results,variadic);$funcTypes[string]=typ;}return typ;};var $interfaceTypes={};var $interfaceType=function(methods){var string="interface {}";if(methods.length!==0){string="interface { "+$mapArray(methods,function(m){return(m[2]!==""?m[2]+".":"")+m[1]+m[3].string.substr(4);}).join("; ")+" }";}var typ=$interfaceTypes[string];if(typ===undefined){typ=$newType(8,$kindInterface,string,"","",null);typ.init(methods);$interfaceTypes[string]=typ;}return typ;};var $emptyInterface=$interfaceType([]);var $ifaceNil={$key:function(){return"nil";}};var $error=$newType(8,$kindInterface,"error","error","",null);$error.init([["Error","Error","",$funcType([],[$String],false)]]);var $Map=function(){};(function(){var names=Object.getOwnPropertyNames(Object.prototype),i;for(i=0;i>>(32-y),(x.$low<>>0);}if(y<64){return new x.constructor(x.$low<<(y-32),0);}return new x.constructor(0,0);};var $shiftRightInt64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(x.$high>>31,(x.$high>>(y-32))>>>0);}if(x.$high<0){return new x.constructor(-1,4294967295);}return new x.constructor(0,0);};var $shiftRightUint64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(0,x.$high>>>(y-32));}return new x.constructor(0,0);};var $mul64=function(x,y){var high=0,low=0,i;if((y.$low&1)!==0){high=x.$high;low=x.$low;}for(i=1;i<32;i++){if((y.$low&1<>>(32-i);low+=(x.$low<>>0;}}for(i=0;i<32;i++){if((y.$high&1<yHigh)||(xHigh===yHigh&&xLow>yLow))){yHigh=(yHigh<<1|yLow>>>31)>>>0;yLow=(yLow<<1)>>>0;n++;}for(i=0;i<=n;i++){high=high<<1|low>>>31;low=(low<<1)>>>0;if((xHigh>yHigh)||(xHigh===yHigh&&xLow>=yLow)){xHigh=xHigh-yHigh;xLow=xLow-yLow;if(xLow<0){xHigh--;xLow+=4294967296;}low++;if(low===4294967296){high++;low=0;}}yLow=(yLow>>>1|yHigh<<(32-1))>>>0;yHigh=yHigh>>>1;}if(returnRemainder){return new x.constructor(xHigh*rs,xLow*rs);}return new x.constructor(high*s,low*s);};var $divComplex=function(n,d){var ninf=n.$real===1/0||n.$real===-1/0||n.$imag===1/0||n.$imag===-1/0;var dinf=d.$real===1/0||d.$real===-1/0||d.$imag===1/0||d.$imag===-1/0;var nnan=!ninf&&(n.$real!==n.$real||n.$imag!==n.$imag);var dnan=!dinf&&(d.$real!==d.$real||d.$imag!==d.$imag);if(nnan||dnan){return new n.constructor(0/0,0/0);}if(ninf&&!dinf){return new n.constructor(1/0,1/0);}if(!ninf&&dinf){return new n.constructor(0,0);}if(d.$real===0&&d.$imag===0){if(n.$real===0&&n.$imag===0){return new n.constructor(0/0,0/0);}return new n.constructor(1/0,1/0);}var a=Math.abs(d.$real);var b=Math.abs(d.$imag);if(a<=b){var ratio=d.$real/d.$imag;var denom=d.$real*ratio+d.$imag;return new n.constructor((n.$real*ratio+n.$imag)/denom,(n.$imag*ratio-n.$real)/denom);}var ratio=d.$imag/d.$real;var denom=d.$imag*ratio+d.$real;return new n.constructor((n.$imag*ratio+n.$real)/denom,(n.$imag-n.$real*ratio)/denom);};var $stackDepthOffset=0;var $getStackDepth=function(){var err=new Error();if(err.stack===undefined){return undefined;}return $stackDepthOffset+err.stack.split("\n").length;};var $deferFrames=[],$skippedDeferFrames=0,$jumpToDefer=false,$panicStackDepth=null,$panicValue;var $callDeferred=function(deferred,jsErr){if($skippedDeferFrames!==0){$skippedDeferFrames--;throw jsErr;}if($jumpToDefer){$jumpToDefer=false;throw jsErr;}if(jsErr){var newErr=null;try{$deferFrames.push(deferred);$panic(new $packages["github.com/gopherjs/gopherjs/js"].Error.Ptr(jsErr));}catch(err){newErr=err;}$deferFrames.pop();$callDeferred(deferred,newErr);return;}$stackDepthOffset--;var outerPanicStackDepth=$panicStackDepth;var outerPanicValue=$panicValue;var localPanicValue=$curGoroutine.panicStack.pop();if(localPanicValue!==undefined){$panicStackDepth=$getStackDepth();$panicValue=localPanicValue;}var call,localSkippedDeferFrames=0;try{while(true){if(deferred===null){deferred=$deferFrames[$deferFrames.length-1-localSkippedDeferFrames];if(deferred===undefined){var msg;if(localPanicValue.constructor===$String){msg=localPanicValue.$val;}else if(localPanicValue.Error!==undefined){msg=localPanicValue.Error();}else if(localPanicValue.String!==undefined){msg=localPanicValue.String();}else{msg=localPanicValue;}var e=new Error(msg);if(localPanicValue.Stack!==undefined){e.stack=localPanicValue.Stack();e.stack=msg+e.stack.substr(e.stack.indexOf("\n"));}throw e;}}var call=deferred.pop();if(call===undefined){if(localPanicValue!==undefined){localSkippedDeferFrames++;deferred=null;continue;}return;}var r=call[0].apply(undefined,call[1]);if(r&&r.$blocking){deferred.push([r,[]]);}if(localPanicValue!==undefined&&$panicStackDepth===null){throw null;}}}finally{$skippedDeferFrames+=localSkippedDeferFrames;if($curGoroutine.asleep){deferred.push(call);$jumpToDefer=true;}if(localPanicValue!==undefined){if($panicStackDepth!==null){$curGoroutine.panicStack.push(localPanicValue);}$panicStackDepth=outerPanicStackDepth;$panicValue=outerPanicValue;}$stackDepthOffset++;}};var $panic=function(value){$curGoroutine.panicStack.push(value);$callDeferred(null,null);};var $recover=function(){if($panicStackDepth===null||($panicStackDepth!==undefined&&$panicStackDepth!==$getStackDepth()-2)){return $ifaceNil;}$panicStackDepth=null;return $panicValue;};var $throw=function(err){throw err;};var $throwRuntimeError;var $BLOCKING=new Object();var $nonblockingCall=function(){$panic(new $packages["runtime"].NotSupportedError.Ptr("non-blocking call to blocking function, see https://github.com/gopherjs/gopherjs#goroutines"));};var $dummyGoroutine={asleep:false,exit:false,panicStack:[]};var $curGoroutine=$dummyGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=true;var $go=function(fun,args,direct){$totalGoroutines++;$awakeGoroutines++;args.push($BLOCKING);var goroutine=function(){var rescheduled=false;try{$curGoroutine=goroutine;$skippedDeferFrames=0;$jumpToDefer=false;var r=fun.apply(undefined,args);if(r&&r.$blocking){fun=r;args=[];$schedule(goroutine,direct);rescheduled=true;return;}goroutine.exit=true;}catch(err){if(!$curGoroutine.asleep){goroutine.exit=true;throw err;}}finally{$curGoroutine=$dummyGoroutine;if(goroutine.exit&&!rescheduled){$totalGoroutines--;goroutine.asleep=true;}if(goroutine.asleep&&!rescheduled){$awakeGoroutines--;if($awakeGoroutines===0&&$totalGoroutines!==0&&$checkForDeadlock){console.error("fatal error: all goroutines are asleep - deadlock!");}}}};goroutine.asleep=false;goroutine.exit=false;goroutine.panicStack=[];$schedule(goroutine,direct);};var $scheduled=[],$schedulerLoopActive=false;var $schedule=function(goroutine,direct){if(goroutine.asleep){goroutine.asleep=false;$awakeGoroutines++;}if(direct){goroutine();return;}$scheduled.push(goroutine);if(!$schedulerLoopActive){$schedulerLoopActive=true;setTimeout(function(){while(true){var r=$scheduled.shift();if(r===undefined){$schedulerLoopActive=false;break;}r();};},0);}};var $send=function(chan,value){if(chan.$closed){$throwRuntimeError("send on closed channel");}var queuedRecv=chan.$recvQueue.shift();if(queuedRecv!==undefined){queuedRecv([value,true]);return;}if(chan.$buffer.length>24;case $kindInt16:return parseInt(v)<<16>>16;case $kindInt32:return parseInt(v)>>0;case $kindUint:return parseInt(v);case $kindUint8:return parseInt(v)<<24>>>24;case $kindUint16:return parseInt(v)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(v)>>>0;case $kindInt64:case $kindUint64:return new t(0,v);case $kindFloat32:case $kindFloat64:return parseFloat(v);case $kindArray:if(v.length!==t.len){$throwRuntimeError("got array with wrong size from JavaScript native");}return $mapArray(v,function(e){return $internalize(e,t.elem);});case $kindFunc:return function(){var args=[],i;for(i=0;i>0)];if(f===undefined){g=0;h="";i=0;j=false;b=g;c=h;d=i;e=j;return[b,c,d,e];}k=f.substring(($parseInt(f.indexOf($externalize("(",$String)))>>0)+1>>0,$parseInt(f.indexOf($externalize(")",$String)))>>0).split($externalize(":",$String));l=0;m=$internalize(k[0],$String);n=$parseInt(k[1])>>0;o=true;b=l;c=m;d=n;e=o;return[b,c,d,e];};P=$pkg.SetFinalizer=function(a,b){};X.Ptr.prototype.RuntimeError=function(){};X.prototype.RuntimeError=function(){return this.$val.RuntimeError();};X.Ptr.prototype.Error=function(){var a,b;a=this;b=a.interfaceString;if(b===""){b="interface";}if(a.concreteString===""){return"interface conversion: "+b+" is nil, not "+a.assertedString;}if(a.missingMethod===""){return"interface conversion: "+b+" is "+a.concreteString+", not "+a.assertedString;}return"interface conversion: "+a.concreteString+" is not "+a.assertedString+": missing method "+a.missingMethod;};X.prototype.Error=function(){return this.$val.Error();};Z.prototype.RuntimeError=function(){var a;a=this.$val!==undefined?this.$val:this;};$ptrType(Z).prototype.RuntimeError=function(){return new Z(this.$get()).RuntimeError();};Z.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"runtime error: "+a;};$ptrType(Z).prototype.Error=function(){return new Z(this.$get()).Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}AN=$ptrType(C);AR=$ptrType(X);AS=$ptrType(Z);AN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];C.init([["Feature","Feature","",$String,""]]);AR.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];X.init([["interfaceString","interfaceString","runtime",$String,""],["concreteString","concreteString","runtime",$String,""],["assertedString","assertedString","runtime",$String,""],["missingMethod","missingMethod","runtime",$String,""]]);Z.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];AS.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];D();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color"]=(function(){var $pkg={},Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,A,B,C,D,E,F,G,H,I,J,L,U,X,K,M,N,O,P,Q,R,S,T,V,W,Y;A=$pkg.Color=$newType(8,$kindInterface,"color.Color","Color","image/color",null);B=$pkg.RGBA=$newType(0,$kindStruct,"color.RGBA","RGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});C=$pkg.RGBA64=$newType(0,$kindStruct,"color.RGBA64","RGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});D=$pkg.NRGBA=$newType(0,$kindStruct,"color.NRGBA","NRGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});E=$pkg.NRGBA64=$newType(0,$kindStruct,"color.NRGBA64","NRGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});F=$pkg.Alpha=$newType(0,$kindStruct,"color.Alpha","Alpha","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});G=$pkg.Alpha16=$newType(0,$kindStruct,"color.Alpha16","Alpha16","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});H=$pkg.Gray=$newType(0,$kindStruct,"color.Gray","Gray","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});I=$pkg.Gray16=$newType(0,$kindStruct,"color.Gray16","Gray16","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});J=$pkg.Model=$newType(8,$kindInterface,"color.Model","Model","image/color",null);L=$pkg.modelFunc=$newType(0,$kindStruct,"color.modelFunc","modelFunc","image/color",function(f_){this.$val=this;this.f=f_!==undefined?f_:$throwNilPointerError;});U=$pkg.Palette=$newType(12,$kindSlice,"color.Palette","Palette","image/color",null);X=$pkg.YCbCr=$newType(0,$kindStruct,"color.YCbCr","YCbCr","image/color",function(Y_,Cb_,Cr_){this.$val=this;this.Y=Y_!==undefined?Y_:0;this.Cb=Cb_!==undefined?Cb_:0;this.Cr=Cr_!==undefined?Cr_:0;});B.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e;e=$clone(this,B);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};B.prototype.RGBA=function(){return this.$val.RGBA();};C.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,C);f=(e.R>>>0);g=(e.G>>>0);h=(e.B>>>0);i=(e.A>>>0);a=f;b=g;c=h;d=i;return[a,b,c,d];};C.prototype.RGBA=function(){return this.$val.RGBA();};D.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,D);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(255),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(255),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(255),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};D.prototype.RGBA=function(){return this.$val.RGBA();};E.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,E);a=(e.R>>>0);a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(65535),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(65535),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(65535),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);return[a,b,c,d];};E.prototype.RGBA=function(){return this.$val.RGBA();};F.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,F);d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};F.prototype.RGBA=function(){return this.$val.RGBA();};G.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,G);d=(e.A>>>0);f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};G.prototype.RGBA=function(){return this.$val.RGBA();};H.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,H);f=(e.Y>>>0);f=(f|((f<<8>>>0)))>>>0;g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};H.prototype.RGBA=function(){return this.$val.RGBA();};I.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,I);f=(e.Y>>>0);g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};I.prototype.RGBA=function(){return this.$val.RGBA();};K=$pkg.ModelFunc=function(a){return new L.Ptr(a);};L.Ptr.prototype.Convert=function(a){var b;b=this;return b.f(a);};L.prototype.Convert=function(a){return this.$val.Convert(a);};M=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,B,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new B.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new i.constructor.Struct(i));};N=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,C,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new C.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new i.constructor.Struct(i));};O=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,D,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),255),new i.constructor.Struct(i));}if(h===0){return(j=new D.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new n.constructor.Struct(n));};P=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,E,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),65535),new i.constructor.Struct(i));}if(h===0){return(j=new E.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new n.constructor.Struct(n));};Q=function(a){var b,c,d,e,f;b=$assertType(a,F,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new F.Ptr(((e>>>8>>>0)<<24>>>24)),new f.constructor.Struct(f));};R=function(a){var b,c,d,e,f;b=$assertType(a,G,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new G.Ptr((e<<16>>>16)),new f.constructor.Struct(f));};S=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,H,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new H.Ptr(((i>>>8>>>0)<<24>>>24)),new j.constructor.Struct(j));};T=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,I,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new I.Ptr((i<<16>>>16)),new j.constructor.Struct(j));};U.prototype.Convert=function(a){var b,c;b=this;if(b.$length===0){return $ifaceNil;}return(c=b.Index(a),((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]));};$ptrType(U).prototype.Convert=function(a){return this.$get().Convert(a);};U.prototype.Index=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;b=this;c=a.RGBA();d=c[0];e=c[1];f=c[2];g=0;h=4294967295;i=g;j=h;k=b;l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);o=n.RGBA();p=o[0];q=o[1];r=o[2];s=(((d>>0)-(p>>0)>>0))>>1>>0;t=(((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0);s=(((e>>0)-(q>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;s=(((f>>0)-(r>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;if(t>0);e=(b>>0);f=(c>>0);g=(((((19595*d>>0)+(38470*e>>0)>>0)+(7471*f>>0)>>0)+32768>>0))>>16>>0;h=(((((-11056*d>>0)-(21712*e>>0)>>0)+(32768*f>>0)>>0)+8421376>>0))>>16>>0;i=(((((32768*d>>0)-(27440*e>>0)>>0)-(5328*f>>0)>>0)+8421376>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};W=$pkg.YCbCrToRGB=function(a,b,c){var d,e,f,g,h,i;d=((a>>0)<<16>>0)+32768>>0;e=(b>>0)-128>>0;f=(c>>0)-128>>0;g=((d+(91881*f>>0)>>0))>>16>>0;h=(((d-(22554*e>>0)>>0)-(46802*f>>0)>>0))>>16>>0;i=((d+(116130*e>>0)>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};X.Ptr.prototype.RGBA=function(){var a,b,c,d,e,f,g,h;a=$clone(this,X);b=W(a.Y,a.Cb,a.Cr);c=b[0];d=b[1];e=b[2];return[(f=(c>>>0),(((f>>>16<<16)*257>>>0)+(f<<16>>>16)*257)>>>0),(g=(d>>>0),(((g>>>16<<16)*257>>>0)+(g<<16>>>16)*257)>>>0),(h=(e>>>0),(((h>>>16<<16)*257>>>0)+(h<<16>>>16)*257)>>>0),65535];};X.prototype.RGBA=function(){return this.$val.RGBA();};Y=function(a){var b,c,d,e,f,g,h,i,j,k,l;b=$assertType(a,X,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=V(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24));i=h[0];j=h[1];k=h[2];return(l=new X.Ptr(i,j,k),new l.constructor.Struct(l));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:Z=$ptrType(B);AA=$ptrType(C);AB=$ptrType(D);AC=$ptrType(E);AD=$ptrType(F);AE=$ptrType(G);AF=$ptrType(H);AG=$ptrType(I);AH=$ptrType(L);AI=$funcType([A],[A],false);AJ=$ptrType(U);AK=$ptrType(X);A.init([["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)]]);B.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];Z.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];B.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);C.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AA.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];C.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);D.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AB.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];D.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);E.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AC.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];E.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);F.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AD.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];F.init([["A","A","",$Uint8,""]]);G.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AE.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];G.init([["A","A","",$Uint16,""]]);H.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AF.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];H.init([["Y","Y","",$Uint8,""]]);I.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AG.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];I.init([["Y","Y","",$Uint16,""]]);J.init([["Convert","Convert","",$funcType([A],[A],false)]]);AH.methods=[["Convert","Convert","",$funcType([A],[A],false),-1]];L.init([["f","f","image/color",AI,""]]);U.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];AJ.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];U.init(A);X.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AK.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];X.init([["Y","Y","",$Uint8,""],["Cb","Cb","",$Uint8,""],["Cr","Cr","",$Uint8,""]]);$pkg.RGBAModel=K(M);$pkg.RGBA64Model=K(N);$pkg.NRGBAModel=K(O);$pkg.NRGBA64Model=K(P);$pkg.AlphaModel=K(Q);$pkg.Alpha16Model=K(R);$pkg.GrayModel=K(S);$pkg.Gray16Model=K(T);$pkg.Black=new I.Ptr(0);$pkg.White=new I.Ptr(65535);$pkg.Transparent=new G.Ptr(0);$pkg.Opaque=new G.Ptr(65535);$pkg.YCbCrModel=K(Y);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["math"]=(function(){var $pkg={},A,FG,B,C,D,E,F,EN,ER,ES,G,X,Y,Z,AI,AN,AR,AS,AT,EP,EV;A=$packages["github.com/gopherjs/gopherjs/js"];G=function(){AR(0);AS(0);};X=$pkg.IsInf=function(ao,ap){if(ao===D){return ap>=0;}if(ao===E){return ap<=0;}return false;};Y=$pkg.IsNaN=function(ao){var ap=false;ap=!((ao===ao));return ap;};Z=$pkg.Ldexp=function(ao,ap){if(ao===0){return ao;}if(ap>=1024){return ao*$parseFloat(B.pow(2,1023))*$parseFloat(B.pow(2,ap-1023>>0));}if(ap<=-1024){return ao*$parseFloat(B.pow(2,-1023))*$parseFloat(B.pow(2,ap+1023>>0));}return ao*$parseFloat(B.pow(2,ap));};AI=$pkg.NaN=function(){return F;};AN=$pkg.Sincos=function(ao){var ap=0,aq=0,ar;ar=EV(ao);ap=ar[0];aq=ar[1];return[ap,aq];};AR=$pkg.Float32bits=function(ao){var ap,aq,ar;if(ao===0){if(1/ao===E){return 2147483648;}return 0;}if(!(ao===ao)){return 2143289344;}ap=0;if(ao<0){ap=2147483648;ao=-ao;}aq=150;while(ao>=1.6777216e+07){ao=ao/(2);aq=aq+(1)>>>0;if(aq===255){if(ao>=8.388608e+06){ao=D;}break;}}while(ao<8.388608e+06){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}ar=$parseFloat($mod(ao,2));if((ar>0.5&&ar<1)||ar>=1.5){ao=ao+(1);}return(((ap|(aq<<23>>>0))>>>0)|(((ao>>0)&~8388608)))>>>0;};AS=$pkg.Float32frombits=function(ao){var ap,aq,ar;ap=1;if(!((((ao&2147483648)>>>0)===0))){ap=-1;}aq=(((ao>>>23>>>0))&255)>>>0;ar=(ao&8388607)>>>0;if(aq===255){if(ar===0){return ap/0;}return F;}if(!((aq===0))){ar=ar+(8388608)>>>0;}if(aq===0){aq=1;}return Z(ar,((aq>>0)-127>>0)-23>>0)*ap;};AT=$pkg.Float64bits=function(ao){var ap,aq,ar,as,at,au;if(ao===0){if(1/ao===E){return new $Uint64(2147483648,0);}return new $Uint64(0,0);}if(!((ao===ao))){return new $Uint64(2146959360,1);}ap=new $Uint64(0,0);if(ao<0){ap=new $Uint64(2147483648,0);ao=-ao;}aq=1075;while(ao>=9.007199254740992e+15){ao=ao/(2);aq=aq+(1)>>>0;if(aq===2047){break;}}while(ao<4.503599627370496e+15){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}return(ar=(as=$shiftLeft64(new $Uint64(0,aq),52),new $Uint64(ap.$high|as.$high,(ap.$low|as.$low)>>>0)),at=(au=new $Uint64(0,ao),new $Uint64(au.$high&~1048576,(au.$low&~0)>>>0)),new $Uint64(ar.$high|at.$high,(ar.$low|at.$low)>>>0));};EP=function(){var ao,ap,aq,ar;EN[0]=1;EN[1]=10;ao=2;while(ao<70){aq=(ap=ao/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));(ao<0||ao>=EN.length)?$throwRuntimeError("index out of range"):EN[ao]=((aq<0||aq>=EN.length)?$throwRuntimeError("index out of range"):EN[aq])*(ar=ao-aq>>0,((ar<0||ar>=EN.length)?$throwRuntimeError("index out of range"):EN[ar]));ao=ao+(1)>>0;}};EV=function(ao){var ap=0,aq=0,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk;if(ao===0){ar=ao;as=1;ap=ar;aq=as;return[ap,aq];}else if(Y(ao)||X(ao,0)){at=AI();au=AI();ap=at;aq=au;return[ap,aq];}av=false;aw=false;ax=av;ay=aw;if(ao<0){ao=-ao;ax=true;}az=new $Int64(0,ao*1.2732395447351625);ba=$flatten64(az);if((bb=new $Int64(az.$high&0,(az.$low&1)>>>0),(bb.$high===0&&bb.$low===1))){az=(bc=new $Int64(0,1),new $Int64(az.$high+bc.$high,az.$low+bc.$low));ba=ba+(1);}az=(bd=new $Int64(0,7),new $Int64(az.$high&bd.$high,(az.$low&bd.$low)>>>0));if((az.$high>0||(az.$high===0&&az.$low>3))){az=(be=new $Int64(0,4),new $Int64(az.$high-be.$high,az.$low-be.$low));bf=!ax;bg=!ay;ax=bf;ay=bg;}if((az.$high>0||(az.$high===0&&az.$low>1))){ay=!ay;}bh=((ao-ba*0.7853981256484985)-ba*3.774894707930798e-08)-ba*2.6951514290790595e-15;bi=bh*bh;aq=1-0.5*bi+bi*bi*((((((ES[0]*bi)+ES[1])*bi+ES[2])*bi+ES[3])*bi+ES[4])*bi+ES[5]);ap=bh+bh*bi*((((((ER[0]*bi)+ER[1])*bi+ER[2])*bi+ER[3])*bi+ER[4])*bi+ER[5]);if((az.$high===0&&az.$low===1)||(az.$high===0&&az.$low===2)){bj=aq;bk=ap;ap=bj;aq=bk;}if(ay){aq=-aq;}if(ax){ap=-ap;}return[ap,aq];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}FG=$arrayType($Float64,70);EN=FG.zero();B=$global.Math;C=0;D=1/C;E=-1/C;F=0/C;ER=$toNativeArray($kindFloat64,[1.5896230157654656e-10,-2.5050747762857807e-08,2.7557313621385722e-06,-0.0001984126982958954,0.008333333333322118,-0.1666666666666663]);ES=$toNativeArray($kindFloat64,[-1.1358536521387682e-11,2.087570084197473e-09,-2.755731417929674e-07,2.4801587288851704e-05,-0.0013888888888873056,0.041666666666666595]);G();EP();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal"]=(function(){var $pkg={},A,B,C,D;A=$packages["image/color"];B=$packages["math"];C=$pkg.NextPowerOf2Int=function(a){a=a-(1)>>0;a=a|(((a>>1>>0)));a=a|(((a>>2>>0)));a=a|(((a>>4>>0)));a=a|(((a>>8>>0)));a=a|(((a>>16>>0)));return a+1>>0;};D=$pkg.RGBA=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=a.RGBA();g=f[0];h=f[1];i=f[2];j=f[3];b=g/65535;c=h/65535;d=i/65535;e=j/65535;return[b,c,d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync/atomic"]=(function(){var $pkg={},A,H,N,U,Y,AA;A=$packages["github.com/gopherjs/gopherjs/js"];H=$pkg.CompareAndSwapInt32=function(ad,ae,af){if(ad.$get()===ae){ad.$set(af);return true;}return false;};N=$pkg.AddInt32=function(ad,ae){var af;af=ad.$get()+ae>>0;ad.$set(af);return af;};U=$pkg.LoadUint32=function(ad){return ad.$get();};Y=$pkg.StoreInt32=function(ad,ae){ad.$set(ae);};AA=$pkg.StoreUint32=function(ad,ae){ad.$set(ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync"]=(function(){var $pkg={},B,A,AJ,AK,AM,AN,AP,AS,AT,AV,AW,AX,AY,AZ,BA,C,I,J,K,L,AC,AG,AH,O,D,E,M,P,Q,X,AA,AB,AF;B=$packages["runtime"];A=$packages["sync/atomic"];C=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool","Pool","sync",function(local_,localSize_,store_,New_){this.$val=this;this.local=local_!==undefined?local_:0;this.localSize=localSize_!==undefined?localSize_:0;this.store=store_!==undefined?store_:AS.nil;this.New=New_!==undefined?New_:$throwNilPointerError;});I=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex","Mutex","sync",function(state_,sema_){this.$val=this;this.state=state_!==undefined?state_:0;this.sema=sema_!==undefined?sema_:0;});J=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker","Locker","sync",null);K=$pkg.Once=$newType(0,$kindStruct,"sync.Once","Once","sync",function(m_,done_){this.$val=this;this.m=m_!==undefined?m_:new I.Ptr();this.done=done_!==undefined?done_:0;});L=$pkg.poolLocal=$newType(0,$kindStruct,"sync.poolLocal","poolLocal","sync",function(private$0_,shared_,Mutex_,pad_){this.$val=this;this.private$0=private$0_!==undefined?private$0_:$ifaceNil;this.shared=shared_!==undefined?shared_:AS.nil;this.Mutex=Mutex_!==undefined?Mutex_:new I.Ptr();this.pad=pad_!==undefined?pad_:AY.zero();});AC=$pkg.syncSema=$newType(0,$kindStruct,"sync.syncSema","syncSema","sync",function(lock_,head_,tail_){this.$val=this;this.lock=lock_!==undefined?lock_:0;this.head=head_!==undefined?head_:0;this.tail=tail_!==undefined?tail_:0;});AG=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex","RWMutex","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});AH=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker","rlocker","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});C.Ptr.prototype.Get=function(){var d,e,f,g;d=this;if(d.store.$length===0){if(!(d.New===$throwNilPointerError)){return d.New();}return $ifaceNil;}g=(e=d.store,f=d.store.$length-1>>0,((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]));d.store=$subslice(d.store,0,(d.store.$length-1>>0));return g;};C.prototype.Get=function(){return this.$val.Get();};C.Ptr.prototype.Put=function(d){var e;e=this;if($interfaceIsEqual(d,$ifaceNil)){return;}e.store=$append(e.store,d);};C.prototype.Put=function(d){return this.$val.Put(d);};D=function(d){};E=function(d){};I.Ptr.prototype.Lock=function(){var d,e,f,g;d=this;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),0,1)){return;}e=false;while(true){f=d.state;g=f|1;if(!(((f&1)===0))){g=f+4>>0;}if(e){g=g&~(2);}if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,g)){if((f&1)===0){break;}AA(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));e=true;}}};I.prototype.Lock=function(){return this.$val.Lock();};I.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),-1);if((((e+1>>0))&1)===0){$panic(new $String("sync: unlock of unlocked mutex"));}f=e;while(true){if(((f>>2>>0)===0)||!(((f&3)===0))){return;}e=((f-4>>0))|2;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,e)){AB(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));return;}f=d.state;}};I.prototype.Unlock=function(){return this.$val.Unlock();};K.Ptr.prototype.Do=function(d){var $deferred=[],$err=null,e;try{$deferFrames.push($deferred);e=this;if(A.LoadUint32(new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e))===1){return;}e.m.Lock();$deferred.push([$methodVal(e.m,"Unlock"),[]]);if(e.done===0){$deferred.push([A.StoreUint32,[new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e),1]]);d();}}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};K.prototype.Do=function(d){return this.$val.Do(d);};M=function(){var d,e,f,g,h,i,j,k,l,m;d=O;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);(f<0||f>=O.$length)?$throwRuntimeError("index out of range"):O.$array[O.$offset+f]=AJ.nil;h=0;while(h<(g.localSize>>0)){i=Q(g.local,h);i.private$0=$ifaceNil;j=i.shared;k=0;while(k=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+l]=$ifaceNil);k++;}i.shared=AS.nil;h=h+(1)>>0;}g.local=0;g.localSize=0;e++;}O=new AK([]);};P=function(){D(M);};Q=function(d,e){var f;return(f=d,(f.nilCheck,((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e])));};X=function(){};AA=function(){$panic("Native function not implemented: sync.runtime_Semacquire");};AB=function(){$panic("Native function not implemented: sync.runtime_Semrelease");};AF=function(){var d;d=$clone(new AC.Ptr(),AC);E(12);};AG.Ptr.prototype.RLock=function(){var d;d=this;if(A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1)<0){AA(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));}};AG.prototype.RLock=function(){return this.$val.RLock();};AG.Ptr.prototype.RUnlock=function(){var d,e;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1);if(e<0){if(((e+1>>0)===0)||((e+1>>0)===-1073741824)){X();$panic(new $String("sync: RUnlock of unlocked RWMutex"));}if(A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),-1)===0){AB(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}}};AG.prototype.RUnlock=function(){return this.$val.RUnlock();};AG.Ptr.prototype.Lock=function(){var d,e;d=this;d.w.Lock();e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1073741824)+1073741824>>0;if(!((e===0))&&!((A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),e)===0))){AA(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}};AG.prototype.Lock=function(){return this.$val.Lock();};AG.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1073741824);if(e>=1073741824){X();$panic(new $String("sync: Unlock of unlocked RWMutex"));}f=0;while(f<(e>>0)){AB(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));f=f+(1)>>0;}d.w.Unlock();};AG.prototype.Unlock=function(){return this.$val.Unlock();};AG.Ptr.prototype.RLocker=function(){var d;d=this;return $clone(d,AH);};AG.prototype.RLocker=function(){return this.$val.RLocker();};AH.Ptr.prototype.Lock=function(){var d;d=this;$clone(d,AG).RLock();};AH.prototype.Lock=function(){return this.$val.Lock();};AH.Ptr.prototype.Unlock=function(){var d;d=this;$clone(d,AG).RUnlock();};AH.prototype.Unlock=function(){return this.$val.Unlock();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}AJ=$ptrType(C);AK=$sliceType(AJ);AM=$ptrType($Uint32);AN=$ptrType($Int32);AP=$ptrType(L);AS=$sliceType($emptyInterface);AT=$funcType([],[$emptyInterface],false);AV=$ptrType(I);AW=$funcType([],[],false);AX=$ptrType(K);AY=$arrayType($Uint8,128);AZ=$ptrType(AG);BA=$ptrType(AH);AJ.methods=[["Get","Get","",$funcType([],[$emptyInterface],false),-1],["Put","Put","",$funcType([$emptyInterface],[],false),-1],["getSlow","getSlow","sync",$funcType([],[$emptyInterface],false),-1],["pin","pin","sync",$funcType([],[AP],false),-1],["pinSlow","pinSlow","sync",$funcType([],[AP],false),-1]];C.init([["local","local","sync",$UnsafePointer,""],["localSize","localSize","sync",$Uintptr,""],["store","store","sync",AS,""],["New","New","",AT,""]]);AV.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];I.init([["state","state","sync",$Int32,""],["sema","sema","sync",$Uint32,""]]);J.init([["Lock","Lock","",$funcType([],[],false)],["Unlock","Unlock","",$funcType([],[],false)]]);AX.methods=[["Do","Do","",$funcType([AW],[],false),-1]];K.init([["m","m","sync",I,""],["done","done","sync",$Uint32,""]]);AP.methods=[["Lock","Lock","",$funcType([],[],false),2],["Unlock","Unlock","",$funcType([],[],false),2]];L.init([["private$0","private","sync",$emptyInterface,""],["shared","shared","sync",AS,""],["Mutex","","",I,""],["pad","pad","sync",AY,""]]);AC.init([["lock","lock","sync",$Uintptr,""],["head","head","sync",$UnsafePointer,""],["tail","tail","sync",$UnsafePointer,""]]);AZ.methods=[["Lock","Lock","",$funcType([],[],false),-1],["RLock","RLock","",$funcType([],[],false),-1],["RLocker","RLocker","",$funcType([],[J],false),-1],["RUnlock","RUnlock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AG.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);BA.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AH.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);O=AK.nil;P();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io"]=(function(){var $pkg={},B,A,C,AW,E,F,J,P,Q,T,W,AI,AJ,AA,AB;B=$packages["errors"];A=$packages["runtime"];C=$packages["sync"];E=$pkg.Reader=$newType(8,$kindInterface,"io.Reader","Reader","io",null);F=$pkg.Writer=$newType(8,$kindInterface,"io.Writer","Writer","io",null);J=$pkg.ReadCloser=$newType(8,$kindInterface,"io.ReadCloser","ReadCloser","io",null);P=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom","ReaderFrom","io",null);Q=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo","WriterTo","io",null);T=$pkg.ByteReader=$newType(8,$kindInterface,"io.ByteReader","ByteReader","io",null);W=$pkg.RuneReader=$newType(8,$kindInterface,"io.RuneReader","RuneReader","io",null);AA=$pkg.ReadAtLeast=function(b,c,d){var e=0,f=$ifaceNil,g,h,i,j;if(c.$length>0;}if(e>=d){f=$ifaceNil;}else if(e>0&&$interfaceIsEqual(f,$pkg.EOF)){f=$pkg.ErrUnexpectedEOF;}return[e,f];};AB=$pkg.ReadFull=function(b,c){var d=0,e=$ifaceNil,f;f=AA(b,c,c.$length);d=f[0];e=f[1];return[d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}AW=$sliceType($Uint8);E.init([["Read","Read","",$funcType([AW],[$Int,$error],false)]]);F.init([["Write","Write","",$funcType([AW],[$Int,$error],false)]]);J.init([["Close","Close","",$funcType([],[$error],false)],["Read","Read","",$funcType([AW],[$Int,$error],false)]]);P.init([["ReadFrom","ReadFrom","",$funcType([E],[$Int64,$error],false)]]);Q.init([["WriteTo","WriteTo","",$funcType([F],[$Int64,$error],false)]]);T.init([["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);W.init([["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false)]]);$pkg.ErrShortWrite=B.New("short write");$pkg.ErrShortBuffer=B.New("short buffer");$pkg.EOF=B.New("EOF");$pkg.ErrUnexpectedEOF=B.New("unexpected EOF");$pkg.ErrNoProgress=B.New("multiple Read calls return no data or error");AI=B.New("Seek: invalid whence");AJ=B.New("Seek: invalid offset");$pkg.ErrClosedPipe=B.New("io: read/write on closed pipe");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -17,7 +17,7 @@ $packages["bytes"]=(function(){var $pkg={},A,B,D,C,BJ,BK,BL,BM,H,I,E,J,K;A=$pack $packages["syscall"]=(function(){var $pkg={},A,E,B,D,C,MD,ME,MF,ML,MS,MT,MZ,NE,NG,NH,NK,NX,NY,NZ,OA,OF,OG,OI,OK,EQ,ER,KF,KI,KO,KW,F,G,N,O,P,AP,AQ,AR,AS,DT,FS,H,I,J,K,L,Q,R,S,V,AU,AW,CQ,CR,CT,CY,DO,DY,DZ,ET,EU,GM,HA,HE,HF,HH,HI,HL,HN,HO,HP,II,IT,IU,IV,JA,JY,JZ,KA;A=$packages["bytes"];E=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["runtime"];C=$packages["sync"];EQ=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper","mmapper","syscall",function(Mutex_,active_,mmap_,munmap_){this.$val=this;this.Mutex=Mutex_!==undefined?Mutex_:new C.Mutex.Ptr();this.active=active_!==undefined?active_:false;this.mmap=mmap_!==undefined?mmap_:$throwNilPointerError;this.munmap=munmap_!==undefined?munmap_:$throwNilPointerError;});ER=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno","Errno","syscall",null);KF=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int","_C_int","syscall",null);KI=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec","Timespec","syscall",function(Sec_,Nsec_){this.$val=this;this.Sec=Sec_!==undefined?Sec_:new $Int64(0,0);this.Nsec=Nsec_!==undefined?Nsec_:new $Int64(0,0);});KO=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t","Stat_t","syscall",function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;this.Dev=Dev_!==undefined?Dev_:0;this.Mode=Mode_!==undefined?Mode_:0;this.Nlink=Nlink_!==undefined?Nlink_:0;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Uid=Uid_!==undefined?Uid_:0;this.Gid=Gid_!==undefined?Gid_:0;this.Rdev=Rdev_!==undefined?Rdev_:0;this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:NG.zero();this.Atimespec=Atimespec_!==undefined?Atimespec_:new KI.Ptr();this.Mtimespec=Mtimespec_!==undefined?Mtimespec_:new KI.Ptr();this.Ctimespec=Ctimespec_!==undefined?Ctimespec_:new KI.Ptr();this.Birthtimespec=Birthtimespec_!==undefined?Birthtimespec_:new KI.Ptr();this.Size=Size_!==undefined?Size_:new $Int64(0,0);this.Blocks=Blocks_!==undefined?Blocks_:new $Int64(0,0);this.Blksize=Blksize_!==undefined?Blksize_:0;this.Flags=Flags_!==undefined?Flags_:0;this.Gen=Gen_!==undefined?Gen_:0;this.Lspare=Lspare_!==undefined?Lspare_:0;this.Qspare=Qspare_!==undefined?Qspare_:OG.zero();});KW=$pkg.Dirent=$newType(0,$kindStruct,"syscall.Dirent","Dirent","syscall",function(Ino_,Seekoff_,Reclen_,Namlen_,Type_,Name_,Pad_cgo_0_){this.$val=this;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Seekoff=Seekoff_!==undefined?Seekoff_:new $Uint64(0,0);this.Reclen=Reclen_!==undefined?Reclen_:0;this.Namlen=Namlen_!==undefined?Namlen_:0;this.Type=Type_!==undefined?Type_:0;this.Name=Name_!==undefined?Name_:OI.zero();this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:OK.zero();});H=function(){$flushConsole=(function(){if(!((G.$length===0))){$global.console.log($externalize($bytesToString(G),$String));G=MD.nil;}});};I=function(){if(!F){console.log("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md");}F=true;};J=function(i){var j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=A.IndexByte(G,10);if(k===-1){break;}$global.console.log($externalize($bytesToString($subslice(G,0,k)),$String));G=$subslice(G,(k+1>>0));}};K=function(i){};L=function(){var i,j,k,l,m,n;i=$global.process;if(i===undefined){return ME.nil;}j=i.env;k=$global.Object.keys(j);l=ME.make($parseInt(k.length));m=0;while(m<$parseInt(k.length)){n=$internalize(k[m],$String);(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String);m=m+(1)>>0;}return l;};Q=function(i){var $deferred=[],$err=null,j;try{$deferFrames.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(N===null){if(O){return null;}O=true;j=$global.require;if(j===undefined){$panic(new $String(""));}N=j($externalize("syscall",$String));}return N[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};R=$pkg.Syscall=function(i,j,k,l){var m=0,n=0,o=0,p,q,r,s,t,u,v,w,x,y,z,aa,ab;p=Q("Syscall");if(!(p===null)){q=p(i,j,k,l);r=(($parseInt(q[0])>>0)>>>0);s=(($parseInt(q[1])>>0)>>>0);t=(($parseInt(q[2])>>0)>>>0);m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=MD.make($parseInt(u.length));v.$array=u;J(v);w=($parseInt(u.length)>>>0);x=0;y=0;m=w;n=x;o=y;return[m,n,o];}I();z=(P>>>0);aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};S=$pkg.Syscall6=function(i,j,k,l,m,n,o){var p=0,q=0,r=0,s,t,u,v,w,x,y,z;s=Q("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=(($parseInt(t[0])>>0)>>>0);v=(($parseInt(t[1])>>0)>>>0);w=(($parseInt(t[2])>>0)>>>0);p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=(P>>>0);y=0;z=13;p=x;q=y;r=z;return[p,q,r];};V=$pkg.BytePtrFromString=function(i){var j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=new MD($stringToBytes(i));l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(n===0){return[MF.nil,new ER(22)];}j[m]=n;l++;}j[i.length]=0;return[j,$ifaceNil];};AU=function(){var i,j,k,l,m,n,o,p,q,r;AR=new $Map();i=AS;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=0;while(m=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+k]="";}break;}m=m+(1)>>0;}j++;}};AW=$pkg.Getenv=function(i){var j="",k=false,$deferred=[],$err=null,l,m,n,o,p,q,r,s,t,u,v,w,x,y;try{$deferFrames.push($deferred);AP.Do(AU);if(i.length===0){l="";m=false;j=l;k=m;return[j,k];}AQ.RLock();$deferred.push([$methodVal(AQ,"RUnlock"),[]]);n=(o=AR[i],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;return[j,k];}t=((p<0||p>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+p]);u=0;while(u>0));w=true;j=v;k=w;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;return[j,k];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[j,k];}};CQ=function(i){if(i<0){return"-"+CR((-i>>>0));}return CR((i>>>0));};CR=function(i){var j,k,l,m;j=$clone(MZ.zero(),MZ);k=31;while(i>=10){(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((i+48>>>0)<<24>>>24);return $bytesToString($subslice(new MD(j),k));};CT=$pkg.ByteSliceFromString=function(i){var j,k;j=0;while(j>0;}k=MD.make((i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};KI.Ptr.prototype.Unix=function(){var i=new $Int64(0,0),j=new $Int64(0,0),k,l,m;k=this;l=k.Sec;m=k.Nsec;i=l;j=m;return[i,j];};KI.prototype.Unix=function(){return this.$val.Unix();};KI.Ptr.prototype.Nano=function(){var i,j,k;i=this;return(j=$mul64(i.Sec,new $Int64(0,1000000000)),k=i.Nsec,new $Int64(j.$high+k.$high,j.$low+k.$low));};KI.prototype.Nano=function(){return this.$val.Nano();};CY=$pkg.ReadDirent=function(i,j){var k=0,l=$ifaceNil,m,n;m=new Uint8Array(8);n=HP(i,j,m);k=n[0];l=n[1];if(true&&($interfaceIsEqual(l,new ER(22))||$interfaceIsEqual(l,new ER(2)))){l=$ifaceNil;}return[k,l];};DO=$pkg.Sysctl=function(i){var j="",k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=DY(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=GM(m,MF.nil,new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){q="";r=k;j=q;k=r;return[j,k];}if(p===0){s="";t=$ifaceNil;j=s;k=t;return[j,k];}u=MD.make(p);k=GM(m,new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},u),new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){v="";w=k;j=v;k=w;return[j,k];}if(p>0&&((x=p-1>>>0,((x<0||x>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+x]))===0)){p=p-(1)>>>0;}y=$bytesToString($subslice(u,0,p));z=$ifaceNil;j=y;k=z;return[j,k];};DY=function(i){var j=MS.nil,k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w;l=$clone(NH.zero(),NH);m=48;n=$sliceToArray(new NE(l));o=CT(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=MS.nil;r=k;j=q;k=r;return[j,k];}k=GM(new MS([0,3]),n,new MT(function(){return m;},function($v){m=$v;}),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),(i.length>>>0));if(!($interfaceIsEqual(k,$ifaceNil))){s=MS.nil;t=k;j=s;k=t;return[j,k];}u=$subslice(new MS(l),0,(v=m/4,(v===v&&v!==1/0&&v!==-1/0)?v>>>0:$throwRuntimeError("integer divide by zero")));w=$ifaceNil;j=u;k=w;return[j,k];};DZ=$pkg.ParseDirent=function(i,j,k){var l=0,m=0,n=ME.nil,o,p,q,r,s,t,u,v,w,x,y;o=i.$length;while(!((j===0))&&i.$length>0){p=[undefined];p[0]=(q=$sliceToArray(i),r=new KW.Ptr(),s=new DataView(q.buffer,q.byteOffset),r.Ino=new $Uint64(s.getUint32(4,true),s.getUint32(0,true)),r.Seekoff=new $Uint64(s.getUint32(12,true),s.getUint32(8,true)),r.Reclen=s.getUint16(16,true),r.Namlen=s.getUint16(18,true),r.Type=s.getUint8(20,true),r.Name=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+21,q.buffer.byteLength)),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+1045,q.buffer.byteLength)),r);if(p[0].Reclen===0){i=MD.nil;break;}i=$subslice(i,p[0].Reclen);if((t=p[0].Ino,(t.$high===0&&t.$low===0))){continue;}u=$sliceToArray(new NE(p[0].Name));v=$bytesToString($subslice(new MD(u),0,p[0].Namlen));if(v==="."||v===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,v);}w=o-i.$length>>0;x=m;y=k;l=w;m=x;n=y;return[l,m,n];};EQ.Ptr.prototype.Mmap=function(i,j,k,l,m){var n=MD.nil,o=$ifaceNil,$deferred=[],$err=null,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;try{$deferFrames.push($deferred);p=this;if(k<=0){q=MD.nil;r=new ER(22);n=q;o=r;return[n,o];}s=p.mmap(0,(k>>>0),l,m,i,j);t=s[0];u=s[1];if(!($interfaceIsEqual(u,$ifaceNil))){v=MD.nil;w=u;n=v;o=w;return[n,o];}x=new NK.Ptr(t,k,k);y=x;ab=new MF(function(){return(aa=y.$capacity-1>>0,((aa<0||aa>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+aa]));},function($v){(z=y.$capacity-1>>0,(z<0||z>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+z]=$v);},y);p.Mutex.Lock();$deferred.push([$methodVal(p.Mutex,"Unlock"),[]]);ac=ab;(p.active||$throwRuntimeError("assignment to entry in nil map"))[ac.$key()]={k:ac,v:y};ad=y;ae=$ifaceNil;n=ad;o=ae;return[n,o];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[n,o];}};EQ.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EQ.Ptr.prototype.Munmap=function(i){var j=$ifaceNil,$deferred=[],$err=null,k,l,m,n,o,p,q;try{$deferFrames.push($deferred);k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new ER(22);return j;}n=new MF(function(){return(m=i.$capacity-1>>0,((m<0||m>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+m]));},function($v){(l=i.$capacity-1>>0,(l<0||l>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+l]=$v);},i);k.Mutex.Lock();$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);p=(o=k.active[n.$key()],o!==undefined?o.v:MD.nil);if(p===MD.nil||!($pointerIsEqual(new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},i)))){j=new ER(22);return j;}q=k.munmap($sliceToArray(p),(p.$length>>>0));if(!($interfaceIsEqual(q,$ifaceNil))){j=q;return j;}delete k.active[n.$key()];j=$ifaceNil;return j;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return j;}};EQ.prototype.Munmap=function(i){return this.$val.Munmap(i);};ER.prototype.Error=function(){var i,j;i=this.$val!==undefined?this.$val:this;if(0<=(i>>0)&&(i>>0)<106){j=((i<0||i>=FS.length)?$throwRuntimeError("index out of range"):FS[i]);if(!(j==="")){return j;}}return"errno "+CQ((i>>0));};$ptrType(ER).prototype.Error=function(){return new ER(this.$get()).Error();};ER.prototype.Temporary=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===4)||(i===24)||(i===54)||(i===53)||new ER(i).Timeout();};$ptrType(ER).prototype.Temporary=function(){return new ER(this.$get()).Temporary();};ER.prototype.Timeout=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===35)||(i===35)||(i===60);};$ptrType(ER).prototype.Timeout=function(){return new ER(this.$get()).Timeout();};ET=$pkg.Read=function(i,j){var k=0,l=$ifaceNil,m;m=IV(i,j);k=m[0];l=m[1];return[k,l];};EU=$pkg.Write=function(i,j){var k=0,l=$ifaceNil,m;m=JY(i,j);k=m[0];l=m[1];return[k,l];};GM=function(i,j,k,l,m){var n=$ifaceNil,o,p,q;o=0;if(i.$length>0){o=$sliceToArray(i);}else{o=new Uint8Array(0);}p=S(202,o,(i.$length>>>0),j,k,l,m);q=p[2];if(!((q===0))){n=new ER(q);}return n;};HA=$pkg.Close=function(i){var j=$ifaceNil,k,l;k=R(6,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HE=$pkg.Exit=function(i){R(1,(i>>>0),0,0);return;};HF=$pkg.Fchdir=function(i){var j=$ifaceNil,k,l;k=R(13,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HH=$pkg.Fchmod=function(i,j){var k=$ifaceNil,l,m;l=R(124,(i>>>0),(j>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HI=$pkg.Fchown=function(i,j,k){var l=$ifaceNil,m,n;m=R(123,(i>>>0),(j>>>0),(k>>>0));n=m[2];if(!((n===0))){l=new ER(n);}return l;};HL=$pkg.Fstat=function(i,j){var k=$ifaceNil,l,m,n,o,p;m=new Uint8Array(144);l=R(339,(i>>>0),m,0);p=l[2];n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));if(!((p===0))){k=new ER(p);}return k;};HN=$pkg.Fsync=function(i){var j=$ifaceNil,k,l;k=R(95,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HO=$pkg.Ftruncate=function(i,j){var k=$ifaceNil,l,m;l=R(201,(i>>>0),(j.$low>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HP=$pkg.Getdirentries=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(344,(i>>>0),n,(j.$length>>>0),k,0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};II=$pkg.Lstat=function(i,j){var k=$ifaceNil,l,m,n,o,p,q,r;l=MF.nil;m=V(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=R(340,l,o,0);r=n[2];p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));K(l);if(!((r===0))){k=new ER(r);}return k;};IT=$pkg.Pread=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(153,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IU=$pkg.Pwrite=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(154,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IV=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(3,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JA=$pkg.Seek=function(i,j,k){var l=new $Int64(0,0),m=$ifaceNil,n,o,p;n=R(199,(i>>>0),(j.$low>>>0),(k>>>0));o=n[0];p=n[2];l=new $Int64(0,o.constructor===Number?o:1);if(!((p===0))){m=new ER(p);}return[l,m];};JY=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(4,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JZ=function(i,j,k,l,m,n){var o=0,p=$ifaceNil,q,r,s;q=S(197,i,j,(k>>>0),(l>>>0),(m>>>0),(n.$low>>>0));r=q[0];s=q[2];o=r;if(!((s===0))){p=new ER(s);}return[o,p];};KA=function(i,j){var k=$ifaceNil,l,m;l=R(73,i,j,0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}MD=$sliceType($Uint8);ME=$sliceType($String);MF=$ptrType($Uint8);ML=$ptrType(ER);MS=$sliceType(KF);MT=$ptrType($Uintptr);MZ=$arrayType($Uint8,32);NE=$sliceType($Uint8);NG=$arrayType($Uint8,4);NH=$arrayType(KF,14);NK=$structType([["addr","addr","syscall",$Uintptr,""],["len","len","syscall",$Int,""],["cap","cap","syscall",$Int,""]]);NX=$ptrType(EQ);NY=$mapType(MF,MD);NZ=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);OA=$funcType([$Uintptr,$Uintptr],[$error],false);OF=$ptrType(KI);OG=$arrayType($Int64,2);OI=$arrayType($Int8,1024);OK=$arrayType($Uint8,3);NX.methods=[["Lock","Lock","",$funcType([],[],false),0],["Mmap","Mmap","",$funcType([$Int,$Int64,$Int,$Int,$Int],[MD,$error],false),-1],["Munmap","Munmap","",$funcType([MD],[$error],false),-1],["Unlock","Unlock","",$funcType([],[],false),0]];EQ.init([["Mutex","","",C.Mutex,""],["active","active","syscall",NY,""],["mmap","mmap","syscall",NZ,""],["munmap","munmap","syscall",OA,""]]);ER.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];ML.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];OF.methods=[["Nano","Nano","",$funcType([],[$Int64],false),-1],["Unix","Unix","",$funcType([],[$Int64,$Int64],false),-1]];KI.init([["Sec","Sec","",$Int64,""],["Nsec","Nsec","",$Int64,""]]);KO.init([["Dev","Dev","",$Int32,""],["Mode","Mode","",$Uint16,""],["Nlink","Nlink","",$Uint16,""],["Ino","Ino","",$Uint64,""],["Uid","Uid","",$Uint32,""],["Gid","Gid","",$Uint32,""],["Rdev","Rdev","",$Int32,""],["Pad_cgo_0","Pad_cgo_0","",NG,""],["Atimespec","Atimespec","",KI,""],["Mtimespec","Mtimespec","",KI,""],["Ctimespec","Ctimespec","",KI,""],["Birthtimespec","Birthtimespec","",KI,""],["Size","Size","",$Int64,""],["Blocks","Blocks","",$Int64,""],["Blksize","Blksize","",$Int32,""],["Flags","Flags","",$Uint32,""],["Gen","Gen","",$Uint32,""],["Lspare","Lspare","",$Int32,""],["Qspare","Qspare","",OG,""]]);KW.init([["Ino","Ino","",$Uint64,""],["Seekoff","Seekoff","",$Uint64,""],["Reclen","Reclen","",$Uint16,""],["Namlen","Namlen","",$Uint16,""],["Type","Type","",$Uint8,""],["Name","Name","",OI,""],["Pad_cgo_0","Pad_cgo_0","",OK,""]]);G=MD.nil;N=null;AP=new C.Once.Ptr();AQ=new C.RWMutex.Ptr();AR=false;F=false;O=false;P=-1;AS=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;FS=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by 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","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","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 family","address already in use","can't 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","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);DT=new EQ.Ptr(new C.Mutex.Ptr(),new $Map(),JZ,KA);H();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},I,J,D;D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once","Once","github.com/gopherjs/gopherjs/nosync",function(doing_,done_){this.$val=this;this.doing=doing_!==undefined?doing_:false;this.done=done_!==undefined?done_:false;});D.Ptr.prototype.Do=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;if(b.done){return;}if(b.doing){$panic(new $String("nosync: Do called within f"));}b.doing=true;$deferred.push([(function(){b.doing=false;b.done=true;}),[]]);a();}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};D.prototype.Do=function(a){return this.$val.Do(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:I=$funcType([],[],false);J=$ptrType(D);J.methods=[["Do","Do","",$funcType([I],[],false),-1]];D.init([["doing","doing","github.com/gopherjs/gopherjs/nosync",$Bool,""],["done","done","github.com/gopherjs/gopherjs/nosync",$Bool,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strings"]=(function(){var $pkg={},B,A,C,E,D,BY,F,AB,AD,AH,BU;B=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];E=$packages["unicode"];D=$packages["unicode/utf8"];F=$pkg.IndexByte=function(b,c){return $parseInt(b.indexOf($global.String.fromCharCode(c)))>>0;};AB=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=0;while(d>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d+(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AD=$pkg.Count=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=0;if(c.length===0){return D.RuneCountInString(b)+1>>0;}else if(c.length===1){e=c.charCodeAt(0);f=0;while(f>0;}f=f+(1)>>0;}return d;}else if(c.length>b.length){return 0;}else if(c.length===b.length){if(c===b){return 1;}return 0;}g=AB(c);h=g[0];i=g[1];j=0;k=0;while(k>>16<<16)*16777619>>>0)+(j<<16>>>16)*16777619)>>>0)+(b.charCodeAt(k)>>>0)>>>0;k=k+(1)>>0;}l=0;if((j===h)&&b.substring(0,c.length)===c){d=d+(1)>>0;l=c.length;}m=c.length;while(m>>16<<16)*n>>>0)+(j<<16>>>16)*n)>>>0);j=j+((b.charCodeAt(m)>>>0))>>>0;j=j-((o=(b.charCodeAt((m-c.length>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;m=m+(1)>>0;if((j===h)&&l<=(m-c.length>>0)&&b.substring((m-c.length>>0),m)===c){d=d+(1)>>0;l=m;}}return d;};AH=$pkg.Index=function(b,c){var d,e,f,g,h,i,j,k,l;d=c.length;if(d===0){return 0;}else if(d===1){return F(b,c.charCodeAt(0));}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}e=AB(c);f=e[0];g=e[1];h=0;i=0;while(i>>16<<16)*16777619>>>0)+(h<<16>>>16)*16777619)>>>0)+(b.charCodeAt(i)>>>0)>>>0;i=i+(1)>>0;}if((h===f)&&b.substring(0,d)===c){return 0;}j=d;while(j>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);h=h+((b.charCodeAt(j)>>>0))>>>0;h=h-((l=(b.charCodeAt((j-d>>0))>>>0),(((g>>>16<<16)*l>>>0)+(g<<16>>>16)*l)>>>0))>>>0;j=j+(1)>>0;if((h===f)&&b.substring((j-d>>0),j)===c){return j-d>>0;}}return-1;};BU=$pkg.Replace=function(b,c,d,e){var f,g,h,i,j,k,l,m;if(c===d||(e===0)){return b;}f=AD(b,c);if(f===0){return b;}else if(e<0||f>0))>>0)>>0));h=0;i=0;j=0;while(j0){l=D.DecodeRuneInString(b.substring(i));m=l[1];k=k+(m)>>0;}}else{k=k+(AH(b.substring(i),c))>>0;}h=h+($copyString($subslice(g,h),b.substring(i,k)))>>0;h=h+($copyString($subslice(g,h),d))>>0;i=k+c.length>>0;j=j+(1)>>0;}h=h+($copyString($subslice(g,h),b.substring(i)))>>0;return $bytesToString($subslice(g,0,h));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}BY=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DM,DN,DO,DQ,DR,DS,DT,G,AB,AS,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,K,L,M,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,AR,AT,AU,AV,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];G=$pkg.runtimeTimer=$newType(0,$kindStruct,"time.runtimeTimer","runtimeTimer","time",function(i_,when_,period_,f_,arg_,timeout_,active_){this.$val=this;this.i=i_!==undefined?i_:0;this.when=when_!==undefined?when_:new $Int64(0,0);this.period=period_!==undefined?period_:new $Int64(0,0);this.f=f_!==undefined?f_:$throwNilPointerError;this.arg=arg_!==undefined?arg_:$ifaceNil;this.timeout=timeout_!==undefined?timeout_:null;this.active=active_!==undefined?active_:false;});AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});AS=$pkg.Timer=$newType(0,$kindStruct,"time.Timer","Timer","time",function(C_,r_){this.$val=this;this.C=C_!==undefined?C_:DJ.nil;this.r=r_!==undefined?r_:new G.Ptr();});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};K=$pkg.Sleep=function(k,$b){var $this=this,$args=arguments,$r,$s=0,l,m,n;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:l=new DB(0);$global.setTimeout($externalize((function(){$close(l);}),DC),((m=$div64(k,new BN(0,1000000),false),m.$low+((m.$high>>31)*4294967296))>>0));n=$recv(l,$BLOCKING);$s=1;case 1:if(n&&n.$blocking){n=n();}n[0];case-1:}return;}};$f.$blocking=true;return $f;};L=function(k){var 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=$global.setTimeout($externalize((function(){var o,p,q;k.active=false;k.f(k.arg,0);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);}}),DC),$externalize(new $Int64(n.$high+0,n.$low+1),$Int64));};M=function(k){var l;$global.clearTimeout(k.timeout);l=k.active;k.active=false;return l;};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};AR=function(k){var 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;};AS.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);};AS.prototype.Stop=function(){return this.$val.Stop();};AT=$pkg.NewTimer=function(k){var l,m;l=new DI(1);m=new AS.Ptr(l,new G.Ptr(0,AR(k),new $Int64(0,0),AU,l,null,false));L(m.r);return m;};AS.Ptr.prototype.Reset=function(k){var l,m,n;l=this;if(l.r.f===$throwNilPointerError){$panic(new $String("time: Reset called on uninitialized Timer"));}m=AR(k);n=M(l.r);l.r.when=m;L(l.r);return n;};AS.prototype.Reset=function(k){return this.$val.Reset(k);};AU=function(k,l){var m;m=$select([[$assertType(k,DI),BU()],[]]);};AV=$pkg.After=function(k){return AT(k).C;};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DA=$structType([]);DB=$chanType(DA,false,false);DC=$funcType([],[],false);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DI=$chanType(BG,false,false);DJ=$chanType(BG,false,true);DM=$funcType([$emptyInterface,$Uintptr],[],false);DN=$ptrType(AB);DO=$ptrType(AS);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);G.init([["i","i","time",$Int32,""],["when","when","time",$Int64,""],["period","period","time",$Int64,""],["f","f","time",DM,""],["arg","arg","time",$emptyInterface,""],["timeout","timeout","time",B.Object,""],["active","active","time",$Bool,""]]);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);DO.methods=[["Reset","Reset","",$funcType([BN],[$Bool],false),-1],["Stop","Stop","",$funcType([],[$Bool],false),-1]];AS.init([["C","C","",DJ,""],["r","r","time",G,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DD,DE,DF,DG,DH,DN,DQ,DR,DS,DT,AB,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DN=$ptrType(AB);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["os"]=(function(){var $pkg={},E,A,B,F,H,G,C,D,CX,CY,CZ,DB,DC,DD,DE,DK,DQ,DR,DS,DW,DX,DZ,W,X,AQ,BG,BH,BJ,CS,CT,CV,AO,AV,BV,CP,I,Y,AA,AD,AX,AY,BB,BI,BK,BN,BQ,BX,BY,CD,CJ,CL,CM,CQ;E=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["io"];F=$packages["runtime"];H=$packages["sync"];G=$packages["sync/atomic"];C=$packages["syscall"];D=$packages["time"];W=$pkg.PathError=$newType(0,$kindStruct,"os.PathError","PathError","os",function(Op_,Path_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Path=Path_!==undefined?Path_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});X=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError","SyscallError","os",function(Syscall_,Err_){this.$val=this;this.Syscall=Syscall_!==undefined?Syscall_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});AQ=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError","LinkError","os",function(Op_,Old_,New_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Old=Old_!==undefined?Old_:"";this.New=New_!==undefined?New_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});BG=$pkg.File=$newType(0,$kindStruct,"os.File","File","os",function(file_){this.$val=this;this.file=file_!==undefined?file_:DQ.nil;});BH=$pkg.file=$newType(0,$kindStruct,"os.file","file","os",function(fd_,name_,dirinfo_,nepipe_){this.$val=this;this.fd=fd_!==undefined?fd_:0;this.name=name_!==undefined?name_:"";this.dirinfo=dirinfo_!==undefined?dirinfo_:CY.nil;this.nepipe=nepipe_!==undefined?nepipe_:0;});BJ=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo","dirInfo","os",function(buf_,nbuf_,bufp_){this.$val=this;this.buf=buf_!==undefined?buf_:CZ.nil;this.nbuf=nbuf_!==undefined?nbuf_:0;this.bufp=bufp_!==undefined?bufp_:0;});CS=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo","FileInfo","os",null);CT=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode","FileMode","os",null);CV=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat","fileStat","os",function(name_,size_,mode_,modTime_,sys_){this.$val=this;this.name=name_!==undefined?name_:"";this.size=size_!==undefined?size_:new $Int64(0,0);this.mode=mode_!==undefined?mode_:0;this.modTime=modTime_!==undefined?modTime_:new D.Time.Ptr();this.sys=sys_!==undefined?sys_:$ifaceNil;});I=function(){var b,c,d,e;b=$global.process;if(b===undefined){return new CX(["browser"]);}c=b.argv;d=CX.make(($parseInt(c.length)-1>>0));e=0;while(e<($parseInt(c.length)-1>>0)){(e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=$internalize(c[(e+1>>0)],$String);e=e+(1)>>0;}return d;};BG.Ptr.prototype.readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=this;if(e.file.dirinfo===CY.nil){e.file.dirinfo=new BJ.Ptr();e.file.dirinfo.buf=CZ.make(4096);}f=e.file.dirinfo;g=b;if(g<=0){g=100;b=-1;}c=CX.make(0,g);while(!((b===0))){if(f.bufp>=f.nbuf){f.bufp=0;h=$ifaceNil;j=C.ReadDirent(e.file.fd,f.buf);i=AX(j[0],j[1]);f.nbuf=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){k=c;l=Y("readdirent",h);c=k;d=l;return[c,d];}if(f.nbuf<=0){break;}}m=0;n=0;o=m;p=n;q=C.ParseDirent($subslice(f.buf,f.bufp,f.nbuf),b,c);o=q[0];p=q[1];c=q[2];f.bufp=f.bufp+(o)>>0;b=b-(p)>>0;}if(b>=0&&(c.$length===0)){r=c;s=B.EOF;c=r;d=s;return[c,d];}t=c;u=$ifaceNil;c=t;d=u;return[c,d];};BG.prototype.readdirnames=function(b){return this.$val.readdirnames(b);};BG.Ptr.prototype.Readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=DB.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdir(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdir=function(b){return this.$val.Readdir(b);};BG.Ptr.prototype.Readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=CX.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdirnames(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdirnames=function(b){return this.$val.Readdirnames(b);};W.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Path+": "+b.Err.Error();};W.prototype.Error=function(){return this.$val.Error();};X.Ptr.prototype.Error=function(){var b;b=this;return b.Syscall+": "+b.Err.Error();};X.prototype.Error=function(){return this.$val.Error();};Y=$pkg.NewSyscallError=function(b,c){if($interfaceIsEqual(c,$ifaceNil)){return $ifaceNil;}return new X.Ptr(b,c);};AA=$pkg.IsNotExist=function(b){return AD(b);};AD=function(b){var c,d;d=b;if(d===$ifaceNil){c=d;return false;}else if($assertType(d,DD,true)[1]){c=d.$val;b=c.Err;}else if($assertType(d,DE,true)[1]){c=d.$val;b=c.Err;}return $interfaceIsEqual(b,new C.Errno(2))||$interfaceIsEqual(b,$pkg.ErrNotExist);};BG.Ptr.prototype.Name=function(){var b;b=this;return b.file.name;};BG.prototype.Name=function(){return this.$val.Name();};AQ.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Old+" "+b.New+": "+b.Err.Error();};AQ.prototype.Error=function(){return this.$val.Error();};BG.Ptr.prototype.Read=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l,m;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.read(b);c=h[0];i=h[1];if(c<0){c=0;}if((c===0)&&b.$length>0&&$interfaceIsEqual(i,$ifaceNil)){j=0;k=B.EOF;c=j;d=k;return[c,d];}if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("read",e.file.name,i);}l=c;m=d;c=l;d=m;return[c,d];};BG.prototype.Read=function(b){return this.$val.Read(b);};BG.Ptr.prototype.ReadAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l,m,n;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pread(b,c);j=i[0];k=i[1];if((j===0)&&$interfaceIsEqual(k,$ifaceNil)){l=d;m=B.EOF;d=l;e=m;return[d,e];}if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("read",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(n=new $Int64(0,j),new $Int64(c.$high+n.$high,c.$low+n.$low));}return[d,e];};BG.prototype.ReadAt=function(b,c){return this.$val.ReadAt(b,c);};BG.Ptr.prototype.Write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.write(b);c=h[0];i=h[1];if(c<0){c=0;}if(!((c===b.$length))){d=B.ErrShortWrite;}BK(e,i);if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("write",e.file.name,i);}j=c;k=d;c=j;d=k;return[c,d];};BG.prototype.Write=function(b){return this.$val.Write(b);};BG.Ptr.prototype.WriteAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pwrite(b,c);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("write",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(l=new $Int64(0,j),new $Int64(c.$high+l.$high,c.$low+l.$low));}return[d,e];};BG.prototype.WriteAt=function(b,c){return this.$val.WriteAt(b,c);};BG.Ptr.prototype.Seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g,h,i,j,k,l,m,n,o;f=this;if(f===DC.nil){g=new $Int64(0,0);h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.seek(b,c);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&!(f.file.dirinfo===CY.nil)&&!((j.$high===0&&j.$low===0))){k=new C.Errno(21);}if(!($interfaceIsEqual(k,$ifaceNil))){l=new $Int64(0,0);m=new W.Ptr("seek",f.file.name,k);d=l;e=m;return[d,e];}n=j;o=$ifaceNil;d=n;e=o;return[d,e];};BG.prototype.Seek=function(b,c){return this.$val.Seek(b,c);};BG.Ptr.prototype.WriteString=function(b){var c=0,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.Write(new CZ($stringToBytes(b)));c=h[0];d=h[1];return[c,d];};BG.prototype.WriteString=function(b){return this.$val.WriteString(b);};BG.Ptr.prototype.Chdir=function(){var b,c;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}c=C.Fchdir(b.file.fd);if(!($interfaceIsEqual(c,$ifaceNil))){return new W.Ptr("chdir",b.file.name,c);}return $ifaceNil;};BG.prototype.Chdir=function(){return this.$val.Chdir();};AX=function(b,c){if(b<0){b=0;}return[b,c];};AY=function(){$panic("Native function not implemented: os.sigpipe");};BB=function(b){var c=0;c=(c|((new CT(b).Perm()>>>0)))>>>0;if(!((((b&8388608)>>>0)===0))){c=(c|(2048))>>>0;}if(!((((b&4194304)>>>0)===0))){c=(c|(1024))>>>0;}if(!((((b&1048576)>>>0)===0))){c=(c|(512))>>>0;}return c;};BG.Ptr.prototype.Chmod=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Fchmod(c.file.fd,BB(b));if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("chmod",c.file.name,d);}return $ifaceNil;};BG.prototype.Chmod=function(b){return this.$val.Chmod(b);};BG.Ptr.prototype.Chown=function(b,c){var d,e;d=this;if(d===DC.nil){return $pkg.ErrInvalid;}e=C.Fchown(d.file.fd,b,c);if(!($interfaceIsEqual(e,$ifaceNil))){return new W.Ptr("chown",d.file.name,e);}return $ifaceNil;};BG.prototype.Chown=function(b,c){return this.$val.Chown(b,c);};BG.Ptr.prototype.Truncate=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Ftruncate(c.file.fd,b);if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("truncate",c.file.name,d);}return $ifaceNil;};BG.prototype.Truncate=function(b){return this.$val.Truncate(b);};BG.Ptr.prototype.Sync=function(){var b=$ifaceNil,c,d;c=this;if(c===DC.nil){b=$pkg.ErrInvalid;return b;}d=C.Fsync(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){b=Y("fsync",d);return b;}b=$ifaceNil;return b;};BG.prototype.Sync=function(){return this.$val.Sync();};BG.Ptr.prototype.Fd=function(){var b;b=this;if(b===DC.nil){return 4294967295;}return(b.file.fd>>>0);};BG.prototype.Fd=function(){return this.$val.Fd();};BI=$pkg.NewFile=function(b,c){var d,e;d=(b>>0);if(d<0){return DC.nil;}e=new BG.Ptr(new BH.Ptr(d,c,CY.nil,0));F.SetFinalizer(e.file,new DR($methodExpr(DQ.prototype.close)));return e;};BK=function(b,c){if($interfaceIsEqual(c,new C.Errno(32))){if(G.AddInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),1)>=10){AY();}}else{G.StoreInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),0);}};BG.Ptr.prototype.Close=function(){var b;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}return b.file.close();};BG.prototype.Close=function(){return this.$val.Close();};BH.Ptr.prototype.close=function(){var b,c,d;b=this;if(b===DQ.nil||b.fd<0){return new C.Errno(22);}c=$ifaceNil;d=C.Close(b.fd);if(!($interfaceIsEqual(d,$ifaceNil))){c=new W.Ptr("close",b.name,d);}b.fd=-1;F.SetFinalizer(b,$ifaceNil);return c;};BH.prototype.close=function(){return this.$val.close();};BG.Ptr.prototype.Stat=function(){var b=$ifaceNil,c=$ifaceNil,d,e,f,g,h,i,j,k;d=this;if(d===DC.nil){e=$ifaceNil;f=$pkg.ErrInvalid;b=e;c=f;return[b,c];}g=$clone(new C.Stat_t.Ptr(),C.Stat_t);c=C.Fstat(d.file.fd,g);if(!($interfaceIsEqual(c,$ifaceNil))){h=$ifaceNil;i=new W.Ptr("stat",d.file.name,c);b=h;c=i;return[b,c];}j=CL(g,d.file.name);k=$ifaceNil;b=j;c=k;return[b,c];};BG.prototype.Stat=function(){return this.$val.Stat();};BN=$pkg.Lstat=function(b){var c=$ifaceNil,d=$ifaceNil,e,f,g,h,i;e=$clone(new C.Stat_t.Ptr(),C.Stat_t);d=C.Lstat(b,e);if(!($interfaceIsEqual(d,$ifaceNil))){f=$ifaceNil;g=new W.Ptr("lstat",b,d);c=f;d=g;return[c,d];}h=CL(e,b);i=$ifaceNil;c=h;d=i;return[c,d];};BG.Ptr.prototype.readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=this;f=e.file.name;if(f===""){f=".";}g=e.Readdirnames(b);h=g[0];d=g[1];c=DB.make(0,h.$length);i=h;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);l=AV(f+"/"+k);m=l[0];n=l[1];if(AA(n)){j++;continue;}if(!($interfaceIsEqual(n,$ifaceNil))){o=c;p=n;c=o;d=p;return[c,d];}c=$append(c,m);j++;}q=c;r=d;c=q;d=r;return[c,d];};BG.prototype.readdir=function(b){return this.$val.readdir(b);};BG.Ptr.prototype.read=function(b){var c=0,d=$ifaceNil,e,f,g;e=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}g=C.Read(e.file.fd,b);f=AX(g[0],g[1]);c=f[0];d=f[1];return[c,d];};BG.prototype.read=function(b){return this.$val.read(b);};BG.Ptr.prototype.pread=function(b,c){var d=0,e=$ifaceNil,f,g,h;f=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}h=C.Pread(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pread=function(b,c){return this.$val.pread(b,c);};BG.Ptr.prototype.write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l;e=this;while(true){f=b;if(true&&f.$length>1073741824){f=$subslice(f,0,1073741824);}h=C.Write(e.file.fd,f);g=AX(h[0],h[1]);i=g[0];j=g[1];c=c+(i)>>0;if(01073741824){b=$subslice(b,0,1073741824);}h=C.Pwrite(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pwrite=function(b,c){return this.$val.pwrite(b,c);};BG.Ptr.prototype.seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g;f=this;g=C.Seek(f.file.fd,b,c);d=g[0];e=g[1];return[d,e];};BG.prototype.seek=function(b,c){return this.$val.seek(b,c);};BQ=function(b){var c;c=b.length-1>>0;while(c>0&&(b.charCodeAt(c)===47)){b=b.substring(0,c);c=c-(1)>>0;}c=c-(1)>>0;while(c>=0){if(b.charCodeAt(c)===47){b=b.substring((c+1>>0));break;}c=c-(1)>>0;}return b;};BX=function(){BV=BY;};BY=function(b){return!($interfaceIsEqual(b,new C.Errno(45)));};CD=function(){$pkg.Args=I();};CJ=$pkg.Exit=function(b){C.Exit(b);};CL=function(b,c){var d,e;d=new CV.Ptr(BQ(c),b.Size,0,$clone(CM(b.Mtimespec),D.Time),b);d.mode=(((b.Mode&511)>>>0)>>>0);e=(b.Mode&61440)>>>0;if(e===24576||e===57344){d.mode=(d.mode|(67108864))>>>0;}else if(e===8192){d.mode=(d.mode|(69206016))>>>0;}else if(e===16384){d.mode=(d.mode|(2147483648))>>>0;}else if(e===4096){d.mode=(d.mode|(33554432))>>>0;}else if(e===40960){d.mode=(d.mode|(134217728))>>>0;}else if(e===32768){}else if(e===49152){d.mode=(d.mode|(16777216))>>>0;}if(!((((b.Mode&1024)>>>0)===0))){d.mode=(d.mode|(4194304))>>>0;}if(!((((b.Mode&2048)>>>0)===0))){d.mode=(d.mode|(8388608))>>>0;}if(!((((b.Mode&512)>>>0)===0))){d.mode=(d.mode|(1048576))>>>0;}return d;};CM=function(b){b=$clone(b,C.Timespec);return D.Unix(b.Sec,b.Nsec);};CQ=function(){var b,c,d,e,f,g,h;b=C.Sysctl("kern.osrelease");c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}e=0;f=c;g=0;while(g2||(e===2)&&c.charCodeAt(0)>=49&&c.charCodeAt(1)>=49){CP=true;}};CT.prototype.String=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=this.$val!==undefined?this.$val:this;c=$clone(DK.zero(),DK);d=0;e="dalTLDpSugct";f=0;while(f>0)>>>0),j<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(i<<24>>>24);d=d+(1)>>0;}f+=g[1];}if(d===0){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;d=d+(1)>>0;}k="rwxrwxrwx";l=0;while(l>0)>>>0),p<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(o<<24>>>24);}else{(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;}d=d+(1)>>0;l+=m[1];}return $bytesToString($subslice(new CZ(c),0,d));};$ptrType(CT).prototype.String=function(){return new CT(this.$get()).String();};CT.prototype.IsDir=function(){var b;b=this.$val!==undefined?this.$val:this;return!((((b&2147483648)>>>0)===0));};$ptrType(CT).prototype.IsDir=function(){return new CT(this.$get()).IsDir();};CT.prototype.IsRegular=function(){var b;b=this.$val!==undefined?this.$val:this;return((b&2399141888)>>>0)===0;};$ptrType(CT).prototype.IsRegular=function(){return new CT(this.$get()).IsRegular();};CT.prototype.Perm=function(){var b;b=this.$val!==undefined?this.$val:this;return(b&511)>>>0;};$ptrType(CT).prototype.Perm=function(){return new CT(this.$get()).Perm();};CV.Ptr.prototype.Name=function(){var b;b=this;return b.name;};CV.prototype.Name=function(){return this.$val.Name();};CV.Ptr.prototype.IsDir=function(){var b;b=this;return new CT(b.Mode()).IsDir();};CV.prototype.IsDir=function(){return this.$val.IsDir();};CV.Ptr.prototype.Size=function(){var b;b=this;return b.size;};CV.prototype.Size=function(){return this.$val.Size();};CV.Ptr.prototype.Mode=function(){var b;b=this;return b.mode;};CV.prototype.Mode=function(){return this.$val.Mode();};CV.Ptr.prototype.ModTime=function(){var b;b=this;return b.modTime;};CV.prototype.ModTime=function(){return this.$val.ModTime();};CV.Ptr.prototype.Sys=function(){var b;b=this;return b.sys;};CV.prototype.Sys=function(){return this.$val.Sys();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}CX=$sliceType($String);CY=$ptrType(BJ);CZ=$sliceType($Uint8);DB=$sliceType(CS);DC=$ptrType(BG);DD=$ptrType(W);DE=$ptrType(AQ);DK=$arrayType($Uint8,32);DQ=$ptrType(BH);DR=$funcType([DQ],[$error],false);DS=$ptrType($Int32);DW=$ptrType(CV);DX=$ptrType(X);DZ=$ptrType(CT);DD.methods=[["Error","Error","",$funcType([],[$String],false),-1]];W.init([["Op","Op","",$String,""],["Path","Path","",$String,""],["Err","Err","",$error,""]]);DX.methods=[["Error","Error","",$funcType([],[$String],false),-1]];X.init([["Syscall","Syscall","",$String,""],["Err","Err","",$error,""]]);DE.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AQ.init([["Op","Op","",$String,""],["Old","Old","",$String,""],["New","New","",$String,""],["Err","Err","",$error,""]]);BG.methods=[["close","close","os",$funcType([],[$error],false),0]];DC.methods=[["Chdir","Chdir","",$funcType([],[$error],false),-1],["Chmod","Chmod","",$funcType([CT],[$error],false),-1],["Chown","Chown","",$funcType([$Int,$Int],[$error],false),-1],["Close","Close","",$funcType([],[$error],false),-1],["Fd","Fd","",$funcType([],[$Uintptr],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Read","Read","",$funcType([CZ],[$Int,$error],false),-1],["ReadAt","ReadAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["Readdir","Readdir","",$funcType([$Int],[DB,$error],false),-1],["Readdirnames","Readdirnames","",$funcType([$Int],[CX,$error],false),-1],["Seek","Seek","",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["Stat","Stat","",$funcType([],[CS,$error],false),-1],["Sync","Sync","",$funcType([],[$error],false),-1],["Truncate","Truncate","",$funcType([$Int64],[$error],false),-1],["Write","Write","",$funcType([CZ],[$Int,$error],false),-1],["WriteAt","WriteAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1],["close","close","os",$funcType([],[$error],false),0],["pread","pread","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["pwrite","pwrite","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["read","read","os",$funcType([CZ],[$Int,$error],false),-1],["readdir","readdir","os",$funcType([$Int],[DB,$error],false),-1],["readdirnames","readdirnames","os",$funcType([$Int],[CX,$error],false),-1],["seek","seek","os",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["write","write","os",$funcType([CZ],[$Int,$error],false),-1]];BG.init([["file","","os",DQ,""]]);DQ.methods=[["close","close","os",$funcType([],[$error],false),-1]];BH.init([["fd","fd","os",$Int,""],["name","name","os",$String,""],["dirinfo","dirinfo","os",CY,""],["nepipe","nepipe","os",$Int32,""]]);BJ.init([["buf","buf","os",CZ,""],["nbuf","nbuf","os",$Int,""],["bufp","bufp","os",$Int,""]]);CS.init([["IsDir","IsDir","",$funcType([],[$Bool],false)],["ModTime","ModTime","",$funcType([],[D.Time],false)],["Mode","Mode","",$funcType([],[CT],false)],["Name","Name","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Int64],false)],["Sys","Sys","",$funcType([],[$emptyInterface],false)]]);CT.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DZ.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DW.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[D.Time],false),-1],["Mode","Mode","",$funcType([],[CT],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];CV.init([["name","name","os",$String,""],["size","size","os",$Int64,""],["mode","mode","os",CT,""],["modTime","modTime","os",D.Time,""],["sys","sys","os",$emptyInterface,""]]);$pkg.Args=CX.nil;CP=false;$pkg.ErrInvalid=E.New("invalid argument");$pkg.ErrPermission=E.New("permission denied");$pkg.ErrExist=E.New("file already exists");$pkg.ErrNotExist=E.New("file does not exist");AO=E.New("os: process already finished");$pkg.Stdin=BI((C.Stdin>>>0),"/dev/stdin");$pkg.Stdout=BI((C.Stdout>>>0),"/dev/stdout");$pkg.Stderr=BI((C.Stderr>>>0),"/dev/stderr");BV=(function(b){return true;});AV=BN;BX();CD();CQ();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strconv"]=(function(){var $pkg={},B,A,C,CI,CJ,CK,CL,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,Z,AD,AI,AP,AY,G,AE,AJ,AK,AL,AQ,AR,BD,BE,BF,BG,BM,AA,AB,AC,AF,AG,AH,AM,AN,AO,AT,AU,AV,AW,AX,AZ,BA,BB,BC,BI,BJ,BN,BO,BP,BR,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];Z=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal","decimal","strconv",function(d_,nd_,dp_,neg_,trunc_){this.$val=this;this.d=d_!==undefined?d_:CU.zero();this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;this.trunc=trunc_!==undefined?trunc_:false;});AD=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat","leftCheat","strconv",function(delta_,cutoff_){this.$val=this;this.delta=delta_!==undefined?delta_:0;this.cutoff=cutoff_!==undefined?cutoff_:"";});AI=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat","extFloat","strconv",function(mant_,exp_,neg_){this.$val=this;this.mant=mant_!==undefined?mant_:new $Uint64(0,0);this.exp=exp_!==undefined?exp_:0;this.neg=neg_!==undefined?neg_:false;});AP=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo","floatInfo","strconv",function(mantbits_,expbits_,bias_){this.$val=this;this.mantbits=mantbits_!==undefined?mantbits_:0;this.expbits=expbits_!==undefined?expbits_:0;this.bias=bias_!==undefined?bias_:0;});AY=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice","decimalSlice","strconv",function(d_,nd_,dp_,neg_){this.$val=this;this.d=d_!==undefined?d_:CL.nil;this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;});Z.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=CL.make(b);d=0;if(a.nd===0){return"0";}else if(a.dp<=0){(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=48;d=d+(1)>>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+(AA($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;}else if(a.dp>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;d=d+(AA($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return $bytesToString($subslice(c,0,d));};Z.prototype.String=function(){return this.$val.String();};AA=function(a){var b,c,d;b=a;c=0;while(c=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+d]=48;c++;}return a.$length;};AB=function(a){var b,c;while(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]))===48)){a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Z.Ptr.prototype.Assign=function(a){var b,c,d,e,f,g,h;b=this;c=$clone(CN.zero(),CN);d=0;while((a.$high>0||(a.$high===0&&a.$low>0))){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"):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(d>=0){(g=b.d,h=b.nd,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AB(b);};Z.prototype.Assign=function(a){return this.$val.Assign(a);};AC=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=0;d=0;e=0;while(((e>>$min(b,31))>>0)===0){if(c>=a.nd){if(e===0){a.nd=0;return;}while(((e>>$min(b,31))>>0)===0){e=e*10>>0;c=c+(1)>>0;}break;}g=((f=a.d,((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))>>0);e=((e*10>>0)+g>>0)-48>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;while(c=h.length)?$throwRuntimeError("index out of range"):h[c]))>>0);j=(e>>$min(b,31))>>0;e=e-(((k=b,k<32?(j<>0))>>0;(l=a.d,(d<0||d>=l.length)?$throwRuntimeError("index out of range"):l[d]=((j+48>>0)<<24>>>24));d=d+(1)>>0;e=((e*10>>0)+i>>0)-48>>0;c=c+(1)>>0;}while(e>0){m=(e>>$min(b,31))>>0;e=e-(((n=b,n<32?(m<>0))>>0;if(d<800){(o=a.d,(d<0||d>=o.length)?$throwRuntimeError("index out of range"):o[d]=((m+48>>0)<<24>>>24));d=d+(1)>>0;}else if(m>0){a.trunc=true;}e=e*10>>0;}a.nd=d;AB(a);};AF=function(a,b){var c;c=0;while(c=a.$length){return true;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])>0;}return false;};AG=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).delta;if(AF($subslice(new CL(a.d),0,a.nd),((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(d>=0){f=f+(((g=b,g<32?(((((h=a.d,((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]))>>0)-48>>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"):l[e]=((k+48>>0)<<24>>>24));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(f>0){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"):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;AB(a);};Z.Ptr.prototype.Shift=function(a){var b;b=this;if(b.nd===0){}else if(a>0){while(a>27){AG(b,27);a=a-(27)>>0;}AG(b,(a>>>0));}else if(a<0){while(a<-27){AC(b,27);a=a+(27)>>0;}AC(b,(-a>>>0));}};Z.prototype.Shift=function(a){return this.$val.Shift(a);};AH=function(a,b){var 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"):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"):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"):g[b]))>=53;};Z.Ptr.prototype.Round=function(a){var b;b=this;if(a<0||a>=b.nd){return;}if(AH(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Z.prototype.Round=function(a){return this.$val.Round(a);};Z.Ptr.prototype.RoundDown=function(a){var b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AB(b);};Z.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Z.Ptr.prototype.RoundUp=function(a){var b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(c>=0){e=(d=b.d,((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));if(e<57){f=b.d;g=c;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(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;};Z.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Z.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(b=f.length)?$throwRuntimeError("index out of range"):f[b]))-48<<24>>>24)),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(b>0;}if(AH(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Z.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AI.Ptr.prototype.AssignComputeBounds=function(a,b,c,d){var e=new AI.Ptr(),f=new AI.Ptr(),g,h,i,j,k,l,m,n,o;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,AI);j=$clone(g,AI);$copy(e,i,AI);$copy(f,j,AI);return[e,f];}k=b-d.bias>>0;$copy(f,new AI.Ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg),AI);if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){$copy(e,new AI.Ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg),AI);}else{$copy(e,new AI.Ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg),AI);}return[e,f];};AI.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AI.Ptr.prototype.Normalize=function(){var a=0,b,c,d,e,f,g,h,i,j,k,l,m,n;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;};AI.prototype.Normalize=function(){return this.$val.Normalize();};AI.Ptr.prototype.Multiply=function(a){var 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;a=$clone(a,AI);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;};AI.prototype.Multiply=function(a){return this.$val.Multiply(a);};AI.Ptr.prototype.AssignDecimal=function(a,b,c,d,e){var f=false,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;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>=AL.length)?$throwRuntimeError("index out of range"):AL[n])),(a.$high=AL.length)?$throwRuntimeError("index out of range"):AL[l])));g.Normalize();}else{g.Normalize();g.Multiply(((l<0||l>=AJ.length)?$throwRuntimeError("index out of range"):AJ[l]));h=h+(4)>>0;}g.Multiply(((j<0||j>=AK.length)?$throwRuntimeError("index out of range"):AK[j]));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<>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>0))*28>>0)/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>=AK.length)?$throwRuntimeError("index out of range"):AK[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(((g<0||g>=AK.length)?$throwRuntimeError("index out of range"):AK[g]));i=-((-348+(g*8>>0)>>0));j=g;a=i;b=j;return[a,b];};AI.prototype.frexp10=function(){return this.$val.frexp10();};AM=function(a,b,c){var d=0,e,f;e=c.frexp10();d=e[0];f=e[1];a.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));b.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));return d;};AI.Ptr.prototype.FixedDecimal=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,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,an,ao,ap;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(r<20){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>=AL.length)?$throwRuntimeError("index out of range"):AL[v]));h=(w=h/((o.$low>>>0)),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-((x=(o.$low>>>0),(((h>>>16<<16)*x>>>0)+(h<<16>>>16)*x)>>>0))>>>0;}else{u=0;}y=$clone(CO.zero(),CO);z=32;aa=h;while(aa>0){ac=(ab=aa/10,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"));aa=aa-(((((10>>>16<<16)*ac>>>0)+(10<<16>>>16)*ac)>>>0))>>>0;z=z-(1)>>0;(z<0||z>=y.length)?$throwRuntimeError("index out of range"):y[z]=((aa+48>>>0)<<24>>>24);aa=ac;}ad=z;while(ad<32){(ae=a.d,af=ad-z>>0,(af<0||af>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+af]=((ad<0||ad>=y.length)?$throwRuntimeError("index out of range"):y[ad]));ad=ad+(1)>>0;}ag=32-z>>0;a.nd=ag;a.dp=n+f>>0;m=m-(ag)>>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(m>0){k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ah=$mul64(new $Uint64(0,2),l),ai=$shiftLeft64(new $Uint64(0,1),g),(ah.$high>ai.$high||(ah.$high===ai.$high&&ah.$low>ai.$low)))){return false;}aj=$shiftRightUint64(k,g);(ak=a.d,(ag<0||ag>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+ag]=(new $Uint64(aj.$high+0,aj.$low+48).$low<<24>>>24));k=(al=$shiftLeft64(aj,g),new $Uint64(k.$high-al.$high,k.$low-al.$low));ag=ag+(1)>>0;m=m-(1)>>0;}a.nd=ag;}an=AN(a,(am=$shiftLeft64(new $Uint64(0,u),g),new $Uint64(am.$high|k.$high,(am.$low|k.$low)>>>0)),o,g,l);if(!an){return false;}ao=a.nd-1>>0;while(ao>=0){if(!(((ap=a.d,((ao<0||ao>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+ao]))===48))){a.nd=ao+1>>0;break;}ao=ao-(1)>>0;}return true;};AI.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AN=function(a,b,c,d,e){var 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<h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(m>=0){if((n=a.d,((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):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<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0]=49);a.nd=1;a.dp=a.dp+(1)>>0;}else{p=a.d;q=m;(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q])+(1)<<24>>>24;}return true;}return false;};AI.Ptr.prototype.ShortestDecimal=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;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,AI)&&$equal(b,c,AI)){f=$clone(CN.zero(),CN);g=23;h=d.mant;while((h.$high>0||(h.$high===0&&h.$low>0))){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"):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(l=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?$throwRuntimeError("index out of range"):f[m])));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))===48)){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=AM(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(al<20){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(ao>0)-1>>0,((ap<0||ap>=AL.length)?$throwRuntimeError("index out of range"):AL[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"):at.$array[at.$offset+ao]=((as+48>>>0)<<24>>>24));y=y-((au=(aq.$low>>>0),(((as>>>16<<16)*au>>>0)+(as<<16>>>16)*au)>>>0))>>>0;aw=(av=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(av.$high+ab.$high,av.$low+ab.$low));if((aw.$high>0;a.dp=ai+s>>0;a.neg=d.neg;return AO(a,aw,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;ax=0;ay=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ay=$mul64(ay,(new $Uint64(0,10)));ax=($shiftRightUint64(ab,x).$low>>0);(az=a.d,ba=a.nd,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=((ax+48>>0)<<24>>>24));a.nd=a.nd+(1)>>0;ab=(bb=$shiftLeft64(new $Uint64(0,ax),x),new $Uint64(ab.$high-bb.$high,ab.$low-bb.$low));if((bc=$mul64(ae,ay),(ab.$high>0;(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])-(1)<<24>>>24;b=(m=e,new $Uint64(b.$high+m.$high,b.$low+m.$low));}if((n=new $Uint64(b.$high+e.$high,b.$low+e.$low),o=(p=(q=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+q.$high,c.$low+q.$low)),new $Uint64(p.$high+f.$high,p.$low+f.$low)),(n.$highr.$high||(b.$high===r.$high&&b.$low>r.$low)))){return false;}if((a.nd===1)&&((s=a.d,((0<0||0>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AT=$pkg.AppendFloat=function(a,b,c,d,e){return AU(a,b,c,d,e);};AU=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;f=new $Uint64(0,0);g=CP.nil;h=e;if(h===32){f=new $Uint64(0,A.Float32bits(b));g=AQ;}else if(h===64){f=A.Float64bits(b);g=AR;}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<>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<>0)-1>>0)){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,new CL($stringToBytes(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 BB(a,j,o,l,g);}if(!G){return AV(a,d,c,j,o,l,g);}t=$clone(new AY.Ptr(),AY);u=false;v=d<0;if(v){w=new AI.Ptr();x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AI);z=$clone(x[1],AI);aa=$clone(CO.zero(),CO);t.d=new CL(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AV(a,d,c,j,o,l,g);}ab=c;if(ab===101||ab===69){d=t.nd-1>>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=$clone(CN.zero(),CN);t.d=new CL(ae);af=new AI.Ptr(o,l-(g.mantbits>>0)>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AV(a,d,c,j,o,l,g);}return AW(a,v,j,t,d,c);};AV=function(a,b,c,d,e,f,g){var h,i,j,k,l;h=new Z.Ptr();h.Assign(e);h.Shift(f-(g.mantbits>>0)>>0);i=$clone(new AY.Ptr(),AY);j=b<0;if(j){AX(h,e,f,g);$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);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);}$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);}return AW(a,j,d,i,b,c);};AW=function(a,b,c,d,e,f){var g,h,i;d=$clone(d,AY);g=f;if(g===101||g===69){return AZ(a,c,d,e,f);}else if(g===102){return BA(a,c,d,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 AZ(a,c,d,e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return BA(a,c,d,BC(e-d.dp>>0,0));}return $append(a,37,f);};AX=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&(332*((a.dp-a.nd>>0))>>0)>=(100*((c-(d.mantbits>>0)>>0))>>0)){return;}f=new Z.Ptr();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 Z.Ptr();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(p=w.length)?$throwRuntimeError("index out of range"):w[p]));}else{t=48;}u=(x=a.d,((p<0||p>=x.length)?$throwRuntimeError("index out of range"):x[p]));if(p=y.length)?$throwRuntimeError("index out of range"):y[p]));}else{v=48;}z=!((t===u))||(o&&(t===u)&&((p+1>>0)===l.nd));aa=!((u===v))&&(o||(u+1<<24>>>24)>0)>0);return;}else if(z){a.RoundDown(p+1>>0);return;}else if(aa){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AZ=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;c=$clone(c,AY);if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,((0<0||0>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=((c.nd+d>>0)+1>>0)-BC(c.nd,d+1>>0)>>0;while(h=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])));h=h+(1)>>0;}while(h<=d){a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);k=c.dp-1>>0;if(c.nd===0){k=0;}if(k<0){f=45;k=-k;}else{f=43;}a=$append(a,f);l=$clone(CQ.zero(),CQ);m=3;while(k>=10){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((n=k%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);k=(o=k/(10),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));}m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((k+48>>0)<<24>>>24);p=m;if(p===0){a=$append(a,l[0],l[1],l[2]);}else if(p===1){a=$append(a,l[1],l[2]);}else if(p===2){a=$append(a,48,l[2]);}return a;};BA=function(a,b,c,d){var e,f,g,h,i,j;c=$clone(c,AY);if(b){a=$append(a,45);}if(c.dp>0){e=0;e=0;while(e=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+e])));e=e+(1)>>0;}while(e>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);g=0;while(g>0;if(0<=i&&i=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]));}a=$append(a,h);g=g+(1)>>0;}}return a;};BB=function(a,b,c,d,e){var f,g,h,i,j,k,l;f=$clone(CR.zero(),CR);g=50;d=d-((e.mantbits>>0))>>0;h=43;if(d<0){h=45;d=-d;}i=0;while(d>0||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(((j=d%10,j===j?j:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);d=(k=d/(10),(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));}g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=h;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=112;i=0;while((c.$high>0||(c.$high===0&&c.$low>0))||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((l=$div64(c,new $Uint64(0,10),true),new $Uint64(l.$high+0,l.$low+48)).$low<<24>>>24);c=$div64(c,(new $Uint64(0,10)),false);}if(b){g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=45;}return $appendSlice(a,$subslice(new CL(f),g));};BC=function(a,b){if(a>b){return a;}return b;};BI=$pkg.FormatInt=function(a,b){var c,d;c=BN(CL.nil,new $Uint64(a.$high,a.$low),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};BJ=$pkg.Itoa=function(a){return BI(new $Int64(0,a),10);};BN=function(a,b,c,d,e){var f=CL.nil,g="",h,i,j,k,l,m,n,o,p,q,r,s,t;if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=$clone(CS.zero(),CS);i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){while((b.$high>0||(b.$high===0&&b.$low>=100))){i=i-(2)>>0;j=$div64(b,new $Uint64(0,100),false);l=((k=$mul64(j,new $Uint64(0,100)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0);(m=i+1>>0,(m<0||m>=h.length)?$throwRuntimeError("index out of range"):h[m]="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".charCodeAt(l));(n=i+0>>0,(n<0||n>=h.length)?$throwRuntimeError("index out of range"):h[n]="0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999".charCodeAt(l));b=j;}if((b.$high>0||(b.$high===0&&b.$low>=10))){i=i-(1)>>0;o=$div64(b,new $Uint64(0,10),false);(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((p=$mul64(o,new $Uint64(0,10)),new $Uint64(b.$high-p.$high,b.$low-p.$low)).$low>>>0));b=o;}}else{q=((c<0||c>=BM.length)?$throwRuntimeError("index out of range"):BM[c]);if(q>0){r=new $Uint64(0,c);s=(r.$low>>>0)-1>>>0;while((b.$high>r.$high||(b.$high===r.$high&&b.$low>=r.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((b.$low>>>0)&s)>>>0));b=$shiftRightUint64(b,(q));}}else{t=new $Uint64(0,c);while((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(($div64(b,t,true).$low>>>0));b=$div64(b,(t),false);}}}i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0));if(d){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=45;}if(e){f=$appendSlice(a,$subslice(new CL(h),i));return[f,g];}g=$bytesToString($subslice(new CL(h),i));return[f,g];};BO=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=$clone(CT.zero(),CT);f=CL.make(0,(e=(3*a.length>>0)/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")));f=$append(f,b);g=0;while(a.length>0){h=(a.charCodeAt(0)>>0);g=1;if(h>=128){i=C.DecodeRuneInString(a);h=i[0];g=i[1];}if((g===1)&&(h===65533)){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));a=a.substring(g);continue;}if((h===(b>>0))||(h===92)){f=$append(f,92);f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}if(c){if(h<128&&CE(h)){f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}}else if(CE(h)){j=C.EncodeRune(new CL(d),h);f=$appendSlice(f,$subslice(new CL(d),0,j));a=a.substring(g);continue;}k=h;if(k===7){f=$appendSlice(f,new CL($stringToBytes("\\a")));}else if(k===8){f=$appendSlice(f,new CL($stringToBytes("\\b")));}else if(k===12){f=$appendSlice(f,new CL($stringToBytes("\\f")));}else if(k===10){f=$appendSlice(f,new CL($stringToBytes("\\n")));}else if(k===13){f=$appendSlice(f,new CL($stringToBytes("\\r")));}else if(k===9){f=$appendSlice(f,new CL($stringToBytes("\\t")));}else if(k===11){f=$appendSlice(f,new CL($stringToBytes("\\v")));}else{if(h<32){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));}else if(h>1114111){h=65533;f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else if(h<65536){f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else{f=$appendSlice(f,new CL($stringToBytes("\\U")));m=28;while(m>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((m>>>0),31))>>0)&15)));m=m-(4)>>0;}}}a=a.substring(g);}f=$append(f,b);return $bytesToString(f);};BP=$pkg.Quote=function(a){return BO(a,34,false);};BR=$pkg.QuoteToASCII=function(a){return BO(a,34,true);};BT=$pkg.QuoteRune=function(a){return BO($encodeRune(a),39,false);};BU=$pkg.AppendQuoteRune=function(a,b){return $appendSlice(a,new CL($stringToBytes(BT(b))));};BV=$pkg.QuoteRuneToASCII=function(a){return BO($encodeRune(a),39,true);};BW=$pkg.AppendQuoteRuneToASCII=function(a,b){return $appendSlice(a,new CL($stringToBytes(BV(b))));};BX=$pkg.CanBackquote=function(a){var b,c,d;while(a.length>0){b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=a.substring(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;};BY=function(a){var b=0,c=false,d,e,f,g,h,i,j;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];};BZ=$pkg.UnquoteChar=function(a,b){var c=0,d=false,e="",f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;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=a.substring(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=a.substring(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=a.substring(2);t=s;switch(0){default: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>0)|z;x=x+(1)>>0;}a=a.substring(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(ac<2){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=a.substring(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];};CA=$pkg.Unquote=function(a){var b="",c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,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,an;d=a.length;if(d<2){e="";f=$pkg.ErrSyntax;b=e;c=f;return[b,c];}g=a.charCodeAt(0);if(!((g===a.charCodeAt((d-1>>0))))){h="";i=$pkg.ErrSyntax;b=h;c=i;return[b,c];}a=a.substring(1,(d-1>>0));if(g===96){if(CB(a,96)){j="";k=$pkg.ErrSyntax;b=j;c=k;return[b,c];}l=a;m=$ifaceNil;b=l;c=m;return[b,c];}if(!((g===34))&&!((g===39))){n="";o=$pkg.ErrSyntax;b=n;c=o;return[b,c];}if(CB(a,10)){p="";q=$pkg.ErrSyntax;b=p;c=q;return[b,c];}if(!CB(a,92)&&!CB(a,g)){r=g;if(r===34){s=a;t=$ifaceNil;b=s;c=t;return[b,c];}else if(r===39){u=C.DecodeRuneInString(a);v=u[0];w=u[1];if((w===a.length)&&(!((v===65533))||!((w===1)))){x=a;y=$ifaceNil;b=x;c=y;return[b,c];}}}z=$clone(CT.zero(),CT);ab=CL.make(0,(aa=(3*a.length>>0)/2,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>0:$throwRuntimeError("integer divide by zero")));while(a.length>0){ac=BZ(a,g);ad=ac[0];ae=ac[1];af=ac[2];ag=ac[3];if(!($interfaceIsEqual(ag,$ifaceNil))){ah="";ai=ag;b=ah;c=ai;return[b,c];}a=af;if(ad<128||!ae){ab=$append(ab,(ad<<24>>>24));}else{aj=C.EncodeRune(new CL(z),ad);ab=$appendSlice(ab,$subslice(new CL(z),0,aj));}if((g===39)&&!((a.length===0))){ak="";al=$pkg.ErrSyntax;b=ak;c=al;return[b,c];}}am=$bytesToString(ab);an=$ifaceNil;b=am;c=an;return[b,c];};CB=function(a,b){var c;c=0;while(c>0;}return false;};CC=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CD=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CE=$pkg.IsPrint=function(a){var 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=CC(f,e);if(h>=f.$length||e<(i=h&~1,((i<0||i>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]))=g.$length||!((((k<0||k>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+k])===e));}l=(a>>>0);m=BF;n=BG;o=l;p=m;q=n;r=CD(p,o);if(r>=p.$length||o<(s=r&~1,((s<0||s>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+t]))=131072){return true;}a=a-(65536)>>0;u=CC(q,(a<<16>>>16));return u>=q.$length||!((((u<0||u>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+u])===(a<<16>>>16)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}CI=$sliceType(AD);CJ=$sliceType($Uint16);CK=$sliceType($Uint32);CL=$sliceType($Uint8);CN=$arrayType($Uint8,24);CO=$arrayType($Uint8,32);CP=$ptrType(AP);CQ=$arrayType($Uint8,3);CR=$arrayType($Uint8,50);CS=$arrayType($Uint8,65);CT=$arrayType($Uint8,4);CU=$arrayType($Uint8,800);CV=$ptrType(Z);CW=$ptrType(AY);CX=$ptrType(AI);CV.methods=[["Assign","Assign","",$funcType([$Uint64],[],false),-1],["Round","Round","",$funcType([$Int],[],false),-1],["RoundDown","RoundDown","",$funcType([$Int],[],false),-1],["RoundUp","RoundUp","",$funcType([$Int],[],false),-1],["RoundedInteger","RoundedInteger","",$funcType([],[$Uint64],false),-1],["Shift","Shift","",$funcType([$Int],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["set","set","strconv",$funcType([$String],[$Bool],false),-1]];Z.init([["d","d","strconv",CU,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""],["trunc","trunc","strconv",$Bool,""]]);AD.init([["delta","delta","strconv",$Int,""],["cutoff","cutoff","strconv",$String,""]]);CX.methods=[["AssignComputeBounds","AssignComputeBounds","",$funcType([$Uint64,$Int,$Bool,CP],[AI,AI],false),-1],["AssignDecimal","AssignDecimal","",$funcType([$Uint64,$Int,$Bool,$Bool,CP],[$Bool],false),-1],["FixedDecimal","FixedDecimal","",$funcType([CW,$Int],[$Bool],false),-1],["Multiply","Multiply","",$funcType([AI],[],false),-1],["Normalize","Normalize","",$funcType([],[$Uint],false),-1],["ShortestDecimal","ShortestDecimal","",$funcType([CW,CX,CX],[$Bool],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["frexp10","frexp10","strconv",$funcType([],[$Int,$Int],false),-1]];AI.init([["mant","mant","strconv",$Uint64,""],["exp","exp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);AP.init([["mantbits","mantbits","strconv",$Uint,""],["expbits","expbits","strconv",$Uint,""],["bias","bias","strconv",$Int,""]]);AY.init([["d","d","strconv",CL,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);G=true;$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AE=new CI([new AD.Ptr(0,""),new AD.Ptr(1,"5"),new AD.Ptr(1,"25"),new AD.Ptr(1,"125"),new AD.Ptr(2,"625"),new AD.Ptr(2,"3125"),new AD.Ptr(2,"15625"),new AD.Ptr(3,"78125"),new AD.Ptr(3,"390625"),new AD.Ptr(3,"1953125"),new AD.Ptr(4,"9765625"),new AD.Ptr(4,"48828125"),new AD.Ptr(4,"244140625"),new AD.Ptr(4,"1220703125"),new AD.Ptr(5,"6103515625"),new AD.Ptr(5,"30517578125"),new AD.Ptr(5,"152587890625"),new AD.Ptr(6,"762939453125"),new AD.Ptr(6,"3814697265625"),new AD.Ptr(6,"19073486328125"),new AD.Ptr(7,"95367431640625"),new AD.Ptr(7,"476837158203125"),new AD.Ptr(7,"2384185791015625"),new AD.Ptr(7,"11920928955078125"),new AD.Ptr(8,"59604644775390625"),new AD.Ptr(8,"298023223876953125"),new AD.Ptr(8,"1490116119384765625"),new AD.Ptr(9,"7450580596923828125")]);AJ=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(2147483648,0),-63,false),new AI.Ptr(new $Uint64(2684354560,0),-60,false),new AI.Ptr(new $Uint64(3355443200,0),-57,false),new AI.Ptr(new $Uint64(4194304000,0),-54,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3276800000,0),-47,false),new AI.Ptr(new $Uint64(4096000000,0),-44,false),new AI.Ptr(new $Uint64(2560000000,0),-40,false)]);AK=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(4203730336,136053384),-1220,false),new AI.Ptr(new $Uint64(3132023167,2722021238),-1193,false),new AI.Ptr(new $Uint64(2333539104,810921078),-1166,false),new AI.Ptr(new $Uint64(3477244234,1573795306),-1140,false),new AI.Ptr(new $Uint64(2590748842,1432697645),-1113,false),new AI.Ptr(new $Uint64(3860516611,1025131999),-1087,false),new AI.Ptr(new $Uint64(2876309015,3348809418),-1060,false),new AI.Ptr(new $Uint64(4286034428,3200048207),-1034,false),new AI.Ptr(new $Uint64(3193344495,1097586188),-1007,false),new AI.Ptr(new $Uint64(2379227053,2424306748),-980,false),new AI.Ptr(new $Uint64(3545324584,827693699),-954,false),new AI.Ptr(new $Uint64(2641472655,2913388981),-927,false),new AI.Ptr(new $Uint64(3936100983,602835915),-901,false),new AI.Ptr(new $Uint64(2932623761,1081627501),-874,false),new AI.Ptr(new $Uint64(2184974969,1572261463),-847,false),new AI.Ptr(new $Uint64(3255866422,1308317239),-821,false),new AI.Ptr(new $Uint64(2425809519,944281679),-794,false),new AI.Ptr(new $Uint64(3614737867,629291719),-768,false),new AI.Ptr(new $Uint64(2693189581,2545915892),-741,false),new AI.Ptr(new $Uint64(4013165208,388672741),-715,false),new AI.Ptr(new $Uint64(2990041083,708162190),-688,false),new AI.Ptr(new $Uint64(2227754207,3536207675),-661,false),new AI.Ptr(new $Uint64(3319612455,450088378),-635,false),new AI.Ptr(new $Uint64(2473304014,3139815830),-608,false),new AI.Ptr(new $Uint64(3685510180,2103616900),-582,false),new AI.Ptr(new $Uint64(2745919064,224385782),-555,false),new AI.Ptr(new $Uint64(4091738259,3737383206),-529,false),new AI.Ptr(new $Uint64(3048582568,2868871352),-502,false),new AI.Ptr(new $Uint64(2271371013,1820084875),-475,false),new AI.Ptr(new $Uint64(3384606560,885076051),-449,false),new AI.Ptr(new $Uint64(2521728396,2444895829),-422,false),new AI.Ptr(new $Uint64(3757668132,1881767613),-396,false),new AI.Ptr(new $Uint64(2799680927,3102062735),-369,false),new AI.Ptr(new $Uint64(4171849679,2289335700),-343,false),new AI.Ptr(new $Uint64(3108270227,2410191823),-316,false),new AI.Ptr(new $Uint64(2315841784,3205436779),-289,false),new AI.Ptr(new $Uint64(3450873173,1697722806),-263,false),new AI.Ptr(new $Uint64(2571100870,3497754540),-236,false),new AI.Ptr(new $Uint64(3831238852,707476230),-210,false),new AI.Ptr(new $Uint64(2854495385,1769181907),-183,false),new AI.Ptr(new $Uint64(4253529586,2197867022),-157,false),new AI.Ptr(new $Uint64(3169126500,2450594539),-130,false),new AI.Ptr(new $Uint64(2361183241,1867548876),-103,false),new AI.Ptr(new $Uint64(3518437208,3793315116),-77,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3906250000,0),-24,false),new AI.Ptr(new $Uint64(2910383045,2892103680),3,false),new AI.Ptr(new $Uint64(2168404344,4170451332),30,false),new AI.Ptr(new $Uint64(3231174267,3372684723),56,false),new AI.Ptr(new $Uint64(2407412430,2078956656),83,false),new AI.Ptr(new $Uint64(3587324068,2884206696),109,false),new AI.Ptr(new $Uint64(2672764710,395977285),136,false),new AI.Ptr(new $Uint64(3982729777,3569679143),162,false),new AI.Ptr(new $Uint64(2967364920,2361961896),189,false),new AI.Ptr(new $Uint64(2210859150,447440347),216,false),new AI.Ptr(new $Uint64(3294436857,1114709402),242,false),new AI.Ptr(new $Uint64(2454546732,2786846552),269,false),new AI.Ptr(new $Uint64(3657559652,443583978),295,false),new AI.Ptr(new $Uint64(2725094297,2599384906),322,false),new AI.Ptr(new $Uint64(4060706939,3028118405),348,false),new AI.Ptr(new $Uint64(3025462433,2044532855),375,false),new AI.Ptr(new $Uint64(2254145170,1536935362),402,false),new AI.Ptr(new $Uint64(3358938053,3365297469),428,false),new AI.Ptr(new $Uint64(2502603868,4204241075),455,false),new AI.Ptr(new $Uint64(3729170365,2577424355),481,false),new AI.Ptr(new $Uint64(2778448436,3677981733),508,false),new AI.Ptr(new $Uint64(4140210802,2744688476),534,false),new AI.Ptr(new $Uint64(3084697427,1424604878),561,false),new AI.Ptr(new $Uint64(2298278679,4062331362),588,false),new AI.Ptr(new $Uint64(3424702107,3546052773),614,false),new AI.Ptr(new $Uint64(2551601907,2065781727),641,false),new AI.Ptr(new $Uint64(3802183132,2535403578),667,false),new AI.Ptr(new $Uint64(2832847187,1558426518),694,false),new AI.Ptr(new $Uint64(4221271257,2762425404),720,false),new AI.Ptr(new $Uint64(3145092172,2812560400),747,false),new AI.Ptr(new $Uint64(2343276271,3057687578),774,false),new AI.Ptr(new $Uint64(3491753744,2790753324),800,false),new AI.Ptr(new $Uint64(2601559269,3918606633),827,false),new AI.Ptr(new $Uint64(3876625403,2711358621),853,false),new AI.Ptr(new $Uint64(2888311001,1648096297),880,false),new AI.Ptr(new $Uint64(2151959390,2057817989),907,false),new AI.Ptr(new $Uint64(3206669376,61660461),933,false),new AI.Ptr(new $Uint64(2389154863,1581580175),960,false),new AI.Ptr(new $Uint64(3560118173,2626467905),986,false),new AI.Ptr(new $Uint64(2652494738,3034782633),1013,false),new AI.Ptr(new $Uint64(3952525166,3135207385),1039,false),new AI.Ptr(new $Uint64(2944860731,2616258155),1066,false)]);AL=$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)]);AQ=new AP.Ptr(23,8,-127);AR=new AP.Ptr(52,11,-1023);BD=new CJ([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,2226,2276,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,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,3161,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3406,3415,3415,3424,3427,3430,3445,3449,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,5108,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,7295,7360,7367,7376,7417,7424,7669,7676,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8381,8400,8432,8448,8585,8592,9210,9216,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11842,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40908,40960,42124,42128,42182,42192,42539,42560,42743,42752,42925,42928,42929,42999,43051,43056,43065,43072,43127,43136,43204,43214,43225,43232,43259,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43871,43876,43877,43968,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,65069,65072,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CJ([173,907,909,930,1328,1376,1416,1424,1757,2111,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,3200,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,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42654,42895,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CK([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65932,65936,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,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67840,67867,67871,67897,67903,67903,67968,68023,68030,68031,68096,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,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70088,70093,70093,70096,70106,70113,70132,70144,70205,70320,70378,70384,70393,70401,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70487,70487,70493,70499,70502,70508,70512,70516,70784,70855,70864,70873,71040,71093,71096,71113,71168,71236,71248,71257,71296,71351,71360,71369,71840,71922,71935,71935,72384,72440,73728,74648,74752,74868,77824,78894,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119261,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,120831,124928,125124,125127,125142,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,127386,127462,127490,127504,127546,127552,127560,127568,127569,127744,127788,127792,127869,127872,127950,127956,127991,128000,128330,128336,128578,128581,128719,128736,128748,128752,128755,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,131072,173782,173824,177972,177984,178205,194560,195101,917760,917999]);BG=new CJ([12,39,59,62,926,2057,2102,2134,2564,2580,2584,4285,4405,4626,4868,4905,4913,4916,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,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,62719,62842,62884]);BM=$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;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["reflect"]=(function(){var $pkg={},B,E,A,C,D,FF,FG,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GE,GF,GG,GH,GI,GJ,GO,GQ,GR,GS,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HF,HG,HH,HI,AF,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BS,BT,BU,CT,CU,CX,CZ,F,BR,DG,G,H,I,J,K,L,M,N,O,P,T,U,V,W,Y,AC,AD,AE,AG,AH,AI,AJ,AK,AM,AN,AO,AP,AQ,BW,BY,BZ,CA,CL,CQ,DH,DZ,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW;B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["math"];A=$packages["runtime"];C=$packages["strconv"];D=$packages["sync"];AF=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter","mapIter","reflect",function(t_,m_,keys_,i_){this.$val=this;this.t=t_!==undefined?t_:$ifaceNil;this.m=m_!==undefined?m_:null;this.keys=keys_!==undefined?keys_:null;this.i=i_!==undefined?i_:0;});AZ=$pkg.Type=$newType(8,$kindInterface,"reflect.Type","Type","reflect",null);BA=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind","Kind","reflect",null);BB=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype","rtype","reflect",function(size_,hash_,_$2_,align_,fieldAlign_,kind_,alg_,gc_,string_,uncommonType_,ptrToThis_,zero_){this.$val=this;this.size=size_!==undefined?size_:0;this.hash=hash_!==undefined?hash_:0;this._$2=_$2_!==undefined?_$2_:0;this.align=align_!==undefined?align_:0;this.fieldAlign=fieldAlign_!==undefined?fieldAlign_:0;this.kind=kind_!==undefined?kind_:0;this.alg=alg_!==undefined?alg_:FP.nil;this.gc=gc_!==undefined?gc_:FQ.zero();this.string=string_!==undefined?string_:FR.nil;this.uncommonType=uncommonType_!==undefined?uncommonType_:FS.nil;this.ptrToThis=ptrToThis_!==undefined?ptrToThis_:FF.nil;this.zero=zero_!==undefined?zero_:0;});BC=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg","typeAlg","reflect",function(hash_,equal_){this.$val=this;this.hash=hash_!==undefined?hash_:$throwNilPointerError;this.equal=equal_!==undefined?equal_:$throwNilPointerError;});BD=$pkg.method=$newType(0,$kindStruct,"reflect.method","method","reflect",function(name_,pkgPath_,mtyp_,typ_,ifn_,tfn_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.mtyp=mtyp_!==undefined?mtyp_:FF.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.ifn=ifn_!==undefined?ifn_:0;this.tfn=tfn_!==undefined?tfn_:0;});BE=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType","uncommonType","reflect",function(name_,pkgPath_,methods_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.methods=methods_!==undefined?methods_:FT.nil;});BF=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir","ChanDir","reflect",null);BG=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType","arrayType","reflect",function(rtype_,elem_,slice_,len_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.slice=slice_!==undefined?slice_:FF.nil;this.len=len_!==undefined?len_:0;});BH=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType","chanType","reflect",function(rtype_,elem_,dir_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.dir=dir_!==undefined?dir_:0;});BI=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType","funcType","reflect",function(rtype_,dotdotdot_,in$2_,out_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.dotdotdot=dotdotdot_!==undefined?dotdotdot_:false;this.in$2=in$2_!==undefined?in$2_:FU.nil;this.out=out_!==undefined?out_:FU.nil;});BJ=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod","imethod","reflect",function(name_,pkgPath_,typ_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;});BK=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType","interfaceType","reflect",function(rtype_,methods_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.methods=methods_!==undefined?methods_:FV.nil;});BL=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType","mapType","reflect",function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.key=key_!==undefined?key_:FF.nil;this.elem=elem_!==undefined?elem_:FF.nil;this.bucket=bucket_!==undefined?bucket_:FF.nil;this.hmap=hmap_!==undefined?hmap_:FF.nil;this.keysize=keysize_!==undefined?keysize_:0;this.indirectkey=indirectkey_!==undefined?indirectkey_:0;this.valuesize=valuesize_!==undefined?valuesize_:0;this.indirectvalue=indirectvalue_!==undefined?indirectvalue_:0;this.bucketsize=bucketsize_!==undefined?bucketsize_:0;});BM=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType","ptrType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BN=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType","sliceType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BO=$pkg.structField=$newType(0,$kindStruct,"reflect.structField","structField","reflect",function(name_,pkgPath_,typ_,tag_,offset_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.tag=tag_!==undefined?tag_:FR.nil;this.offset=offset_!==undefined?offset_:0;});BP=$pkg.structType=$newType(0,$kindStruct,"reflect.structType","structType","reflect",function(rtype_,fields_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.fields=fields_!==undefined?fields_:FW.nil;});BQ=$pkg.Method=$newType(0,$kindStruct,"reflect.Method","Method","reflect",function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Func=Func_!==undefined?Func_:new CT.Ptr();this.Index=Index_!==undefined?Index_:0;});BS=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField","StructField","reflect",function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Tag=Tag_!==undefined?Tag_:"";this.Offset=Offset_!==undefined?Offset_:0;this.Index=Index_!==undefined?Index_:GH.nil;this.Anonymous=Anonymous_!==undefined?Anonymous_:false;});BT=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag","StructTag","reflect",null);BU=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan","fieldScan","reflect",function(typ_,index_){this.$val=this;this.typ=typ_!==undefined?typ_:GJ.nil;this.index=index_!==undefined?index_:GH.nil;});CT=$pkg.Value=$newType(0,$kindStruct,"reflect.Value","Value","reflect",function(typ_,ptr_,flag_){this.$val=this;this.typ=typ_!==undefined?typ_:FF.nil;this.ptr=ptr_!==undefined?ptr_:0;this.flag=flag_!==undefined?flag_:0;});CU=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag","flag","reflect",null);CX=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError","ValueError","reflect",function(Method_,Kind_){this.$val=this;this.Method=Method_!==undefined?Method_:"";this.Kind=Kind_!==undefined?Kind_:0;});CZ=$pkg.nonEmptyInterface=$newType(0,$kindStruct,"reflect.nonEmptyInterface","nonEmptyInterface","reflect",function(itab_,word_){this.$val=this;this.itab=itab_!==undefined?itab_:GA.nil;this.word=word_!==undefined?word_:0;});G=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar;ad=(function(ad){});ad((ae=new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0),new ae.constructor.Struct(ae)));ad((af=new BE.Ptr(FR.nil,FR.nil,FT.nil),new af.constructor.Struct(af)));ad((ag=new BD.Ptr(FR.nil,FR.nil,FF.nil,FF.nil,0,0),new ag.constructor.Struct(ag)));ad((ah=new BG.Ptr(new BB.Ptr(),FF.nil,FF.nil,0),new ah.constructor.Struct(ah)));ad((ai=new BH.Ptr(new BB.Ptr(),FF.nil,0),new ai.constructor.Struct(ai)));ad((aj=new BI.Ptr(new BB.Ptr(),false,FU.nil,FU.nil),new aj.constructor.Struct(aj)));ad((ak=new BK.Ptr(new BB.Ptr(),FV.nil),new ak.constructor.Struct(ak)));ad((al=new BL.Ptr(new BB.Ptr(),FF.nil,FF.nil,FF.nil,FF.nil,0,0,0,0,0),new al.constructor.Struct(al)));ad((am=new BM.Ptr(new BB.Ptr(),FF.nil),new am.constructor.Struct(am)));ad((an=new BN.Ptr(new BB.Ptr(),FF.nil),new an.constructor.Struct(an)));ad((ao=new BP.Ptr(new BB.Ptr(),FW.nil),new ao.constructor.Struct(ao)));ad((ap=new BJ.Ptr(FR.nil,FR.nil,FF.nil),new ap.constructor.Struct(ap)));ad((aq=new BO.Ptr(FR.nil,FR.nil,FF.nil,FR.nil,0),new aq.constructor.Struct(aq)));ar=$pkg;ar.RecvDir=1;ar.SendDir=2;ar.BothDir=3;$reflect=ar;F=true;DG=$assertType(O(new $Uint8(0)),FF);};H=function(ad){return ad.jsType;};I=function(ad){return ad.reflectType();};J=function(ad){var ae;ae=ad.Kind();if(ae===1||ae===2||ae===3||ae===4||ae===5||ae===7||ae===8||ae===9||ae===10||ae===12||ae===13||ae===14||ae===17||ae===21||ae===19||ae===24||ae===25){return true;}else if(ae===22){return ad.Elem().Kind()===17;}return false;};K=function(ad,ae,af){var ag,ah,ai;ag=H(af).fields;ah=0;while(ah<$parseInt(ag.length)){ai=$internalize(ag[ah][0],$String);ad[$externalize(ai,$String)]=ae[$externalize(ai,$String)];ah=ah+(1)>>0;}};L=function(ad,ae,af){var ag;ag=ad.common();if((ad.Kind()===17)||(ad.Kind()===25)||(ad.Kind()===22)){return new CT.Ptr(ag,ae,(af|(ad.Kind()>>>0))>>>0);}return new CT.Ptr(ag,$newDataPointer(ae,H(ag.ptrTo())),(((af|(ad.Kind()>>>0))>>>0)|64)>>>0);};M=$pkg.MakeSlice=function(ad,ae,af){if(!((ad.Kind()===23))){$panic(new $String("reflect.MakeSlice of non-slice type"));}if(ae<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(af<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ae>af){$panic(new $String("reflect.MakeSlice: len > cap"));}return L(ad,H(ad).make(ae,af,(function(){return H(ad.Elem()).zero();})),0);};N=function(){return I($packages[$externalize("github.com/gopherjs/gopherjs/js",$String)].Object);};O=$pkg.TypeOf=function(ad){var ae;if(!F){return new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0);}if($interfaceIsEqual(ad,$ifaceNil)){return $ifaceNil;}ae=ad.constructor;if(ae.kind===undefined){return N();}return I(ae);};P=$pkg.ValueOf=function(ad){var ae;if($interfaceIsEqual(ad,$ifaceNil)){return new CT.Ptr(FF.nil,0,0);}ae=ad.constructor;if(ae.kind===undefined){return new CT.Ptr(N(),ad,20);}return L(I(ae),ad.$val,0);};BB.Ptr.prototype.ptrTo=function(){var ad;ad=this;return I($ptrType(H(ad)));};BB.prototype.ptrTo=function(){return this.$val.ptrTo();};T=$pkg.SliceOf=function(ad){return I($sliceType(H(ad)));};U=$pkg.Zero=function(ad){return L(ad,H(ad).zero(),0);};V=function(ad){var ae;ae=ad.Kind();if(ae===25){return new(H(ad).Ptr)();}else if(ae===17){return H(ad).zero();}else{return $newDataPointer(H(ad).zero(),H(ad.ptrTo()));}};W=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.Kind();if(ai===3){ah.$set((ae.$low<<24>>24));}else if(ai===4){ah.$set((ae.$low<<16>>16));}else if(ai===2||ai===5){ah.$set((ae.$low>>0));}else if(ai===6){ah.$set(new $Int64(ae.$high,ae.$low));}else if(ai===8){ah.$set((ae.$low<<24>>>24));}else if(ai===9){ah.$set((ae.$low<<16>>>16));}else if(ai===7||ai===10||ai===12){ah.$set((ae.$low>>>0));}else if(ai===11){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};Y=function(ad,ae,af){ad.$set(ae.$get());};AC=function(ad,ae,af){var ag,ah;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}ah=ae[$externalize($internalize(ag,$String),$String)];if(ah===undefined){return 0;}return $newDataPointer(ah.v,H(BW(ad.Elem())));};AD=function(ad,ae,af,ag){var ah,ai,aj,ak,al,am;ah=af.$get();ai=ah;if(!(ai.$key===undefined)){ai=ai.$key();}aj=ag.$get();ak=ad.Elem();if(ak.Kind()===25){al=H(ak).zero();K(al,aj,ak);aj=al;}am=new($global.Object)();am.k=ah;am.v=aj;ae[$externalize($internalize(ai,$String),$String)]=am;};AE=function(ad,ae,af){var ag;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}delete ae[$externalize($internalize(ag,$String),$String)];};AG=function(ad,ae){return new AF.Ptr(ad,ae,$keys(ae),0);};AH=function(ad){var ae,af;ae=ad;af=ae.keys[ae.i];return $newDataPointer(ae.m[$externalize($internalize(af,$String),$String)].k,H(BW(ae.t.Key())));};AI=function(ad){var ae;ae=ad;ae.i=ae.i+(1)>>0;};AJ=function(ad){return $parseInt($keys(ad).length);};AK=function(ad,ae){var af,ag,ah,ai,aj;ad=ad;af=ad.object();if(af===H(ad.typ).nil){return L(ae,H(ae).nil,ad.flag);}ag=null;ah=ae.Kind();ai=ah;switch(0){default:if(ai===18){ag=new(H(ae))();}else if(ai===23){aj=new(H(ae))(af.$array);aj.$offset=af.$offset;aj.$length=af.$length;aj.$capacity=af.$capacity;ag=$newDataPointer(aj,H(BW(ae)));}else if(ai===22){if(ae.Elem().Kind()===25){if($interfaceIsEqual(ae.Elem(),ad.typ.Elem())){ag=af;break;}ag=new(H(ae))();K(ag,af,ae.Elem());break;}ag=new(H(ae))(af.$get,af.$set);}else if(ai===25){ag=new(H(ae).Ptr)();K(ag,af,ae);}else if(ai===17||ai===19||ai===20||ai===21||ai===24){ag=ad.ptr;}else{$panic(new CX.Ptr("reflect.Convert",ah));}}return new CT.Ptr(ae.common(),ag,(((ad.flag&96)>>>0)|(ae.Kind()>>>0))>>>0);};AM=function(ad,ae,af){var ag=FF.nil,ah=FF.nil,ai=0,aj,ak,al,am,an,ao,ap,aq,ar;ae=ae;aj="";if(ae.typ.Kind()===20){ak=ae.typ.interfaceType;if(af<0||af>=ak.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}am=(al=ak.methods,((af<0||af>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+af]));if(!($pointerIsEqual(am.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}an=$clone(ae.ptr,CZ);if(an.itab===GA.nil){$panic(new $String("reflect: "+ad+" of method on nil interface value"));}ah=am.typ;aj=am.name.$get();}else{ao=ae.typ.uncommonType.uncommon();if(ao===FS.nil||af<0||af>=ao.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}aq=(ap=ao.methods,((af<0||af>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+af]));if(!($pointerIsEqual(aq.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}ah=aq.mtyp;aj=$internalize(H(ae.typ).methods[af][0],$String);}ar=ae.object();if(J(ae.typ)){ar=new(H(ae.typ))(ar);}ai=ar[$externalize(aj,$String)];return[ag,ah,ai];};AN=function(ad,ae){ad=ad;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.Interface",0));}if(ae&&!((((ad.flag&32)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((ad.flag&256)>>>0)===0))){ad=AQ("Interface",ad);}if(J(ad.typ)){return new(H(ad.typ))(ad.object());}return ad.object();};AO=function(ad,ae,af){af.$set(ae);};AP=function(){return"?FIXME?";};AQ=function(ad,ae){var af,ag,ah,ai;ae=ae;if(((ae.flag&256)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}af=AM(ad,ae,(ae.flag>>0)>>9>>0);ag=af[2];ah=ae.object();if(J(ae.typ)){ah=new(H(ae.typ))(ah);}ai=(function(){return ag.apply(ah,$externalize(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),GB));});return new CT.Ptr(ae.Type().common(),ai,(((ae.flag&32)>>>0)|19)>>>0);};BB.Ptr.prototype.pointers=function(){var ad,ae;ad=this;ae=ad.Kind();if(ae===22||ae===21||ae===18||ae===19||ae===25||ae===17){return true;}else{return false;}};BB.prototype.pointers=function(){return this.$val.pointers();};BB.Ptr.prototype.Comparable=function(){var ad,ae,af;ad=this;ae=ad.Kind();if(ae===19||ae===23||ae===21){return false;}else if(ae===17){return ad.Elem().Comparable();}else if(ae===25){af=0;while(af>0;}}return true;};BB.prototype.Comparable=function(){return this.$val.Comparable();};BE.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah,ai,aj,ak,al;af=this;if(af===FS.nil||ad<0||ad>=af.methods.$length){$panic(new $String("reflect: Method index out of range"));}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}ai=19;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();ai=(ai|(32))>>>0;}aj=ah.typ;ae.Type=aj;ak=$internalize(af.jsType.methods[ad][0],$String);al=(function(al){return al[$externalize(ak,$String)].apply(al,$externalize($subslice(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),1),GB));});ae.Func=new CT.Ptr(aj,al,ai);ae.Index=ad;return ae;};BE.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.object=function(){var ad,ae,af,ag;ad=this;if((ad.typ.Kind()===17)||(ad.typ.Kind()===25)){return ad.ptr;}if(!((((ad.flag&64)>>>0)===0))){ae=ad.ptr.$get();if(!(ae===$ifaceNil)&&!(ae.constructor===H(ad.typ))){af=ad.typ.Kind();switch(0){default:if(af===11||af===6){ae=new(H(ad.typ))(ae.$high,ae.$low);}else if(af===15||af===16){ae=new(H(ad.typ))(ae.$real,ae.$imag);}else if(af===23){if(ae===ae.constructor.nil){ae=H(ad.typ).nil;break;}ag=new(H(ad.typ))(ae.$array);ag.$offset=ae.$offset;ag.$length=ae.$length;ag.$capacity=ae.$capacity;ae=ag;}}}return ae;}return ad.ptr;};CT.prototype.object=function(){return this.$val.object();};CT.Ptr.prototype.call=function(ad,ae){var 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;af=this;ag=af.typ;ah=0;ai=null;if(!((((af.flag&256)>>>0)===0))){aj=AM(ad,af,(af.flag>>0)>>9>>0);ag=aj[1];ah=aj[2];ai=af.object();if(J(af.typ)){ai=new(H(af.typ))(ai);}}else{ah=af.object();}if(ah===0){$panic(new $String("reflect.Value.Call: call of nil function"));}ak=ad==="CallSlice";al=ag.NumIn();if(ak){if(!ag.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ae.$lengthal){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(ag.IsVariadic()){al=al-(1)>>0;}if(ae.$lengthal){$panic(new $String("reflect: Call with too many input arguments"));}}am=ae;an=0;while(an=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);if(ao.Kind()===0){$panic(new $String("reflect: "+ad+" using zero Value argument"));}an++;}ap=0;while(ap=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ap]).Type();ar=ag.In(ap);as=aq;at=ar;if(!as.AssignableTo(at)){$panic(new $String("reflect: "+ad+" using "+as.String()+" as type "+at.String()));}ap=ap+(1)>>0;}if(!ak&&ag.IsVariadic()){au=ae.$length-al>>0;av=M(ag.In(al),au,au);aw=ag.In(al).Elem();ax=0;while(ax>0,((ay<0||ay>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ay]));ba=az.Type();if(!ba.AssignableTo(aw)){$panic(new $String("reflect: cannot use "+ba.String()+" as type "+aw.String()+" in "+ad));}av.Index(ax).Set(az);ax=ax+(1)>>0;}bb=ae;ae=FX.make((al+1>>0));$copySlice($subslice(ae,0,al),bb);(al<0||al>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+al]=av;}bc=ae.$length;if(!((bc===ag.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bd=ag.NumOut();be=new($global.Array)(ag.NumIn());bf=ae;bg=0;while(bg=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bg]);be[bh]=bi.assignTo("reflect.Value.Call",ag.In(bh).common(),0).object();bg++;}bj=ah.apply(ai,be);bk=bd;if(bk===0){return FX.nil;}else if(bk===1){return new FX([$clone(L(ag.Out(0),bj,0),CT)]);}else{bl=FX.make(bd);bm=bl;bn=0;while(bn=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bo]=L(ag.Out(bo),bj[bo],0);bn++;}return bl;}};CT.prototype.call=function(ad,ae){return this.$val.call(ad,ae);};CT.Ptr.prototype.Cap=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17){return ad.typ.Len();}else if(af===18||af===23){return $parseInt(ad.object().$capacity)>>0;}$panic(new CX.Ptr("reflect.Value.Cap",ae));};CT.prototype.Cap=function(){return this.$val.Cap();};CT.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj,ak;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===20){ag=ad.object();if(ag===$ifaceNil){return new CT.Ptr(FF.nil,0,0);}ah=I(ag.constructor);return L(ah,ag.$val,(ad.flag&32)>>>0);}else if(af===22){if(ad.IsNil()){return new CT.Ptr(FF.nil,0,0);}ai=ad.object();aj=ad.typ.ptrType;ak=(((((ad.flag&32)>>>0)|64)>>>0)|128)>>>0;ak=(ak|((aj.elem.Kind()>>>0)))>>>0;return new CT.Ptr(aj.elem,ai,ak);}else{$panic(new CX.Ptr("reflect.Value.Elem",ae));}};CT.prototype.Elem=function(){return this.$val.Elem();};CT.Ptr.prototype.Field=function(ad){var ae,af,ag,ah,ai,aj,ak,al;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.structType;if(ad<0||ad>=af.fields.$length){$panic(new $String("reflect: Field index out of range"));}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ai=$internalize(H(ae.typ).fields[ad][0],$String);aj=ah.typ;ak=(ae.flag&224)>>>0;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ak=(ak|(32))>>>0;}ak=(ak|((aj.Kind()>>>0)))>>>0;al=ae.ptr;if(!((((ak&64)>>>0)===0))&&!((aj.Kind()===17))&&!((aj.Kind()===25))){return new CT.Ptr(aj,new(H(BW(aj)))((function(){return al[$externalize(ai,$String)];}),(function(am){al[$externalize(ai,$String)]=am;})),ak);}return L(aj,al[$externalize(ai,$String)],ak);};CT.prototype.Field=function(ad){return this.$val.Field(ad);};CT.Ptr.prototype.Index=function(ad){var ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===17){ah=ae.typ.arrayType;if(ad<0||ad>(ah.len>>0)){$panic(new $String("reflect: array index out of range"));}ai=ah.elem;aj=(ae.flag&224)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;ak=ae.ptr;if(!((((aj&64)>>>0)===0))&&!((ai.Kind()===17))&&!((ai.Kind()===25))){return new CT.Ptr(ai,new(H(BW(ai)))((function(){return ak[ad];}),(function(al){ak[ad]=al;})),aj);}return L(ai,ak[ad],aj);}else if(ag===23){al=ae.object();if(ad<0||ad>=($parseInt(al.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}am=ae.typ.sliceType;an=am.elem;ao=(192|((ae.flag&32)>>>0))>>>0;ao=(ao|((an.Kind()>>>0)))>>>0;ad=ad+(($parseInt(al.$offset)>>0))>>0;ap=al.$array;if(!((((ao&64)>>>0)===0))&&!((an.Kind()===17))&&!((an.Kind()===25))){return new CT.Ptr(an,new(H(BW(an)))((function(){return ap[ad];}),(function(aq){ap[ad]=aq;})),ao);}return L(an,ap[ad],ao);}else if(ag===24){aq=ae.ptr.$get();if(ad<0||ad>=aq.length){$panic(new $String("reflect: string index out of range"));}ar=(((ae.flag&32)>>>0)|8)>>>0;as=aq.charCodeAt(ad);return new CT.Ptr(DG,new GC(function(){return as;},function($v){as=$v;}),(ar|64)>>>0);}else{$panic(new CX.Ptr("reflect.Value.Index",af));}};CT.prototype.Index=function(ad){return this.$val.Index(ad);};CT.Ptr.prototype.IsNil=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===22||af===23){return ad.object()===H(ad.typ).nil;}else if(af===19){return ad.object()===$throwNilPointerError;}else if(af===21){return ad.object()===false;}else if(af===20){return ad.object()===$ifaceNil;}else{$panic(new CX.Ptr("reflect.Value.IsNil",ae));}};CT.prototype.IsNil=function(){return this.$val.IsNil();};CT.Ptr.prototype.Len=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17||af===24){return $parseInt(ad.object().length);}else if(af===23){return $parseInt(ad.object().$length)>>0;}else if(af===18){return $parseInt(ad.object().$buffer.length)>>0;}else if(af===21){return $parseInt($keys(ad.object()).length);}else{$panic(new CX.Ptr("reflect.Value.Len",ae));}};CT.prototype.Len=function(){return this.$val.Len();};CT.Ptr.prototype.Pointer=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===21||af===22||af===26){if(ad.IsNil()){return 0;}return ad.object();}else if(af===19){if(ad.IsNil()){return 0;}return 1;}else if(af===23){if(ad.IsNil()){return 0;}return ad.object().$array;}else{$panic(new CX.Ptr("reflect.Value.Pointer",ae));}};CT.prototype.Pointer=function(){return this.$val.Pointer();};CT.Ptr.prototype.Set=function(ad){var ae,af;ae=this;ad=ad;new CU(ae.flag).mustBeAssignable();new CU(ad.flag).mustBeExported();ad=ad.assignTo("reflect.Set",ae.typ,0);if(!((((ae.flag&64)>>>0)===0))){af=ae.typ.Kind();if(af===17){$copy(ae.ptr,ad.ptr,H(ae.typ));}else if(af===20){ae.ptr.$set(AN(ad,false));}else if(af===25){K(ae.ptr,ad.ptr,ae.typ);}else{ae.ptr.$set(ad.object());}return;}ae.ptr=ad.ptr;};CT.prototype.Set=function(ad){return this.$val.Set(ad);};CT.Ptr.prototype.SetCap=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<($parseInt(af.$length)>>0)||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=af.$length;ag.$capacity=ad;ae.ptr.$set(ag);};CT.prototype.SetCap=function(ad){return this.$val.SetCap(ad);};CT.Ptr.prototype.SetLen=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<0||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=ad;ag.$capacity=af.$capacity;ae.ptr.$set(ag);};CT.prototype.SetLen=function(ad){return this.$val.SetLen(ad);};CT.Ptr.prototype.Slice=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am;af=this;ag=0;ah=$ifaceNil;ai=null;aj=new CU(af.flag).kind();ak=aj;if(ak===17){if(((af.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}al=af.typ.arrayType;ag=(al.len>>0);ah=T(al.elem);ai=new(H(ah))(af.object());}else if(ak===23){ah=af.typ;ai=af.object();ag=$parseInt(ai.$capacity)>>0;}else if(ak===24){am=af.ptr.$get();if(ad<0||aeam.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}return P(new $String(am.substring(ad,ae)));}else{$panic(new CX.Ptr("reflect.Value.Slice",aj));}if(ad<0||aeag){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}return L(ah,$subslice(ai,ad,ae),(af.flag&32)>>>0);};CT.prototype.Slice=function(ad,ae){return this.$val.Slice(ad,ae);};CT.Ptr.prototype.Slice3=function(ad,ae,af){var ag,ah,ai,aj,ak,al,am;ag=this;ah=0;ai=$ifaceNil;aj=null;ak=new CU(ag.flag).kind();al=ak;if(al===17){if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}am=ag.typ.arrayType;ah=(am.len>>0);ai=T(am.elem);aj=new(H(ai))(ag.object());}else if(al===23){ai=ag.typ;aj=ag.object();ah=$parseInt(aj.$capacity)>>0;}else{$panic(new CX.Ptr("reflect.Value.Slice3",ak));}if(ad<0||aeah){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}return L(ai,$subslice(aj,ad,ae,af),(ag.flag&32)>>>0);};CT.prototype.Slice3=function(ad,ae,af){return this.$val.Slice3(ad,ae,af);};CT.Ptr.prototype.Close=function(){var ad;ad=this;new CU(ad.flag).mustBe(18);new CU(ad.flag).mustBeExported();$close(ad.object());};CT.prototype.Close=function(){return this.$val.Close();};CT.Ptr.prototype.TrySend=function(ad){var ae,af,ag;ae=this;ad=ad;new CU(ae.flag).mustBe(18);new CU(ae.flag).mustBeExported();af=ae.typ.chanType;if(((af.dir>>0)&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new CU(ad.flag).mustBeExported();ag=ae.object();if(!!!(ag.$closed)&&($parseInt(ag.$recvQueue.length)===0)&&($parseInt(ag.$buffer.length)===($parseInt(ag.$capacity)>>0))){return false;}ad=ad.assignTo("reflect.Value.Send",af.elem,0);$send(ag,ad.object());return true;};CT.prototype.TrySend=function(ad){return this.$val.TrySend(ad);};CT.Ptr.prototype.Send=function(ad){var ae;ae=this;ad=ad;$panic(new A.NotSupportedError.Ptr("reflect.Value.Send, use reflect.Value.TrySend is possible"));};CT.prototype.Send=function(ad){return this.$val.Send(ad);};CT.Ptr.prototype.TryRecv=function(){var ad=new CT.Ptr(),ae=false,af,ag,ah,ai,aj,ak,al;af=this;new CU(af.flag).mustBe(18);new CU(af.flag).mustBeExported();ag=af.typ.chanType;if(((ag.dir>>0)&1)===0){$panic(new $String("reflect: recv on send-only channel"));}ah=$recv(af.object());if(ah.constructor===$global.Function){ai=new CT.Ptr(FF.nil,0,0);aj=false;ad=ai;ae=aj;return[ad,ae];}ak=L(ag.elem,ah[0],0);al=!!(ah[1]);ad=ak;ae=al;return[ad,ae];};CT.prototype.TryRecv=function(){return this.$val.TryRecv();};CT.Ptr.prototype.Recv=function(){var ad=new CT.Ptr(),ae=false,af;af=this;$panic(new A.NotSupportedError.Ptr("reflect.Value.Recv, use reflect.Value.TryRecv is possible"));};CT.prototype.Recv=function(){return this.$val.Recv();};BA.prototype.String=function(){var ad;ad=this.$val!==undefined?this.$val:this;if((ad>>0)=BR.$length)?$throwRuntimeError("index out of range"):BR.$array[BR.$offset+ad]);}return"kind"+C.Itoa((ad>>0));};$ptrType(BA).prototype.String=function(){return new BA(this.$get()).String();};BE.Ptr.prototype.uncommon=function(){var ad;ad=this;return ad;};BE.prototype.uncommon=function(){return this.$val.uncommon();};BE.Ptr.prototype.PkgPath=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.pkgPath,FR.nil)){return"";}return ad.pkgPath.$get();};BE.prototype.PkgPath=function(){return this.$val.PkgPath();};BE.Ptr.prototype.Name=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.name,FR.nil)){return"";}return ad.name.$get();};BE.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.String=function(){var ad;ad=this;return ad.string.$get();};BB.prototype.String=function(){return this.$val.String();};BB.Ptr.prototype.Size=function(){var ad;ad=this;return ad.size;};BB.prototype.Size=function(){return this.$val.Size();};BB.Ptr.prototype.Bits=function(){var ad,ae;ad=this;if(ad===FF.nil){$panic(new $String("reflect: Bits of nil Type"));}ae=ad.Kind();if(ae<2||ae>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+ad.String()));}return(ad.size>>0)*8>>0;};BB.prototype.Bits=function(){return this.$val.Bits();};BB.Ptr.prototype.Align=function(){var ad;ad=this;return(ad.align>>0);};BB.prototype.Align=function(){return this.$val.Align();};BB.Ptr.prototype.FieldAlign=function(){var ad;ad=this;return(ad.fieldAlign>>0);};BB.prototype.FieldAlign=function(){return this.$val.FieldAlign();};BB.Ptr.prototype.Kind=function(){var ad;ad=this;return(((ad.kind&31)>>>0)>>>0);};BB.prototype.Kind=function(){return this.$val.Kind();};BB.Ptr.prototype.common=function(){var ad;ad=this;return ad;};BB.prototype.common=function(){return this.$val.common();};BE.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad===FS.nil){return 0;}return ad.methods.$length;};BE.prototype.NumMethod=function(){return this.$val.NumMethod();};BE.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===FS.nil){return[ae,af];}ah=GE.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(!($pointerIsEqual(ah.name,FR.nil))&&ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BE.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.NumMethod=function(){var ad,ae;ad=this;if(ad.Kind()===20){ae=ad.interfaceType;return ae.NumMethod();}return ad.uncommonType.NumMethod();};BB.prototype.NumMethod=function(){return this.$val.NumMethod();};BB.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag;af=this;if(af.Kind()===20){ag=af.interfaceType;$copy(ae,ag.Method(ad),BQ);return ae;}$copy(ae,af.uncommonType.Method(ad),BQ);return ae;};BB.prototype.Method=function(ad){return this.$val.Method(ad);};BB.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj;ag=this;if(ag.Kind()===20){ah=ag.interfaceType;ai=ah.MethodByName(ad);$copy(ae,ai[0],BQ);af=ai[1];return[ae,af];}aj=ag.uncommonType.MethodByName(ad);$copy(ae,aj[0],BQ);af=aj[1];return[ae,af];};BB.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.PkgPath=function(){var ad;ad=this;return ad.uncommonType.PkgPath();};BB.prototype.PkgPath=function(){return this.$val.PkgPath();};BB.Ptr.prototype.Name=function(){var ad;ad=this;return ad.uncommonType.Name();};BB.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.ChanDir=function(){var ad,ae;ad=this;if(!((ad.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}ae=ad.chanType;return(ae.dir>>0);};BB.prototype.ChanDir=function(){return this.$val.ChanDir();};BB.Ptr.prototype.IsVariadic=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}ae=ad.funcType;return ae.dotdotdot;};BB.prototype.IsVariadic=function(){return this.$val.IsVariadic();};BB.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj;ad=this;ae=ad.Kind();if(ae===17){af=ad.arrayType;return CL(af.elem);}else if(ae===18){ag=ad.chanType;return CL(ag.elem);}else if(ae===21){ah=ad.mapType;return CL(ah.elem);}else if(ae===22){ai=ad.ptrType;return CL(ai.elem);}else if(ae===23){aj=ad.sliceType;return CL(aj.elem);}$panic(new $String("reflect: Elem of invalid type"));};BB.prototype.Elem=function(){return this.$val.Elem();};BB.Ptr.prototype.Field=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}af=ae.structType;return af.Field(ad);};BB.prototype.Field=function(ad){return this.$val.Field(ad);};BB.Ptr.prototype.FieldByIndex=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}af=ae.structType;return af.FieldByIndex(ad);};BB.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BB.Ptr.prototype.FieldByName=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}af=ae.structType;return af.FieldByName(ad);};BB.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BB.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}af=ae.structType;return af.FieldByNameFunc(ad);};BB.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BB.Ptr.prototype.In=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}af=ae.funcType;return CL((ag=af.in$2,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.In=function(ad){return this.$val.In(ad);};BB.Ptr.prototype.Key=function(){var ad,ae;ad=this;if(!((ad.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}ae=ad.mapType;return CL(ae.key);};BB.prototype.Key=function(){return this.$val.Key();};BB.Ptr.prototype.Len=function(){var ad,ae;ad=this;if(!((ad.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}ae=ad.arrayType;return(ae.len>>0);};BB.prototype.Len=function(){return this.$val.Len();};BB.Ptr.prototype.NumField=function(){var ad,ae;ad=this;if(!((ad.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}ae=ad.structType;return ae.fields.$length;};BB.prototype.NumField=function(){return this.$val.NumField();};BB.Ptr.prototype.NumIn=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}ae=ad.funcType;return ae.in$2.$length;};BB.prototype.NumIn=function(){return this.$val.NumIn();};BB.Ptr.prototype.NumOut=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}ae=ad.funcType;return ae.out.$length;};BB.prototype.NumOut=function(){return this.$val.NumOut();};BB.Ptr.prototype.Out=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}af=ae.funcType;return CL((ag=af.out,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.Out=function(ad){return this.$val.Out(ad);};BF.prototype.String=function(){var ad,ae;ad=this.$val!==undefined?this.$val:this;ae=ad;if(ae===2){return"chan<-";}else if(ae===1){return"<-chan";}else if(ae===3){return"chan";}return"ChanDir"+C.Itoa((ad>>0));};$ptrType(BF).prototype.String=function(){return new BF(this.$get()).String();};BK.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah;af=this;if(ad<0||ad>=af.methods.$length){return ae;}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Name=ah.name.$get();if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}ae.Type=CL(ah.typ);ae.Index=ad;return ae;};BK.prototype.Method=function(ad){return this.$val.Method(ad);};BK.Ptr.prototype.NumMethod=function(){var ad;ad=this;return ad.methods.$length;};BK.prototype.NumMethod=function(){return this.$val.NumMethod();};BK.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===GF.nil){return[ae,af];}ah=GG.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BK.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BT.prototype.Get=function(ad){var ae,af,ag,ah,ai,aj;ae=this.$val!==undefined?this.$val:this;while(!(ae==="")){af=0;while(af>0;}ae=ae.substring(af);if(ae===""){break;}af=0;while(af>0;}if((af+1>>0)>=ae.length||!((ae.charCodeAt(af)===58))||!((ae.charCodeAt((af+1>>0))===34))){break;}ag=ae.substring(0,af);ae=ae.substring((af+1>>0));af=1;while(af>0;}af=af+(1)>>0;}if(af>=ae.length){break;}ah=ae.substring(0,(af+1>>0));ae=ae.substring((af+1>>0));if(ad===ag){ai=C.Unquote(ah);aj=ai[0];return aj;}}return"";};$ptrType(BT).prototype.Get=function(ad){return new BT(this.$get()).Get(ad);};BP.Ptr.prototype.Field=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai;af=this;if(ad<0||ad>=af.fields.$length){return ae;}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Type=CL(ah.typ);if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}else{ai=ae.Type;if(ai.Kind()===22){ai=ai.Elem();}ae.Name=ai.Name();ae.Anonymous=true;}if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}if(!($pointerIsEqual(ah.tag,FR.nil))){ae.Tag=ah.tag.$get();}ae.Offset=ah.offset;ae.Index=new GH([ad]);return ae;};BP.prototype.Field=function(ad){return this.$val.Field(ad);};BP.Ptr.prototype.FieldByIndex=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai,aj,ak;af=this;ae.Type=CL(af.rtype);ag=ad;ah=0;while(ah=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]);if(ai>0){ak=ae.Type;if((ak.Kind()===22)&&(ak.Elem().Kind()===25)){ak=ak.Elem();}ae.Type=ak;}$copy(ae,ae.Type.Field(aj),BS);ah++;}return ae;};BP.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BP.Ptr.prototype.FieldByNameFunc=function(ad){var ae=new BS.Ptr(),af=false,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;ag=this;ah=new GI([]);ai=new GI([new BU.Ptr(ag,GH.nil)]);aj=false;ak=(al=new $Map(),al);while(ai.$length>0){an=ai;ao=$subslice(ah,0,0);ah=an;ai=ao;ap=aj;aj=false;aq=ah;ar=0;while(ar=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]),BU);at=as.typ;if((au=ak[at.$key()],au!==undefined?au.v:false)){ar++;continue;}av=at;(ak||$throwRuntimeError("assignment to entry in nil map"))[av.$key()]={k:av,v:true};aw=at.fields;ax=0;while(ax=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ay]));bb="";bc=FF.nil;if(!($pointerIsEqual(ba.name,FR.nil))){bb=ba.name.$get();}else{bc=ba.typ;if(bc.Kind()===22){bc=bc.Elem().common();}bb=bc.Name();}if(ad(bb)){if((bd=ap[at.$key()],bd!==undefined?bd.v:0)>1||af){be=new BS.Ptr("","",$ifaceNil,"",0,GH.nil,false);bf=false;$copy(ae,be,BS);af=bf;return[ae,af];}$copy(ae,at.Field(ay),BS);ae.Index=GH.nil;ae.Index=$appendSlice(ae.Index,as.index);ae.Index=$append(ae.Index,ay);af=true;ax++;continue;}if(af||bc===FF.nil||!((bc.Kind()===25))){ax++;continue;}bg=bc.structType;if((bh=aj[bg.$key()],bh!==undefined?bh.v:0)>0){bi=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bi.$key()]={k:bi,v:2};ax++;continue;}if(aj===false){aj=(bj=new $Map(),bj);}bl=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bl.$key()]={k:bl,v:1};if((bm=ap[at.$key()],bm!==undefined?bm.v:0)>1){bn=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bn.$key()]={k:bn,v:2};}bo=GH.nil;bo=$appendSlice(bo,as.index);bo=$append(bo,ay);ai=$append(ai,new BU.Ptr(bg,bo));ax++;}ar++;}if(af){break;}}return[ae,af];};BP.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BP.Ptr.prototype.FieldByName=function(ad){var ae=new BS.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an,ao,ap;ag=this;ah=false;if(!(ad==="")){ai=ag.fields;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if($pointerIsEqual(am.name,FR.nil)){ah=true;aj++;continue;}if(am.name.$get()===ad){an=$clone(ag.Field(ak),BS);ao=true;$copy(ae,an,BS);af=ao;return[ae,af];}aj++;}}if(!ah){return[ae,af];}ap=ag.FieldByNameFunc((function(aq){return aq===ad;}));$copy(ae,ap[0],BS);af=ap[1];return[ae,af];};BP.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BW=$pkg.PtrTo=function(ad){return $assertType(ad,FF).ptrTo();};BB.Ptr.prototype.Implements=function(ad){var ae;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}if(!((ad.Kind()===20))){$panic(new $String("reflect: non-interface type passed to Type.Implements"));}return BY($assertType(ad,FF),ae);};BB.prototype.Implements=function(ad){return this.$val.Implements(ad);};BB.Ptr.prototype.AssignableTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}af=$assertType(ad,FF);return BZ(af,ae)||BY(af,ae);};BB.prototype.AssignableTo=function(ad){return this.$val.AssignableTo(ad);};BB.Ptr.prototype.ConvertibleTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}af=$assertType(ad,FF);return!(EB(af,ae)===$throwNilPointerError);};BB.prototype.ConvertibleTo=function(ad){return this.$val.ConvertibleTo(ad);};BY=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at;if(!((ad.Kind()===20))){return false;}af=ad.interfaceType;if(af.methods.$length===0){return true;}if(ae.Kind()===20){ag=ae.interfaceType;ah=0;ai=0;while(ai=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ah]));am=(al=ag.methods,((ai<0||ai>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ai]));if($pointerIsEqual(am.name,ak.name)&&$pointerIsEqual(am.pkgPath,ak.pkgPath)&&am.typ===ak.typ){ah=ah+(1)>>0;if(ah>=af.methods.$length){return true;}}ai=ai+(1)>>0;}return false;}an=ae.uncommonType.uncommon();if(an===FS.nil){return false;}ao=0;ap=0;while(ap=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ao]));at=(as=an.methods,((ap<0||ap>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ap]));if($pointerIsEqual(at.name,ar.name)&&$pointerIsEqual(at.pkgPath,ar.pkgPath)&&at.mtyp===ar.typ){ao=ao+(1)>>0;if(ao>=af.methods.$length){return true;}}ap=ap+(1)>>0;}return false;};BZ=function(ad,ae){if(ad===ae){return true;}if(!(ad.Name()==="")&&!(ae.Name()==="")||!((ad.Kind()===ae.Kind()))){return false;}return CA(ad,ae);};CA=function(ad,ae){var 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;if(ad===ae){return true;}af=ad.Kind();if(!((af===ae.Kind()))){return false;}if(1<=af&&af<=16||(af===24)||(af===26)){return true;}ag=af;if(ag===17){return $interfaceIsEqual(ad.Elem(),ae.Elem())&&(ad.Len()===ae.Len());}else if(ag===18){if((ae.ChanDir()===3)&&$interfaceIsEqual(ad.Elem(),ae.Elem())){return true;}return(ae.ChanDir()===ad.ChanDir())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===19){ah=ad.funcType;ai=ae.funcType;if(!(ah.dotdotdot===ai.dotdotdot)||!((ah.in$2.$length===ai.in$2.$length))||!((ah.out.$length===ai.out.$length))){return false;}aj=ah.in$2;ak=0;while(ak=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(!(am===(an=ai.in$2,((al<0||al>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+al])))){return false;}ak++;}ao=ah.out;ap=0;while(ap=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+ap]);if(!(ar===(as=ai.out,((aq<0||aq>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+aq])))){return false;}ap++;}return true;}else if(ag===20){at=ad.interfaceType;au=ae.interfaceType;if((at.methods.$length===0)&&(au.methods.$length===0)){return true;}return false;}else if(ag===21){return $interfaceIsEqual(ad.Key(),ae.Key())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===22||ag===23){return $interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===25){av=ad.structType;aw=ae.structType;if(!((av.fields.$length===aw.fields.$length))){return false;}ax=av.fields;ay=0;while(ay=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+az]));bd=(bc=aw.fields,((az<0||az>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+az]));if(!($pointerIsEqual(bb.name,bd.name))&&($pointerIsEqual(bb.name,FR.nil)||$pointerIsEqual(bd.name,FR.nil)||!(bb.name.$get()===bd.name.$get()))){return false;}if(!($pointerIsEqual(bb.pkgPath,bd.pkgPath))&&($pointerIsEqual(bb.pkgPath,FR.nil)||$pointerIsEqual(bd.pkgPath,FR.nil)||!(bb.pkgPath.$get()===bd.pkgPath.$get()))){return false;}if(!(bb.typ===bd.typ)){return false;}if(!($pointerIsEqual(bb.tag,bd.tag))&&($pointerIsEqual(bb.tag,FR.nil)||$pointerIsEqual(bd.tag,FR.nil)||!(bb.tag.$get()===bd.tag.$get()))){return false;}if(!((bb.offset===bd.offset))){return false;}ay++;}return true;}return false;};CL=function(ad){if(ad===FF.nil){return $ifaceNil;}return ad;};CQ=function(ad){return((ad.kind&32)>>>0)===0;};CU.prototype.kind=function(){var ad;ad=this.$val!==undefined?this.$val:this;return(((ad&31)>>>0)>>>0);};$ptrType(CU).prototype.kind=function(){return new CU(this.$get()).kind();};CT.Ptr.prototype.pointer=function(){var ad;ad=this;if(!((ad.typ.size===4))||!ad.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((ad.flag&64)>>>0)===0))){return ad.ptr.$get();}return ad.ptr;};CT.prototype.pointer=function(){return this.$val.pointer();};CX.Ptr.prototype.Error=function(){var ad;ad=this;if(ad.Kind===0){return"reflect: call of "+ad.Method+" on zero Value";}return"reflect: call of "+ad.Method+" on "+new BA(ad.Kind).String()+" Value";};CX.prototype.Error=function(){return this.$val.Error();};CU.prototype.mustBe=function(ad){var ae;ae=this.$val!==undefined?this.$val:this;if(!((new CU(ae).kind()===ad))){$panic(new CX.Ptr(AP(),new CU(ae).kind()));}};$ptrType(CU).prototype.mustBe=function(ad){return new CU(this.$get()).mustBe(ad);};CU.prototype.mustBeExported=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}};$ptrType(CU).prototype.mustBeExported=function(){return new CU(this.$get()).mustBeExported();};CU.prototype.mustBeAssignable=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}if(((ad&128)>>>0)===0){$panic(new $String("reflect: "+AP()+" using unaddressable value"));}};$ptrType(CU).prototype.mustBeAssignable=function(){return new CU(this.$get()).mustBeAssignable();};CT.Ptr.prototype.Addr=function(){var ad;ad=this;if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new CT.Ptr(ad.typ.ptrTo(),ad.ptr,((((ad.flag&32)>>>0))|22)>>>0);};CT.prototype.Addr=function(){return this.$val.Addr();};CT.Ptr.prototype.Bool=function(){var ad;ad=this;new CU(ad.flag).mustBe(1);return ad.ptr.$get();};CT.prototype.Bool=function(){return this.$val.Bool();};CT.Ptr.prototype.Bytes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.Bytes of non-byte slice"));}return ad.ptr.$get();};CT.prototype.Bytes=function(){return this.$val.Bytes();};CT.Ptr.prototype.runes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.Bytes of non-rune slice"));}return ad.ptr.$get();};CT.prototype.runes=function(){return this.$val.runes();};CT.Ptr.prototype.CanAddr=function(){var ad;ad=this;return!((((ad.flag&128)>>>0)===0));};CT.prototype.CanAddr=function(){return this.$val.CanAddr();};CT.Ptr.prototype.CanSet=function(){var ad;ad=this;return((ad.flag&160)>>>0)===128;};CT.prototype.CanSet=function(){return this.$val.CanSet();};CT.Ptr.prototype.Call=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("Call",ad);};CT.prototype.Call=function(ad){return this.$val.Call(ad);};CT.Ptr.prototype.CallSlice=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("CallSlice",ad);};CT.prototype.CallSlice=function(ad){return this.$val.CallSlice(ad);};CT.Ptr.prototype.Complex=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===15){return(ag=ad.ptr.$get(),new $Complex128(ag.$real,ag.$imag));}else if(af===16){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Complex",new CU(ad.flag).kind()));};CT.prototype.Complex=function(){return this.$val.Complex();};CT.Ptr.prototype.FieldByIndex=function(ad){var ae,af,ag,ah,ai;ae=this;if(ad.$length===1){return ae.Field(((0<0||0>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+0]));}new CU(ae.flag).mustBe(25);af=ad;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if(ah>0){if((ae.Kind()===22)&&(ae.typ.Elem().Kind()===25)){if(ae.IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ae=ae.Elem();}}ae=ae.Field(ai);ag++;}return ae;};CT.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};CT.Ptr.prototype.FieldByName=function(ad){var ae,af,ag,ah;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.FieldByName(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};CT.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af,ag,ah;ae=this;af=ae.typ.FieldByNameFunc(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};CT.Ptr.prototype.Float=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===13){return $coerceFloat32(ad.ptr.$get());}else if(af===14){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Float",new CU(ad.flag).kind()));};CT.prototype.Float=function(){return this.$val.Float();};CT.Ptr.prototype.Int=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===2){return new $Int64(0,af.$get());}else if(ag===3){return new $Int64(0,af.$get());}else if(ag===4){return new $Int64(0,af.$get());}else if(ag===5){return new $Int64(0,af.$get());}else if(ag===6){return af.$get();}$panic(new CX.Ptr("reflect.Value.Int",new CU(ad.flag).kind()));};CT.prototype.Int=function(){return this.$val.Int();};CT.Ptr.prototype.CanInterface=function(){var ad;ad=this;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.CanInterface",0));}return((ad.flag&32)>>>0)===0;};CT.prototype.CanInterface=function(){return this.$val.CanInterface();};CT.Ptr.prototype.Interface=function(){var ad=$ifaceNil,ae;ae=this;ad=AN(ae,true);return ad;};CT.prototype.Interface=function(){return this.$val.Interface();};CT.Ptr.prototype.InterfaceData=function(){var ad;ad=this;new CU(ad.flag).mustBe(20);return ad.ptr;};CT.prototype.InterfaceData=function(){return this.$val.InterfaceData();};CT.Ptr.prototype.IsValid=function(){var ad;ad=this;return!((ad.flag===0));};CT.prototype.IsValid=function(){return this.$val.IsValid();};CT.Ptr.prototype.Kind=function(){var ad;ad=this;return new CU(ad.flag).kind();};CT.prototype.Kind=function(){return this.$val.Kind();};CT.Ptr.prototype.MapIndex=function(ad){var ae,af,ag,ah,ai,aj,ak;ae=this;ad=ad;new CU(ae.flag).mustBe(21);af=ae.typ.mapType;ad=ad.assignTo("reflect.Value.MapIndex",af.key,0);ag=0;if(!((((ad.flag&64)>>>0)===0))){ag=ad.ptr;}else{ag=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}ah=AC(ae.typ,ae.pointer(),ag);if(ah===0){return new CT.Ptr(FF.nil,0,0);}ai=af.elem;aj=((((ae.flag|ad.flag)>>>0))&32)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;if(CQ(ai)){ak=V(ai);Y(ak,ah,ai.size);return new CT.Ptr(ai,ak,(aj|64)>>>0);}else{return new CT.Ptr(ai,ah.$get(),aj);}};CT.prototype.MapIndex=function(ad){return this.$val.MapIndex(ad);};CT.Ptr.prototype.MapKeys=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an;ad=this;new CU(ad.flag).mustBe(21);ae=ad.typ.mapType;af=ae.key;ag=(((ad.flag&32)>>>0)|(af.Kind()>>>0))>>>0;ah=ad.pointer();ai=0;if(!(ah===0)){ai=AJ(ah);}aj=AG(ad.typ,ah);ak=FX.make(ai);al=0;al=0;while(al=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,an,(ag|64)>>>0);}else{(al<0||al>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,am.$get(),ag);}AI(aj);al=al+(1)>>0;}return $subslice(ak,0,al);};CT.prototype.MapKeys=function(){return this.$val.MapKeys();};CT.Ptr.prototype.Method=function(ad){var ae,af;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.Method",0));}if(!((((ae.flag&256)>>>0)===0))||(ad>>>0)>=(ae.typ.NumMethod()>>>0)){$panic(new $String("reflect: Method index out of range"));}if((ae.typ.Kind()===20)&&ae.IsNil()){$panic(new $String("reflect: Method on nil interface value"));}af=(ae.flag&96)>>>0;af=(af|(19))>>>0;af=(af|(((((ad>>>0)<<9>>>0)|256)>>>0)))>>>0;return new CT.Ptr(ae.typ,ae.ptr,af);};CT.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.NumMethod",0));}if(!((((ad.flag&256)>>>0)===0))){return 0;}return ad.typ.NumMethod();};CT.prototype.NumMethod=function(){return this.$val.NumMethod();};CT.Ptr.prototype.MethodByName=function(ad){var ae,af,ag,ah;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.MethodByName",0));}if(!((((ae.flag&256)>>>0)===0))){return new CT.Ptr(FF.nil,0,0);}af=ae.typ.MethodByName(ad);ag=$clone(af[0],BQ);ah=af[1];if(!ah){return new CT.Ptr(FF.nil,0,0);}return ae.Method(ag.Index);};CT.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};CT.Ptr.prototype.NumField=function(){var ad,ae;ad=this;new CU(ad.flag).mustBe(25);ae=ad.typ.structType;return ae.fields.$length;};CT.prototype.NumField=function(){return this.$val.NumField();};CT.Ptr.prototype.OverflowComplex=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===15){return DH(ad.$real)||DH(ad.$imag);}else if(ag===16){return false;}$panic(new CX.Ptr("reflect.Value.OverflowComplex",new CU(ae.flag).kind()));};CT.prototype.OverflowComplex=function(ad){return this.$val.OverflowComplex(ad);};CT.Ptr.prototype.OverflowFloat=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===13){return DH(ad);}else if(ag===14){return false;}$panic(new CX.Ptr("reflect.Value.OverflowFloat",new CU(ae.flag).kind()));};CT.prototype.OverflowFloat=function(ad){return this.$val.OverflowFloat(ad);};DH=function(ad){if(ad<0){ad=-ad;}return 3.4028234663852886e+38>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightInt64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowInt",new CU(ae.flag).kind()));};CT.prototype.OverflowInt=function(ad){return this.$val.OverflowInt(ad);};CT.Ptr.prototype.OverflowUint=function(ad){var ae,af,ag,ah,ai,aj;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===7||ag===12||ag===8||ag===9||ag===10||ag===11){ai=(ah=ae.typ.size,(((ah>>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightUint64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowUint",new CU(ae.flag).kind()));};CT.prototype.OverflowUint=function(ad){return this.$val.OverflowUint(ad);};CT.Ptr.prototype.SetBool=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(1);ae.ptr.$set(ad);};CT.prototype.SetBool=function(ad){return this.$val.SetBool(ad);};CT.Ptr.prototype.SetBytes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.SetBytes of non-byte slice"));}ae.ptr.$set(ad);};CT.prototype.SetBytes=function(ad){return this.$val.SetBytes(ad);};CT.Ptr.prototype.setRunes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.setRunes of non-rune slice"));}ae.ptr.$set(ad);};CT.prototype.setRunes=function(ad){return this.$val.setRunes(ad);};CT.Ptr.prototype.SetComplex=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===15){ae.ptr.$set(new $Complex64(ad.$real,ad.$imag));}else if(ag===16){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetComplex",new CU(ae.flag).kind()));}};CT.prototype.SetComplex=function(ad){return this.$val.SetComplex(ad);};CT.Ptr.prototype.SetFloat=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===13){ae.ptr.$set(ad);}else if(ag===14){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetFloat",new CU(ae.flag).kind()));}};CT.prototype.SetFloat=function(ad){return this.$val.SetFloat(ad);};CT.Ptr.prototype.SetInt=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===2){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===3){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<24>>24));}else if(ag===4){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<16>>16));}else if(ag===5){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===6){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetInt",new CU(ae.flag).kind()));}};CT.prototype.SetInt=function(ad){return this.$val.SetInt(ad);};CT.Ptr.prototype.SetMapIndex=function(ad,ae){var af,ag,ah,ai;af=this;ae=ae;ad=ad;new CU(af.flag).mustBe(21);new CU(af.flag).mustBeExported();new CU(ad.flag).mustBeExported();ag=af.typ.mapType;ad=ad.assignTo("reflect.Value.SetMapIndex",ag.key,0);ah=0;if(!((((ad.flag&64)>>>0)===0))){ah=ad.ptr;}else{ah=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}if(ae.typ===FF.nil){AE(af.typ,af.pointer(),ah);return;}new CU(ae.flag).mustBeExported();ae=ae.assignTo("reflect.Value.SetMapIndex",ag.elem,0);ai=0;if(!((((ae.flag&64)>>>0)===0))){ai=ae.ptr;}else{ai=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ae);}AD(af.typ,af.pointer(),ah,ai);};CT.prototype.SetMapIndex=function(ad,ae){return this.$val.SetMapIndex(ad,ae);};CT.Ptr.prototype.SetUint=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===7){ae.ptr.$set((ad.$low>>>0));}else if(ag===8){ae.ptr.$set((ad.$low<<24>>>24));}else if(ag===9){ae.ptr.$set((ad.$low<<16>>>16));}else if(ag===10){ae.ptr.$set((ad.$low>>>0));}else if(ag===11){ae.ptr.$set(ad);}else if(ag===12){ae.ptr.$set((ad.$low>>>0));}else{$panic(new CX.Ptr("reflect.Value.SetUint",new CU(ae.flag).kind()));}};CT.prototype.SetUint=function(ad){return this.$val.SetUint(ad);};CT.Ptr.prototype.SetPointer=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(26);ae.ptr.$set(ad);};CT.prototype.SetPointer=function(ad){return this.$val.SetPointer(ad);};CT.Ptr.prototype.SetString=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(24);ae.ptr.$set(ad);};CT.prototype.SetString=function(ad){return this.$val.SetString(ad);};CT.Ptr.prototype.String=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===0){return"";}else if(af===24){return ad.ptr.$get();}return"<"+ad.Type().String()+" Value>";};CT.prototype.String=function(){return this.$val.String();};CT.Ptr.prototype.Type=function(){var ad,ae,af,ag,ah,ai,aj,ak,al;ad=this;ae=ad.flag;if(ae===0){$panic(new CX.Ptr("reflect.Value.Type",0));}if(((ae&256)>>>0)===0){return ad.typ;}af=(ad.flag>>0)>>9>>0;if(ad.typ.Kind()===20){ag=ad.typ.interfaceType;if((af>>>0)>=(ag.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}ai=(ah=ag.methods,((af<0||af>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+af]));return ai.typ;}aj=ad.typ.uncommonType.uncommon();if(aj===FS.nil||(af>>>0)>=(aj.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}al=(ak=aj.methods,((af<0||af>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+af]));return al.mtyp;};CT.prototype.Type=function(){return this.$val.Type();};CT.Ptr.prototype.Uint=function(){var ad,ae,af,ag,ah;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===7){return new $Uint64(0,af.$get());}else if(ag===8){return new $Uint64(0,af.$get());}else if(ag===9){return new $Uint64(0,af.$get());}else if(ag===10){return new $Uint64(0,af.$get());}else if(ag===11){return af.$get();}else if(ag===12){return(ah=af.$get(),new $Uint64(0,ah.constructor===Number?ah:1));}$panic(new CX.Ptr("reflect.Value.Uint",new CU(ad.flag).kind()));};CT.prototype.Uint=function(){return this.$val.Uint();};CT.Ptr.prototype.UnsafeAddr=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.UnsafeAddr",0));}if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return ad.ptr;};CT.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};DZ=$pkg.New=function(ad){var ae,af;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ae=V($assertType(ad,FF));af=22;return new CT.Ptr(ad.common().ptrTo(),ae,af);};CT.Ptr.prototype.assignTo=function(ad,ae,af){var ag,ah,ai;ag=this;if(!((((ag.flag&256)>>>0)===0))){ag=AQ(ad,ag);}if(BZ(ae,ag.typ)){ag.typ=ae;ah=(ag.flag&224)>>>0;ah=(ah|((ae.Kind()>>>0)))>>>0;return new CT.Ptr(ae,ag.ptr,ah);}else if(BY(ae,ag.typ)){if(af===0){af=V(ae);}ai=AN(ag,false);if(ae.NumMethod()===0){af.$set(ai);}else{AO(ae,ai,af);}return new CT.Ptr(ae,af,84);}$panic(new $String(ad+": value of type "+ag.typ.String()+" is not assignable to type "+ae.String()));};CT.prototype.assignTo=function(ad,ae,af){return this.$val.assignTo(ad,ae,af);};CT.Ptr.prototype.Convert=function(ad){var ae,af;ae=this;if(!((((ae.flag&256)>>>0)===0))){ae=AQ("Convert",ae);}af=EB(ad.common(),ae.typ);if(af===$throwNilPointerError){$panic(new $String("reflect.Value.Convert: value of type "+ae.typ.String()+" cannot be converted to type "+ad.String()));}return af(ae,ad);};CT.prototype.Convert=function(ad){return this.$val.Convert(ad);};EB=function(ad,ae){var af,ag,ah,ai,aj,ak,al;af=ae.Kind();if(af===2||af===3||af===4||af===5||af===6){ag=ad.Kind();if(ag===2||ag===3||ag===4||ag===5||ag===6||ag===7||ag===8||ag===9||ag===10||ag===11||ag===12){return EH;}else if(ag===13||ag===14){return EL;}else if(ag===24){return EP;}}else if(af===7||af===8||af===9||af===10||af===11||af===12){ah=ad.Kind();if(ah===2||ah===3||ah===4||ah===5||ah===6||ah===7||ah===8||ah===9||ah===10||ah===11||ah===12){return EI;}else if(ah===13||ah===14){return EM;}else if(ah===24){return EQ;}}else if(af===13||af===14){ai=ad.Kind();if(ai===2||ai===3||ai===4||ai===5||ai===6){return EJ;}else if(ai===7||ai===8||ai===9||ai===10||ai===11||ai===12){return EK;}else if(ai===13||ai===14){return EN;}}else if(af===15||af===16){aj=ad.Kind();if(aj===15||aj===16){return EO;}}else if(af===24){if((ad.Kind()===23)&&ad.Elem().PkgPath()===""){ak=ad.Elem().Kind();if(ak===8){return ES;}else if(ak===5){return EU;}}}else if(af===23){if((ad.Kind()===24)&&ae.Elem().PkgPath()===""){al=ae.Elem().Kind();if(al===8){return ER;}else if(al===5){return ET;}}}if(CA(ad,ae)){return AK;}if((ad.Kind()===22)&&ad.Name()===""&&(ae.Kind()===22)&&ae.Name()===""&&CA(ad.Elem().common(),ae.Elem().common())){return AK;}if(BY(ad,ae)){if(ae.Kind()===20){return EW;}return EV;}return $throwNilPointerError;};EC=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===4){ah.$set(ae);}else if(ai===8){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};ED=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===8){ah.$set(new $Complex64(ae.$real,ae.$imag));}else if(ai===16){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};EE=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetString(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EF=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetBytes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EG=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.setRunes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EH=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=ad.Int(),new $Uint64(af.$high,af.$low)),ae);};EI=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,ad.Uint(),ae);};EJ=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=new $Int64(0,ad.Float()),new $Uint64(af.$high,af.$low)),ae);};EK=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,new $Uint64(0,ad.Float()),ae);};EL=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Int()),ae);};EM=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Uint()),ae);};EN=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,ad.Float(),ae);};EO=function(ad,ae){ad=ad;return ED((ad.flag&32)>>>0,ad.Complex(),ae);};EP=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Int().$low),ae);};EQ=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Uint().$low),ae);};ER=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$bytesToString(ad.Bytes()),ae);};ES=function(ad,ae){ad=ad;return EF((ad.flag&32)>>>0,new GQ($stringToBytes(ad.String())),ae);};ET=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$runesToString(ad.runes()),ae);};EU=function(ad,ae){ad=ad;return EG((ad.flag&32)>>>0,new GR($stringToRunes(ad.String())),ae);};EV=function(ad,ae){var af,ag;ad=ad;af=V(ae.common());ag=AN(ad,false);if(ae.NumMethod()===0){af.$set(ag);}else{AO($assertType(ae,FF),ag,af);}return new CT.Ptr(ae.common(),af,(((((ad.flag&32)>>>0)|64)>>>0)|20)>>>0);};EW=function(ad,ae){var af;ad=ad;if(ad.IsNil()){af=U(ae);af.flag=(af.flag|(((ad.flag&32)>>>0)))>>>0;return af;}return EV(ad.Elem(),ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}FF=$ptrType(BB);FG=$ptrType(BM);FO=$sliceType($String);FP=$ptrType(BC);FQ=$arrayType($UnsafePointer,2);FR=$ptrType($String);FS=$ptrType(BE);FT=$sliceType(BD);FU=$sliceType(FF);FV=$sliceType(BJ);FW=$sliceType(BO);FX=$sliceType(CT);FY=$arrayType($UnsafePointer,100000);FZ=$structType([["ityp","ityp","reflect",FF,""],["typ","typ","reflect",FF,""],["link","link","reflect",$UnsafePointer,""],["bad","bad","reflect",$Int32,""],["unused","unused","reflect",$Int32,""],["fun","fun","reflect",FY,""]]);GA=$ptrType(FZ);GB=$sliceType(B.Object);GC=$ptrType($Uint8);GE=$ptrType(BD);GF=$ptrType(BK);GG=$ptrType(BJ);GH=$sliceType($Int);GI=$sliceType(BU);GJ=$ptrType(BP);GO=$ptrType($UnsafePointer);GQ=$sliceType($Uint8);GR=$sliceType($Int32);GS=$ptrType(BI);GU=$funcType([$String],[$Bool],false);GV=$ptrType(BA);GW=$funcType([$UnsafePointer,$Uintptr,$Uintptr],[$Uintptr],false);GX=$funcType([$UnsafePointer,$UnsafePointer,$Uintptr],[$Bool],false);GY=$ptrType(BF);GZ=$ptrType(BG);HA=$ptrType(BH);HB=$ptrType(BL);HC=$ptrType(BN);HD=$ptrType(BT);HF=$arrayType($Uintptr,2);HG=$ptrType(CT);HH=$ptrType(CU);HI=$ptrType(CX);AF.init([["t","t","reflect",AZ,""],["m","m","reflect",B.Object,""],["keys","keys","reflect",B.Object,""],["i","i","reflect",$Int,""]]);AZ.init([["Align","Align","",$funcType([],[$Int],false)],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false)],["Bits","Bits","",$funcType([],[$Int],false)],["ChanDir","ChanDir","",$funcType([],[BF],false)],["Comparable","Comparable","",$funcType([],[$Bool],false)],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false)],["Elem","Elem","",$funcType([],[AZ],false)],["Field","Field","",$funcType([$Int],[BS],false)],["FieldAlign","FieldAlign","",$funcType([],[$Int],false)],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false)],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false)],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false)],["Implements","Implements","",$funcType([AZ],[$Bool],false)],["In","In","",$funcType([$Int],[AZ],false)],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false)],["Key","Key","",$funcType([],[AZ],false)],["Kind","Kind","",$funcType([],[BA],false)],["Len","Len","",$funcType([],[$Int],false)],["Method","Method","",$funcType([$Int],[BQ],false)],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false)],["Name","Name","",$funcType([],[$String],false)],["NumField","NumField","",$funcType([],[$Int],false)],["NumIn","NumIn","",$funcType([],[$Int],false)],["NumMethod","NumMethod","",$funcType([],[$Int],false)],["NumOut","NumOut","",$funcType([],[$Int],false)],["Out","Out","",$funcType([$Int],[AZ],false)],["PkgPath","PkgPath","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Uintptr],false)],["String","String","",$funcType([],[$String],false)],["common","common","reflect",$funcType([],[FF],false)],["uncommon","uncommon","reflect",$funcType([],[FS],false)]]);BA.methods=[["String","String","",$funcType([],[$String],false),-1]];GV.methods=[["String","String","",$funcType([],[$String],false),-1]];BB.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];FF.methods=[["Align","Align","",$funcType([],[$Int],false),-1],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),-1],["Bits","Bits","",$funcType([],[$Int],false),-1],["ChanDir","ChanDir","",$funcType([],[BF],false),-1],["Comparable","Comparable","",$funcType([],[$Bool],false),-1],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),-1],["Elem","Elem","",$funcType([],[AZ],false),-1],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),-1],["In","In","",$funcType([$Int],[AZ],false),-1],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),-1],["Key","Key","",$funcType([],[AZ],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumIn","NumIn","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),-1],["Out","Out","",$funcType([$Int],[AZ],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Uintptr],false),-1],["String","String","",$funcType([],[$String],false),-1],["common","common","reflect",$funcType([],[FF],false),-1],["pointers","pointers","reflect",$funcType([],[$Bool],false),-1],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];BB.init([["size","size","reflect",$Uintptr,""],["hash","hash","reflect",$Uint32,""],["_$2","_","reflect",$Uint8,""],["align","align","reflect",$Uint8,""],["fieldAlign","fieldAlign","reflect",$Uint8,""],["kind","kind","reflect",$Uint8,""],["alg","alg","reflect",FP,""],["gc","gc","reflect",FQ,""],["string","string","reflect",FR,""],["uncommonType","","reflect",FS,""],["ptrToThis","ptrToThis","reflect",FF,""],["zero","zero","reflect",$UnsafePointer,""]]);BC.init([["hash","hash","reflect",GW,""],["equal","equal","reflect",GX,""]]);BD.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["mtyp","mtyp","reflect",FF,""],["typ","typ","reflect",FF,""],["ifn","ifn","reflect",$UnsafePointer,""],["tfn","tfn","reflect",$UnsafePointer,""]]);FS.methods=[["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),-1]];BE.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["methods","methods","reflect",FT,""]]);BF.methods=[["String","String","",$funcType([],[$String],false),-1]];GY.methods=[["String","String","",$funcType([],[$String],false),-1]];BG.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GZ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BG.init([["rtype","","reflect",BB,"reflect:\"array\""],["elem","elem","reflect",FF,""],["slice","slice","reflect",FF,""],["len","len","reflect",$Uintptr,""]]);BH.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HA.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BH.init([["rtype","","reflect",BB,"reflect:\"chan\""],["elem","elem","reflect",FF,""],["dir","dir","reflect",$Uintptr,""]]);BI.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GS.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BI.init([["rtype","","reflect",BB,"reflect:\"func\""],["dotdotdot","dotdotdot","reflect",$Bool,""],["in$2","in","reflect",FU,""],["out","out","reflect",FU,""]]);BJ.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""]]);BK.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GF.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BK.init([["rtype","","reflect",BB,"reflect:\"interface\""],["methods","methods","reflect",FV,""]]);BL.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HB.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BL.init([["rtype","","reflect",BB,"reflect:\"map\""],["key","key","reflect",FF,""],["elem","elem","reflect",FF,""],["bucket","bucket","reflect",FF,""],["hmap","hmap","reflect",FF,""],["keysize","keysize","reflect",$Uint8,""],["indirectkey","indirectkey","reflect",$Uint8,""],["valuesize","valuesize","reflect",$Uint8,""],["indirectvalue","indirectvalue","reflect",$Uint8,""],["bucketsize","bucketsize","reflect",$Uint16,""]]);BM.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];FG.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BM.init([["rtype","","reflect",BB,"reflect:\"ptr\""],["elem","elem","reflect",FF,""]]);BN.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HC.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BN.init([["rtype","","reflect",BB,"reflect:\"slice\""],["elem","elem","reflect",FF,""]]);BO.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""],["tag","tag","reflect",FR,""],["offset","offset","reflect",$Uintptr,""]]);BP.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GJ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BP.init([["rtype","","reflect",BB,"reflect:\"struct\""],["fields","fields","reflect",FW,""]]);BQ.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Func","Func","",CT,""],["Index","Index","",$Int,""]]);BS.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Tag","Tag","",BT,""],["Offset","Offset","",$Uintptr,""],["Index","Index","",GH,""],["Anonymous","Anonymous","",$Bool,""]]);BT.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];HD.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];BU.init([["typ","typ","reflect",GJ,""],["index","index","reflect",GH,""]]);CT.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];HG.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];CT.init([["typ","typ","reflect",FF,""],["ptr","ptr","reflect",$UnsafePointer,""],["flag","","reflect",CU,""]]);CU.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HH.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HI.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CX.init([["Method","Method","",$String,""],["Kind","Kind","",BA,""]]);CZ.init([["itab","itab","reflect",GA,""],["word","word","reflect",$UnsafePointer,""]]);F=false;BR=new FO(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);DG=$assertType(O(new $Uint8(0)),FF);G();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -29,8 +29,8 @@ $packages["bufio"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,E,H,I,F,G;A=$packages[ $packages["image"]=(function(){var $pkg={},A,B,E,C,D,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,F,I,O,Q,S,T,V,X,Z,AB,AD,AF,AH,AJ,AL,AN,AP,AQ,G,a,b,c,d,H,J,K,L,M,R,W,Y,AA,AC,AI,AK,AM,AO,AR;A=$packages["bufio"];B=$packages["errors"];E=$packages["image/color"];C=$packages["io"];D=$packages["strconv"];F=$pkg.format=$newType(0,$kindStruct,"image.format","format","image",function(name_,magic_,decode_,decodeConfig_){this.$val=this;this.name=name_!==undefined?name_:"";this.magic=magic_!==undefined?magic_:"";this.decode=decode_!==undefined?decode_:$throwNilPointerError;this.decodeConfig=decodeConfig_!==undefined?decodeConfig_:$throwNilPointerError;});I=$pkg.reader=$newType(8,$kindInterface,"image.reader","reader","image",null);O=$pkg.Point=$newType(0,$kindStruct,"image.Point","Point","image",function(X_,Y_){this.$val=this;this.X=X_!==undefined?X_:0;this.Y=Y_!==undefined?Y_:0;});Q=$pkg.Rectangle=$newType(0,$kindStruct,"image.Rectangle","Rectangle","image",function(Min_,Max_){this.$val=this;this.Min=Min_!==undefined?Min_:new O.Ptr();this.Max=Max_!==undefined?Max_:new O.Ptr();});S=$pkg.Config=$newType(0,$kindStruct,"image.Config","Config","image",function(ColorModel_,Width_,Height_){this.$val=this;this.ColorModel=ColorModel_!==undefined?ColorModel_:$ifaceNil;this.Width=Width_!==undefined?Width_:0;this.Height=Height_!==undefined?Height_:0;});T=$pkg.Image=$newType(8,$kindInterface,"image.Image","Image","image",null);V=$pkg.RGBA=$newType(0,$kindStruct,"image.RGBA","RGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});X=$pkg.RGBA64=$newType(0,$kindStruct,"image.RGBA64","RGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});Z=$pkg.NRGBA=$newType(0,$kindStruct,"image.NRGBA","NRGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AB=$pkg.NRGBA64=$newType(0,$kindStruct,"image.NRGBA64","NRGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AD=$pkg.Alpha=$newType(0,$kindStruct,"image.Alpha","Alpha","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AF=$pkg.Alpha16=$newType(0,$kindStruct,"image.Alpha16","Alpha16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AH=$pkg.Gray=$newType(0,$kindStruct,"image.Gray","Gray","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AJ=$pkg.Gray16=$newType(0,$kindStruct,"image.Gray16","Gray16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AL=$pkg.Paletted=$newType(0,$kindStruct,"image.Paletted","Paletted","image",function(Pix_,Stride_,Rect_,Palette_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();this.Palette=Palette_!==undefined?Palette_:E.Palette.nil;});AN=$pkg.Uniform=$newType(0,$kindStruct,"image.Uniform","Uniform","image",function(C_){this.$val=this;this.C=C_!==undefined?C_:$ifaceNil;});AP=$pkg.YCbCrSubsampleRatio=$newType(4,$kindInt,"image.YCbCrSubsampleRatio","YCbCrSubsampleRatio","image",null);AQ=$pkg.YCbCr=$newType(0,$kindStruct,"image.YCbCr","YCbCr","image",function(Y_,Cb_,Cr_,YStride_,CStride_,SubsampleRatio_,Rect_){this.$val=this;this.Y=Y_!==undefined?Y_:AT.nil;this.Cb=Cb_!==undefined?Cb_:AT.nil;this.Cr=Cr_!==undefined?Cr_:AT.nil;this.YStride=YStride_!==undefined?YStride_:0;this.CStride=CStride_!==undefined?CStride_:0;this.SubsampleRatio=SubsampleRatio_!==undefined?SubsampleRatio_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});H=$pkg.RegisterFormat=function(e,f,g,h){G=$append(G,new F.Ptr(e,f,g,h));};J=function(e){var f,g,h;f=$assertType(e,I,true);g=f[0];h=f[1];if(h){return g;}return A.NewReader(e);};K=function(e,f){var g,h,i,j;if(!((e.length===f.$length))){return false;}g=f;h=0;while(h=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+h]);if(!((e.charCodeAt(i)===j))&&!((e.charCodeAt(i)===63))){return false;}h++;}return true;};L=function(e){var f,g,h,i,j,k;f=G;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),F);i=e.Peek(h.magic.length);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&K(h.magic,j)){return h;}g++;}return new F.Ptr("","",$throwNilPointerError,$throwNilPointerError);};M=$pkg.Decode=function(e){var f,g,h,i,j;f=J(e);g=$clone(L(f),F);if(g.decode===$throwNilPointerError){return[$ifaceNil,"",$pkg.ErrFormat];}h=g.decode(f);i=h[0];j=h[1];return[i,g.name,j];};O.Ptr.prototype.String=function(){var e;e=$clone(this,O);return"("+D.Itoa(e.X)+","+D.Itoa(e.Y)+")";};O.prototype.String=function(){return this.$val.String();};O.Ptr.prototype.Add=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X+e.X>>0,f.Y+e.Y>>0);};O.prototype.Add=function(e){return this.$val.Add(e);};O.Ptr.prototype.Sub=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X-e.X>>0,f.Y-e.Y>>0);};O.prototype.Sub=function(e){return this.$val.Sub(e);};O.Ptr.prototype.Mul=function(e){var f;f=$clone(this,O);return new O.Ptr(f.X*e>>0,f.Y*e>>0);};O.prototype.Mul=function(e){return this.$val.Mul(e);};O.Ptr.prototype.Div=function(e){var f,g,h;f=$clone(this,O);return new O.Ptr((g=f.X/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),(h=f.Y/e,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")));};O.prototype.Div=function(e){return this.$val.Div(e);};O.Ptr.prototype.In=function(e){var f;f=$clone(this,O);e=$clone(e,Q);return e.Min.X<=f.X&&f.X>0;}f.Y=(l=f.Y%j,l===l?l:$throwRuntimeError("integer divide by zero"));if(f.Y<0){f.Y=f.Y+(j)>>0;}return f.Add(e.Min);};O.prototype.Mod=function(e){return this.$val.Mod(e);};O.Ptr.prototype.Eq=function(e){var f;f=$clone(this,O);e=$clone(e,O);return(f.X===e.X)&&(f.Y===e.Y);};O.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.String=function(){var e;e=$clone(this,Q);return e.Min.String()+"-"+e.Max.String();};Q.prototype.String=function(){return this.$val.String();};Q.Ptr.prototype.Dx=function(){var e;e=$clone(this,Q);return e.Max.X-e.Min.X>>0;};Q.prototype.Dx=function(){return this.$val.Dx();};Q.Ptr.prototype.Dy=function(){var e;e=$clone(this,Q);return e.Max.Y-e.Min.Y>>0;};Q.prototype.Dy=function(){return this.$val.Dy();};Q.Ptr.prototype.Size=function(){var e;e=$clone(this,Q);return new O.Ptr(e.Max.X-e.Min.X>>0,e.Max.Y-e.Min.Y>>0);};Q.prototype.Size=function(){return this.$val.Size();};Q.Ptr.prototype.Add=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X+e.X>>0,f.Min.Y+e.Y>>0),new O.Ptr(f.Max.X+e.X>>0,f.Max.Y+e.Y>>0));};Q.prototype.Add=function(e){return this.$val.Add(e);};Q.Ptr.prototype.Sub=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X-e.X>>0,f.Min.Y-e.Y>>0),new O.Ptr(f.Max.X-e.X>>0,f.Max.Y-e.Y>>0));};Q.prototype.Sub=function(e){return this.$val.Sub(e);};Q.Ptr.prototype.Inset=function(e){var f,g,h;f=$clone(this,Q);if(f.Dx()<(2*e>>0)){f.Min.X=(g=((f.Min.X+f.Max.X>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));f.Max.X=f.Min.X;}else{f.Min.X=f.Min.X+(e)>>0;f.Max.X=f.Max.X-(e)>>0;}if(f.Dy()<(2*e>>0)){f.Min.Y=(h=((f.Min.Y+f.Max.Y>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));f.Max.Y=f.Min.Y;}else{f.Min.Y=f.Min.Y+(e)>>0;f.Max.Y=f.Max.Y-(e)>>0;}return f;};Q.prototype.Inset=function(e){return this.$val.Inset(e);};Q.Ptr.prototype.Intersect=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.Xe.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y>e.Max.Y){f.Max.Y=e.Max.Y;}if(f.Min.X>f.Max.X||f.Min.Y>f.Max.Y){return $pkg.ZR;}return f;};Q.prototype.Intersect=function(e){return this.$val.Intersect(e);};Q.Ptr.prototype.Union=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.X>e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y>e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X=e.Max.X||e.Min.Y>=e.Max.Y;};Q.prototype.Empty=function(){return this.$val.Empty();};Q.Ptr.prototype.Eq=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return(f.Min.X===e.Min.X)&&(f.Min.Y===e.Min.Y)&&(f.Max.X===e.Max.X)&&(f.Max.Y===e.Max.Y);};Q.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.Overlaps=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return f.Min.Xg){i=g;j=e;e=i;g=j;}if(f>h){k=h;l=f;f=k;h=l;}return new Q.Ptr(new O.Ptr(e,f),new O.Ptr(g,h));};V.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBAModel;};V.prototype.ColorModel=function(){return this.$val.ColorModel();};V.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};V.prototype.Bounds=function(){return this.$val.Bounds();};V.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBAAt(e,f),new h.constructor.Struct(h));};V.prototype.At=function(e,f){return this.$val.At(e,f);};V.Ptr.prototype.RGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};V.prototype.RGBAAt=function(e,f){return this.$val.RGBAAt(e,f);};V.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};V.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};V.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBAModel.Convert(g),E.RGBA),E.RGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};V.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};V.Ptr.prototype.SetRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.RGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};V.prototype.SetRGBA=function(e,f,g){return this.$val.SetRGBA(e,f,g);};V.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new V.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new V.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};V.prototype.SubImage=function(e){return this.$val.SubImage(e);};V.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};V.prototype.Opaque=function(){return this.$val.Opaque();};W=$pkg.NewRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new V.Ptr(j,4*h>>0,$clone(e,Q));};X.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBA64Model;};X.prototype.ColorModel=function(){return this.$val.ColorModel();};X.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};X.prototype.Bounds=function(){return this.$val.Bounds();};X.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBA64At(e,f),new h.constructor.Struct(h));};X.prototype.At=function(e,f){return this.$val.At(e,f);};X.Ptr.prototype.RGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};X.prototype.RGBA64At=function(e,f){return this.$val.RGBA64At(e,f);};X.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};X.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};X.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBA64Model.Convert(g),E.RGBA64),E.RGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};X.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};X.Ptr.prototype.SetRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.RGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};X.prototype.SetRGBA64=function(e,f,g){return this.$val.SetRGBA64(e,f,g);};X.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new X.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new X.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};X.prototype.SubImage=function(e){return this.$val.SubImage(e);};X.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};X.prototype.Opaque=function(){return this.$val.Opaque();};Y=$pkg.NewRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new X.Ptr(j,8*h>>0,$clone(e,Q));};Z.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBAModel;};Z.prototype.ColorModel=function(){return this.$val.ColorModel();};Z.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};Z.prototype.Bounds=function(){return this.$val.Bounds();};Z.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBAAt(e,f),new h.constructor.Struct(h));};Z.prototype.At=function(e,f){return this.$val.At(e,f);};Z.Ptr.prototype.NRGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};Z.prototype.NRGBAAt=function(e,f){return this.$val.NRGBAAt(e,f);};Z.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};Z.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};Z.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBAModel.Convert(g),E.NRGBA),E.NRGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};Z.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};Z.Ptr.prototype.SetNRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.NRGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};Z.prototype.SetNRGBA=function(e,f,g){return this.$val.SetNRGBA(e,f,g);};Z.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new Z.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new Z.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};Z.prototype.SubImage=function(e){return this.$val.SubImage(e);};Z.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};Z.prototype.Opaque=function(){return this.$val.Opaque();};AA=$pkg.NewNRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new Z.Ptr(j,4*h>>0,$clone(e,Q));};AB.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBA64Model;};AB.prototype.ColorModel=function(){return this.$val.ColorModel();};AB.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AB.prototype.Bounds=function(){return this.$val.Bounds();};AB.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBA64At(e,f),new h.constructor.Struct(h));};AB.prototype.At=function(e,f){return this.$val.At(e,f);};AB.Ptr.prototype.NRGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};AB.prototype.NRGBA64At=function(e,f){return this.$val.NRGBA64At(e,f);};AB.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};AB.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AB.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBA64Model.Convert(g),E.NRGBA64),E.NRGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};AB.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AB.Ptr.prototype.SetNRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.NRGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};AB.prototype.SetNRGBA64=function(e,f,g){return this.$val.SetNRGBA64(e,f,g);};AB.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AB.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AB.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AB.prototype.SubImage=function(e){return this.$val.SubImage(e);};AB.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AB.prototype.Opaque=function(){return this.$val.Opaque();};AC=$pkg.NewNRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new AB.Ptr(j,8*h>>0,$clone(e,Q));};AD.Ptr.prototype.ColorModel=function(){var e;e=this;return E.AlphaModel;};AD.prototype.ColorModel=function(){return this.$val.ColorModel();};AD.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AD.prototype.Bounds=function(){return this.$val.Bounds();};AD.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.AlphaAt(e,f),new h.constructor.Struct(h));};AD.prototype.At=function(e,f){return this.$val.At(e,f);};AD.Ptr.prototype.AlphaAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AD.prototype.AlphaAt=function(e,f){return this.$val.AlphaAt(e,f);};AD.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AD.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AD.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.AlphaModel.Convert(g),E.Alpha).A);};AD.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AD.Ptr.prototype.SetAlpha=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Alpha);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.A);};AD.prototype.SetAlpha=function(e,f,g){return this.$val.SetAlpha(e,f,g);};AD.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AD.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AD.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AD.prototype.SubImage=function(e){return this.$val.SubImage(e);};AD.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx();h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(1)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AD.prototype.Opaque=function(){return this.$val.Opaque();};AF.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Alpha16Model;};AF.prototype.ColorModel=function(){return this.$val.ColorModel();};AF.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AF.prototype.Bounds=function(){return this.$val.Bounds();};AF.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Alpha16At(e,f),new h.constructor.Struct(h));};AF.prototype.At=function(e,f){return this.$val.At(e,f);};AF.Ptr.prototype.Alpha16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha16.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AF.prototype.Alpha16At=function(e,f){return this.$val.Alpha16At(e,f);};AF.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AF.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AF.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Alpha16Model.Convert(g),E.Alpha16),E.Alpha16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.A>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.A<<24>>>24));};AF.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AF.Ptr.prototype.SetAlpha16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Alpha16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.A>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.A<<24>>>24));};AF.prototype.SetAlpha16=function(e,f,g){return this.$val.SetAlpha16(e,f,g);};AF.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AF.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AF.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AF.prototype.SubImage=function(e){return this.$val.SubImage(e);};AF.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx()*2>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(2)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AF.prototype.Opaque=function(){return this.$val.Opaque();};AH.Ptr.prototype.ColorModel=function(){var e;e=this;return E.GrayModel;};AH.prototype.ColorModel=function(){return this.$val.ColorModel();};AH.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AH.prototype.Bounds=function(){return this.$val.Bounds();};AH.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.GrayAt(e,f),new h.constructor.Struct(h));};AH.prototype.At=function(e,f){return this.$val.At(e,f);};AH.Ptr.prototype.GrayAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AH.prototype.GrayAt=function(e,f){return this.$val.GrayAt(e,f);};AH.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AH.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AH.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.GrayModel.Convert(g),E.Gray).Y);};AH.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AH.Ptr.prototype.SetGray=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Gray);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.Y);};AH.prototype.SetGray=function(e,f,g){return this.$val.SetGray(e,f,g);};AH.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AH.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AH.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AH.prototype.SubImage=function(e){return this.$val.SubImage(e);};AH.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AH.prototype.Opaque=function(){return this.$val.Opaque();};AI=$pkg.NewGray=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((1*h>>0)*i>>0));return new AH.Ptr(j,1*h>>0,$clone(e,Q));};AJ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Gray16Model;};AJ.prototype.ColorModel=function(){return this.$val.ColorModel();};AJ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AJ.prototype.Bounds=function(){return this.$val.Bounds();};AJ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Gray16At(e,f),new h.constructor.Struct(h));};AJ.prototype.At=function(e,f){return this.$val.At(e,f);};AJ.Ptr.prototype.Gray16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray16.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AJ.prototype.Gray16At=function(e,f){return this.$val.Gray16At(e,f);};AJ.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AJ.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AJ.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Gray16Model.Convert(g),E.Gray16),E.Gray16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.Y>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.Y<<24>>>24));};AJ.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AJ.Ptr.prototype.SetGray16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Gray16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.Y>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.Y<<24>>>24));};AJ.prototype.SetGray16=function(e,f,g){return this.$val.SetGray16(e,f,g);};AJ.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AJ.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AJ.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AJ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AJ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AJ.prototype.Opaque=function(){return this.$val.Opaque();};AK=$pkg.NewGray16=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((2*h>>0)*i>>0));return new AJ.Ptr(j,2*h>>0,$clone(e,Q));};AL.Ptr.prototype.ColorModel=function(){var e;e=this;return e.Palette;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.At=function(e,f){var g,h,i,j,k,l;g=this;if(g.Palette.$length===0){return $ifaceNil;}if(!(new O.Ptr(e,f).In(g.Rect))){return(h=g.Palette,((0<0||0>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));}i=g.PixOffset(e,f);return(j=g.Palette,k=(l=g.Pix,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])),((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));};AL.prototype.At=function(e,f){return this.$val.At(e,f);};AL.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AL.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AL.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=(h.Palette.Index(g)<<24>>>24));};AL.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AL.Ptr.prototype.ColorIndexAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return 0;}h=g.PixOffset(e,f);return(i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));};AL.prototype.ColorIndexAt=function(e,f){return this.$val.ColorIndexAt(e,f);};AL.Ptr.prototype.SetColorIndex=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g);};AL.prototype.SetColorIndex=function(e,f,g){return this.$val.SetColorIndex(e,f,g);};AL.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AL.Ptr(AT.nil,0,new Q.Ptr(),f.Palette);}g=f.PixOffset(e.Min.X,e.Min.Y);return new AL.Ptr($subslice(f.Pix,g),f.Stride,$clone(f.Rect.Intersect(e),Q),f.Palette);};AL.prototype.SubImage=function(e){return this.$val.SubImage(e);};AL.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this;f=$clone(AU.zero(),AU);g=0;h=e.Rect.Dx();i=g;j=h;k=e.Rect.Min.Y;while(k=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);(n<0||n>=f.length)?$throwRuntimeError("index out of range"):f[n]=true;m++;}i=i+(e.Stride)>>0;j=j+(e.Stride)>>0;k=k+(1)>>0;}o=e.Palette;p=0;while(p=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]);if(!((q<0||q>=f.length)?$throwRuntimeError("index out of range"):f[q])){p++;continue;}s=r.RGBA();t=s[3];if(!((t===65535))){return false;}p++;}return true;};AL.prototype.Opaque=function(){return this.$val.Opaque();};AM=$pkg.NewPaletted=function(e,f){var g,h,i,j,k;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=g;j=h;k=AT.make(((1*i>>0)*j>>0));return new AL.Ptr(k,1*i>>0,$clone(e,Q),f);};AN.Ptr.prototype.RGBA=function(){var e=0,f=0,g=0,h=0,i,j;i=this;j=i.C.RGBA();e=j[0];f=j[1];g=j[2];h=j[3];return[e,f,g,h];};AN.prototype.RGBA=function(){return this.$val.RGBA();};AN.Ptr.prototype.ColorModel=function(){var e;e=this;return e;};AN.prototype.ColorModel=function(){return this.$val.ColorModel();};AN.Ptr.prototype.Convert=function(e){var f;f=this;return f.C;};AN.prototype.Convert=function(e){return this.$val.Convert(e);};AN.Ptr.prototype.Bounds=function(){var e;e=this;return new Q.Ptr(new O.Ptr(-1000000000,-1000000000),new O.Ptr(1000000000,1000000000));};AN.prototype.Bounds=function(){return this.$val.Bounds();};AN.Ptr.prototype.At=function(e,f){var g;g=this;return g.C;};AN.prototype.At=function(e,f){return this.$val.At(e,f);};AN.Ptr.prototype.Opaque=function(){var e,f,g;e=this;f=e.C.RGBA();g=f[3];return g===65535;};AN.prototype.Opaque=function(){return this.$val.Opaque();};AO=$pkg.NewUniform=function(e){return new AN.Ptr(e);};AP.prototype.String=function(){var e,f;e=this.$val!==undefined?this.$val:this;f=e;if(f===0){return"YCbCrSubsampleRatio444";}else if(f===1){return"YCbCrSubsampleRatio422";}else if(f===2){return"YCbCrSubsampleRatio420";}else if(f===3){return"YCbCrSubsampleRatio440";}return"YCbCrSubsampleRatioUnknown";};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AQ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.YCbCrModel;};AQ.prototype.ColorModel=function(){return this.$val.ColorModel();};AQ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AQ.prototype.Bounds=function(){return this.$val.Bounds();};AQ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.YCbCrAt(e,f),new h.constructor.Struct(h));};AQ.prototype.At=function(e,f){return this.$val.At(e,f);};AQ.Ptr.prototype.YCbCrAt=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.YCbCr.Ptr(0,0,0);}h=g.YOffset(e,f);i=g.COffset(e,f);return new E.YCbCr.Ptr((j=g.Y,((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])),(k=g.Cb,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),(l=g.Cr,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])));};AQ.prototype.YCbCrAt=function(e,f){return this.$val.YCbCrAt(e,f);};AQ.Ptr.prototype.YOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.YStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.YOffset=function(e,f){return this.$val.YOffset(e,f);};AQ.Ptr.prototype.COffset=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.SubsampleRatio;if(h===1){return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+(((i=e/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"))-(j=g.Rect.Min.X/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===2){return((((k=f/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-(l=g.Rect.Min.Y/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+(((m=e/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))-(n=g.Rect.Min.X/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===3){return((((o=f/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))-(p=g.Rect.Min.Y/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;}return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.COffset=function(e,f){return this.$val.COffset(e,f);};AQ.Ptr.prototype.SubImage=function(e){var f,g,h;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AQ.Ptr(AT.nil,AT.nil,AT.nil,0,0,f.SubsampleRatio,new Q.Ptr());}g=f.YOffset(e.Min.X,e.Min.Y);h=f.COffset(e.Min.X,e.Min.Y);return new AQ.Ptr($subslice(f.Y,g),$subslice(f.Cb,h),$subslice(f.Cr,h),f.YStride,f.CStride,f.SubsampleRatio,$clone(e,Q));};AQ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AQ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AQ.prototype.Opaque=function(){return this.$val.Opaque();};AR=$pkg.NewYCbCr=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=0;j=0;k=g;l=h;m=i;n=j;o=f;if(o===1){m=(p=((e.Max.X+1>>0))/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))-(q=e.Min.X/2,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))>>0;n=l;}else if(o===2){m=(r=((e.Max.X+1>>0))/2,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"))-(s=e.Min.X/2,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"))>>0;n=(t=((e.Max.Y+1>>0))/2,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"))-(u=e.Min.Y/2,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0;}else if(o===3){m=k;n=(v=((e.Max.Y+1>>0))/2,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))-(w=e.Min.Y/2,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0;}else{m=k;n=l;}x=AV.make(((k*l>>0)+((2*m>>0)*n>>0)>>0));return new AQ.Ptr($subslice(x,0,(k*l>>0)),$subslice(x,((k*l>>0)+((0*m>>0)*n>>0)>>0),((k*l>>0)+((1*m>>0)*n>>0)>>0)),$subslice(x,((k*l>>0)+((1*m>>0)*n>>0)>>0),((k*l>>0)+((2*m>>0)*n>>0)>>0)),k,m,f,$clone(e,Q));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AS=$sliceType(F);AT=$sliceType($Uint8);AU=$arrayType($Bool,256);AV=$sliceType($Uint8);AW=$funcType([C.Reader],[T,$error],false);AX=$funcType([C.Reader],[S,$error],false);AY=$ptrType(O);AZ=$ptrType(Q);BA=$ptrType(V);BB=$ptrType(X);BC=$ptrType(Z);BD=$ptrType(AB);BE=$ptrType(AD);BF=$ptrType(AF);BG=$ptrType(AH);BH=$ptrType(AJ);BI=$ptrType(AL);BJ=$ptrType(AN);BK=$ptrType(AP);BL=$ptrType(AQ);F.init([["name","name","image",$String,""],["magic","magic","image",$String,""],["decode","decode","image",AW,""],["decodeConfig","decodeConfig","image",AX,""]]);I.init([["Peek","Peek","",$funcType([$Int],[AV,$error],false)],["Read","Read","",$funcType([AV],[$Int,$error],false)]]);O.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];AY.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];O.init([["X","X","",$Int,""],["Y","Y","",$Int,""]]);Q.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];AZ.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];Q.init([["Min","Min","",O,""],["Max","Max","",O,""]]);S.init([["ColorModel","ColorModel","",E.Model,""],["Width","Width","",$Int,""],["Height","Height","",$Int,""]]);T.init([["At","At","",$funcType([$Int,$Int],[E.Color],false)],["Bounds","Bounds","",$funcType([],[Q],false)],["ColorModel","ColorModel","",$funcType([],[E.Model],false)]]);BA.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBAAt","RGBAAt","",$funcType([$Int,$Int],[E.RGBA],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA","SetRGBA","",$funcType([$Int,$Int,E.RGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];V.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BB.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBA64At","RGBA64At","",$funcType([$Int,$Int],[E.RGBA64],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA64","SetRGBA64","",$funcType([$Int,$Int,E.RGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];X.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BC.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBAAt","NRGBAAt","",$funcType([$Int,$Int],[E.NRGBA],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA","SetNRGBA","",$funcType([$Int,$Int,E.NRGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];Z.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BD.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBA64At","NRGBA64At","",$funcType([$Int,$Int],[E.NRGBA64],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA64","SetNRGBA64","",$funcType([$Int,$Int,E.NRGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AB.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BE.methods=[["AlphaAt","AlphaAt","",$funcType([$Int,$Int],[E.Alpha],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha","SetAlpha","",$funcType([$Int,$Int,E.Alpha],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AD.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BF.methods=[["Alpha16At","Alpha16At","",$funcType([$Int,$Int],[E.Alpha16],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha16","SetAlpha16","",$funcType([$Int,$Int,E.Alpha16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AF.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BG.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["GrayAt","GrayAt","",$funcType([$Int,$Int],[E.Gray],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray","SetGray","",$funcType([$Int,$Int,E.Gray],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AH.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BH.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Gray16At","Gray16At","",$funcType([$Int,$Int],[E.Gray16],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray16","SetGray16","",$funcType([$Int,$Int,E.Gray16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AJ.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BI.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorIndexAt","ColorIndexAt","",$funcType([$Int,$Int],[$Uint8],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetColorIndex","SetColorIndex","",$funcType([$Int,$Int,$Uint8],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AL.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""],["Palette","Palette","",E.Palette,""]]);BJ.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Convert","Convert","",$funcType([E.Color],[E.Color],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AN.init([["C","C","",E.Color,""]]);AP.methods=[["String","String","",$funcType([],[$String],false),-1]];BK.methods=[["String","String","",$funcType([],[$String],false),-1]];BL.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["COffset","COffset","",$funcType([$Int,$Int],[$Int],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1],["YCbCrAt","YCbCrAt","",$funcType([$Int,$Int],[E.YCbCr],false),-1],["YOffset","YOffset","",$funcType([$Int,$Int],[$Int],false),-1]];AQ.init([["Y","Y","",AT,""],["Cb","Cb","",AT,""],["Cr","Cr","",AT,""],["YStride","YStride","",$Int,""],["CStride","CStride","",$Int,""],["SubsampleRatio","SubsampleRatio","",AP,""],["Rect","Rect","",Q,""]]);G=AS.nil;$pkg.ZP=new O.Ptr();$pkg.ZR=new Q.Ptr();$pkg.ErrFormat=B.New("image: unknown format");$pkg.Black=AO((a=E.Black,new a.constructor.Struct(a)));$pkg.White=AO((b=E.White,new b.constructor.Struct(b)));$pkg.Transparent=AO((c=E.Transparent,new c.constructor.Struct(c)));$pkg.Opaque=AO((d=E.Opaque,new d.constructor.Struct(d)));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/draw"]=(function(){var $pkg={},A,B,X,Y,Z,AA,AB,AC,AD,AE,AF,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V;A=$packages["image"];B=$packages["image/color"];H=function(b,c,d,e,f,g){var h,i,j;h=$clone(c.Min,A.Point);$copy(c,c.Intersect(b.Bounds()),A.Rectangle);$copy(c,c.Intersect(d.Bounds().Add(h.Sub(e))),A.Rectangle);if(!($interfaceIsEqual(f,$ifaceNil))){$copy(c,c.Intersect(f.Bounds().Add(h.Sub(g))),A.Rectangle);}i=c.Min.X-h.X>>0;j=c.Min.Y-h.Y>>0;if((i===0)&&(j===0)){return;}e.X=(e).X+(i)>>0;e.Y=(e).Y+(j)>>0;g.X=(g).X+(i)>>0;g.Y=(g).Y+(j)>>0;};I=function(b,c,d,e){e=$clone(e,A.Point);c=$clone(c,A.Rectangle);return $interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))&&(e.Y>0;ag=w-1>>0;ah=-1;w=af;x=ag;y=ah;ai=ad-1>>0;aj=ac-1>>0;ak=-1;ac=ai;ad=aj;ae=ak;}al=$clone(new B.RGBA64.Ptr(),B.RGBA64);am=(e.Y+ac>>0)-c.Min.Y>>0;an=(g.Y+ac>>0)-c.Min.Y>>0;ao=ac;while(!((ao===ad))){ap=(e.X+w>>0)-c.Min.X>>0;aq=(g.X+w>>0)-c.Min.X>>0;ar=w;while(!((ar===x))){as=65535;if(!($interfaceIsEqual(f,$ifaceNil))){at=f.At(aq,an).RGBA();as=at[3];}if(as===0){if(h===0){}else{b.Set(ar,ao,(au=B.Transparent,new au.constructor.Struct(au)));}}else if((as===65535)&&(h===1)){b.Set(ar,ao,d.At(ap,am));}else{av=d.At(ap,am).RGBA();aw=av[0];ax=av[1];ay=av[2];az=av[3];if(h===0){ba=b.At(ar,ao).RGBA();bb=ba[0];bc=ba[1];bd=ba[2];be=ba[3];bg=65535-((bf=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bf===bf&&bf!==1/0&&bf!==-1/0)?bf>>>0:$throwRuntimeError("integer divide by zero")))>>>0;al.R=((bh=((((((bb>>>16<<16)*bg>>>0)+(bb<<16>>>16)*bg)>>>0)+((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)>>>0))/65535,(bh===bh&&bh!==1/0&&bh!==-1/0)?bh>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bi=((((((bc>>>16<<16)*bg>>>0)+(bc<<16>>>16)*bg)>>>0)+((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)>>>0))/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bj=((((((bd>>>16<<16)*bg>>>0)+(bd<<16>>>16)*bg)>>>0)+((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)>>>0))/65535,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bk=((((((be>>>16<<16)*bg>>>0)+(be<<16>>>16)*bg)>>>0)+((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}else{al.R=((bl=((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)/65535,(bl===bl&&bl!==1/0&&bl!==-1/0)?bl>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bm=((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)/65535,(bm===bm&&bm!==1/0&&bm!==-1/0)?bm>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bn=((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bo=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bo===bo&&bo!==1/0&&bo!==-1/0)?bo>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}b.Set(ar,ao,al);}bp=ar+y>>0;bq=ap+y>>0;br=aq+y>>0;ar=bp;ap=bq;aq=br;}bs=ao+ae>>0;bt=am+ae>>0;bu=an+ae>>0;ao=bs;am=bt;an=bu;}};L=function(b,c,d){var e,f,g,h,i,j,k,l,m,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;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];k=(j=(65535-i>>>0),(((j>>>16<<16)*257>>>0)+(j<<16>>>16)*257)>>>0);l=b.PixOffset(c.Min.X,c.Min.Y);m=l+(c.Dx()*4>>0)>>0;n=c.Min.Y;while(!((n===c.Max.Y))){o=l;while(o>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>>0);u=((s=b.Pix,t=o+1>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))>>>0);x=((v=b.Pix,w=o+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]))>>>0);aa=((y=b.Pix,z=o+3>>0,((z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]))>>>0);(ac=b.Pix,ad=o+0>>0,(ad<0||ad>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ad]=(((((ab=((((r>>>16<<16)*k>>>0)+(r<<16>>>16)*k)>>>0)/65535,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"))+f>>>0))>>>8>>>0)<<24>>>24));(af=b.Pix,ag=o+1>>0,(ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]=(((((ae=((((u>>>16<<16)*k>>>0)+(u<<16>>>16)*k)>>>0)/65535,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>>0:$throwRuntimeError("integer divide by zero"))+g>>>0))>>>8>>>0)<<24>>>24));(ai=b.Pix,aj=o+2>>0,(aj<0||aj>=ai.$length)?$throwRuntimeError("index out of range"):ai.$array[ai.$offset+aj]=(((((ah=((((x>>>16<<16)*k>>>0)+(x<<16>>>16)*k)>>>0)/65535,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>>0:$throwRuntimeError("integer divide by zero"))+h>>>0))>>>8>>>0)<<24>>>24));(al=b.Pix,am=o+3>>0,(am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]=(((((ak=((((aa>>>16<<16)*k>>>0)+(aa<<16>>>16)*k)>>>0)/65535,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>>0:$throwRuntimeError("integer divide by zero"))+i>>>0))>>>8>>>0)<<24>>>24));o=o+(4)>>0;}l=l+(b.Stride)>>0;m=m+(b.Stride)>>0;n=n+(1)>>0;}};M=function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];j=b.PixOffset(c.Min.X,c.Min.Y);k=j+(c.Dx()*4>>0)>>0;l=j;while(l>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=((f>>>8>>>0)<<24>>>24));(o=b.Pix,p=l+1>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((g>>>8>>>0)<<24>>>24));(q=b.Pix,r=l+2>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=((h>>>8>>>0)<<24>>>24));(s=b.Pix,t=l+3>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((i>>>8>>>0)<<24>>>24));l=l+(4)>>0;}u=$subslice(b.Pix,j,k);v=c.Min.Y+1>>0;while(v>0;k=k+(b.Stride)>>0;$copySlice($subslice(b.Pix,j,k),u);v=v+(1)>>0;}};N=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=c.Dx();g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;p=0;q=0;r=0;s=p;t=q;u=r;if(c.Min.Y>0;x=4;s=v;t=w;u=x;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;y=((h-1>>0))*4>>0;z=-4;aa=-4;s=y;t=z;u=aa;}while(i>0){ab=$subslice(b.Pix,j);ac=$subslice(d.Pix,k);ad=s;while(!((ad===t))){ag=(ae=((af=ad+0>>0,((af<0||af>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+af]))>>>0),(((ae>>>16<<16)*257>>>0)+(ae<<16>>>16)*257)>>>0);aj=(ah=((ai=ad+1>>0,((ai<0||ai>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ai]))>>>0),(((ah>>>16<<16)*257>>>0)+(ah<<16>>>16)*257)>>>0);am=(ak=((al=ad+2>>0,((al<0||al>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+al]))>>>0),(((ak>>>16<<16)*257>>>0)+(ak<<16>>>16)*257)>>>0);ap=(an=((ao=ad+3>>0,((ao<0||ao>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ao]))>>>0),(((an>>>16<<16)*257>>>0)+(an<<16>>>16)*257)>>>0);ar=((aq=ad+0>>0,((aq<0||aq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aq]))>>>0);at=((as=ad+1>>0,((as<0||as>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+as]))>>>0);av=((au=ad+2>>0,((au<0||au>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+au]))>>>0);ax=((aw=ad+3>>0,((aw<0||aw>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aw]))>>>0);az=(ay=(65535-ap>>>0),(((ay>>>16<<16)*257>>>0)+(ay<<16>>>16)*257)>>>0);(bb=ad+0>>0,(bb<0||bb>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bb]=(((((ba=((((ar>>>16<<16)*az>>>0)+(ar<<16>>>16)*az)>>>0)/65535,(ba===ba&&ba!==1/0&&ba!==-1/0)?ba>>>0:$throwRuntimeError("integer divide by zero"))+ag>>>0))>>>8>>>0)<<24>>>24));(bd=ad+1>>0,(bd<0||bd>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bd]=(((((bc=((((at>>>16<<16)*az>>>0)+(at<<16>>>16)*az)>>>0)/65535,(bc===bc&&bc!==1/0&&bc!==-1/0)?bc>>>0:$throwRuntimeError("integer divide by zero"))+aj>>>0))>>>8>>>0)<<24>>>24));(bf=ad+2>>0,(bf<0||bf>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bf]=(((((be=((((av>>>16<<16)*az>>>0)+(av<<16>>>16)*az)>>>0)/65535,(be===be&&be!==1/0&&be!==-1/0)?be>>>0:$throwRuntimeError("integer divide by zero"))+am>>>0))>>>8>>>0)<<24>>>24));(bh=ad+3>>0,(bh<0||bh>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bh]=(((((bg=((((ax>>>16<<16)*az>>>0)+(ax<<16>>>16)*az)>>>0)/65535,(bg===bg&&bg!==1/0&&bg!==-1/0)?bg>>>0:$throwRuntimeError("integer divide by zero"))+ap>>>0))>>>8>>>0)<<24>>>24));ad=ad+(u)>>0;}j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};O=function(b,c,d,e){var f,g,h,i,j,k,l,m,n,o;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=4*c.Dx()>>0;g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;if(c.Min.Y<=e.Y){n=b.Stride;o=d.Stride;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;}while(i>0){$copySlice($subslice(b.Pix,j,(j+h>>0)),$subslice(d.Pix,k,(k+h>>0)));j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};P=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));ah=((ag=p+0>>0,((ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]))>>>0);aj=((ai=p+1>>0,((ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]))>>>0);al=((ak=p+2>>0,((ak<0||ak>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ak]))>>>0);an=((am=p+3>>0,((am<0||am>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+am]))>>>0);ap=(ao=(65535-t>>>0),(((ao>>>16<<16)*257>>>0)+(ao<<16>>>16)*257)>>>0);(ar=p+0>>0,(ar<0||ar>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ar]=(((((aq=((((ah>>>16<<16)*ap>>>0)+(ah<<16>>>16)*ap)>>>0)/65535,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>>0:$throwRuntimeError("integer divide by zero"))+x>>>0))>>>8>>>0)<<24>>>24));(at=p+1>>0,(at<0||at>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+at]=(((((as=((((aj>>>16<<16)*ap>>>0)+(aj<<16>>>16)*ap)>>>0)/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))+ab>>>0))>>>8>>>0)<<24>>>24));(av=p+2>>0,(av<0||av>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+av]=(((((au=((((al>>>16<<16)*ap>>>0)+(al<<16>>>16)*ap)>>>0)/65535,(au===au&&au!==1/0&&au!==-1/0)?au>>>0:$throwRuntimeError("integer divide by zero"))+af>>>0))>>>8>>>0)<<24>>>24));(ax=p+3>>0,(ax<0||ax>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ax]=(((((aw=((((an>>>16<<16)*ap>>>0)+(an<<16>>>16)*ap)>>>0)/65535,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>>0:$throwRuntimeError("integer divide by zero"))+t>>>0))>>>8>>>0)<<24>>>24));ay=p+4>>0;az=q+4>>0;p=ay;q=az;}ba=j+1>>0;bb=k+1>>0;j=ba;k=bb;}};Q=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));(ag=p+0>>0,(ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]=((x>>>8>>>0)<<24>>>24));(ah=p+1>>0,(ah<0||ah>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ah]=((ab>>>8>>>0)<<24>>>24));(ai=p+2>>0,(ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]=((af>>>8>>>0)<<24>>>24));(aj=p+3>>0,(aj<0||aj>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+aj]=((t>>>8>>>0)<<24>>>24));ak=p+4>>0;al=q+4>>0;p=ak;q=al;}am=j+1>>0;an=k+1>>0;j=am;k=an;}};R=function(b,c,d,e){var f=false,g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=((c.Min.X-b.Rect.Min.X>>0))*4>>0;h=((c.Max.X-b.Rect.Min.X>>0))*4>>0;i=c.Min.Y-b.Rect.Min.Y>>0;j=c.Max.Y-b.Rect.Min.Y>>0;k=d.SubsampleRatio;if(k===0){l=i;m=e.Y;n=l;o=m;while(!((n===j))){p=$subslice(b.Pix,(n*b.Stride>>0));q=(((o-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;r=(((o-d.Rect.Min.Y>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;s=g;while(!((s===h))){t=B.YCbCrToRGB((u=d.Y,((q<0||q>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+q])),(v=d.Cb,((r<0||r>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+r])),(w=d.Cr,((r<0||r>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+r])));x=t[0];y=t[1];z=t[2];(aa=s+0>>0,(aa<0||aa>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+aa]=x);(ab=s+1>>0,(ab<0||ab>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ab]=y);(ac=s+2>>0,(ac<0||ac>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ac]=z);(ad=s+3>>0,(ad<0||ad>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ad]=255);ae=s+4>>0;af=q+1>>0;ag=r+1>>0;s=ae;q=af;r=ag;}ah=n+1>>0;ai=o+1>>0;n=ah;o=ai;}}else if(k===1){aj=i;ak=e.Y;al=aj;am=ak;while(!((al===j))){an=$subslice(b.Pix,(al*b.Stride>>0));ao=(((am-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;aq=(((am-d.Rect.Min.Y>>0))*d.CStride>>0)-(ap=d.Rect.Min.X/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"))>>0;ar=g;as=e.X;at=ar;au=as;while(!((at===h))){aw=aq+(av=au/2,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"))>>0;ax=B.YCbCrToRGB((ay=d.Y,((ao<0||ao>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+ao])),(az=d.Cb,((aw<0||aw>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+aw])),(ba=d.Cr,((aw<0||aw>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+aw])));bb=ax[0];bc=ax[1];bd=ax[2];(be=at+0>>0,(be<0||be>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+be]=bb);(bf=at+1>>0,(bf<0||bf>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bf]=bc);(bg=at+2>>0,(bg<0||bg>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bg]=bd);(bh=at+3>>0,(bh<0||bh>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bh]=255);bi=at+4>>0;bj=au+1>>0;bk=ao+1>>0;at=bi;au=bj;ao=bk;}bl=al+1>>0;bm=am+1>>0;al=bl;am=bm;}}else if(k===2){bn=i;bo=e.Y;bp=bn;bq=bo;while(!((bp===j))){br=$subslice(b.Pix,(bp*b.Stride>>0));bs=(((bq-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;bw=((((bt=bq/2,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>0:$throwRuntimeError("integer divide by zero"))-(bu=d.Rect.Min.Y/2,(bu===bu&&bu!==1/0&&bu!==-1/0)?bu>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)-(bv=d.Rect.Min.X/2,(bv===bv&&bv!==1/0&&bv!==-1/0)?bv>>0:$throwRuntimeError("integer divide by zero"))>>0;bx=g;by=e.X;bz=bx;ca=by;while(!((bz===h))){cc=bw+(cb=ca/2,(cb===cb&&cb!==1/0&&cb!==-1/0)?cb>>0:$throwRuntimeError("integer divide by zero"))>>0;cd=B.YCbCrToRGB((ce=d.Y,((bs<0||bs>=ce.$length)?$throwRuntimeError("index out of range"):ce.$array[ce.$offset+bs])),(cf=d.Cb,((cc<0||cc>=cf.$length)?$throwRuntimeError("index out of range"):cf.$array[cf.$offset+cc])),(cg=d.Cr,((cc<0||cc>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+cc])));ch=cd[0];ci=cd[1];cj=cd[2];(ck=bz+0>>0,(ck<0||ck>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+ck]=ch);(cl=bz+1>>0,(cl<0||cl>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cl]=ci);(cm=bz+2>>0,(cm<0||cm>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cm]=cj);(cn=bz+3>>0,(cn<0||cn>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cn]=255);co=bz+4>>0;cp=ca+1>>0;cq=bs+1>>0;bz=co;ca=cp;bs=cq;}cr=bp+1>>0;cs=bq+1>>0;bp=cr;bq=cs;}}else if(k===3){ct=i;cu=e.Y;cv=ct;cw=cu;while(!((cv===j))){cx=$subslice(b.Pix,(cv*b.Stride>>0));cy=(((cw-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;db=((((cz=cw/2,(cz===cz&&cz!==1/0&&cz!==-1/0)?cz>>0:$throwRuntimeError("integer divide by zero"))-(da=d.Rect.Min.Y/2,(da===da&&da!==1/0&&da!==-1/0)?da>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;dc=g;while(!((dc===h))){dd=B.YCbCrToRGB((de=d.Y,((cy<0||cy>=de.$length)?$throwRuntimeError("index out of range"):de.$array[de.$offset+cy])),(df=d.Cb,((db<0||db>=df.$length)?$throwRuntimeError("index out of range"):df.$array[df.$offset+db])),(dg=d.Cr,((db<0||db>=dg.$length)?$throwRuntimeError("index out of range"):dg.$array[dg.$offset+db])));dh=dd[0];di=dd[1];dj=dd[2];(dk=dc+0>>0,(dk<0||dk>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dk]=dh);(dl=dc+1>>0,(dl<0||dl>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dl]=di);(dm=dc+2>>0,(dm<0||dm>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dm]=dj);(dn=dc+3>>0,(dn<0||dn>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dn]=255);dp=dc+4>>0;dq=cy+1>>0;dr=db+1>>0;dc=dp;cy=dq;db=dr;}ds=cv+1>>0;dt=cw+1>>0;cv=ds;cw=dt;}}else{f=false;return f;}f=true;return f;};S=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be;f=$clone(f,A.Point);c=$clone(c,A.Rectangle);g=b.PixOffset(c.Min.X,c.Min.Y);h=g+(c.Dx()*4>>0)>>0;i=e.PixOffset(f.X,f.Y);j=d.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=c.Min.Y;p=f.Y;q=o;r=p;while(!((q===c.Max.Y))){s=g;t=i;u=s;v=t;while(u=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+v]))>>>0);if(x===0){y=u+4>>0;z=v+1>>0;u=y;v=z;continue;}x=(x|((x<<8>>>0)))>>>0;ac=((aa=b.Pix,ab=u+0>>0,((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]))>>>0);af=((ad=b.Pix,ae=u+1>>0,((ae<0||ae>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]))>>>0);ai=((ag=b.Pix,ah=u+2>>0,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]))>>>0);al=((aj=b.Pix,ak=u+3>>0,((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]))>>>0);ao=(am=(65535-((an=((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((am>>>16<<16)*257>>>0)+(am<<16>>>16)*257)>>>0);(aq=b.Pix,ar=u+0>>0,(ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=(((ap=((((((ac>>>16<<16)*ao>>>0)+(ac<<16>>>16)*ao)>>>0)+((((k>>>16<<16)*x>>>0)+(k<<16>>>16)*x)>>>0)>>>0))/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(at=b.Pix,au=u+1>>0,(au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=(((as=((((((af>>>16<<16)*ao>>>0)+(af<<16>>>16)*ao)>>>0)+((((l>>>16<<16)*x>>>0)+(l<<16>>>16)*x)>>>0)>>>0))/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(aw=b.Pix,ax=u+2>>0,(ax<0||ax>=aw.$length)?$throwRuntimeError("index out of range"):aw.$array[aw.$offset+ax]=(((av=((((((ai>>>16<<16)*ao>>>0)+(ai<<16>>>16)*ao)>>>0)+((((m>>>16<<16)*x>>>0)+(m<<16>>>16)*x)>>>0)>>>0))/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(az=b.Pix,ba=u+3>>0,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=(((ay=((((((al>>>16<<16)*ao>>>0)+(al<<16>>>16)*ao)>>>0)+((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)>>>0))/65535,(ay===ay&&ay!==1/0&&ay!==-1/0)?ay>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));bb=u+4>>0;bc=v+1>>0;u=bb;v=bc;}g=g+(b.Stride)>>0;h=h+(b.Stride)>>0;i=i+(e.Stride)>>0;bd=q+1>>0;be=r+1>>0;q=bd;r=be;}};T=function(b,c,d,e,f,g,h){var i,j,k,l,m,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,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;g=$clone(g,A.Point);e=$clone(e,A.Point);c=$clone(c,A.Rectangle);i=c.Min.X;j=c.Max.X;k=1;l=i;m=j;n=k;o=c.Min.Y;p=c.Max.Y;q=1;r=o;s=p;t=q;if($interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))){if(e.Y>0;v=l-1>>0;w=-1;l=u;m=v;n=w;x=s-1>>0;y=r-1>>0;z=-1;r=x;s=y;t=z;}}aa=(e.Y+r>>0)-c.Min.Y>>0;ab=(g.Y+r>>0)-c.Min.Y>>0;ac=(e.X+l>>0)-c.Min.X>>0;ad=(g.X+l>>0)-c.Min.X>>0;ae=ac+((m-l>>0))>>0;af=b.PixOffset(l,r);ag=n*4>>0;ah=r;while(!((ah===s))){ai=af;aj=ac;ak=ad;al=ai;am=aj;an=ak;while(!((am===ae))){ao=65535;if(!($interfaceIsEqual(f,$ifaceNil))){ap=f.At(an,ab).RGBA();ao=ap[3];}aq=d.At(am,aa).RGBA();ar=aq[0];as=aq[1];at=aq[2];au=aq[3];if(h===0){ax=((av=b.Pix,aw=al+0>>0,((aw<0||aw>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]))>>>0);ba=((ay=b.Pix,az=al+1>>0,((az<0||az>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+az]))>>>0);bd=((bb=b.Pix,bc=al+2>>0,((bc<0||bc>=bb.$length)?$throwRuntimeError("index out of range"):bb.$array[bb.$offset+bc]))>>>0);bg=((be=b.Pix,bf=al+3>>0,((bf<0||bf>=be.$length)?$throwRuntimeError("index out of range"):be.$array[be.$offset+bf]))>>>0);bj=(bh=(65535-((bi=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((bh>>>16<<16)*257>>>0)+(bh<<16>>>16)*257)>>>0);(bl=b.Pix,bm=al+0>>0,(bm<0||bm>=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bm]=(((bk=((((((ax>>>16<<16)*bj>>>0)+(ax<<16>>>16)*bj)>>>0)+((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bo=b.Pix,bp=al+1>>0,(bp<0||bp>=bo.$length)?$throwRuntimeError("index out of range"):bo.$array[bo.$offset+bp]=(((bn=((((((ba>>>16<<16)*bj>>>0)+(ba<<16>>>16)*bj)>>>0)+((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)>>>0))/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(br=b.Pix,bs=al+2>>0,(bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]=(((bq=((((((bd>>>16<<16)*bj>>>0)+(bd<<16>>>16)*bj)>>>0)+((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)>>>0))/65535,(bq===bq&&bq!==1/0&&bq!==-1/0)?bq>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bu=b.Pix,bv=al+3>>0,(bv<0||bv>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bv]=(((bt=((((((bg>>>16<<16)*bj>>>0)+(bg<<16>>>16)*bj)>>>0)+((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)>>>0))/65535,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}else{(bx=b.Pix,by=al+0>>0,(by<0||by>=bx.$length)?$throwRuntimeError("index out of range"):bx.$array[bx.$offset+by]=(((bw=((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)/65535,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(ca=b.Pix,cb=al+1>>0,(cb<0||cb>=ca.$length)?$throwRuntimeError("index out of range"):ca.$array[ca.$offset+cb]=(((bz=((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)/65535,(bz===bz&&bz!==1/0&&bz!==-1/0)?bz>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cd=b.Pix,ce=al+2>>0,(ce<0||ce>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+ce]=(((cc=((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cg=b.Pix,ch=al+3>>0,(ch<0||ch>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+ch]=(((cf=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}ci=al+ag>>0;cj=am+n>>0;ck=an+n>>0;al=ci;am=cj;an=ck;}af=af+((t*b.Stride>>0))>>0;cl=ah+t>>0;cm=aa+t>>0;cn=ab+t>>0;ah=cl;aa=cm;ab=cn;}};U=function(b){if(b<0){return 0;}if(b>65535){return 65535;}return b;};V=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=AE.nil;h=AF.nil;i=0;j=g;k=h;l=i;m=$assertType(b,Y,true);n=m[0];o=m[1];if(o){j=AE.make(n.Palette.$length);p=n.Palette;q=0;while(q=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]);t=s.RGBA();u=t[0];v=t[1];w=t[2];((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[0]=(u>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[1]=(v>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[2]=(w>>0);q++;}x=$subslice(n.Pix,n.PixOffset(c.Min.X,c.Min.Y));y=n.Stride;k=x;l=y;}z=AE.nil;aa=AE.nil;ab=z;ac=aa;if(f){ab=AE.make((c.Dx()+2>>0));ac=AE.make((c.Dx()+2>>0));}ad=new B.RGBA64.Ptr(0,0,0,65535);ae=0;while(!((ae===c.Dy()))){af=0;while(!((af===c.Dx()))){ag=d.At(e.X+af>>0,e.Y+ae>>0).RGBA();ah=ag[0];ai=ag[1];aj=ag[2];ak=(ah>>0);al=(ai>>0);am=(aj>>0);an=ak;ao=al;ap=am;if(f){an=U(an+(aq=(ar=af+1>>0,((ar<0||ar>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ar]))[0]/16,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero"))>>0);ao=U(ao+(as=(at=af+1>>0,((at<0||at>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+at]))[1]/16,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>0);ap=U(ap+(au=(av=af+1>>0,((av<0||av>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+av]))[2]/16,(au===au&&au!==1/0&&au!==-1/0)?au>>0:$throwRuntimeError("integer divide by zero"))>>0);}if(!(j===AE.nil)){aw=0;ax=4294967295;ay=aw;az=ax;ba=j;bb=0;while(bb=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+bb]),AD);be=((an-bd[0]>>0))>>1>>0;bf=(((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0);be=((ao-bd[1]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;be=((ap-bd[2]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;if(bf>0)+af>>0,(bi<0||bi>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bi]=(ay<<24>>>24));if(!f){af=af+(1)>>0;continue;}an=an-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[0])>>0;ao=ao-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[1])>>0;ap=ap-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[2])>>0;}else{ad.R=(an<<16>>>16);ad.G=(ao<<16>>>16);ad.B=(ap<<16>>>16);b.Set(c.Min.X+af>>0,c.Min.Y+ae>>0,ad);if(!f){af=af+(1)>>0;continue;}bj=b.At(c.Min.X+af>>0,c.Min.Y+ae>>0).RGBA();ah=bj[0];ai=bj[1];aj=bj[2];an=an-((ah>>0))>>0;ao=ao-((ai>>0))>>0;ap=ap-((aj>>0))>>0;}bk=(bm=af+0>>0,((bm<0||bm>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bm]));bl=0;(bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl]=((bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl])+(((((an>>>16<<16)*3>>0)+(an<<16>>>16)*3)>>0))>>0;bn=(bp=af+0>>0,((bp<0||bp>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bp]));bo=1;(bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo]=((bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo])+(((((ao>>>16<<16)*3>>0)+(ao<<16>>>16)*3)>>0))>>0;bq=(bs=af+0>>0,((bs<0||bs>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bs]));br=2;(br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br]=((br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br])+(((((ap>>>16<<16)*3>>0)+(ap<<16>>>16)*3)>>0))>>0;bt=(bv=af+1>>0,((bv<0||bv>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bv]));bu=0;(bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu]=((bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu])+(((((an>>>16<<16)*5>>0)+(an<<16>>>16)*5)>>0))>>0;bw=(by=af+1>>0,((by<0||by>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+by]));bx=1;(bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx]=((bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx])+(((((ao>>>16<<16)*5>>0)+(ao<<16>>>16)*5)>>0))>>0;bz=(cb=af+1>>0,((cb<0||cb>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cb]));ca=2;(ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca]=((ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca])+(((((ap>>>16<<16)*5>>0)+(ap<<16>>>16)*5)>>0))>>0;cc=(ce=af+2>>0,((ce<0||ce>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ce]));cd=0;(cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd]=((cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd])+(((((an>>>16<<16)*1>>0)+(an<<16>>>16)*1)>>0))>>0;cf=(ch=af+2>>0,((ch<0||ch>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ch]));cg=1;(cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg]=((cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg])+(((((ao>>>16<<16)*1>>0)+(ao<<16>>>16)*1)>>0))>>0;ci=(ck=af+2>>0,((ck<0||ck>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ck]));cj=2;(cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj]=((cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj])+(((((ap>>>16<<16)*1>>0)+(ap<<16>>>16)*1)>>0))>>0;cl=(cn=af+2>>0,((cn<0||cn>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cn]));cm=0;(cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm]=((cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm])+(((((an>>>16<<16)*7>>0)+(an<<16>>>16)*7)>>0))>>0;co=(cq=af+2>>0,((cq<0||cq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cq]));cp=1;(cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp]=((cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp])+(((((ao>>>16<<16)*7>>0)+(ao<<16>>>16)*7)>>0))>>0;cr=(ct=af+2>>0,((ct<0||ct>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ct]));cs=2;(cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs]=((cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs])+(((((ap>>>16<<16)*7>>0)+(ap<<16>>>16)*7)>>0))>>0;af=af+(1)>>0;}if(f){cu=ac;cv=ab;ab=cu;ac=cv;cw=ac;cx=0;while(cx=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cy]),AD.zero(),AD);cx++;}}ae=ae+(1)>>0;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}X=$ptrType(A.RGBA);Y=$ptrType(A.Paletted);Z=$ptrType(A.Uniform);AA=$ptrType(A.NRGBA);AB=$ptrType(A.YCbCr);AC=$ptrType(A.Alpha);AD=$arrayType($Int32,3);AE=$sliceType(AD);AF=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal/graphics"]=(function(){var $pkg={},D,A,B,C,E,F,Q,R,S,T,U,V,W,X,H,K,L,N,G,I,J,M,O,P;D=$packages["errors"];A=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics/internal/shader"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];E=$packages["image"];F=$packages["image/draw"];H=$pkg.Framebuffer=$newType(0,$kindStruct,"graphics.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_,flipY_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flipY=flipY_!==undefined?flipY_:false;});K=$pkg.Matrix=$newType(8,$kindInterface,"graphics.Matrix","Matrix","github.com/hajimehoshi/ebiten/internal/graphics",null);L=$pkg.TextureQuads=$newType(8,$kindInterface,"graphics.TextureQuads","TextureQuads","github.com/hajimehoshi/ebiten/internal/graphics",null);N=$pkg.Texture=$newType(0,$kindStruct,"graphics.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});G=function(a,b,c,d){var e,f,g,h;e=2/(b-a>>0);f=2/(d-c>>0);g=-1*(b+a>>0)/(b-a>>0);h=-1*(d+c>>0)/(d-c>>0);return $toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,0,0,g]),$toNativeArray($kindFloat64,[0,f,0,h]),$toNativeArray($kindFloat64,[0,0,1,0]),$toNativeArray($kindFloat64,[0,0,0,1])]);};I=$pkg.NewZeroFramebuffer=function(a,b,c){var d;d=new H.Ptr($ifaceNil,b,c,true);return[d,$ifaceNil];};J=$pkg.NewFramebufferFromTexture=function(a,b){var c,d,e,f,g,h;c=a.NewFramebuffer(b.native$0);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[R.nil,e];}f=b.Size();g=f[0];h=f[1];return[new H.Ptr(d,g,h,false),$ifaceNil];};H.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};H.prototype.Size=function(){return this.$val.Size();};H.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteFramebuffer(b.native$0);};H.prototype.Dispose=function(a){return this.$val.Dispose(a);};H.Ptr.prototype.setAsViewport=function(a){var b,c,d;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);return a.SetViewport(b.native$0,c,d);};H.prototype.setAsViewport=function(a){return this.$val.setAsViewport(a);};H.Ptr.prototype.projectionMatrix=function(){var a,b,c,d,e,f,g,h;a=this;b=A.NextPowerOf2Int(a.width);c=A.NextPowerOf2Int(a.height);d=G(0,b,0,c);if(a.flipY){e=(d.nilCheck,d[1]);f=1;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(-1);g=(d.nilCheck,d[1]);h=3;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])+(a.height/A.NextPowerOf2Int(a.height)*2);}return d;};H.prototype.projectionMatrix=function(){return this.$val.projectionMatrix();};H.Ptr.prototype.Fill=function(a,b,c,d,e){var f,g;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return a.FillFramebuffer(f.native$0,b,c,d,e);};H.prototype.Fill=function(a,b,c,d,e){return this.$val.Fill(a,b,c,d,e);};H.Ptr.prototype.DrawTexture=function(a,b,c,d,e){var f,g,h;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=f.projectionMatrix();return B.DrawTexture(a,b.native$0,h,c,d,e);};H.prototype.DrawTexture=function(a,b,c,d,e){return this.$val.DrawTexture(a,b,c,d,e);};M=function(a){var b,c,d,e,f,g,h,i,j,k;b=a.Bounds().Size().X;c=a.Bounds().Size().Y;d=b;e=c;f=new E.Rectangle.Ptr($clone(E.ZP,E.Point),new E.Point.Ptr(A.NextPowerOf2Int(d),A.NextPowerOf2Int(e)));g=$assertType(a,S,true);h=g[0];i=g[1];if(i&&$equal(a.Bounds(),f,E.Rectangle)){return h;}j=E.NewRGBA(f);k=new E.Rectangle.Ptr($clone(E.ZP,E.Point),$clone(a.Bounds().Size(),E.Point));F.Draw(j,k,a,E.ZP,1);return j;};N.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};N.prototype.Size=function(){return this.$val.Size();};O=$pkg.NewTexture=function(a,b,c,d){var e,f,g,h,i;e=A.NextPowerOf2Int(b);f=A.NextPowerOf2Int(c);if(e<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(f<4){return[T.nil,D.New("height must be equal or more than 4.")];}g=a.NewTexture(e,f,U.nil,d);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,b,c),$ifaceNil];};P=$pkg.NewTextureFromImage=function(a,b,c){var d,e,f,g,h,i;d=$clone(b.Bounds().Size(),E.Point);if(d.X<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(d.Y<4){return[T.nil,D.New("height must be equal or more than 4.")];}e=M(b);f=$clone(e.Bounds().Size(),E.Point);g=a.NewTexture(f.X,f.Y,e.Pix,c);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,d.X,d.Y),$ifaceNil];};N.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteTexture(b.native$0);};N.prototype.Dispose=function(a){return this.$val.Dispose(a);};N.Ptr.prototype.Pixels=function(a){var b,c,d,e,f;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);e=c;f=d;return a.TexturePixels(b.native$0,e,f);};N.prototype.Pixels=function(a){return this.$val.Pixels(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Q=$arrayType($Float64,4);R=$ptrType(H);S=$ptrType(E.RGBA);T=$ptrType(N);U=$sliceType($Uint8);V=$ptrType(C.Context);W=$arrayType(Q,4);X=$ptrType(W);R.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["DrawTexture","DrawTexture","",$funcType([V,T,L,K,K],[$error],false),-1],["Fill","Fill","",$funcType([V,$Float64,$Float64,$Float64,$Float64],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["projectionMatrix","projectionMatrix","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([],[X],false),-1],["setAsViewport","setAsViewport","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([V],[$error],false),-1]];H.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Framebuffer,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["flipY","flipY","github.com/hajimehoshi/ebiten/internal/graphics",$Bool,""]]);K.init([["Element","Element","",$funcType([$Int,$Int],[$Float64],false)]]);L.init([["Len","Len","",$funcType([],[$Int],false)],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)]]);T.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["Pixels","Pixels","",$funcType([V],[U,$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1]];N.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Texture,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,E,W,X,Y,Z,AA,AB,AC,AD,K,L,M,F,G,N,O,a,b,P,Q,R,S,T,U,V;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$packages["time"];K=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);M=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AB.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AC.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});M.Ptr.prototype.keyDown=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=true);};M.prototype.keyDown=function(c){return this.$val.keyDown(c);};M.Ptr.prototype.keyUp=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=false);};M.prototype.keyUp=function(c){return this.$val.keyUp(c);};P=$pkg.Use=function(c){c(O);};Q=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=E.Sleep(new E.Duration(0,0),$BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.Terminate=function(){};S=$pkg.IsClosed=function(){return false;};T=$pkg.SwapBuffers=function(){};U=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new Y(0);$global.window.onload=$externalize((function(){$close(c);}),Z);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;N=e.createElement($externalize("canvas",$String));N.width=16;N.height=16;e.body.appendChild(N);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);h=N.style;h.position=$externalize("absolute",$String);i=B.NewContext(N,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}O=C.NewContext(j);N.setAttribute($externalize("tabindex",$String),1);N.style.outline=$externalize("none",$String);N.onkeydown=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyDown(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);N.onkeyup=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyUp(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);case-1:}return;}};$f.$blocking=true;return $f;};V=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n;i=$global.document;i.title=$externalize(f,$String);N.width=c*e>>0;N.height=d*e>>0;j=N.style;j.left=$externalize("calc(50% - "+D.Itoa((k=(c*e>>0)/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((l=(d*e>>0)/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);m=e;n=$ifaceNil;g=m;h=n;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}W=$ptrType(C.Context);X=$structType([]);Y=$chanType(X,false,false);Z=$funcType([],[],false);AA=$funcType([A.Object],[],false);AB=$arrayType($Bool,5);AC=$arrayType($Bool,3);AD=$ptrType(M);AD.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([K],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];M.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AB,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AC,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);G=new M.Ptr();N=null;O=W.nil;F=(a=new $Map(),b=32,a[b]={k:b,v:4},b=37,a[b]={k:b,v:2},b=39,a[b]={k:b,v:3},b=38,a[b]={k:b,v:0},b=40,a[b]={k:b,v:1},a);$r=U($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,B,C,D,E,G,A,H,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,M,W,AD,AE,AG,AH,AK,AL,AM,AN,AO,K,L,U,V,Z,AB,AC,AF,AI,AJ,AR;F=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];G=$packages["image/color"];A=$packages["math"];H=$packages["time"];M=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AT.zero();});W=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AZ.zero();});AD=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BB.nil;this.screen=screen_!==undefined?screen_:AU.nil;this.defaultR=defaultR_!==undefined?defaultR_:AU.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AE=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BG.nil;this.texture=texture_!==undefined?texture_:AV.nil;});AG=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AH=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AK=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AU.nil;this.pixels=pixels_!==undefined?pixels_:AX.nil;});AM=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AN=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AO=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new W.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new M.Ptr();this.Parts=Parts_!==undefined?Parts_:BC.nil;});K=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};L=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};M.Ptr.prototype.dim=function(){var a;a=this;return 5;};M.prototype.dim=function(){return this.$val.dim();};M.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};M.prototype.initialize=function(){return this.$val.initialize();};M.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};M.prototype.Element=function(a,b){return this.$val.Element(a,b);};M.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());L(a,b,c);$copy(b,c,M);};M.prototype.Concat=function(a){return this.$val.Concat(a);};M.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());K(a,b,c);$copy(b,c,M);};M.prototype.Add=function(a){return this.$val.Add(a);};M.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};M.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};M.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};M.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};M.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};M.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};U=$pkg.NewImage=function(a,b,c){var d,e;d=AU.nil;e=$ifaceNil;D.Use((function(f){var g,h,i;g=AV.nil;h=B.NewTexture(f,a,b,AB(f,c));g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return;}i=AF(f,g);d=i[0];e=i[1];d.Clear(f);}));if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AL.Ptr(d,AX.nil),$ifaceNil];};V=$pkg.NewImageFromImage=function(a,b){var c,d;c=AU.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AV.nil;g=B.NewTextureFromImage(e,a,AB(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AF(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AW.nil,d];}return[new AL.Ptr(c,AX.nil),$ifaceNil];};W.Ptr.prototype.dim=function(){var a;a=this;return 3;};W.prototype.dim=function(){return this.$val.dim();};W.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};W.prototype.initialize=function(){return this.$val.initialize();};W.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};W.prototype.Element=function(a,b){return this.$val.Element(a,b);};W.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());L(a,b,c);$copy(b,c,W);};W.prototype.Concat=function(a){return this.$val.Concat(a);};W.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());K(a,b,c);$copy(b,c,W);};W.prototype.Add=function(a){return this.$val.Add(a);};W.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};W.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};W.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};W.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};W.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(Z(a));};W.prototype.Rotate=function(a){return this.$val.Rotate(a);};W.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};W.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};Z=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new W.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AB=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AC=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}j=AF(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}return[new AD.Ptr(a,k,new AE.Ptr(f,AV.nil),d),$ifaceNil];};AD.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AD.prototype.preUpdate=function(){return this.$val.preUpdate();};AD.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AD.prototype.postUpdate=function(){return this.$val.postUpdate();};AF=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AU.nil,e];}return[new AE.Ptr(d,b),$ifaceNil];};AE.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AE.prototype.size=function(){return this.$val.size();};AE.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=G.Transparent,new c.constructor.Struct(c)));};AE.prototype.Clear=function(a){return this.$val.Clear(a);};AE.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=F.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AE.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AG.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AG).prototype.Len=function(){return this.$get().Len();};AG.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Dst=function(a){return this.$get().Dst(a);};AG.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Src=function(a){return this.$get().Src(a);};AH.Ptr.prototype.Len=function(){var a;a=this;return 1;};AH.prototype.Len=function(){return this.$val.Len();};AH.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Dst=function(a){return this.$val.Dst(a);};AH.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Src=function(a){return this.$val.Src(a);};AE.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BD.nil){c=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BC.nil)){e=$subslice(new AG(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AH.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AK.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AE.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AI=function(a,b){return a/F.NextPowerOf2Int(b);};AJ=function(a,b){return a/F.NextPowerOf2Int(b);};AK.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AK.prototype.Len=function(){return this.$val.Len();};AK.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AK.prototype.Vertex=function(a){return this.$val.Vertex(a);};AK.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AI(h,n);q=AJ(i,o);r=AI(j,n);s=AJ(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AK.prototype.Texture=function(a){return this.$val.Texture(a);};AL.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AL.prototype.Size=function(){return this.$val.Size();};AL.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AX.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AL.prototype.Clear=function(){return this.$val.Clear();};AL.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AX.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AL.prototype.Fill=function(a){return this.$val.Fill(a);};AL.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;c=d.drawImage(a.inner,b);return c;};AL.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AL.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AX.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AL.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AL.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.ColorModel=function(){var a;a=this;return G.RGBAModel;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AX.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=F.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new G.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AL.prototype.At=function(a,b){return this.$val.At(a,b);};AR=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BA.nil;D.Use((function(j){var k;k=AC(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}case 1:if(!(true)){$s=2;continue;}j=H.After(new H.Duration(0,8333333));$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(k){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}k=a(new AL.Ptr(i.screen,AX.nil));if(!($interfaceIsEqual(k,$ifaceNil))){return k;}D.Use((function(l){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=$recv(j,$BLOCKING);$s=4;case 4:if(l&&l.$blocking){l=l();}l[0];$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}AS=$arrayType($Float64,5);AT=$arrayType(AS,4);AU=$ptrType(AE);AV=$ptrType(B.Texture);AW=$ptrType(AL);AX=$sliceType($Uint8);AY=$arrayType($Float64,3);AZ=$arrayType(AY,2);BA=$ptrType(AD);BB=$ptrType(C.Context);BC=$sliceType(AM);BD=$ptrType(AO);BE=$ptrType(M);BF=$ptrType(W);BG=$ptrType(B.Framebuffer);BH=$ptrType(AG);BI=$ptrType(AH);BJ=$ptrType(AK);BE.methods=[["Add","Add","",$funcType([M],[],false),-1],["Concat","Concat","",$funcType([M],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];M.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AT,""]]);BF.methods=[["Add","Add","",$funcType([W],[],false),-1],["Concat","Concat","",$funcType([W],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];W.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AZ,""]]);BA.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AD.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BB,""],["screen","screen","github.com/hajimehoshi/ebiten",AU,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AU,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AU.methods=[["Clear","Clear","",$funcType([BB],[$error],false),-1],["Fill","Fill","",$funcType([BB,G.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BB,AU,BD],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AE.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BG,""],["texture","texture","github.com/hajimehoshi/ebiten",AV,""]]);AG.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AG.init(AM);BI.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BJ.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AK.init([["parts","parts","github.com/hajimehoshi/ebiten",AN,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["At","At","",$funcType([$Int,$Int],[G.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[G.Model],false),-1],["DrawImage","DrawImage","",$funcType([AW,BD],[$error],false),-1],["Fill","Fill","",$funcType([G.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AU,BD],[$error],false),-1]];AL.init([["inner","inner","github.com/hajimehoshi/ebiten",AU,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AX,""]]);AM.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AN.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AO.init([["ImageParts","ImageParts","",AN,""],["GeoM","GeoM","",W,""],["ColorM","ColorM","",M,""],["Parts","Parts","",BC,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,AB,AC,AD,AE,AF,E,J,L,F,K,M,N,a,b,O,P,Q,R,S,T,U,V,W,X;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AE.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AE.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});J=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);E.Ptr.prototype.keyDown=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=true);};E.prototype.keyDown=function(c){return this.$val.keyDown(c);};E.Ptr.prototype.keyUp=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=false);};E.prototype.keyUp=function(c){return this.$val.keyUp(c);};E.Ptr.prototype.mouseDown=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=true;}else if(f===1){e.nilCheck,e[2]=true;}else if(f===2){e.nilCheck,e[1]=true;}};E.prototype.mouseDown=function(c){return this.$val.mouseDown(c);};E.Ptr.prototype.mouseUp=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=false;}else if(f===1){e.nilCheck,e[2]=false;}else if(f===2){e.nilCheck,e[1]=false;}};E.prototype.mouseUp=function(c){return this.$val.mouseUp(c);};E.Ptr.prototype.mouseMove=function(c,d){var e,f,g;e=this;f=c;g=d;e.cursorX=f;e.cursorY=g;};E.prototype.mouseMove=function(c,d){return this.$val.mouseMove(c,d);};O=function(){return!!!($global.document.hidden);};P=$pkg.Use=function(c){c(N);};Q=function($b){var $this=this,$args=arguments,$r,$s=0,c,d;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.requestAnimationFrame($externalize((function(){$close(c);}),AB));d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=Q($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case 2:if(!(!O())){$s=3;continue;}$r=Q($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$s=2;continue;case 3:case-1:}return;}};$f.$blocking=true;return $f;};S=$pkg.Terminate=function(){};T=$pkg.IsClosed=function(){return false;};U=$pkg.SwapBuffers=function(){};V=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.onload=$externalize((function(){$close(c);}),AB);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;e.onkeydown=$externalize((function(f){var g;g=$parseInt(f.keyCode)>>0;if(g===8){return false;}if(112<=g&&g<=123){return false;}if((g===37)&&(g===39)){return false;}return true;}),AC);M=e.createElement($externalize("canvas",$String));M.width=16;M.height=16;e.body.appendChild(M);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);e.body.onclick=$externalize((function(){M.focus();}),AB);h=M.style;h.position=$externalize("absolute",$String);i=B.NewContext(M,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}N=C.NewContext(j);M.setAttribute($externalize("tabindex",$String),1);M.style.outline=$externalize("none",$String);M.onkeydown=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyDown(m);return false;}),AC);M.onkeyup=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyUp(m);return false;}),AC);M.onmousedown=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseDown(m);return false;}),AC);M.onmouseup=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseUp(m);return false;}),AC);M.oncontextmenu=$externalize((function(l){return false;}),AC);case-1:}return;}};$f.$blocking=true;return $f;};W=function(){var c;c=$parseInt($global.window.devicePixelRatio)>>0;if(c===0){c=1;}return c;};X=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n,o,p;i=$global.document;i.title=$externalize(f,$String);g=e*W()>>0;M.width=c*g>>0;M.height=d*g>>0;j=M.style;k=c*e>>0;l=d*e>>0;j.width=$externalize(D.Itoa(k)+"px",$String);j.height=$externalize(D.Itoa(l)+"px",$String);j.left=$externalize("calc(50% - "+D.Itoa((m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((n=l/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);M.onmousemove=$externalize((function(o){var p,q,r,s,t,u,v;p=M.getBoundingClientRect();q=$parseInt(o.clientX)>>0;r=$parseInt(o.clientY)>>0;s=q;t=r;s=s-(($parseInt(p.left)>>0))>>0;t=t-(($parseInt(p.top)>>0))>>0;F.mouseMove((u=s/e,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero")),(v=t/e,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero")));}),AD);M.focus();o=g;p=$ifaceNil;g=o;h=p;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(C.Context);Z=$structType([]);AA=$chanType(Z,false,false);AB=$funcType([],[],false);AC=$funcType([A.Object],[$Bool],false);AD=$funcType([A.Object],[],false);AE=$arrayType($Bool,256);AF=$ptrType(E);AF.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([J],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseDown","mouseDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseMove","mouseMove","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int,$Int],[],false),-1],["mouseUp","mouseUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];E.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);F=new E.Ptr();M=null;N=Y.nil;K=(a=new $Map(),b=8,a[b]={k:b,v:37},b=9,a[b]={k:b,v:67},b=13,a[b]={k:b,v:44},b=16,a[b]={k:b,v:65},b=17,a[b]={k:b,v:40},b=18,a[b]={k:b,v:36},b=20,a[b]={k:b,v:38},b=27,a[b]={k:b,v:45},b=32,a[b]={k:b,v:66},b=33,a[b]={k:b,v:62},b=34,a[b]={k:b,v:61},b=35,a[b]={k:b,v:43},b=36,a[b]={k:b,v:58},b=37,a[b]={k:b,v:60},b=38,a[b]={k:b,v:68},b=39,a[b]={k:b,v:64},b=40,a[b]={k:b,v:42},b=45,a[b]={k:b,v:59},b=46,a[b]={k:b,v:41},b=48,a[b]={k:b,v:0},b=49,a[b]={k:b,v:1},b=50,a[b]={k:b,v:2},b=51,a[b]={k:b,v:3},b=52,a[b]={k:b,v:4},b=53,a[b]={k:b,v:5},b=54,a[b]={k:b,v:6},b=55,a[b]={k:b,v:7},b=56,a[b]={k:b,v:8},b=57,a[b]={k:b,v:9},b=65,a[b]={k:b,v:10},b=66,a[b]={k:b,v:11},b=67,a[b]={k:b,v:12},b=68,a[b]={k:b,v:13},b=69,a[b]={k:b,v:14},b=70,a[b]={k:b,v:15},b=71,a[b]={k:b,v:16},b=72,a[b]={k:b,v:17},b=73,a[b]={k:b,v:18},b=74,a[b]={k:b,v:19},b=75,a[b]={k:b,v:20},b=76,a[b]={k:b,v:21},b=77,a[b]={k:b,v:22},b=78,a[b]={k:b,v:23},b=79,a[b]={k:b,v:24},b=80,a[b]={k:b,v:25},b=81,a[b]={k:b,v:26},b=82,a[b]={k:b,v:27},b=83,a[b]={k:b,v:28},b=84,a[b]={k:b,v:29},b=85,a[b]={k:b,v:30},b=86,a[b]={k:b,v:31},b=87,a[b]={k:b,v:32},b=88,a[b]={k:b,v:33},b=89,a[b]={k:b,v:34},b=90,a[b]={k:b,v:35},b=112,a[b]={k:b,v:46},b=113,a[b]={k:b,v:47},b=114,a[b]={k:b,v:48},b=115,a[b]={k:b,v:49},b=116,a[b]={k:b,v:50},b=117,a[b]={k:b,v:51},b=118,a[b]={k:b,v:52},b=119,a[b]={k:b,v:53},b=120,a[b]={k:b,v:54},b=121,a[b]={k:b,v:55},b=122,a[b]={k:b,v:56},b=123,a[b]={k:b,v:57},b=188,a[b]={k:b,v:39},b=190,a[b]={k:b,v:63},a);$r=V($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,G,B,C,D,E,H,A,I,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,N,X,AE,AF,AH,AI,AL,AM,AN,AO,AP,AS,L,M,V,W,AA,AC,AD,AG,AJ,AK,AT;F=$packages["errors"];G=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];H=$packages["image/color"];A=$packages["math"];I=$packages["time"];N=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AV.zero();});X=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:BB.zero();});AE=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BD.nil;this.screen=screen_!==undefined?screen_:AW.nil;this.defaultR=defaultR_!==undefined?defaultR_:AW.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AF=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BI.nil;this.texture=texture_!==undefined?texture_:AX.nil;});AH=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AI=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AM=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AW.nil;this.pixels=pixels_!==undefined?pixels_:AZ.nil;});AN=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AO=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AP=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new X.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new N.Ptr();this.Parts=Parts_!==undefined?Parts_:BE.nil;});L=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};M=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};N.Ptr.prototype.dim=function(){var a;a=this;return 5;};N.prototype.dim=function(){return this.$val.dim();};N.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};N.prototype.initialize=function(){return this.$val.initialize();};N.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};N.prototype.Element=function(a,b){return this.$val.Element(a,b);};N.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());M(a,b,c);$copy(b,c,N);};N.prototype.Concat=function(a){return this.$val.Concat(a);};N.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());L(a,b,c);$copy(b,c,N);};N.prototype.Add=function(a){return this.$val.Add(a);};N.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};N.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};N.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};N.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};N.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};N.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};V=$pkg.NewImage=function(a,b,c){var d,e;d=AW.nil;e=$ifaceNil;D.Use((function(f){var g,h,i;g=AX.nil;h=B.NewTexture(f,a,b,AC(f,c));g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return;}i=AG(f,g);d=i[0];e=i[1];d.Clear(f);}));if(!($interfaceIsEqual(e,$ifaceNil))){return[AY.nil,e];}return[new AM.Ptr(d,AZ.nil),$ifaceNil];};W=$pkg.NewImageFromImage=function(a,b){var c,d;c=AW.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AX.nil;g=B.NewTextureFromImage(e,a,AC(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AG(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AY.nil,d];}return[new AM.Ptr(c,AZ.nil),$ifaceNil];};X.Ptr.prototype.dim=function(){var a;a=this;return 3;};X.prototype.dim=function(){return this.$val.dim();};X.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};X.prototype.initialize=function(){return this.$val.initialize();};X.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};X.prototype.Element=function(a,b){return this.$val.Element(a,b);};X.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());M(a,b,c);$copy(b,c,X);};X.prototype.Concat=function(a){return this.$val.Concat(a);};X.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());L(a,b,c);$copy(b,c,X);};X.prototype.Add=function(a){return this.$val.Add(a);};X.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};X.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};X.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};X.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};X.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(AA(a));};X.prototype.Rotate=function(a){return this.$val.Rotate(a);};X.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};X.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};AA=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new X.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AC=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AD=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}j=AG(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}return[new AE.Ptr(a,k,new AF.Ptr(f,AX.nil),d),$ifaceNil];};AE.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AE.prototype.preUpdate=function(){return this.$val.preUpdate();};AE.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AE.prototype.postUpdate=function(){return this.$val.postUpdate();};AG=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AF.Ptr(d,b),$ifaceNil];};AF.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AF.prototype.size=function(){return this.$val.size();};AF.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=H.Transparent,new c.constructor.Struct(c)));};AF.prototype.Clear=function(a){return this.$val.Clear(a);};AF.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=G.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AF.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AH.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AH).prototype.Len=function(){return this.$get().Len();};AH.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Dst=function(a){return this.$get().Dst(a);};AH.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Src=function(a){return this.$get().Src(a);};AI.Ptr.prototype.Len=function(){var a;a=this;return 1;};AI.prototype.Len=function(){return this.$val.Len();};AI.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Dst=function(a){return this.$val.Dst(a);};AI.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Src=function(a){return this.$val.Src(a);};AF.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BF.nil){c=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BE.nil)){e=$subslice(new AH(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AI.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AL.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AF.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AJ=function(a,b){return a/G.NextPowerOf2Int(b);};AK=function(a,b){return a/G.NextPowerOf2Int(b);};AL.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AL.prototype.Len=function(){return this.$val.Len();};AL.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AL.prototype.Vertex=function(a){return this.$val.Vertex(a);};AL.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AJ(h,n);q=AK(i,o);r=AJ(j,n);s=AK(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AL.prototype.Texture=function(a){return this.$val.Texture(a);};AM.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AM.prototype.Size=function(){return this.$val.Size();};AM.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AZ.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AM.prototype.Clear=function(){return this.$val.Clear();};AM.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AZ.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AM.prototype.Fill=function(a){return this.$val.Fill(a);};AM.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;if(d===a){c=F.New("Image.DrawImage: image should be different from the receiver");return c;}c=d.drawImage(a.inner,b);return c;};AM.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AM.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AZ.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AM.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AM.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AM.prototype.Bounds=function(){return this.$val.Bounds();};AM.Ptr.prototype.ColorModel=function(){var a;a=this;return H.RGBAModel;};AM.prototype.ColorModel=function(){return this.$val.ColorModel();};AM.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AZ.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=G.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new H.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AM.prototype.At=function(a,b){return this.$val.At(a,b);};AT=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l,m,n,o,p;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BC.nil;D.Use((function(j){var k;k=AD(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}j=0;k=I.Now().UnixNano();case 1:if(!(true)){$s=2;continue;}$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(l){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=a(new AM.Ptr(i.screen,AZ.nil));if(!($interfaceIsEqual(l,$ifaceNil))){return l;}D.Use((function(m){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}m=I.Now().UnixNano();j=j+(1)>>0;if((n=(o=new $Int64(m.$high-k.$high,m.$low-k.$low),new I.Duration(o.$high,o.$low)),(0>31)*4294967296))>>0);k=m;j=0;}$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AU=$arrayType($Float64,5);AV=$arrayType(AU,4);AW=$ptrType(AF);AX=$ptrType(B.Texture);AY=$ptrType(AM);AZ=$sliceType($Uint8);BA=$arrayType($Float64,3);BB=$arrayType(BA,2);BC=$ptrType(AE);BD=$ptrType(C.Context);BE=$sliceType(AN);BF=$ptrType(AP);BG=$ptrType(N);BH=$ptrType(X);BI=$ptrType(B.Framebuffer);BJ=$ptrType(AH);BK=$ptrType(AI);BL=$ptrType(AL);BG.methods=[["Add","Add","",$funcType([N],[],false),-1],["Concat","Concat","",$funcType([N],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];N.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AV,""]]);BH.methods=[["Add","Add","",$funcType([X],[],false),-1],["Concat","Concat","",$funcType([X],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];X.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",BB,""]]);BC.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AE.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BD,""],["screen","screen","github.com/hajimehoshi/ebiten",AW,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AW,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["Clear","Clear","",$funcType([BD],[$error],false),-1],["Fill","Fill","",$funcType([BD,H.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BD,AW,BF],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AF.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BI,""],["texture","texture","github.com/hajimehoshi/ebiten",AX,""]]);AH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BJ.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init(AN);BK.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AI.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BL.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AL.init([["parts","parts","github.com/hajimehoshi/ebiten",AO,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AY.methods=[["At","At","",$funcType([$Int,$Int],[H.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[H.Model],false),-1],["DrawImage","DrawImage","",$funcType([AY,BF],[$error],false),-1],["Fill","Fill","",$funcType([H.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AW,BF],[$error],false),-1]];AM.init([["inner","inner","github.com/hajimehoshi/ebiten",AW,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AZ,""]]);AN.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AO.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AP.init([["ImageParts","ImageParts","",AO,""],["GeoM","GeoM","",X,""],["ColorM","ColorM","",N,""],["Parts","Parts","",BE,""]]);AS=0;}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sort"]=(function(){var $pkg={};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/flate"]=(function(){var $pkg={},E,A,B,C,D,F,BK,BL,BM,BN,BU,BV,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CS,CT,CU,CW,Y,Z,AK,AL,AM,AO,AP,AQ,AR,Q,AF,AG,AS,AW,G,AC,AD,AE,AT,AU,AV,AX,AY;E=$packages["bufio"];A=$packages["fmt"];B=$packages["io"];C=$packages["math"];D=$packages["sort"];F=$packages["strconv"];Y=$pkg.huffmanEncoder=$newType(0,$kindStruct,"flate.huffmanEncoder","huffmanEncoder","compress/flate",function(codeBits_,code_){this.$val=this;this.codeBits=codeBits_!==undefined?codeBits_:BV.nil;this.code=code_!==undefined?code_:BX.nil;});Z=$pkg.literalNode=$newType(0,$kindStruct,"flate.literalNode","literalNode","compress/flate",function(literal_,freq_){this.$val=this;this.literal=literal_!==undefined?literal_:0;this.freq=freq_!==undefined?freq_:0;});AK=$pkg.CorruptInputError=$newType(8,$kindInt64,"flate.CorruptInputError","CorruptInputError","compress/flate",null);AL=$pkg.InternalError=$newType(8,$kindString,"flate.InternalError","InternalError","compress/flate",null);AM=$pkg.ReadError=$newType(0,$kindStruct,"flate.ReadError","ReadError","compress/flate",function(Offset_,Err_){this.$val=this;this.Offset=Offset_!==undefined?Offset_:new $Int64(0,0);this.Err=Err_!==undefined?Err_:$ifaceNil;});AO=$pkg.Resetter=$newType(8,$kindInterface,"flate.Resetter","Resetter","compress/flate",null);AP=$pkg.huffmanDecoder=$newType(0,$kindStruct,"flate.huffmanDecoder","huffmanDecoder","compress/flate",function(min_,chunks_,links_,linkMask_){this.$val=this;this.min=min_!==undefined?min_:0;this.chunks=chunks_!==undefined?chunks_:CC.zero();this.links=links_!==undefined?links_:BL.nil;this.linkMask=linkMask_!==undefined?linkMask_:0;});AQ=$pkg.Reader=$newType(8,$kindInterface,"flate.Reader","Reader","compress/flate",null);AR=$pkg.decompressor=$newType(0,$kindStruct,"flate.decompressor","decompressor","compress/flate",function(r_,roffset_,woffset_,b_,nb_,h1_,h2_,bits_,codebits_,hist_,hp_,hw_,hfull_,buf_,step_,final$15_,err_,toRead_,hl_,hd_,copyLen_,copyDist_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.roffset=roffset_!==undefined?roffset_:new $Int64(0,0);this.woffset=woffset_!==undefined?woffset_:new $Int64(0,0);this.b=b_!==undefined?b_:0;this.nb=nb_!==undefined?nb_:0;this.h1=h1_!==undefined?h1_:new AP.Ptr();this.h2=h2_!==undefined?h2_:new AP.Ptr();this.bits=bits_!==undefined?bits_:CH.nil;this.codebits=codebits_!==undefined?codebits_:CJ.nil;this.hist=hist_!==undefined?hist_:CL.nil;this.hp=hp_!==undefined?hp_:0;this.hw=hw_!==undefined?hw_:0;this.hfull=hfull_!==undefined?hfull_:false;this.buf=buf_!==undefined?buf_:CM.zero();this.step=step_!==undefined?step_:$throwNilPointerError;this.final$15=final$15_!==undefined?final$15_:false;this.err=err_!==undefined?err_:$ifaceNil;this.toRead=toRead_!==undefined?toRead_:BM.nil;this.hl=hl_!==undefined?hl_:CF.nil;this.hd=hd_!==undefined?hd_:CF.nil;this.copyLen=copyLen_!==undefined?copyLen_:0;this.copyDist=copyDist_!==undefined?copyDist_:0;});G=function(a,b,c,d){var e;if(b<=c){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}while(true){if(b>=(c+d>>0)){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}e=b-c>>0;$copySlice($subslice(a,b,(b+e>>0)),$subslice(a,c,(c+e>>0)));d=d-(e)>>0;b=b+(e)>>0;}};AC=function(a){return new Y.Ptr(BV.make(a),BX.make(a));};AD=function(){var a,b,c,d,e,f;a=AC(286);b=a.codeBits;c=a.code;d=0;d=0;while(d<286){e=0;f=0;switch(0){default:if(d<144){e=d+48<<16>>>16;f=8;break;}else if(d<256){e=(d+400<<16>>>16)-144<<16>>>16;f=9;break;}else if(d<280){e=d-256<<16>>>16;f=7;break;}else{e=(d+192<<16>>>16)-280<<16>>>16;f=8;}}(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=f;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(e,f);d=d+(1)<<16>>>16;}return a;};AE=function(){var a,b,c,d;a=AC(30);b=a.codeBits;c=a.code;d=0;while(d<30){(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=5;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(d,5);d=d+(1)<<16>>>16;}return a;};AK.prototype.Error=function(){var a;a=this;return"flate: corrupt input before offset "+F.FormatInt(new $Int64(a.$high,a.$low),10);};$ptrType(AK).prototype.Error=function(){return this.$get().Error();};AL.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"flate: internal error: "+a;};$ptrType(AL).prototype.Error=function(){return new AL(this.$get()).Error();};AM.Ptr.prototype.Error=function(){var a;a=this;return"flate: read error at offset "+F.FormatInt(a.Offset,10)+": "+a.Err.Error();};AM.prototype.Error=function(){return this.$val.Error();};AP.Ptr.prototype.init=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax;b=this;if(!((b.min===0))){$copy(b,new AP.Ptr(0,CC.zero(),BL.nil,0),AP);}c=$clone(CD.zero(),CD);d=0;e=0;f=d;g=e;h=a;i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);if(j===0){i++;continue;}if((f===0)||jg){g=j;}k=c;l=j;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])+(1)>>0;i++;}if(g===0){return false;}b.min=f;m=0;n=0;if(g>9){m=(g>>>0)-9>>>0;n=(o=m,o<32?(1<>0;b.linkMask=((n-1>>0)>>>0);}p=0;q=$clone(CD.zero(),CD);r=f;while(r<=g){if(r===10){s=p>>1>>0;if(512>0));t=(s>>>0);while(t<512){w=((u=t>>>8>>>0,((u<0||u>=AW.length)?$throwRuntimeError("index out of range"):AW[u]))>>0)|(((v=(t&255)>>>0,((v<0||v>=AW.length)?$throwRuntimeError("index out of range"):AW[v]))>>0)<<8>>0);w=(w>>$min((7),31))>>0;x=t-(s>>>0)>>>0;(y=b.chunks,(w<0||w>=y.length)?$throwRuntimeError("index out of range"):y[w]=(((x<<4>>>0)+(r>>>0)>>>0)>>>0));(aa=b.links,(x<0||x>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+x]=BK.make(((z=m,z<32?(1<>0)));t=t+(1)>>>0;}}ab=((r<0||r>=c.length)?$throwRuntimeError("index out of range"):c[r]);(r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r]=p;p=p+(ab)>>0;p=(ac=(1),ac<32?(p<>0;r=r+(1)>>0;}ad=a;ae=0;while(ae=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]);if(ag===0){ae++;continue;}ah=((ag<0||ag>=q.length)?$throwRuntimeError("index out of range"):q[ag]);ai=q;aj=ag;(aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj]=((aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj])+(1)>>0;ak=(((af<<4>>0)|ag)>>>0);an=((al=ah>>8>>0,((al<0||al>=AW.length)?$throwRuntimeError("index out of range"):AW[al]))>>0)|(((am=ah&255,((am<0||am>=AW.length)?$throwRuntimeError("index out of range"):AW[am]))>>0)<<8>>0);an=(an>>$min((((16-ag>>0)>>>0)),31))>>0;if(ag<=9){ao=an;while(ao<512){(ap=b.chunks,(ao<0||ao>=ap.length)?$throwRuntimeError("index out of range"):ap[ao]=ak);ao=ao+(((aq=(ag>>>0),aq<32?(1<>0))>>0;}}else{at=(ar=b.chunks,as=an&511,((as<0||as>=ar.length)?$throwRuntimeError("index out of range"):ar[as]))>>>4>>>0;if(at>=(b.links.$length>>>0)){return false;}av=(au=b.links,((at<0||at>=au.$length)?$throwRuntimeError("index out of range"):au.$array[au.$offset+at]));an=(an>>$min((9),31))>>0;aw=an;while(aw=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]=ak;aw=aw+(((ax=((ag-9>>0)>>>0),ax<32?(1<>0))>>0;}}ae++;}return true;};AP.prototype.init=function(a){return this.$val.init(a);};AR.Ptr.prototype.nextBlock=function(){var a,b,c,d,e,f;a=this;if(a.final$15){if(!((a.hw===a.hp))){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.err=B.EOF;return;}while(a.nb<3){a.err=a.moreBits();if(!($interfaceIsEqual(a.err,$ifaceNil))){return;}}a.final$15=((a.b&1)>>>0)===1;a.b=(b=(1),b<32?(a.b>>>b):0)>>>0;c=(a.b&3)>>>0;a.b=(d=(2),d<32?(a.b>>>d):0)>>>0;a.nb=a.nb-(3)>>>0;e=c;switch(0){default:if(e===0){a.dataBlock();}else if(e===1){a.hl=Q;a.hd=CF.nil;a.huffmanBlock();}else if(e===2){a.err=a.readHuffman();if(!($interfaceIsEqual(a.err,$ifaceNil))){break;}a.hl=a.h1;a.hd=a.h2;a.huffmanBlock();}else{a.err=(f=a.roffset,new AK(f.$high,f.$low));}}};AR.prototype.nextBlock=function(){return this.$val.nextBlock();};AR.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.step(b);}};AR.prototype.Read=function(a){return this.$val.Read(a);};AR.Ptr.prototype.Close=function(){var a;a=this;if($interfaceIsEqual(a.err,B.EOF)){return $ifaceNil;}return a.err;};AR.prototype.Close=function(){return this.$val.Close();};AR.Ptr.prototype.readHuffman=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,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an;a=this;while(a.nb<14){b=a.moreBits();if(!($interfaceIsEqual(b,$ifaceNil))){return b;}}c=(((a.b&31)>>>0)>>0)+257>>0;if(c>286){return(d=a.roffset,new AK(d.$high,d.$low));}a.b=(e=(5),e<32?(a.b>>>e):0)>>>0;f=(((a.b&31)>>>0)>>0)+1>>0;a.b=(g=(5),g<32?(a.b>>>g):0)>>>0;h=(((a.b&15)>>>0)>>0)+4>>0;a.b=(i=(4),i<32?(a.b>>>i):0)>>>0;a.nb=a.nb-(14)>>>0;j=0;while(j=AS.length)?$throwRuntimeError("index out of range"):AS[j]),l.nilCheck,(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((a.b&7)>>>0)>>0));a.b=(n=(3),n<32?(a.b>>>n):0)>>>0;a.nb=a.nb-(3)>>>0;j=j+(1)>>0;}o=h;while(o<19){(p=a.codebits,q=((o<0||o>=AS.length)?$throwRuntimeError("index out of range"):AS[o]),p.nilCheck,(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=0);o=o+(1)>>0;}if(!a.h1.init($subslice(new BN(a.codebits),0))){return(r=a.roffset,new AK(r.$high,r.$low));}s=0;t=c+f>>0;u=s;v=t;while(u=z.length)?$throwRuntimeError("index out of range"):z[u]=x);u=u+(1)>>0;continue;}aa=0;ab=0;ac=0;ad=x;if(ad===16){aa=3;ab=2;if(u===0){return(ae=a.roffset,new AK(ae.$high,ae.$low));}ac=(af=a.bits,ag=u-1>>0,(af.nilCheck,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag])));}else if(ad===17){aa=3;ab=3;ac=0;}else if(ad===18){aa=11;ab=7;ac=0;}else{return new AL("unexpected length code");}while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(aj=(ab),aj<32?(a.b>>>aj):0)>>>0;a.nb=a.nb-(ab)>>>0;if((u+aa>>0)>v){return(ak=a.roffset,new AK(ak.$high,ak.$low));}al=0;while(al=am.length)?$throwRuntimeError("index out of range"):am[u]=ac);u=u+(1)>>0;al=al+(1)>>0;}}if(!a.h1.init($subslice(new BN(a.bits),0,c))||!a.h2.init($subslice(new BN(a.bits),c,(c+f>>0)))){return(an=a.roffset,new AK(an.$high,an.$low));}return $ifaceNil;};AR.prototype.readHuffman=function(){return this.$val.readHuffman();};AR.Ptr.prototype.huffmanBlock=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;a=this;while(true){b=a.huffSym(a.hl);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}e=0;f=0;if(c<256){(g=a.hist,h=a.hp,g.nilCheck,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));a.hp=a.hp+(1)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.huffmanBlock));return;}continue;}else if(c===256){a.step=$methodExpr(CE.prototype.nextBlock);return;}else if(c<265){f=c-254>>0;e=0;}else if(c<269){f=(c*2>>0)-519>>0;e=1;}else if(c<273){f=(c*4>>0)-1057>>0;e=2;}else if(c<277){f=(c*8>>0)-2149>>0;e=3;}else if(c<281){f=(c*16>>0)-4365>>0;e=4;}else if(c<285){f=(c*32>>0)-8861>>0;e=5;}else{f=258;e=0;}if(e>0){while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(j=(e),j<32?(a.b>>>j):0)>>>0;a.nb=a.nb-(e)>>>0;}k=0;if(a.hd===CF.nil){while(a.nb<5){d=a.moreBits();if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}k=((l=(((a.b&31)>>>0))<<3>>>0,((l<0||l>=AW.length)?$throwRuntimeError("index out of range"):AW[l]))>>0);a.b=(m=(5),m<32?(a.b>>>m):0)>>>0;a.nb=a.nb-(5)>>>0;}else{n=a.huffSym(a.hd);k=n[0];d=n[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}if(k<4){k=k+(1)>>0;}else if(k>=30){a.err=(o=a.roffset,new AK(o.$high,o.$low));return;}else{p=((k-2>>0)>>>0)>>>1>>>0;r=(q=p,q<32?(((k&1))<>0;while(a.nb>>0)-1>>>0))>>>0)>>0));a.b=(t=(p),t<32?(a.b>>>t):0)>>>0;a.nb=a.nb-(p)>>>0;k=(((u=((p+1>>>0)),u<32?(1<>0)+1>>0)+r>>0;}if(k>32768){a.err=new AL("bad history distance");return;}if(!a.hfull&&k>a.hp){a.err=(v=a.roffset,new AK(v.$high,v.$low));return;}w=f;x=k;a.copyLen=w;a.copyDist=x;if(a.copyHist()){return;}}};AR.prototype.huffmanBlock=function(){return this.$val.huffmanBlock();};AR.Ptr.prototype.copyHist=function(){var a,b,c,d,e;a=this;b=a.hp-a.copyDist>>0;if(b<0){b=b+(32768)>>0;}while(a.copyLen>0){c=a.copyLen;d=32768-a.hp>>0;if(c>d){c=d;}e=32768-b>>0;if(c>e){c=e;}G(new BM(a.hist),a.hp,b,c);b=b+(c)>>0;a.hp=a.hp+(c)>>0;a.copyLen=a.copyLen-(c)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.copyHuff));return true;}if(b===32768){b=0;}}return false;};AR.prototype.copyHist=function(){return this.$val.copyHist();};AR.Ptr.prototype.copyHuff=function(){var a;a=this;if(a.copyHist()){return;}a.huffmanBlock();};AR.prototype.copyHuff=function(){return this.$val.copyHuff();};AR.Ptr.prototype.dataBlock=function(){var a,b,c,d,e,f,g,h,i;a=this;a.nb=0;a.b=0;b=B.ReadFull(a.r,$subslice(new BM(a.buf),0,4));c=b[0];d=b[1];a.roffset=(e=a.roffset,f=new $Int64(0,c),new $Int64(e.$high+f.$high,e.$low+f.$low));if(!($interfaceIsEqual(d,$ifaceNil))){a.err=new AM.Ptr(a.roffset,d);return;}g=(a.buf[0]>>0)|((a.buf[1]>>0)<<8>>0);h=(a.buf[2]>>0)|((a.buf[3]>>0)<<8>>0);if(!(((h<<16>>>16)===((~g>>0)<<16>>>16)))){a.err=(i=a.roffset,new AK(i.$high,i.$low));return;}if(g===0){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.copyLen=g;a.copyData();};AR.prototype.dataBlock=function(){return this.$val.dataBlock();};AR.Ptr.prototype.copyData=function(){var a,b,c,d,e,f,g;a=this;b=a.copyLen;while(b>0){c=32768-a.hp>>0;if(c>b){c=b;}d=B.ReadFull(a.r,$subslice(new BM(a.hist),a.hp,(a.hp+c>>0)));c=d[0];e=d[1];a.roffset=(f=a.roffset,g=new $Int64(0,c),new $Int64(f.$high+g.$high,f.$low+g.$low));if(!($interfaceIsEqual(e,$ifaceNil))){a.err=new AM.Ptr(a.roffset,e);return;}b=b-(c)>>0;a.hp=a.hp+(c)>>0;if(a.hp===32768){a.copyLen=b;a.flush($methodExpr(CE.prototype.copyData));return;}}a.step=$methodExpr(CE.prototype.nextBlock);};AR.prototype.copyData=function(){return this.$val.copyData();};AR.Ptr.prototype.setDict=function(a){var b;b=this;if(a.$length>32768){a=$subslice(a,(a.$length-32768>>0));}b.hp=$copySlice(new BM(b.hist),a);if(b.hp===32768){b.hp=0;b.hfull=true;}b.hw=b.hp;};AR.prototype.setDict=function(a){return this.$val.setDict(a);};AR.Ptr.prototype.moreBits=function(){var a,b,c,d,e,f,g;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,B.EOF)){d=B.ErrUnexpectedEOF;}return d;}a.roffset=(e=a.roffset,f=new $Int64(0,1),new $Int64(e.$high+f.$high,e.$low+f.$low));a.b=(a.b|(((g=a.nb,g<32?((c>>>0)<>>0)))>>>0;a.nb=a.nb+(8)>>>0;return $ifaceNil;};AR.prototype.moreBits=function(){return this.$val.moreBits();};AR.Ptr.prototype.huffSym=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;c=(a.min>>>0);while(true){while(b.nb>>0,((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]));c=(((g&15)>>>0)>>>0);if(c>9){g=(h=(i=a.links,j=g>>>4>>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),k=(((b.b>>>9>>>0))&a.linkMask)>>>0,((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]));c=(((g&15)>>>0)>>>0);if(c===0){b.err=(l=b.roffset,new AK(l.$high,l.$low));return[0,b.err];}}if(c<=b.nb){b.b=(m=(c),m<32?(b.b>>>m):0)>>>0;b.nb=b.nb-(c)>>>0;return[((g>>>4>>>0)>>0),$ifaceNil];}}};AR.prototype.huffSym=function(a){return this.$val.huffSym(a);};AR.Ptr.prototype.flush=function(a){var b,c,d;b=this;b.toRead=$subslice(new BM(b.hist),b.hw,b.hp);b.woffset=(c=b.woffset,d=new $Int64(0,(b.hp-b.hw>>0)),new $Int64(c.$high+d.$high,c.$low+d.$low));b.hw=b.hp;if(b.hp===32768){b.hp=0;b.hw=0;b.hfull=true;}b.step=a;};AR.prototype.flush=function(a){return this.$val.flush(a);};AT=function(a){var b,c,d;b=$assertType(a,AQ,true);c=b[0];d=b[1];if(d){return c;}return E.NewReader(a);};AR.Ptr.prototype.Reset=function(a,b){var c;c=this;$copy(c,new AR.Ptr(AT(a),new $Int64(0,0),new $Int64(0,0),0,0,new AP.Ptr(),new AP.Ptr(),c.bits,c.codebits,c.hist,0,0,false,CM.zero(),$methodExpr(CE.prototype.nextBlock),false,$ifaceNil,BM.nil,CF.nil,CF.nil,0,0),AR);if(!(b===BM.nil)){c.setDict(b);}return $ifaceNil;};AR.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};AU=$pkg.NewReader=function(a){var b;b=$clone(new AR.Ptr(),AR);b.bits=CG.zero();b.codebits=CI.zero();b.r=AT(a);b.hist=CK.zero();b.step=$methodExpr(CE.prototype.nextBlock);return b;};AV=$pkg.NewReaderDict=function(a,b){var c;c=$clone(new AR.Ptr(),AR);c.r=AT(a);c.hist=CK.zero();c.bits=CG.zero();c.codebits=CI.zero();c.step=$methodExpr(CE.prototype.nextBlock);c.setDict(b);return c;};AX=function(a){var b,c;return(((b=a>>>8<<16>>>16,((b<0||b>=AW.length)?$throwRuntimeError("index out of range"):AW[b]))<<16>>>16)|(((c=(a&255)>>>0,((c<0||c>=AW.length)?$throwRuntimeError("index out of range"):AW[c]))<<16>>>16)<<8<<16>>>16))>>>0;};AY=function(a,b){var c;return AX((c=(16-b<<24>>>24),c<32?(a<>>16);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}BK=$sliceType($Uint32);BL=$sliceType(BK);BM=$sliceType($Uint8);BN=$sliceType($Int);BU=$sliceType($Int32);BV=$sliceType($Uint8);BW=$ptrType(Y);BX=$sliceType($Uint16);CB=$sliceType(Z);CC=$arrayType($Uint32,512);CD=$arrayType($Int,16);CE=$ptrType(AR);CF=$ptrType(AP);CG=$arrayType($Int,318);CH=$ptrType(CG);CI=$arrayType($Int,19);CJ=$ptrType(CI);CK=$arrayType($Uint8,32768);CL=$ptrType(CK);CM=$arrayType($Uint8,4);CS=$ptrType(AK);CT=$ptrType(AL);CU=$ptrType(AM);CW=$funcType([CE],[],false);BW.methods=[["assignEncodingAndSize","assignEncodingAndSize","compress/flate",$funcType([BU,CB],[],false),-1],["bitCounts","bitCounts","compress/flate",$funcType([CB,$Int32],[BU],false),-1],["bitLength","bitLength","compress/flate",$funcType([BU],[$Int64],false),-1],["generate","generate","compress/flate",$funcType([BU,$Int32],[],false),-1]];Y.init([["codeBits","codeBits","compress/flate",BV,""],["code","code","compress/flate",BX,""]]);Z.init([["literal","literal","compress/flate",$Uint16,""],["freq","freq","compress/flate",$Int32,""]]);AK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CS.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CT.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CU.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AM.init([["Offset","Offset","",$Int64,""],["Err","Err","",$error,""]]);AO.init([["Reset","Reset","",$funcType([B.Reader,BM],[$error],false)]]);CF.methods=[["init","init","compress/flate",$funcType([BN],[$Bool],false),-1]];AP.init([["min","min","compress/flate",$Int,""],["chunks","chunks","compress/flate",CC,""],["links","links","compress/flate",BL,""],["linkMask","linkMask","compress/flate",$Uint32,""]]);AQ.init([["Read","Read","",$funcType([BM],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);CE.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([BM],[$Int,$error],false),-1],["Reset","Reset","",$funcType([B.Reader,BM],[$error],false),-1],["copyData","copyData","compress/flate",$funcType([],[],false),-1],["copyHist","copyHist","compress/flate",$funcType([],[$Bool],false),-1],["copyHuff","copyHuff","compress/flate",$funcType([],[],false),-1],["dataBlock","dataBlock","compress/flate",$funcType([],[],false),-1],["flush","flush","compress/flate",$funcType([CW],[],false),-1],["huffSym","huffSym","compress/flate",$funcType([CF],[$Int,$error],false),-1],["huffmanBlock","huffmanBlock","compress/flate",$funcType([],[],false),-1],["moreBits","moreBits","compress/flate",$funcType([],[$error],false),-1],["nextBlock","nextBlock","compress/flate",$funcType([],[],false),-1],["readHuffman","readHuffman","compress/flate",$funcType([],[$error],false),-1],["setDict","setDict","compress/flate",$funcType([BM],[],false),-1]];AR.init([["r","r","compress/flate",AQ,""],["roffset","roffset","compress/flate",$Int64,""],["woffset","woffset","compress/flate",$Int64,""],["b","b","compress/flate",$Uint32,""],["nb","nb","compress/flate",$Uint,""],["h1","h1","compress/flate",AP,""],["h2","h2","compress/flate",AP,""],["bits","bits","compress/flate",CH,""],["codebits","codebits","compress/flate",CJ,""],["hist","hist","compress/flate",CL,""],["hp","hp","compress/flate",$Int,""],["hw","hw","compress/flate",$Int,""],["hfull","hfull","compress/flate",$Bool,""],["buf","buf","compress/flate",CM,""],["step","step","compress/flate",CW,""],["final$15","final","compress/flate",$Bool,""],["err","err","compress/flate",$error,""],["toRead","toRead","compress/flate",BM,""],["hl","hl","compress/flate",CF,""],["hd","hd","compress/flate",CF,""],["copyLen","copyLen","compress/flate",$Int,""],["copyDist","copyDist","compress/flate",$Int,""]]);Q=new AP.Ptr(7,$toNativeArray($kindUint32,[4103,1288,264,4488,4359,1800,776,3081,4231,1544,520,2569,8,2056,1032,3593,4167,1416,392,2313,4423,1928,904,3337,4295,1672,648,2825,136,2184,1160,3849,4135,1352,328,4552,4391,1864,840,3209,4263,1608,584,2697,72,2120,1096,3721,4199,1480,456,2441,4455,1992,968,3465,4327,1736,712,2953,200,2248,1224,3977,4119,1320,296,4520,4375,1832,808,3145,4247,1576,552,2633,40,2088,1064,3657,4183,1448,424,2377,4439,1960,936,3401,4311,1704,680,2889,168,2216,1192,3913,4151,1384,360,4584,4407,1896,872,3273,4279,1640,616,2761,104,2152,1128,3785,4215,1512,488,2505,4471,2024,1000,3529,4343,1768,744,3017,232,2280,1256,4041,4103,1304,280,4504,4359,1816,792,3113,4231,1560,536,2601,24,2072,1048,3625,4167,1432,408,2345,4423,1944,920,3369,4295,1688,664,2857,152,2200,1176,3881,4135,1368,344,4568,4391,1880,856,3241,4263,1624,600,2729,88,2136,1112,3753,4199,1496,472,2473,4455,2008,984,3497,4327,1752,728,2985,216,2264,1240,4009,4119,1336,312,4536,4375,1848,824,3177,4247,1592,568,2665,56,2104,1080,3689,4183,1464,440,2409,4439,1976,952,3433,4311,1720,696,2921,184,2232,1208,3945,4151,1400,376,4600,4407,1912,888,3305,4279,1656,632,2793,120,2168,1144,3817,4215,1528,504,2537,4471,2040,1016,3561,4343,1784,760,3049,248,2296,1272,4073,4103,1288,264,4488,4359,1800,776,3097,4231,1544,520,2585,8,2056,1032,3609,4167,1416,392,2329,4423,1928,904,3353,4295,1672,648,2841,136,2184,1160,3865,4135,1352,328,4552,4391,1864,840,3225,4263,1608,584,2713,72,2120,1096,3737,4199,1480,456,2457,4455,1992,968,3481,4327,1736,712,2969,200,2248,1224,3993,4119,1320,296,4520,4375,1832,808,3161,4247,1576,552,2649,40,2088,1064,3673,4183,1448,424,2393,4439,1960,936,3417,4311,1704,680,2905,168,2216,1192,3929,4151,1384,360,4584,4407,1896,872,3289,4279,1640,616,2777,104,2152,1128,3801,4215,1512,488,2521,4471,2024,1000,3545,4343,1768,744,3033,232,2280,1256,4057,4103,1304,280,4504,4359,1816,792,3129,4231,1560,536,2617,24,2072,1048,3641,4167,1432,408,2361,4423,1944,920,3385,4295,1688,664,2873,152,2200,1176,3897,4135,1368,344,4568,4391,1880,856,3257,4263,1624,600,2745,88,2136,1112,3769,4199,1496,472,2489,4455,2008,984,3513,4327,1752,728,3001,216,2264,1240,4025,4119,1336,312,4536,4375,1848,824,3193,4247,1592,568,2681,56,2104,1080,3705,4183,1464,440,2425,4439,1976,952,3449,4311,1720,696,2937,184,2232,1208,3961,4151,1400,376,4600,4407,1912,888,3321,4279,1656,632,2809,120,2168,1144,3833,4215,1528,504,2553,4471,2040,1016,3577,4343,1784,760,3065,248,2296,1272,4089]),BL.nil,0);AS=$toNativeArray($kindInt,[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);AW=$toNativeArray($kindUint8,[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255]);AF=AD();AG=AE();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["hash"]=(function(){var $pkg={},A,E,C;A=$packages["io"];C=$pkg.Hash32=$newType(8,$kindInterface,"hash.Hash32","Hash32","hash",null);$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}E=$sliceType($Uint8);C.init([["BlockSize","BlockSize","",$funcType([],[$Int],false)],["Reset","Reset","",$funcType([],[],false)],["Size","Size","",$funcType([],[$Int],false)],["Sum","Sum","",$funcType([E],[E],false)],["Sum32","Sum32","",$funcType([],[$Uint32],false)],["Write","Write","",$funcType([E],[$Int,$error],false)]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -42,14 +42,14 @@ $packages["image/png"]=(function(){var $pkg={},I,A,B,C,D,E,F,G,H,J,AI,AJ,AK,AL,A $packages["path/filepath"]=(function(){var $pkg={},G,A,B,C,D,E,F;G=$packages["bytes"];A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=G.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io/ioutil"]=(function(){var $pkg={},A,B,C,F,D,G,E,H,Y,Z,AA,R;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($emptyInterface);Z=$sliceType($Uint8);AA=$ptrType(Z);R=new E.Pool.Ptr(0,0,Y.nil,(function(){var a;a=Z.make(8192);return new AA(function(){return a;},function($v){a=$v;});}));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["path"]=(function(){var $pkg={},A,B,C;A=$packages["errors"];B=$packages["strings"];C=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J,K;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["reflect"];J=$packages["strings"];K=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["strings"];J=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color/palette"]=(function(){var $pkg={},A;A=$packages["image/color"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/lzw"]=(function(){var $pkg={},A,B,C,D,N,O,P,S,T,U,V,F,G,L,H;A=$packages["bufio"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];F=$pkg.decoder=$newType(0,$kindStruct,"lzw.decoder","decoder","compress/lzw",function(r_,bits_,nBits_,width_,read_,litWidth_,err_,clear_,eof_,hi_,overflow_,last_,suffix_,prefix_,output_,o_,toRead_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:0;this.nBits=nBits_!==undefined?nBits_:0;this.width=width_!==undefined?width_:0;this.read=read_!==undefined?read_:$throwNilPointerError;this.litWidth=litWidth_!==undefined?litWidth_:0;this.err=err_!==undefined?err_:$ifaceNil;this.clear=clear_!==undefined?clear_:0;this.eof=eof_!==undefined?eof_:0;this.hi=hi_!==undefined?hi_:0;this.overflow=overflow_!==undefined?overflow_:0;this.last=last_!==undefined?last_:0;this.suffix=suffix_!==undefined?suffix_:S.zero();this.prefix=prefix_!==undefined?prefix_:T.zero();this.output=output_!==undefined?output_:U.zero();this.o=o_!==undefined?o_:0;this.toRead=toRead_!==undefined?toRead_:N.nil;});F.Ptr.prototype.readLSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((a.bits&((((f=a.width,f<32?(1<>>0)-1>>>0)))>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits>>>h):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readLSB=function(){return this.$val.readLSB();};F.Ptr.prototype.readMSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)),e<32?((c>>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((f=((32-a.width>>>0)),f<32?(a.bits>>>f):0)>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits<>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readMSB=function(){return this.$val.readMSB();};F.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.decode();}};F.prototype.Read=function(a){return this.$val.Read(a);};F.Ptr.prototype.decode=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,y,z,aa,ab;a=this;while(true){b=a.read(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,D.EOF)){d=D.ErrUnexpectedEOF;}a.err=d;return;}if(c=e.length)?$throwRuntimeError("index out of range"):e[f]=(c<<24>>>24));a.o=a.o+(1)>>0;if(!((a.last===65535))){(g=a.suffix,h=a.hi,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));(i=a.prefix,j=a.hi,(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=a.last);}}else if(c===a.clear){a.width=1+(a.litWidth>>>0)>>>0;a.hi=a.eof;a.overflow=(k=a.width,k<32?(1<>>16;a.last=65535;continue;}else if(c===a.eof){a.flush();a.err=D.EOF;return;}else if(c<=a.hi){l=c;m=8191;n=l;o=m;if(c===a.hi){n=a.last;while(n>=a.clear){n=(p=a.prefix,((n<0||n>=p.length)?$throwRuntimeError("index out of range"):p[n]));}(q=a.output,(o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o]=(n<<24>>>24));o=o-(1)>>0;n=a.last;}while(n>=a.clear){(s=a.output,(o<0||o>=s.length)?$throwRuntimeError("index out of range"):s[o]=(r=a.suffix,((n<0||n>=r.length)?$throwRuntimeError("index out of range"):r[n])));o=o-(1)>>0;n=(t=a.prefix,((n<0||n>=t.length)?$throwRuntimeError("index out of range"):t[n]));}(u=a.output,(o<0||o>=u.length)?$throwRuntimeError("index out of range"):u[o]=(n<<24>>>24));a.o=a.o+($copySlice($subslice(new N(a.output),a.o),$subslice(new N(a.output),o)))>>0;if(!((a.last===65535))){(v=a.suffix,w=a.hi,(w<0||w>=v.length)?$throwRuntimeError("index out of range"):v[w]=(n<<24>>>24));(x=a.prefix,y=a.hi,(y<0||y>=x.length)?$throwRuntimeError("index out of range"):x[y]=a.last);}}else{a.err=B.New("lzw: invalid code");return;}z=c;aa=a.hi+1<<16>>>16;a.last=z;a.hi=aa;if(a.hi>=a.overflow){if(a.width===12){a.last=65535;}else{a.width=a.width+(1)>>>0;a.overflow=(ab=(1),ab<32?(a.overflow<>>16;}}if(a.o>=4096){a.flush();return;}}};F.prototype.decode=function(){return this.$val.decode();};F.Ptr.prototype.flush=function(){var a;a=this;a.toRead=$subslice(new N(a.output),0,a.o);a.o=0;};F.prototype.flush=function(){return this.$val.flush();};F.Ptr.prototype.Close=function(){var a;a=this;a.err=G;return $ifaceNil;};F.prototype.Close=function(){return this.$val.Close();};H=$pkg.NewReader=function(a,b,c){var d,e,f,g,h,i,j,k,l;d=new F.Ptr();e=b;if(e===0){d.read=$methodExpr(O.prototype.readLSB);}else if(e===1){d.read=$methodExpr(O.prototype.readMSB);}else{d.err=B.New("lzw: unknown order");return d;}if(c<2||8>>0)>>>0;d.clear=(i=(c>>>0),i<32?(1<>>16;j=d.clear+1<<16>>>16;k=d.clear+1<<16>>>16;d.eof=j;d.hi=k;d.overflow=(l=d.width,l<32?(1<>>16;d.last=65535;return d;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}N=$sliceType($Uint8);O=$ptrType(F);P=$sliceType($emptyInterface);S=$arrayType($Uint8,4096);T=$arrayType($Uint16,4096);U=$arrayType($Uint8,8192);V=$funcType([O],[$Uint16,$error],false);O.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([N],[$Int,$error],false),-1],["decode","decode","compress/lzw",$funcType([],[],false),-1],["flush","flush","compress/lzw",$funcType([],[],false),-1],["readLSB","readLSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1],["readMSB","readMSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1]];F.init([["r","r","compress/lzw",D.ByteReader,""],["bits","bits","compress/lzw",$Uint32,""],["nBits","nBits","compress/lzw",$Uint,""],["width","width","compress/lzw",$Uint,""],["read","read","compress/lzw",V,""],["litWidth","litWidth","compress/lzw",$Int,""],["err","err","compress/lzw",$error,""],["clear","clear","compress/lzw",$Uint16,""],["eof","eof","compress/lzw",$Uint16,""],["hi","hi","compress/lzw",$Uint16,""],["overflow","overflow","compress/lzw",$Uint16,""],["last","last","compress/lzw",$Uint16,""],["suffix","suffix","compress/lzw",S,""],["prefix","prefix","compress/lzw",T,""],["output","output","compress/lzw",U,""],["o","o","compress/lzw",$Int,""],["toRead","toRead","compress/lzw",N,""]]);G=B.New("compress/lzw: reader/writer is closed");L=B.New("lzw: out of codes");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/gif"]=(function(){var $pkg={},A,B,C,D,E,F,H,I,G,AG,AH,AI,AJ,AK,AL,AN,AO,AQ,AS,AT,M,N,O,P,J,K,L,Q,R,S,V,W;A=$packages["bufio"];B=$packages["compress/lzw"];C=$packages["errors"];D=$packages["fmt"];E=$packages["image"];F=$packages["image/color"];H=$packages["image/color/palette"];I=$packages["image/draw"];G=$packages["io"];M=$pkg.reader=$newType(8,$kindInterface,"gif.reader","reader","image/gif",null);N=$pkg.decoder=$newType(0,$kindStruct,"gif.decoder","decoder","image/gif",function(r_,vers_,width_,height_,flags_,headerFields_,backgroundIndex_,loopCount_,delayTime_,aspect_,imageFields_,transparentIndex_,hasTransparentIndex_,pixelSize_,globalColorMap_,delay_,image_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.vers=vers_!==undefined?vers_:"";this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flags=flags_!==undefined?flags_:0;this.headerFields=headerFields_!==undefined?headerFields_:0;this.backgroundIndex=backgroundIndex_!==undefined?backgroundIndex_:0;this.loopCount=loopCount_!==undefined?loopCount_:0;this.delayTime=delayTime_!==undefined?delayTime_:0;this.aspect=aspect_!==undefined?aspect_:0;this.imageFields=imageFields_!==undefined?imageFields_:0;this.transparentIndex=transparentIndex_!==undefined?transparentIndex_:0;this.hasTransparentIndex=hasTransparentIndex_!==undefined?hasTransparentIndex_:false;this.pixelSize=pixelSize_!==undefined?pixelSize_:0;this.globalColorMap=globalColorMap_!==undefined?globalColorMap_:F.Palette.nil;this.delay=delay_!==undefined?delay_:AO.nil;this.image=image_!==undefined?image_:AN.nil;this.tmp=tmp_!==undefined?tmp_:AQ.zero();});O=$pkg.blockReader=$newType(0,$kindStruct,"gif.blockReader","blockReader","image/gif",function(r_,slice_,err_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.slice=slice_!==undefined?slice_:AH.nil;this.err=err_!==undefined?err_:$ifaceNil;this.tmp=tmp_!==undefined?tmp_:AJ.zero();});P=$pkg.interlaceScan=$newType(0,$kindStruct,"gif.interlaceScan","interlaceScan","image/gif",function(skip_,start_){this.$val=this;this.skip=skip_!==undefined?skip_:0;this.start=start_!==undefined?start_:0;});O.Ptr.prototype.Read=function(a){var b,c,d,e,f;b=this;if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(a.$length===0){return[0,$ifaceNil];}if(b.slice.$length===0){c=0;d=b.r.ReadByte();c=d[0];b.err=d[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(c===0){b.err=G.EOF;return[0,b.err];}b.slice=$subslice(new AH(b.tmp),0,c);e=G.ReadFull(b.r,b.slice);b.err=e[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}}f=$copySlice(a,b.slice);b.slice=$subslice(b.slice,f);return[f,$ifaceNil];};O.prototype.Read=function(a){return this.$val.Read(a);};N.Ptr.prototype.decode=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;try{$deferFrames.push($deferred);c=this;d=$assertType(a,M,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=c.readHeaderAndScreenDescriptor();if(!($interfaceIsEqual(g,$ifaceNil))){return g;}if(b){return $ifaceNil;}if(!((((c.headerFields&128)>>>0)===0))){h=c.readColorMap();c.globalColorMap=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}}while(true){i=c.r.ReadByte();j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}l=j;if(l===33){k=c.readExtension();if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}else if(l===44){m=c.newImageFromDescriptor();n=m[0];o=m[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=!((((c.imageFields&128)>>>0)===0));if(p){q=c.readColorMap();n.Palette=q[0];o=q[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}}else{n.Palette=c.globalColorMap;}if(c.hasTransparentIndex&&(c.transparentIndex>>0)=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=(r=new F.RGBA.Ptr(0,0,0,0),new r.constructor.Struct(r)));}u=c.r.ReadByte();v=u[0];o=u[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}if(v<2||v>8){return D.Errorf("gif: pixel size in decode out of range: %d",new AI([new $Uint8(v)]));}w=new O.Ptr(c.r,AH.nil,$ifaceNil,AJ.zero());x=B.NewReader(w,0,(v>>0));$deferred.push([$methodVal(x,"Close"),[]]);y=G.ReadFull(x,n.Pix);o=y[1];if(!($interfaceIsEqual(o,$ifaceNil))){if(!($interfaceIsEqual(o,G.ErrUnexpectedEOF))){return o;}return J;}z=x.Read($subslice(new AH(c.tmp),0,1));aa=z[0];ab=z[1];if(!((aa===0))||!($interfaceIsEqual(ab,G.EOF))){if(!($interfaceIsEqual(ab,$ifaceNil))){return ab;}return K;}ac=w.Read($subslice(new AH(c.tmp),0,1));ad=ac[0];ae=ac[1];if(!((ad===0))||!($interfaceIsEqual(ae,G.EOF))){if(!($interfaceIsEqual(ae,$ifaceNil))){return ae;}return K;}if(n.Palette.$length<256){af=n.Pix;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if((ah>>0)>=n.Palette.$length){return L;}ag++;}}if(!((((c.imageFields&64)>>>0)===0))){R(n);}c.image=$append(c.image,n);c.delay=$append(c.delay,c.delayTime);c.delayTime=0;c.hasTransparentIndex=false;}else if(l===59){if(c.image.$length===0){return G.ErrUnexpectedEOF;}return $ifaceNil;}else{return D.Errorf("gif: unknown block type: 0x%.2x",new AI([new $Uint8(j)]));}}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};N.prototype.decode=function(a,b){return this.$val.decode(a,b);};N.Ptr.prototype.readHeaderAndScreenDescriptor=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,13));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}a.vers=$bytesToString($subslice(new AH(a.tmp),0,6));if(!(a.vers==="GIF87a")&&!(a.vers==="GIF89a")){return D.Errorf("gif: can't recognize format %s",new AI([new $String(a.vers)]));}a.width=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.height=(a.tmp[8]>>0)+((a.tmp[9]>>0)<<8>>0)>>0;a.headerFields=a.tmp[10];a.backgroundIndex=a.tmp[11];a.aspect=a.tmp[12];a.loopCount=-1;a.pixelSize=(((a.headerFields&7)>>>0)>>>0)+1>>>0;return $ifaceNil;};N.prototype.readHeaderAndScreenDescriptor=function(){return this.$val.readHeaderAndScreenDescriptor();};N.Ptr.prototype.readColorMap=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.pixelSize>8){return[F.Palette.nil,D.Errorf("gif: can't handle %d bits per pixel",new AI([new $Uint(a.pixelSize)]))];}c=(b=a.pixelSize,b<32?(1<>0;if(!((((a.imageFields&128)>>>0)===0))){c=(d=(((((a.imageFields&7)>>>0))+1<<24>>>24)),d<32?(1<>0;}e=3*c>>0;f=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));g=f[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[F.Palette.nil,D.Errorf("gif: short read on color map: %s",new AI([g]))];}h=F.Palette.make(c);i=0;j=h;k=0;while(k=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+l]=(m=new F.RGBA.Ptr((n=a.tmp,o=i+0>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o])),(p=a.tmp,q=i+1>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q])),(r=a.tmp,s=i+2>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s])),255),new m.constructor.Struct(m));i=i+(3)>>0;k++;}return[h,$ifaceNil];};N.prototype.readColorMap=function(){return this.$val.readColorMap();};N.Ptr.prototype.readExtension=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=0;f=c;if(f===1){e=13;}else if(f===249){return a.readGraphicControl();}else if(f===254){}else if(f===255){g=a.r.ReadByte();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}e=(h>>0);}else{return D.Errorf("gif: unknown extension 0x%.2x",new AI([new $Uint8(c)]));}if(e>0){j=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));k=j[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}if((c===255)&&$bytesToString($subslice(new AH(a.tmp),0,e))==="NETSCAPE2.0"){l=a.readBlock();m=l[0];n=l[1];if((m===0)||!($interfaceIsEqual(n,$ifaceNil))){return n;}if((m===3)&&(a.tmp[0]===1)){a.loopCount=(a.tmp[1]>>0)|((a.tmp[2]>>0)<<8>>0);}}while(true){o=a.readBlock();p=o[0];q=o[1];if((p===0)||!($interfaceIsEqual(q,$ifaceNil))){return q;}}};N.prototype.readExtension=function(){return this.$val.readExtension();};N.Ptr.prototype.readGraphicControl=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,6));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return D.Errorf("gif: can't read graphic control: %s",new AI([c]));}a.flags=a.tmp[1];a.delayTime=(a.tmp[2]>>0)|((a.tmp[3]>>0)<<8>>0);if(!((((a.flags&1)>>>0)===0))){a.transparentIndex=a.tmp[4];a.hasTransparentIndex=true;}return $ifaceNil;};N.prototype.readGraphicControl=function(){return this.$val.readGraphicControl();};N.Ptr.prototype.newImageFromDescriptor=function(){var a,b,c,d,e,f,g,h;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,9));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[AK.nil,D.Errorf("gif: can't read image descriptor: %s",new AI([c]))];}d=(a.tmp[0]>>0)+((a.tmp[1]>>0)<<8>>0)>>0;e=(a.tmp[2]>>0)+((a.tmp[3]>>0)<<8>>0)>>0;f=(a.tmp[4]>>0)+((a.tmp[5]>>0)<<8>>0)>>0;g=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.imageFields=a.tmp[8];h=$clone(E.Rect(d,e,d+f>>0,e+g>>0),E.Rectangle);if(!($equal(h,h.Intersect(E.Rect(0,0,a.width,a.height)),E.Rectangle))){return[AK.nil,C.New("gif: frame bounds larger than image bounds")];}return[E.NewPaletted(h,F.Palette.nil),$ifaceNil];};N.prototype.newImageFromDescriptor=function(){return this.$val.newImageFromDescriptor();};N.Ptr.prototype.readBlock=function(){var a,b,c,d;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if((c===0)||!($interfaceIsEqual(d,$ifaceNil))){return[0,d];}return G.ReadFull(a.r,$subslice(new AH(a.tmp),0,c));};N.prototype.readBlock=function(){return this.$val.readBlock();};R=function(a){var b,c,d,e,f,g,h,i,j;b=AL.nil;c=a.Bounds().Dx();d=a.Bounds().Dy();b=AL.make((c*d>>0));e=0;f=Q;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),P);i=h.start*c>>0;j=h.start;while(j>0)),$subslice(a.Pix,e,(e+c>>0)));e=e+(c)>>0;i=i+((c*h.skip>>0))>>0;j=j+(h.skip)>>0;}g++;}a.Pix=b;};S=$pkg.Decode=function(a){var b,c,d;b=$clone(new N.Ptr(),N);c=b.decode(a,false);if(!($interfaceIsEqual(c,$ifaceNil))){return[$ifaceNil,c];}return[(d=b.image,((0<0||0>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+0])),$ifaceNil];};V=$pkg.DecodeConfig=function(a){var b,c;b=$clone(new N.Ptr(),N);c=b.decode(a,true);if(!($interfaceIsEqual(c,$ifaceNil))){return[new E.Config.Ptr($ifaceNil,0,0),c];}return[new E.Config.Ptr(b.globalColorMap,b.width,b.height),$ifaceNil];};W=function(){E.RegisterFormat("gif","GIF8?a",S,V);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AG=$sliceType(P);AH=$sliceType($Uint8);AI=$sliceType($emptyInterface);AJ=$arrayType($Uint8,256);AK=$ptrType(E.Paletted);AL=$sliceType($Uint8);AN=$sliceType(AK);AO=$sliceType($Int);AQ=$arrayType($Uint8,1024);AS=$ptrType(N);AT=$ptrType(O);M.init([["Read","Read","",$funcType([AH],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);AS.methods=[["decode","decode","image/gif",$funcType([G.Reader,$Bool],[$error],false),-1],["newImageFromDescriptor","newImageFromDescriptor","image/gif",$funcType([],[AK,$error],false),-1],["readBlock","readBlock","image/gif",$funcType([],[$Int,$error],false),-1],["readColorMap","readColorMap","image/gif",$funcType([],[F.Palette,$error],false),-1],["readExtension","readExtension","image/gif",$funcType([],[$error],false),-1],["readGraphicControl","readGraphicControl","image/gif",$funcType([],[$error],false),-1],["readHeaderAndScreenDescriptor","readHeaderAndScreenDescriptor","image/gif",$funcType([],[$error],false),-1]];N.init([["r","r","image/gif",M,""],["vers","vers","image/gif",$String,""],["width","width","image/gif",$Int,""],["height","height","image/gif",$Int,""],["flags","flags","image/gif",$Uint8,""],["headerFields","headerFields","image/gif",$Uint8,""],["backgroundIndex","backgroundIndex","image/gif",$Uint8,""],["loopCount","loopCount","image/gif",$Int,""],["delayTime","delayTime","image/gif",$Int,""],["aspect","aspect","image/gif",$Uint8,""],["imageFields","imageFields","image/gif",$Uint8,""],["transparentIndex","transparentIndex","image/gif",$Uint8,""],["hasTransparentIndex","hasTransparentIndex","image/gif",$Bool,""],["pixelSize","pixelSize","image/gif",$Uint,""],["globalColorMap","globalColorMap","image/gif",F.Palette,""],["delay","delay","image/gif",AO,""],["image","image","image/gif",AN,""],["tmp","tmp","image/gif",AQ,""]]);AT.methods=[["Read","Read","",$funcType([AH],[$Int,$error],false),-1]];O.init([["r","r","image/gif",M,""],["slice","slice","image/gif",AH,""],["err","err","image/gif",$error,""],["tmp","tmp","image/gif",AJ,""]]);P.init([["skip","skip","image/gif",$Int,""],["start","start","image/gif",$Int,""]]);J=C.New("gif: not enough image data");K=C.New("gif: too much image data");L=C.New("gif: invalid pixel value");Q=new AG([new P.Ptr(8,0),new P.Ptr(8,4),new P.Ptr(4,2),new P.Ptr(2,1)]);W();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/ebitenutil"]=(function(){var $pkg={},L,M,N,O,A,B,F,C,G,H,I,J,D,E,K,Y,AA,AB,AG,AH,AI,AJ,U,V,X;L=$packages["bytes"];M=$packages["errors"];N=$packages["fmt"];O=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/internal/assets"];F=$packages["image"];C=$packages["image/color"];G=$packages["image/color/palette"];H=$packages["image/draw"];I=$packages["image/gif"];J=$packages["io"];D=$packages["math"];E=$packages["strings"];K=$packages["sync"];V=function(){var a,b,c,d,e,f,g,h,i,j,k;a=new AA([]);b=new AB([0,128,255]);c=0;while(c=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);e=new AB([0,128,255]);f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);h=new AB([0,128,255]);i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);a=$append(a,(k=new C.RGBA.Ptr(d,g,j,255),new k.constructor.Struct(k)));i++;}f++;}c++;}U=$subslice(new C.Palette(a.$array),a.$offset,a.$offset+a.$length);};X=$pkg.NewImageFromFile=function(a,b,$b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k,l,m;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;d=null;e=new AH(0);f=new($global.XMLHttpRequest)();f.open($externalize("GET",$String),$externalize(a,$String),$externalize(true,$Bool));f.responseType=$externalize("arraybuffer",$String);f.onload=$externalize((function(){var $deferred=[],$err=null,g,h;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);h=$parseInt(f.status)>>0;if(200<=h&&h<400){d=f.response;return;}c=M.New(N.Sprintf("http error: %d",new AI([new $Int(h)])));}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.onerror=$externalize((function(){var $deferred=[],$err=null,g;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);c=M.New("http error");}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.send();g=$recv(e,$BLOCKING);$s=1;case 1:if(g&&g.$blocking){g=g();}g[0];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}h=$assertType($internalize(new($global.Uint8Array)(d),$emptyInterface),AB);i=L.NewBuffer(h);j=F.Decode(i);k=j[0];c=j[2];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}l=A.NewImageFromImage(k,b);m=l[0];c=l[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}return[m,k,$ifaceNil];case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=L.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=M.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=N.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=O.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=15;case 15:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(A.Image);AA=$sliceType(C.Color);AB=$sliceType($Uint8);AG=$structType([]);AH=$chanType(AG,false,false);AI=$sliceType($emptyInterface);AJ=$funcType([],[],false);U=C.Palette.nil;V();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/jpeg"]=(function(){var $pkg={},D,E,B,C,A,AQ,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BF,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,G,I,K,L,M,P,Q,AB,AD,H,N,R,AC,AE,J,S,T,U,AF;D=$packages["bufio"];E=$packages["errors"];B=$packages["image"];C=$packages["image/color"];A=$packages["io"];G=$pkg.huffman=$newType(0,$kindStruct,"jpeg.huffman","huffman","image/jpeg",function(nCodes_,lut_,vals_,minCodes_,maxCodes_,valsIndices_){this.$val=this;this.nCodes=nCodes_!==undefined?nCodes_:0;this.lut=lut_!==undefined?lut_:BI.zero();this.vals=vals_!==undefined?vals_:BJ.zero();this.minCodes=minCodes_!==undefined?minCodes_:AT.zero();this.maxCodes=maxCodes_!==undefined?maxCodes_:AT.zero();this.valsIndices=valsIndices_!==undefined?valsIndices_:AT.zero();});I=$pkg.block=$newType(256,$kindArray,"jpeg.block","block","image/jpeg",null);K=$pkg.FormatError=$newType(8,$kindString,"jpeg.FormatError","FormatError","image/jpeg",null);L=$pkg.UnsupportedError=$newType(8,$kindString,"jpeg.UnsupportedError","UnsupportedError","image/jpeg",null);M=$pkg.component=$newType(0,$kindStruct,"jpeg.component","component","image/jpeg",function(h_,v_,c_,tq_){this.$val=this;this.h=h_!==undefined?h_:0;this.v=v_!==undefined?v_:0;this.c=c_!==undefined?c_:0;this.tq=tq_!==undefined?tq_:0;});P=$pkg.bits=$newType(0,$kindStruct,"jpeg.bits","bits","image/jpeg",function(a_,m_,n_){this.$val=this;this.a=a_!==undefined?a_:0;this.m=m_!==undefined?m_:0;this.n=n_!==undefined?n_:0;});Q=$pkg.decoder=$newType(0,$kindStruct,"jpeg.decoder","decoder","image/jpeg",function(r_,bits_,bytes_,width_,height_,img1_,img3_,ri_,nComp_,progressive_,eobRun_,comp_,progCoeffs_,huff_,quant_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:new P.Ptr();this.bytes=bytes_!==undefined?bytes_:new BN.Ptr();this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.img1=img1_!==undefined?img1_:AV.nil;this.img3=img3_!==undefined?img3_:AW.nil;this.ri=ri_!==undefined?ri_:0;this.nComp=nComp_!==undefined?nComp_:0;this.progressive=progressive_!==undefined?progressive_:false;this.eobRun=eobRun_!==undefined?eobRun_:0;this.comp=comp_!==undefined?comp_:BO.zero();this.progCoeffs=progCoeffs_!==undefined?progCoeffs_:BP.zero();this.huff=huff_!==undefined?huff_:BR.zero();this.quant=quant_!==undefined?quant_:BF.zero();this.tmp=tmp_!==undefined?tmp_:BS.zero();});AB=$pkg.huffmanSpec=$newType(0,$kindStruct,"jpeg.huffmanSpec","huffmanSpec","image/jpeg",function(count_,value_){this.$val=this;this.count=count_!==undefined?count_:BW.zero();this.value=value_!==undefined?value_:AS.nil;});AD=$pkg.huffmanLUT=$newType(12,$kindSlice,"jpeg.huffmanLUT","huffmanLUT","image/jpeg",null);Q.Ptr.prototype.ensureNBits=function(a){var b,c,d,e,f;b=this;while(true){c=b.readByteStuffedByte();d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,A.EOF)){return new K(H);}return e;}b.bits.a=((b.bits.a<<8>>>0)|(d>>>0))>>>0;b.bits.n=b.bits.n+(8)>>0;if(b.bits.m===0){b.bits.m=128;}else{b.bits.m=(f=(8),f<32?(b.bits.m<>>0;}if(b.bits.n>=a){break;}}return $ifaceNil;};Q.prototype.ensureNBits=function(a){return this.$val.ensureNBits(a);};Q.Ptr.prototype.receiveExtend=function(a){var b,c,d,e,f,g,h,i;b=this;if(b.bits.n<(a>>0)){c=b.ensureNBits((a>>0));if(!($interfaceIsEqual(c,$ifaceNil))){return[0,c];}}b.bits.n=b.bits.n-((a>>0))>>0;b.bits.m=(d=(a),d<32?(b.bits.m>>>d):0)>>>0;f=(e=a,e<32?(1<>0;h=(((g=(b.bits.n<<24>>>24),g<32?(b.bits.a>>>g):0)>>>0)>>0)&((f-1>>0));if(h<(f>>1>>0)){h=h+(((((i=a,i<32?(-1<>0))+1>>0))>>0;}return[h,$ifaceNil];};Q.prototype.receiveExtend=function(a){return this.$val.receiveExtend(a);};Q.Ptr.prototype.processDHT=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw;b=this;while(a>0){if(a<17){return new K("DHT has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,17));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(d>1){return new K("bad Tc value");}e=(b.tmp[0]&15)>>>0;if(e>3||!b.progressive&&e>1){return new K("bad Th value");}h=(f=(g=b.huff,((d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d])),((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e]));h.nCodes=0;i=$clone(AT.zero(),AT);j=i;k=0;while(k<16){l=k;(l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]=((m=b.tmp,n=l+1>>0,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))>>0);h.nCodes=h.nCodes+(((l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]))>>0;k++;}if(h.nCodes===0){return new K("Huffman table has zero length");}if(h.nCodes>256){return new K("Huffman table has excessive length");}a=a-(((h.nCodes>>0)+17>>0))>>0;if(a<0){return new K("DHT has wrong length");}o=b.readFull($subslice(new AU(h.vals),0,h.nCodes));if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=h.lut;q=0;while(q<256){r=q;(s=h.lut,(r<0||r>=s.length)?$throwRuntimeError("index out of range"):s[r]=0);q++;}t=0;u=0;v=t;w=u;x=0;while(x<8){w=(y=(1),y<32?(w<>>0;z=0;while(z<((x<0||x>=i.length)?$throwRuntimeError("index out of range"):i[x])){ab=(((aa=((7-x>>>0)),aa<32?(w<>>0)<<24>>>24);ad=((((ac=h.vals,((v<0||v>=ac.length)?$throwRuntimeError("index out of range"):ac[v]))<<16>>>16)<<8<<16>>>16)|((2+x>>>0)<<16>>>16))>>>0;ae=0;while(ae<((af=((7-x>>>0)),af<32?(1<>>24)){(ag=h.lut,ah=(ab|ae)>>>0,(ah<0||ah>=ag.length)?$throwRuntimeError("index out of range"):ag[ah]=ad);ae=ae+(1)<<24>>>24;}w=w+(1)>>>0;v=v+(1)>>>0;z=z+(1)>>0;}x=x+(1)>>>0;}ai=0;aj=0;ak=ai;al=aj;am=i;an=0;while(an<16){ao=an;ap=((an<0||an>=am.length)?$throwRuntimeError("index out of range"):am[an]);if(ap===0){(aq=h.minCodes,(ao<0||ao>=aq.length)?$throwRuntimeError("index out of range"):aq[ao]=-1);(ar=h.maxCodes,(ao<0||ao>=ar.length)?$throwRuntimeError("index out of range"):ar[ao]=-1);(as=h.valsIndices,(ao<0||ao>=as.length)?$throwRuntimeError("index out of range"):as[ao]=-1);}else{(at=h.minCodes,(ao<0||ao>=at.length)?$throwRuntimeError("index out of range"):at[ao]=ak);(au=h.maxCodes,(ao<0||ao>=au.length)?$throwRuntimeError("index out of range"):au[ao]=(ak+ap>>0)-1>>0);(av=h.valsIndices,(ao<0||ao>=av.length)?$throwRuntimeError("index out of range"):av[ao]=al);ak=ak+(ap)>>0;al=al+(ap)>>0;}ak=(aw=(1),aw<32?(ak<>0;an++;}}return $ifaceNil;};Q.prototype.processDHT=function(a){return this.$val.processDHT(a);};Q.Ptr.prototype.decodeHuffman=function(a){var $this=this,$args=arguments,$s=0,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s:while(true){switch($s){case 0:b=$this;if(a.nCodes===0){return[0,new K("uninitialized Huffman table")];}if(b.bits.n<8){}else{$s=2;continue;}c=b.ensureNBits(8);if(!($interfaceIsEqual(c,$ifaceNil))){}else{$s=3;continue;}if(!($interfaceIsEqual(c,new K(R)))&&!($interfaceIsEqual(c,new K(H)))){return[0,c];}b.unreadByteStuffedByte();$s=1;continue;case 3:case 2:g=(d=a.lut,e=((((f=((b.bits.n-8>>0)>>>0),f<32?(b.bits.a>>>f):0)>>>0))&255)>>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));if(!((g===0))){h=(((g&255)>>>0))-1<<16>>>16;b.bits.n=b.bits.n-((h>>0))>>0;b.bits.m=(i=(h),i<32?(b.bits.m>>>i):0)>>>0;return[((g>>>8<<16>>>16)<<24>>>24),$ifaceNil];}case 1:j=0;k=0;l=j;m=k;slowPath:while(l<16){if(b.bits.n===0){n=b.ensureNBits(1);if(!($interfaceIsEqual(n,$ifaceNil))){return[0,n];}}if(!((((b.bits.a&b.bits.m)>>>0)===0))){m=m|(1);}b.bits.n=b.bits.n-(1)>>0;b.bits.m=(o=(1),o<32?(b.bits.m>>>o):0)>>>0;if(m<=(p=a.maxCodes,((l<0||l>=p.length)?$throwRuntimeError("index out of range"):p[l]))){return[(q=a.vals,r=((s=a.valsIndices,((l<0||l>=s.length)?$throwRuntimeError("index out of range"):s[l]))+m>>0)-(t=a.minCodes,((l<0||l>=t.length)?$throwRuntimeError("index out of range"):t[l]))>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),$ifaceNil];}m=(u=(1),u<32?(m<>0;l=l+(1)>>0;}return[0,new K("bad Huffman code")];case-1:}return;}};Q.prototype.decodeHuffman=function(a){return this.$val.decodeHuffman(a);};Q.Ptr.prototype.decodeBit=function(){var a,b,c,d;a=this;if(a.bits.n===0){b=a.ensureNBits(1);if(!($interfaceIsEqual(b,$ifaceNil))){return[false,b];}}c=!((((a.bits.a&a.bits.m)>>>0)===0));a.bits.n=a.bits.n-(1)>>0;a.bits.m=(d=(1),d<32?(a.bits.m>>>d):0)>>>0;return[c,$ifaceNil];};Q.prototype.decodeBit=function(){return this.$val.decodeBit();};Q.Ptr.prototype.decodeBits=function(a){var b,c,d,e,f,g;b=this;if(b.bits.n>0)>>>0),d<32?(b.bits.a>>>d):0)>>>0;e=(e&(((((f=(a>>>0),f<32?(1<>>0))-1>>>0)))>>>0;b.bits.n=b.bits.n-(a)>>0;b.bits.m=(g=((a>>>0)),g<32?(b.bits.m>>>g):0)>>>0;return[e,$ifaceNil];};Q.prototype.decodeBits=function(a){return this.$val.decodeBits(a);};J=function(a){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,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;b=0;while(b<8){c=b*8>>0;if(((d=c+1>>0,(a.nilCheck,((d<0||d>=a.length)?$throwRuntimeError("index out of range"):a[d])))===0)&&((e=c+2>>0,(a.nilCheck,((e<0||e>=a.length)?$throwRuntimeError("index out of range"):a[e])))===0)&&((f=c+3>>0,(a.nilCheck,((f<0||f>=a.length)?$throwRuntimeError("index out of range"):a[f])))===0)&&((g=c+4>>0,(a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g])))===0)&&((h=c+5>>0,(a.nilCheck,((h<0||h>=a.length)?$throwRuntimeError("index out of range"):a[h])))===0)&&((i=c+6>>0,(a.nilCheck,((i<0||i>=a.length)?$throwRuntimeError("index out of range"):a[i])))===0)&&((j=c+7>>0,(a.nilCheck,((j<0||j>=a.length)?$throwRuntimeError("index out of range"):a[j])))===0)){l=(k=c+0>>0,(a.nilCheck,((k<0||k>=a.length)?$throwRuntimeError("index out of range"):a[k])))<<3>>0;(m=c+0>>0,a.nilCheck,(m<0||m>=a.length)?$throwRuntimeError("index out of range"):a[m]=l);(n=c+1>>0,a.nilCheck,(n<0||n>=a.length)?$throwRuntimeError("index out of range"):a[n]=l);(o=c+2>>0,a.nilCheck,(o<0||o>=a.length)?$throwRuntimeError("index out of range"):a[o]=l);(p=c+3>>0,a.nilCheck,(p<0||p>=a.length)?$throwRuntimeError("index out of range"):a[p]=l);(q=c+4>>0,a.nilCheck,(q<0||q>=a.length)?$throwRuntimeError("index out of range"):a[q]=l);(r=c+5>>0,a.nilCheck,(r<0||r>=a.length)?$throwRuntimeError("index out of range"):a[r]=l);(s=c+6>>0,a.nilCheck,(s<0||s>=a.length)?$throwRuntimeError("index out of range"):a[s]=l);(t=c+7>>0,a.nilCheck,(t<0||t>=a.length)?$throwRuntimeError("index out of range"):a[t]=l);b=b+(1)>>0;continue;}v=(((u=c+0>>0,(a.nilCheck,((u<0||u>=a.length)?$throwRuntimeError("index out of range"):a[u])))<<11>>0))+128>>0;x=(w=c+4>>0,(a.nilCheck,((w<0||w>=a.length)?$throwRuntimeError("index out of range"):a[w])))<<11>>0;z=(y=c+6>>0,(a.nilCheck,((y<0||y>=a.length)?$throwRuntimeError("index out of range"):a[y])));ab=(aa=c+2>>0,(a.nilCheck,((aa<0||aa>=a.length)?$throwRuntimeError("index out of range"):a[aa])));ad=(ac=c+1>>0,(a.nilCheck,((ac<0||ac>=a.length)?$throwRuntimeError("index out of range"):a[ac])));af=(ae=c+7>>0,(a.nilCheck,((ae<0||ae>=a.length)?$throwRuntimeError("index out of range"):a[ae])));ah=(ag=c+5>>0,(a.nilCheck,((ag<0||ag>=a.length)?$throwRuntimeError("index out of range"):a[ag])));aj=(ai=c+3>>0,(a.nilCheck,((ai<0||ai>=a.length)?$throwRuntimeError("index out of range"):a[ai])));al=(ak=(ad+af>>0),(((565>>>16<<16)*ak>>0)+(565<<16>>>16)*ak)>>0);ad=al+((((2276>>>16<<16)*ad>>0)+(2276<<16>>>16)*ad)>>0)>>0;af=al-((((3406>>>16<<16)*af>>0)+(3406<<16>>>16)*af)>>0)>>0;al=(am=(ah+aj>>0),(((2408>>>16<<16)*am>>0)+(2408<<16>>>16)*am)>>0);ah=al-((((799>>>16<<16)*ah>>0)+(799<<16>>>16)*ah)>>0)>>0;aj=al-((((4017>>>16<<16)*aj>>0)+(4017<<16>>>16)*aj)>>0)>>0;al=v+x>>0;v=v-(x)>>0;x=(an=(ab+z>>0),(((1108>>>16<<16)*an>>0)+(1108<<16>>>16)*an)>>0);z=x-((((3784>>>16<<16)*z>>0)+(3784<<16>>>16)*z)>>0)>>0;ab=x+((((1568>>>16<<16)*ab>>0)+(1568<<16>>>16)*ab)>>0)>>0;x=ad+ah>>0;ad=ad-(ah)>>0;ah=af+aj>>0;af=af-(aj)>>0;aj=al+ab>>0;al=al-(ab)>>0;ab=v+z>>0;v=v-(z)>>0;z=(((ao=(ad+af>>0),(((181>>>16<<16)*ao>>0)+(181<<16>>>16)*ao)>>0)+128>>0))>>8>>0;ad=(((ap=(ad-af>>0),(((181>>>16<<16)*ap>>0)+(181<<16>>>16)*ap)>>0)+128>>0))>>8>>0;(aq=c+0>>0,a.nilCheck,(aq<0||aq>=a.length)?$throwRuntimeError("index out of range"):a[aq]=((aj+x>>0))>>8>>0);(ar=c+1>>0,a.nilCheck,(ar<0||ar>=a.length)?$throwRuntimeError("index out of range"):a[ar]=((ab+z>>0))>>8>>0);(as=c+2>>0,a.nilCheck,(as<0||as>=a.length)?$throwRuntimeError("index out of range"):a[as]=((v+ad>>0))>>8>>0);(at=c+3>>0,a.nilCheck,(at<0||at>=a.length)?$throwRuntimeError("index out of range"):a[at]=((al+ah>>0))>>8>>0);(au=c+4>>0,a.nilCheck,(au<0||au>=a.length)?$throwRuntimeError("index out of range"):a[au]=((al-ah>>0))>>8>>0);(av=c+5>>0,a.nilCheck,(av<0||av>=a.length)?$throwRuntimeError("index out of range"):a[av]=((v-ad>>0))>>8>>0);(aw=c+6>>0,a.nilCheck,(aw<0||aw>=a.length)?$throwRuntimeError("index out of range"):a[aw]=((ab-z>>0))>>8>>0);(ax=c+7>>0,a.nilCheck,(ax<0||ax>=a.length)?$throwRuntimeError("index out of range"):a[ax]=((aj-x>>0))>>8>>0);b=b+(1)>>0;}ay=0;while(ay<8){ba=(((az=0+ay>>0,(a.nilCheck,((az<0||az>=a.length)?$throwRuntimeError("index out of range"):a[az])))<<8>>0))+8192>>0;bc=(bb=32+ay>>0,(a.nilCheck,((bb<0||bb>=a.length)?$throwRuntimeError("index out of range"):a[bb])))<<8>>0;be=(bd=48+ay>>0,(a.nilCheck,((bd<0||bd>=a.length)?$throwRuntimeError("index out of range"):a[bd])));bg=(bf=16+ay>>0,(a.nilCheck,((bf<0||bf>=a.length)?$throwRuntimeError("index out of range"):a[bf])));bi=(bh=8+ay>>0,(a.nilCheck,((bh<0||bh>=a.length)?$throwRuntimeError("index out of range"):a[bh])));bk=(bj=56+ay>>0,(a.nilCheck,((bj<0||bj>=a.length)?$throwRuntimeError("index out of range"):a[bj])));bm=(bl=40+ay>>0,(a.nilCheck,((bl<0||bl>=a.length)?$throwRuntimeError("index out of range"):a[bl])));bo=(bn=24+ay>>0,(a.nilCheck,((bn<0||bn>=a.length)?$throwRuntimeError("index out of range"):a[bn])));bq=(bp=(bi+bk>>0),(((565>>>16<<16)*bp>>0)+(565<<16>>>16)*bp)>>0)+4>>0;bi=((bq+((((2276>>>16<<16)*bi>>0)+(2276<<16>>>16)*bi)>>0)>>0))>>3>>0;bk=((bq-((((3406>>>16<<16)*bk>>0)+(3406<<16>>>16)*bk)>>0)>>0))>>3>>0;bq=(br=(bm+bo>>0),(((2408>>>16<<16)*br>>0)+(2408<<16>>>16)*br)>>0)+4>>0;bm=((bq-((((799>>>16<<16)*bm>>0)+(799<<16>>>16)*bm)>>0)>>0))>>3>>0;bo=((bq-((((4017>>>16<<16)*bo>>0)+(4017<<16>>>16)*bo)>>0)>>0))>>3>>0;bq=ba+bc>>0;ba=ba-(bc)>>0;bc=(bs=(bg+be>>0),(((1108>>>16<<16)*bs>>0)+(1108<<16>>>16)*bs)>>0)+4>>0;be=((bc-((((3784>>>16<<16)*be>>0)+(3784<<16>>>16)*be)>>0)>>0))>>3>>0;bg=((bc+((((1568>>>16<<16)*bg>>0)+(1568<<16>>>16)*bg)>>0)>>0))>>3>>0;bc=bi+bm>>0;bi=bi-(bm)>>0;bm=bk+bo>>0;bk=bk-(bo)>>0;bo=bq+bg>>0;bq=bq-(bg)>>0;bg=ba+be>>0;ba=ba-(be)>>0;be=(((bt=(bi+bk>>0),(((181>>>16<<16)*bt>>0)+(181<<16>>>16)*bt)>>0)+128>>0))>>8>>0;bi=(((bu=(bi-bk>>0),(((181>>>16<<16)*bu>>0)+(181<<16>>>16)*bu)>>0)+128>>0))>>8>>0;(bv=0+ay>>0,a.nilCheck,(bv<0||bv>=a.length)?$throwRuntimeError("index out of range"):a[bv]=((bo+bc>>0))>>14>>0);(bw=8+ay>>0,a.nilCheck,(bw<0||bw>=a.length)?$throwRuntimeError("index out of range"):a[bw]=((bg+be>>0))>>14>>0);(bx=16+ay>>0,a.nilCheck,(bx<0||bx>=a.length)?$throwRuntimeError("index out of range"):a[bx]=((ba+bi>>0))>>14>>0);(by=24+ay>>0,a.nilCheck,(by<0||by>=a.length)?$throwRuntimeError("index out of range"):a[by]=((bq+bm>>0))>>14>>0);(bz=32+ay>>0,a.nilCheck,(bz<0||bz>=a.length)?$throwRuntimeError("index out of range"):a[bz]=((bq-bm>>0))>>14>>0);(ca=40+ay>>0,a.nilCheck,(ca<0||ca>=a.length)?$throwRuntimeError("index out of range"):a[ca]=((ba-bi>>0))>>14>>0);(cb=48+ay>>0,a.nilCheck,(cb<0||cb>=a.length)?$throwRuntimeError("index out of range"):a[cb]=((bg-be>>0))>>14>>0);(cc=56+ay>>0,a.nilCheck,(cc<0||cc>=a.length)?$throwRuntimeError("index out of range"):a[cc]=((bo-bc>>0))>>14>>0);ay=ay+(1)>>0;}};K.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"invalid JPEG format: "+a;};$ptrType(K).prototype.Error=function(){return new K(this.$get()).Error();};L.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"unsupported JPEG feature: "+a;};$ptrType(L).prototype.Error=function(){return new L(this.$get()).Error();};Q.Ptr.prototype.fill=function(){var a,b,c,d,e,f,g,h,i,j;a=this;if(!((a.bytes.i===a.bytes.j))){$panic(new $String("jpeg: fill called when unread bytes exist"));}if(a.bytes.j>2){a.bytes.buf[0]=(b=a.bytes.buf,c=a.bytes.j-2>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]));a.bytes.buf[1]=(d=a.bytes.buf,e=a.bytes.j-1>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));f=2;g=2;a.bytes.i=f;a.bytes.j=g;}h=a.r.Read($subslice(new AS(a.bytes.buf),a.bytes.j));i=h[0];j=h[1];a.bytes.j=a.bytes.j+(i)>>0;if(i>0){j=$ifaceNil;}return j;};Q.prototype.fill=function(){return this.$val.fill();};Q.Ptr.prototype.unreadByteStuffedByte=function(){var a,b,c;a=this;if(a.bytes.nUnreadable===0){$panic(new $String("jpeg: unreadByteStuffedByte call cannot be fulfilled"));}a.bytes.i=a.bytes.i-(a.bytes.nUnreadable)>>0;a.bytes.nUnreadable=0;if(a.bits.n>=8){a.bits.a=(b=(8),b<32?(a.bits.a>>>b):0)>>>0;a.bits.n=a.bits.n-(8)>>0;a.bits.m=(c=(8),c<32?(a.bits.m>>>c):0)>>>0;}};Q.prototype.unreadByteStuffedByte=function(){return this.$val.unreadByteStuffedByte();};Q.Ptr.prototype.readByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i;c=this;while(c.bytes.i===c.bytes.j){b=c.fill();if(!($interfaceIsEqual(b,$ifaceNil))){d=0;e=b;a=d;b=e;return[a,b];}}a=(f=c.bytes.buf,g=c.bytes.i,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=0;h=a;i=$ifaceNil;a=h;b=i;return[a,b];};Q.prototype.readByte=function(){return this.$val.readByte();};Q.Ptr.prototype.readByteStuffedByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;c=this;if((c.bytes.i+2>>0)<=c.bytes.j){a=(d=c.bytes.buf,e=c.bytes.i,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=1;if(!((a===255))){f=a;g=b;a=f;b=g;return[a,b];}if(!(((h=c.bytes.buf,i=c.bytes.i,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]))===0))){j=0;k=new K(R);a=j;b=k;return[a,b];}c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=2;l=255;m=$ifaceNil;a=l;b=m;return[a,b];}n=c.readByte();a=n[0];b=n[1];if(!($interfaceIsEqual(b,$ifaceNil))){o=0;p=b;a=o;b=p;return[a,b];}if(!((a===255))){c.bytes.nUnreadable=1;q=a;r=$ifaceNil;a=q;b=r;return[a,b];}s=c.readByte();a=s[0];b=s[1];if(!($interfaceIsEqual(b,$ifaceNil))){c.bytes.nUnreadable=1;t=0;u=b;a=t;b=u;return[a,b];}c.bytes.nUnreadable=2;if(!((a===0))){v=0;w=new K(R);a=v;b=w;return[a,b];}x=255;y=$ifaceNil;a=x;b=y;return[a,b];};Q.prototype.readByteStuffedByte=function(){return this.$val.readByteStuffedByte();};Q.Ptr.prototype.readFull=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=$copySlice(a,$subslice(new AS(b.bytes.buf),b.bytes.i,b.bytes.j));a=$subslice(a,c);b.bytes.i=b.bytes.i+(c)>>0;if(a.$length===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.readFull=function(a){return this.$val.readFull(a);};Q.Ptr.prototype.ignore=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=b.bytes.j-b.bytes.i>>0;if(c>a){c=a;}b.bytes.i=b.bytes.i+(c)>>0;a=a-(c)>>0;if(a===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.ignore=function(a){return this.$val.ignore(a);};Q.Ptr.prototype.processSOF=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=this;c=a;if(c===9){b.nComp=1;}else if(c===15){b.nComp=3;}else{return new L("SOF has wrong length");}d=b.readFull($subslice(new AS(b.tmp),0,a));if(!($interfaceIsEqual(d,$ifaceNil))){return d;}if(!((b.tmp[0]===8))){return new L("precision");}b.height=((b.tmp[1]>>0)<<8>>0)+(b.tmp[2]>>0)>>0;b.width=((b.tmp[3]>>0)<<8>>0)+(b.tmp[4]>>0)>>0;if(!(((b.tmp[5]>>0)===b.nComp))){return new L("SOF has wrong number of image components");}e=0;while(e=h.length)?$throwRuntimeError("index out of range"):h[e])).c=(f=b.tmp,g=6+(3*e>>0)>>0,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));(k=b.comp,((e<0||e>=k.length)?$throwRuntimeError("index out of range"):k[e])).tq=(i=b.tmp,j=8+(3*e>>0)>>0,((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]));if(b.nComp===1){(l=b.comp,((e<0||e>=l.length)?$throwRuntimeError("index out of range"):l[e])).h=1;(m=b.comp,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])).v=1;e=e+(1)>>0;continue;}p=(n=b.tmp,o=7+(3*e>>0)>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o]));(q=b.comp,((e<0||e>=q.length)?$throwRuntimeError("index out of range"):q[e])).h=((p>>>4<<24>>>24)>>0);(r=b.comp,((e<0||e>=r.length)?$throwRuntimeError("index out of range"):r[e])).v=(((p&15)>>>0)>>0);if(e===0){if(!((p===17))&&!((p===33))&&!((p===34))&&!((p===18))){return new L("luma/chroma downsample ratio");}}else if(!((p===17))){return new L("luma/chroma downsample ratio");}e=e+(1)>>0;}return $ifaceNil;};Q.prototype.processSOF=function(a){return this.$val.processSOF(a);};Q.Ptr.prototype.processDQT=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;while(a>=65){c=b.readFull($subslice(new AS(b.tmp),0,65));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(!((d===0))){return new L("bad Pq value");}e=(b.tmp[0]&15)>>>0;if(e>3){return new K("bad Tq value");}f=(g=b.quant,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e]));h=0;while(h<64){i=h;(l=(m=b.quant,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])),(i<0||i>=l.length)?$throwRuntimeError("index out of range"):l[i]=((j=b.tmp,k=i+1>>0,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))>>0));h++;}a=a-(65)>>0;}if(!((a===0))){return new K("DQT has wrong length");}return $ifaceNil;};Q.prototype.processDQT=function(a){return this.$val.processDQT(a);};Q.Ptr.prototype.processDRI=function(a){var b,c;b=this;if(!((a===2))){return new K("DRI has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}b.ri=((b.tmp[0]>>0)<<8>>0)+(b.tmp[1]>>0)>>0;return $ifaceNil;};Q.prototype.processDRI=function(a){return this.$val.processDRI(a);};Q.Ptr.prototype.decode=function(a,b){var c,d,e,f,g,h,i;c=this;c.r=a;d=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}if(!((c.tmp[0]===255))||!((c.tmp[1]===216))){return[$ifaceNil,new K("missing SOI marker")];}while(true){e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}while(!((c.tmp[0]===255))){c.tmp[0]=c.tmp[1];f=c.readByte();c.tmp[1]=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}g=c.tmp[1];if(g===0){continue;}while(g===255){h=c.readByte();g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(g===217){break;}if(208<=g&&g<=215){continue;}e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}i=(((c.tmp[0]>>0)<<8>>0)+(c.tmp[1]>>0)>>0)-2>>0;if(i<0){return[$ifaceNil,new K("short segment length")];}if((g===192)||(g===194)){c.progressive=g===194;e=c.processSOF(i);if(b){return[$ifaceNil,e];}}else if(g===196){e=c.processDHT(i);}else if(g===219){e=c.processDQT(i);}else if(g===218){e=c.processSOS(i);}else if(g===221){e=c.processDRI(i);}else if(224<=g&&g<=239||(g===254)){e=c.ignore(i);}else{e=new L("unknown marker");}if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(!(c.img1===AV.nil)){return[c.img1,$ifaceNil];}if(!(c.img3===AW.nil)){return[c.img3,$ifaceNil];}return[$ifaceNil,new K("missing SOS marker")];};Q.prototype.decode=function(a,b){return this.$val.decode(a,b);};S=$pkg.Decode=function(a){var b;b=$clone(new Q.Ptr(),Q);return b.decode(a,false);};T=$pkg.DecodeConfig=function(a){var b,c,d,e;b=$clone(new Q.Ptr(),Q);c=b.decode(a,true);d=c[1];if(!($interfaceIsEqual(d,$ifaceNil))){return[new B.Config.Ptr($ifaceNil,0,0),d];}e=b.nComp;if(e===1){return[new B.Config.Ptr(C.GrayModel,b.width,b.height),$ifaceNil];}else if(e===3){return[new B.Config.Ptr(C.YCbCrModel,b.width,b.height),$ifaceNil];}return[new B.Config.Ptr($ifaceNil,0,0),new K("missing SOF marker")];};U=function(){B.RegisterFormat("jpeg","\xFF\xD8",S,T);};Q.Ptr.prototype.makeImg=function(a,b,c,d){var e,f,g,h;e=this;if(e.nComp===1){f=B.NewGray(B.Rect(0,0,8*c>>0,8*d>>0));e.img1=$assertType(f.SubImage(B.Rect(0,0,e.width,e.height)),AV);return;}g=0;if((a===1)&&(b===1)){g=0;}else if((a===1)&&(b===2)){g=3;}else if((a===2)&&(b===1)){g=1;}else if((a===2)&&(b===2)){g=2;}else{$panic(new $String("unreachable"));}h=B.NewYCbCr(B.Rect(0,0,(8*a>>0)*c>>0,(8*b>>0)*d>>0),g);e.img3=$assertType(h.SubImage(B.Rect(0,0,e.width,e.height)),AW);};Q.prototype.makeImg=function(a,b,c,d){return this.$val.makeImg(a,b,c,d);};Q.Ptr.prototype.processSOS=function(a){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,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,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es;b=this;if(b.nComp===0){return new K("missing SOF marker");}if(a<6||(4+(2*b.nComp>>0)>>0)>0);if(!((a===(4+(2*e>>0)>>0)))){return new K("SOS length inconsistent with number of components");}f=$clone(AY.zero(),AY);g=0;while(g>0)>>0,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]));k=-1;l=b.comp;m=0;while(m<3){n=m;o=$clone(((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]),M);if(j===o.c){k=n;}m++;}if(k<0){return new K("unknown component selector");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).compIndex=(k<<24>>>24);((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td=(p=b.tmp,q=2+(2*g>>0)>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]))>>>4<<24>>>24;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td>3){return new K("bad Td value");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta=((r=b.tmp,s=2+(2*g>>0)>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s]))&15)>>>0;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta>3){return new K("bad Ta value");}g=g+(1)>>0;}t=0;u=63;v=0;w=0;x=t;y=u;z=v;aa=w;if(b.progressive){x=((ab=b.tmp,ac=1+(2*e>>0)>>0,((ac<0||ac>=ab.length)?$throwRuntimeError("index out of range"):ab[ac]))>>0);y=((ad=b.tmp,ae=2+(2*e>>0)>>0,((ae<0||ae>=ad.length)?$throwRuntimeError("index out of range"):ad[ae]))>>0);z=(((af=b.tmp,ag=3+(2*e>>0)>>0,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag]))>>>4<<24>>>24)>>>0);aa=((((ah=b.tmp,ai=3+(2*e>>0)>>0,((ai<0||ai>=ah.length)?$throwRuntimeError("index out of range"):ah[ai]))&15)>>>0)>>>0);if(((x===0)&&!((y===0)))||x>y||64<=y){return new K("bad spectral selection bounds");}if(!((x===0))&&!((e===1))){return new K("progressive AC coefficients for more than one component");}if(!((z===0))&&!((z===(aa+1>>>0)))){return new K("bad successive approximation values");}}aj=b.comp[0].h;ak=b.comp[0].v;al=aj;am=ak;ao=(an=(((b.width+(8*al>>0)>>0)-1>>0))/((8*al>>0)),(an===an&&an!==1/0&&an!==-1/0)?an>>0:$throwRuntimeError("integer divide by zero"));aq=(ap=(((b.height+(8*am>>0)>>0)-1>>0))/((8*am>>0)),(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));if(b.img1===AV.nil&&b.img3===AW.nil){b.makeImg(al,am,ao,aq);}if(b.progressive){ar=0;while(ar=f.length)?$throwRuntimeError("index out of range"):f[ar]).compIndex;if((at=b.progCoeffs,((as<0||as>=at.length)?$throwRuntimeError("index out of range"):at[as]))===AZ.nil){(aw=b.progCoeffs,(as<0||as>=aw.length)?$throwRuntimeError("index out of range"):aw[as]=AZ.make((((ao*aq>>0)*(au=b.comp,((as<0||as>=au.length)?$throwRuntimeError("index out of range"):au[as])).h>>0)*(av=b.comp,((as<0||as>=av.length)?$throwRuntimeError("index out of range"):av[as])).v>>0)));}ar=ar+(1)>>0;}}$copy(b.bits,new P.Ptr(0,0,0),P);ax=0;ay=208;az=ax;ba=ay;bb=$clone(I.zero(),I);bc=$clone(BA.zero(),BA);bd=0;be=0;bf=bd;bg=be;bh=0;bi=0;while(bi=f.length)?$throwRuntimeError("index out of range"):f[bk]).compIndex;bp=(bm=b.quant,bn=(bo=b.comp,((bl<0||bl>=bo.length)?$throwRuntimeError("index out of range"):bo[bl])).tq,((bn<0||bn>=bm.length)?$throwRuntimeError("index out of range"):bm[bn]));bq=0;while(bq<((br=b.comp,((bl<0||bl>=br.length)?$throwRuntimeError("index out of range"):br[bl])).h*(bs=b.comp,((bl<0||bl>=bs.length)?$throwRuntimeError("index out of range"):bs[bl])).v>>0)){if(!((e===1))){bt=(bu=b.comp,((bl<0||bl>=bu.length)?$throwRuntimeError("index out of range"):bu[bl])).h*bj>>0;bv=(bw=b.comp,((bl<0||bl>=bw.length)?$throwRuntimeError("index out of range"):bw[bl])).v*bi>>0;bf=bt;bg=bv;if(al===1){bg=bg+(bq)>>0;}else{bf=bf+((bx=bq%2,bx===bx?bx:$throwRuntimeError("integer divide by zero")))>>0;bg=bg+((by=bq/2,(by===by&&by!==1/0&&by!==-1/0)?by>>0:$throwRuntimeError("integer divide by zero")))>>0;}}else{ca=ao*(bz=b.comp,((bl<0||bl>=bz.length)?$throwRuntimeError("index out of range"):bz[bl])).h>>0;bf=(cb=bh%ca,cb===cb?cb:$throwRuntimeError("integer divide by zero"));bg=(cc=bh/ca,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>0:$throwRuntimeError("integer divide by zero"));bh=bh+(1)>>0;if((bf*8>>0)>=b.width||(bg*8>>0)>=b.height){bq=bq+(1)>>0;continue;}}if(b.progressive){$copy(bb,(cd=(ce=b.progCoeffs,((bl<0||bl>=ce.length)?$throwRuntimeError("index out of range"):ce[bl])),cf=((bg*ao>>0)*(cg=b.comp,((bl<0||bl>=cg.length)?$throwRuntimeError("index out of range"):cg[bl])).h>>0)+bf>>0,((cf<0||cf>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+cf])),I);}else{$copy(bb,BB.zero(),I);}if(!((z===0))){ck=b.refine(bb,(ch=b.huff[1],ci=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((ci<0||ci>=ch.length)?$throwRuntimeError("index out of range"):ch[ci])),x,y,(cj=aa,cj<32?(1<>0);if(!($interfaceIsEqual(ck,$ifaceNil))){return ck;}}else{cl=x;if(cl===0){cl=cl+(1)>>0;cm=b.decodeHuffman((cn=b.huff[0],co=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).td,((co<0||co>=cn.length)?$throwRuntimeError("index out of range"):cn[co])));cp=cm[0];cq=cm[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}if(cp>16){return new L("excessive DC component");}cr=b.receiveExtend(cp);cs=cr[0];cq=cr[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}ct=bc;cu=bl;(cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu]=((cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu])+(cs)>>0;bb[0]=(cv=aa,cv<32?(((bl<0||bl>=bc.length)?$throwRuntimeError("index out of range"):bc[bl])<>0;}if(cl<=y&&b.eobRun>0){b.eobRun=b.eobRun-(1)<<16>>>16;}else{cy=(cw=b.huff[1],cx=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((cx<0||cx>=cw.length)?$throwRuntimeError("index out of range"):cw[cx]));while(cl<=y){cz=b.decodeHuffman(cy);da=cz[0];db=cz[1];if(!($interfaceIsEqual(db,$ifaceNil))){return db;}dc=da>>>4<<24>>>24;dd=(da&15)>>>0;if(!((dd===0))){cl=cl+((dc>>0))>>0;if(cl>y){break;}de=b.receiveExtend(dd);df=de[0];dg=de[1];if(!($interfaceIsEqual(dg,$ifaceNil))){return dg;}(di=((cl<0||cl>=N.length)?$throwRuntimeError("index out of range"):N[cl]),(di<0||di>=bb.length)?$throwRuntimeError("index out of range"):bb[di]=(dh=aa,dh<32?(df<>0);}else{if(!((dc===15))){b.eobRun=((dj=dc,dj<32?(1<>>16);if(!((dc===0))){dk=b.decodeBits((dc>>0));dl=dk[0];dm=dk[1];if(!($interfaceIsEqual(dm,$ifaceNil))){return dm;}b.eobRun=(b.eobRun|((dl<<16>>>16)))>>>0;}b.eobRun=b.eobRun-(1)<<16>>>16;break;}cl=cl+(15)>>0;}cl=cl+(1)>>0;}}}if(b.progressive){if(!((y===63))||!((aa===0))){$copy((dn=(dp=b.progCoeffs,((bl<0||bl>=dp.length)?$throwRuntimeError("index out of range"):dp[bl])),dq=((bg*ao>>0)*(dr=b.comp,((bl<0||bl>=dr.length)?$throwRuntimeError("index out of range"):dr[bl])).h>>0)+bf>>0,((dq<0||dq>=dn.$length)?$throwRuntimeError("index out of range"):dn.$array[dn.$offset+dq])),bb,I);bq=bq+(1)>>0;continue;}}ds=0;while(ds<64){dt=bb;du=((ds<0||ds>=N.length)?$throwRuntimeError("index out of range"):N[ds]);(du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]=(dv=((du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]),dw=(bp.nilCheck,((ds<0||ds>=bp.length)?$throwRuntimeError("index out of range"):bp[ds])),(((dv>>>16<<16)*dw>>0)+(dv<<16>>>16)*dw)>>0);ds=ds+(1)>>0;}J(bb);dx=AS.nil;dy=0;dz=dx;ea=dy;if(b.nComp===1){eb=$subslice(b.img1.Pix,(8*(((bg*b.img1.Stride>>0)+bf>>0))>>0));ec=b.img1.Stride;dz=eb;ea=ec;}else{ed=bl;if(ed===0){ee=$subslice(b.img3.Y,(8*(((bg*b.img3.YStride>>0)+bf>>0))>>0));ef=b.img3.YStride;dz=ee;ea=ef;}else if(ed===1){eg=$subslice(b.img3.Cb,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));eh=b.img3.CStride;dz=eg;ea=eh;}else if(ed===2){ei=$subslice(b.img3.Cr,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));ej=b.img3.CStride;dz=ei;ea=ej;}else{return new L("too many components");}}ek=0;while(ek<8){el=ek*8>>0;em=ek*ea>>0;en=0;while(en<8){ep=(eo=el+en>>0,((eo<0||eo>=bb.length)?$throwRuntimeError("index out of range"):bb[eo]));if(ep<-128){ep=0;}else if(ep>127){ep=255;}else{ep=ep+(128)>>0;}(eq=em+en>>0,(eq<0||eq>=dz.$length)?$throwRuntimeError("index out of range"):dz.$array[dz.$offset+eq]=(ep<<24>>>24));en=en+(1)>>0;}ek=ek+(1)>>0;}bq=bq+(1)>>0;}bk=bk+(1)>>0;}az=az+(1)>>0;if(b.ri>0&&((er=az%b.ri,er===er?er:$throwRuntimeError("integer divide by zero"))===0)&&az<(ao*aq>>0)){es=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(es,$ifaceNil))){return es;}if(!((b.tmp[0]===255))||!((b.tmp[1]===ba))){return new K("bad RST marker");}ba=ba+(1)<<24>>>24;if(ba===216){ba=208;}$copy(b.bits,new P.Ptr(0,0,0),P);$copy(bc,BA.zero(),BA);b.eobRun=0;}bj=bj+(1)>>0;}bi=bi+(1)>>0;}return $ifaceNil;};Q.prototype.processSOS=function(a){return this.$val.processSOS(a);};Q.Ptr.prototype.refine=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;f=this;if(c===0){if(!((d===0))){$panic(new $String("unreachable"));}g=f.decodeBit();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}if(h){j=a;k=0;j.nilCheck,(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(j.nilCheck,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))|(e);}return $ifaceNil;}l=c;if(f.eobRun===0){loop:while(l<=d){m=0;n=f.decodeHuffman(b);o=n[0];p=n[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}q=o>>>4<<24>>>24;r=(o&15)>>>0;s=r;if(s===0){if(!((q===15))){f.eobRun=((t=q,t<32?(1<>>16);if(!((q===0))){u=f.decodeBits((q>>0));v=u[0];w=u[1];if(!($interfaceIsEqual(w,$ifaceNil))){return w;}f.eobRun=(f.eobRun|((v<<16>>>16)))>>>0;}break loop;}}else if(s===1){m=e;x=f.decodeBit();y=x[0];z=x[1];if(!($interfaceIsEqual(z,$ifaceNil))){return z;}if(!y){m=-m;}}else{return new K("unexpected Huffman code");}aa=f.refineNonZeroes(a,l,d,(q>>0),e);l=aa[0];p=aa[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}if(l>d){return new K("too many coefficients");}if(!((m===0))){(ab=((l<0||l>=N.length)?$throwRuntimeError("index out of range"):N[l]),a.nilCheck,(ab<0||ab>=a.length)?$throwRuntimeError("index out of range"):a[ab]=m);}l=l+(1)>>0;}}if(f.eobRun>0){f.eobRun=f.eobRun-(1)<<16>>>16;ac=f.refineNonZeroes(a,l,d,-1,e);ad=ac[1];if(!($interfaceIsEqual(ad,$ifaceNil))){return ad;}}return $ifaceNil;};Q.prototype.refine=function(a,b,c,d,e){return this.$val.refine(a,b,c,d,e);};Q.Ptr.prototype.refineNonZeroes=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;f=this;while(b<=c){g=((b<0||b>=N.length)?$throwRuntimeError("index out of range"):N[b]);if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))===0){if(d===0){break;}d=d-(1)>>0;b=b+(1)>>0;continue;}h=f.decodeBit();i=h[0];j=h[1];if(!($interfaceIsEqual(j,$ifaceNil))){return[0,j];}if(!i){b=b+(1)>>0;continue;}if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))>=0){k=a;l=g;k.nilCheck,(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=(k.nilCheck,((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]))+(e)>>0;}else{m=a;n=g;m.nilCheck,(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=(m.nilCheck,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))-(e)>>0;}b=b+(1)>>0;}return[b,$ifaceNil];};Q.prototype.refineNonZeroes=function(a,b,c,d,e){return this.$val.refineNonZeroes(a,b,c,d,e);};$ptrType(AD).prototype.init=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;a=$clone(a,AB);c=0;d=a.value;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);if((f>>0)>c){c=(f>>0);}e++;}b.$set((g=BC.make((c+1>>0)),$subslice(new AD(g.$array),g.$offset,g.$offset+g.$length)));h=0;i=0;j=h;k=i;l=0;while(l<16){m=((l+1>>0)>>>0)<<24>>>0;n=0;while(n<(o=a.count,((l<0||l>=o.length)?$throwRuntimeError("index out of range"):o[l]))){(p=b.$get(),q=(r=a.value,((k<0||k>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+k])),(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(m|j)>>>0);j=j+(1)>>>0;k=k+(1)>>0;n=n+(1)<<24>>>24;}j=(s=(1),s<32?(j<>>0;l=l+(1)>>0;}};AF=function(){var a,b,c,d;a=AC;b=0;while(b<4){c=b;d=$clone(((b<0||b>=a.length)?$throwRuntimeError("index out of range"):a[b]),AB);new BD(function(){return((c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]);},function($v){(c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]=$v;},AE).init(d);b++;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AQ=$arrayType(AD,4);AS=$sliceType($Uint8);AT=$arrayType($Int32,16);AU=$sliceType($Uint8);AV=$ptrType(B.Gray);AW=$ptrType(B.YCbCr);AX=$structType([["compIndex","compIndex","image/jpeg",$Uint8,""],["td","td","image/jpeg",$Uint8,""],["ta","ta","image/jpeg",$Uint8,""]]);AY=$arrayType(AX,3);AZ=$sliceType(I);BA=$arrayType($Int32,3);BB=$arrayType($Int32,64);BC=$sliceType($Uint32);BD=$ptrType(AD);BF=$arrayType(I,4);BI=$arrayType($Uint16,256);BJ=$arrayType($Uint8,256);BK=$ptrType(K);BL=$ptrType(L);BM=$arrayType($Uint8,4096);BN=$structType([["buf","buf","image/jpeg",BM,""],["i","i","image/jpeg",$Int,""],["j","j","image/jpeg",$Int,""],["nUnreadable","nUnreadable","image/jpeg",$Int,""]]);BO=$arrayType(M,3);BP=$arrayType(AZ,3);BQ=$arrayType(G,4);BR=$arrayType(BQ,2);BS=$arrayType($Uint8,65);BT=$ptrType(G);BU=$ptrType(I);BV=$ptrType(Q);BW=$arrayType($Uint8,16);G.init([["nCodes","nCodes","image/jpeg",$Int32,""],["lut","lut","image/jpeg",BI,""],["vals","vals","image/jpeg",BJ,""],["minCodes","minCodes","image/jpeg",AT,""],["maxCodes","maxCodes","image/jpeg",AT,""],["valsIndices","valsIndices","image/jpeg",AT,""]]);I.init($Int32,64);K.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];L.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];M.init([["h","h","image/jpeg",$Int,""],["v","v","image/jpeg",$Int,""],["c","c","image/jpeg",$Uint8,""],["tq","tq","image/jpeg",$Uint8,""]]);P.init([["a","a","image/jpeg",$Uint32,""],["m","m","image/jpeg",$Uint32,""],["n","n","image/jpeg",$Int32,""]]);BV.methods=[["decode","decode","image/jpeg",$funcType([A.Reader,$Bool],[B.Image,$error],false),-1],["decodeBit","decodeBit","image/jpeg",$funcType([],[$Bool,$error],false),-1],["decodeBits","decodeBits","image/jpeg",$funcType([$Int32],[$Uint32,$error],false),-1],["decodeHuffman","decodeHuffman","image/jpeg",$funcType([BT],[$Uint8,$error],false),-1],["ensureNBits","ensureNBits","image/jpeg",$funcType([$Int32],[$error],false),-1],["fill","fill","image/jpeg",$funcType([],[$error],false),-1],["ignore","ignore","image/jpeg",$funcType([$Int],[$error],false),-1],["makeImg","makeImg","image/jpeg",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["processDHT","processDHT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDQT","processDQT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDRI","processDRI","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOF","processSOF","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOS","processSOS","image/jpeg",$funcType([$Int],[$error],false),-1],["readByte","readByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readByteStuffedByte","readByteStuffedByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readFull","readFull","image/jpeg",$funcType([AS],[$error],false),-1],["receiveExtend","receiveExtend","image/jpeg",$funcType([$Uint8],[$Int32,$error],false),-1],["refine","refine","image/jpeg",$funcType([BU,BT,$Int32,$Int32,$Int32],[$error],false),-1],["refineNonZeroes","refineNonZeroes","image/jpeg",$funcType([BU,$Int32,$Int32,$Int32,$Int32],[$Int32,$error],false),-1],["unreadByteStuffedByte","unreadByteStuffedByte","image/jpeg",$funcType([],[],false),-1]];Q.init([["r","r","image/jpeg",A.Reader,""],["bits","bits","image/jpeg",P,""],["bytes","bytes","image/jpeg",BN,""],["width","width","image/jpeg",$Int,""],["height","height","image/jpeg",$Int,""],["img1","img1","image/jpeg",AV,""],["img3","img3","image/jpeg",AW,""],["ri","ri","image/jpeg",$Int,""],["nComp","nComp","image/jpeg",$Int,""],["progressive","progressive","image/jpeg",$Bool,""],["eobRun","eobRun","image/jpeg",$Uint16,""],["comp","comp","image/jpeg",BO,""],["progCoeffs","progCoeffs","image/jpeg",BP,""],["huff","huff","image/jpeg",BR,""],["quant","quant","image/jpeg",BF,""],["tmp","tmp","image/jpeg",BS,""]]);AB.init([["count","count","image/jpeg",BW,""],["value","value","image/jpeg",AS,""]]);BD.methods=[["init","init","image/jpeg",$funcType([AB],[],false),-1]];AD.init($Uint32);AE=AQ.zero();H="short Huffman data";N=$toNativeArray($kindInt,[0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);R="missing 0xff00 sequence";AC=$toNativeArray($kindStruct,[new AB.Ptr($toNativeArray($kindUint8,[0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125]),new AS([1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250])),new AB.Ptr($toNativeArray($kindUint8,[0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119]),new AS([0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250]))]);U();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["log"]=(function(){var $pkg={},A,B,C,D,E,F,Y,Z,AA,AB,AC,G,I,H,J,S;A=$packages["fmt"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];E=$packages["sync"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger","Logger","log",function(mu_,prefix_,flag_,out_,buf_){this.$val=this;this.mu=mu_!==undefined?mu_:new E.Mutex.Ptr();this.prefix=prefix_!==undefined?prefix_:"";this.flag=flag_!==undefined?flag_:0;this.out=out_!==undefined?out_:$ifaceNil;this.buf=buf_!==undefined?buf_:Y.nil;});H=$pkg.New=function(a,b,c){return new G.Ptr(new E.Mutex.Ptr(),b,c,a,Y.nil);};J=function(a,b,c){var d,e,f,g,h;d=(b>>>0);if((d===0)&&c<=1){a.$set($append(a.$get(),48));return;}e=$clone(Z.zero(),Z);f=32;while(d>0||c>0){f=f-(1)>>0;c=c-(1)>>0;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((g=d%10,g===g?g:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24;d=(h=d/(10),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));}a.$set($appendSlice(a.$get(),$subslice(new Y(e),f)));};G.Ptr.prototype.formatHeader=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;e=this;b=$clone(b,F.Time);a.$set($appendSlice(a.$get(),new Y($stringToBytes(e.prefix))));if(!(((e.flag&7)===0))){if(!(((e.flag&1)===0))){f=b.Date();g=f[0];h=f[1];i=f[2];J(a,g,4);a.$set($append(a.$get(),47));J(a,(h>>0),2);a.$set($append(a.$get(),47));J(a,i,2);a.$set($append(a.$get(),32));}if(!(((e.flag&6)===0))){j=b.Clock();k=j[0];l=j[1];m=j[2];J(a,k,2);a.$set($append(a.$get(),58));J(a,l,2);a.$set($append(a.$get(),58));J(a,m,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(n=b.Nanosecond()/1000,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));}}if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){o=c;p=c.length-1>>0;while(p>0){if(c.charCodeAt(p)===47){o=c.substring((p+1>>0));break;}p=p-(1)>>0;}c=o;}a.$set($appendSlice(a.$get(),new Y($stringToBytes(c))));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),new Y($stringToBytes(": "))));}};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.Ptr.prototype.Output=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j;try{$deferFrames.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);c.formatHeader(new AA(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c),d,e,f);c.buf=$appendSlice(c.buf,new Y($stringToBytes(b)));if(b.length>0&&!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}i=c.out.Write(c.buf);j=i[1];return j;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.Ptr.prototype.Printf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.Ptr.prototype.Print=function(a){var b;b=this;b.Output(2,A.Sprint(a));};G.prototype.Print=function(a){return this.$val.Print(a);};G.Ptr.prototype.Println=function(a){var b;b=this;b.Output(2,A.Sprintln(a));};G.prototype.Println=function(a){return this.$val.Println(a);};G.Ptr.prototype.Fatal=function(a){var b;b=this;b.Output(2,A.Sprint(a));C.Exit(1);};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.Ptr.prototype.Fatalf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));C.Exit(1);};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.Ptr.prototype.Fatalln=function(a){var b;b=this;b.Output(2,A.Sprintln(a));C.Exit(1);};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.Ptr.prototype.Panic=function(a){var b,c;b=this;c=A.Sprint(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.Ptr.prototype.Panicf=function(a,b){var c,d;c=this;d=A.Sprintf(a,b);c.Output(2,d);$panic(new $String(d));};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.Ptr.prototype.Panicln=function(a){var b,c;b=this;c=A.Sprintln(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.Ptr.prototype.Flags=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.Ptr.prototype.SetFlags=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.Ptr.prototype.Prefix=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.Ptr.prototype.SetPrefix=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};S=$pkg.Fatal=function(a){I.Output(2,A.Sprint(a));C.Exit(1);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);Z=$arrayType($Uint8,32);AA=$ptrType(Y);AB=$sliceType($emptyInterface);AC=$ptrType(G);AC.methods=[["Fatal","Fatal","",$funcType([AB],[],true),-1],["Fatalf","Fatalf","",$funcType([$String,AB],[],true),-1],["Fatalln","Fatalln","",$funcType([AB],[],true),-1],["Flags","Flags","",$funcType([],[$Int],false),-1],["Output","Output","",$funcType([$Int,$String],[$error],false),-1],["Panic","Panic","",$funcType([AB],[],true),-1],["Panicf","Panicf","",$funcType([$String,AB],[],true),-1],["Panicln","Panicln","",$funcType([AB],[],true),-1],["Prefix","Prefix","",$funcType([],[$String],false),-1],["Print","Print","",$funcType([AB],[],true),-1],["Printf","Printf","",$funcType([$String,AB],[],true),-1],["Println","Println","",$funcType([AB],[],true),-1],["SetFlags","SetFlags","",$funcType([$Int],[],false),-1],["SetPrefix","SetPrefix","",$funcType([$String],[],false),-1],["formatHeader","formatHeader","log",$funcType([AA,F.Time,$String,$Int],[],false),-1]];G.init([["mu","mu","log",E.Mutex,""],["prefix","prefix","log",$String,""],["flag","flag","log",$Int,""],["out","out","log",B.Writer,""],["buf","buf","log",Y,""]]);I=H(C.Stderr,"",3);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/example/mosaic"]=(function(){var $pkg={},A,B,C,D,I,J,K,E,F,G,H;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];G=function(a){var b;b=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),J.nil);b.GeoM.Scale(0.0625,0.0625);F.DrawImage(E,b);b=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),J.nil);b.GeoM.Scale(16,16);a.DrawImage(F,b);return $ifaceNil;};H=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;E=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new K([a]));}d=E.Size();e=d[0];f=d[1];g=A.NewImage((h=e/16,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")),(i=f/16,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero")),0);F=g[0];a=g[1];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new K([a]));}j=A.Run(G,320,240,1,"Mosaic (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(j&&j.$blocking){j=j();}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new K([k]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}I=$ptrType(A.Image);J=$sliceType(A.ImagePart);K=$sliceType($emptyInterface);E=I.nil;F=I.nil;$r=H($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/example/mosaic"]=(function(){var $pkg={},A,B,C,D,I,J,K,E,F,G,H;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];G=function(a){var b;b=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),J.nil);b.GeoM.Scale(0.0625,0.0625);F.DrawImage(E,b);b=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),J.nil);b.GeoM.Scale(16,16);a.DrawImage(F,b);return $ifaceNil;};H=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;E=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new K([a]));}d=E.Size();e=d[0];f=d[1];g=A.NewImage((h=e/16,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")),(i=f/16,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero")),0);F=g[0];a=g[1];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new K([a]));}j=A.Run(G,320,240,2,"Mosaic (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(j&&j.$blocking){j=j();}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new K([k]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}I=$ptrType(A.Image);J=$sliceType(A.ImagePart);K=$sliceType($emptyInterface);E=I.nil;F=I.nil;$r=H($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $go($packages["github.com/hajimehoshi/ebiten/example/mosaic"].$init, [], true); $flushConsole(); diff --git a/_docs/public/example/mosaic.js.map b/_docs/public/example/mosaic.js.map index f11ff91ce..cb20da83a 100644 --- a/_docs/public/example/mosaic.js.map +++ b/_docs/public/example/mosaic.js.map @@ -1 +1 @@ -{"version":3,"file":"mosaic.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/goroot/src/errors/errors.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/sleep.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/mosaic/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kBACA,A,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kBACC,A,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oBACA,A,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;8pEC/CK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iBACL,A,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uB,AACA,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uBACA,A,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIG,AAAH,+B,MACC,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,wE,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wE,AACA,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,C,AAED,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;2JCjFA,MACA,M,+BA6EA,A,WACC,a,CAED,A,WACC,a,CAED,a,yC,AAIA,0B,+BAIA,A,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,yBA2CA,S,+C,AAyBA,0C,gDAoBA,A,W,AACC,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2B,AACA,4BACC,AAAA,U,CAGD,yD,oDAIA,K,AACA,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,CAED,A,gBACC,oB,C,AAED,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,C,AAED,iBACC,iC,CAGD,oB,AACA,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACI,AAAJ,kBACC,+FACA,oO,AAF8B,AAAA,c,4FClB/B,AAOA,AACA,WACC,A,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4E,AACA,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2E,AACA,6DACC,wB,CAED,A,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCAEA,AADA,UAEA,UACA,UACA,UACA,gB,4G,gE;0NC7BA,oB,yCAQK,OACL,W;2J,AC6BA,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,O,AACL,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,CAIF,A,oGAWK,OAOL,AANA,uG,AAOA,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,e,AACA,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gB,AANiC,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLI,AAAJ,0BACA,M,0CCVK,OACL,AAIA,A,sHAEC,kG,CAED,A,uGAUK,OAMF,AALH,AAKA,mH,QACC,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OACL,AAKA,WAEA,0IAEA,A,uIACC,kG,CAED,A,sGAaK,OACL,AAQA,2H,AACA,kBACC,IACA,wD,CAGD,AAAI,oBACH,kGADuB,A,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gBACC,A,8C,CAED,2CACK,AAAJ,IACA,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,QACC,A,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,C,AAID,Q,AACC,6C,CAED,uF,AACA,kBACC,A,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,C,AAID,UACC,4E,AACA,YACC,A,oD,C,AAED,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,C,AAID,UACC,yG,AACA,wB,AACC,oD,C,AAED,gD,CAID,A,oD,sLAIA,WACA,A,QACC,A,6C,CAED,kBAGA,A,UACC,A,+C,C,AAID,UACC,A,8C,C,AAID,QACC,A,6C,CAED,kBACA,A,kBACC,A,8C,CAID,A,UACC,8C,AACA,WACC,A,8C,CAED,A,8C,C,AAID,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,YACC,A,oD,CAED,A,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,UACC,A,gC,CAED,SACA,4FACA,A,UACC,A,4B,CAKD,SACA,A,QACC,I,CAED,AAAI,AAAA,uB,AACH,4FACC,M,CAFyB,A,AAAA,YAK3B,A,QACC,I,CAED,oCACA,A,sBACC,A,gC,CAED,A,4B,6BA6CA,AACA,QACC,SACD,A,iBACC,S,AACD,kBACC,S,AACD,6BACC,S,AACD,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,S,AAJD,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACI,AAAJ,IACA,AAAI,uBACH,A,6FACC,AAAA,W,MAEA,2BACA,W,C,AALqB,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aAEA,AADA,mBAEC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,OACL,A,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,CAED,A,sC,AACC,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,aACA,A,wBACC,UACA,gDACA,A,QACC,iE,CAED,mBACA,kB,AACA,sCACC,A,4B,CAID,A,e,AACC,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0B,AACA,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,c,AACA,kBACC,Y,CAED,A,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,a,AACA,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,aACA,A,oC,0JAQK,OACL,aACA,A,yBAEC,cACA,A,0C,CAED,aACA,yGACA,A,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mBACA,A,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,aACA,A,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0B,AACC,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2BACA,A,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kB,AACA,kBACC,c,CAED,QACA,yBACA,+BACI,AAAJ,iCACC,6BACA,0I,AAFiC,AAAA,YAIlC,S,8EAeA,4BACC,W,QAGD,A,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,aACA,A,iH,CAED,A,gCACC,IACA,+BACA,WACA,K,AACA,8D,CAED,IACA,A,iD,0EAIA,AAAG,gB,gBACF,mBACA,A,iH,CAED,A,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACC,AAAI,sBACH,A,yBACC,mBACA,AAAG,sD,OACF,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,UACA,A,iB,AACC,iC,CAGD,WACA,8CAEA,6D,AACA,OACC,A,iC,CAED,0FACA,AAAI,sB,AACH,yBACC,A,mD,C,AAFsB,AAAA,YAKxB,A,iC,6GClFA,A,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sBACH,A,wBACC,0B,C,AAFsB,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfA,AAAI,oBACJ,0B,AA6BA,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sCACC,A,6B,CAID,IACG,AAAH,0E,sCACC,A,6B,CAED,A,UACC,A,qC,CAID,aACA,AAAG,4V,sCACF,A,6B,C,AAID,gHACC,AAAA,Y,CAED,A,mE,kEC3cA,AASA,AAAI,uBACJ,KAEA,2BACA,sB,AACA,sCACC,A,iC,CAKD,AAAG,gX,sC,AACF,iC,CAED,A,+I,iFAQA,YACA,6CACC,2d,AACA,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACA,AAAI,qDACJ,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,OACL,A,SACC,A,0C,CAID,0CACA,A,sCACC,A,iC,CAID,AAAI,oBAOJ,IAGA,0UACA,eACA,kDACA,6FACA,A,wC,iSAGK,OACL,A,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slB,AACC,sB,CAID,AAAG,6C,sCACF,A,a,CAED,0BACA,A,qB,8LAYK,uC,AACL,0BACC,uE,AACA,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAOA,AAHA,wBAIA,AAGA,Y,+CCuDI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,gDAqLA,0BACA,A,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2BACA,A,eACC,Y,CAED,S,mDAgBA,kC,AACA,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LA,AAAI,SACJ,qBACA,A,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,4DA4JA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2CACA,A,eACC,Y,CAED,Y,+CAiSI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,IACA,A,eACC,Y,CAED,Y,uCAMA,qBACA,A,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAGtB,AAAJ,uBACA,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAEA,AACA,iBACC,mCACD,A,uBAEC,kBACA,AAAI,sBACH,A,wBACC,AAAA,W,C,AAFsB,AAAA,YAKxB,S,AACD,4BACC,S,AACD,8BACC,A,UACC,S,CAED,S,CAGD,sBACA,IACI,AAAJ,sBACC,sF,AADyB,AAAA,YAG1B,IACA,A,yCACC,AAAA,WACA,W,CAED,AAAI,6BACH,yDACA,gCACA,4FACA,AAAA,W,AACA,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,S,AACD,gBACC,4B,AACD,uBACC,A,UACC,S,CAED,SACD,A,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sF,AADkB,AAAA,YAGnB,A,kCACC,S,CAEG,AAAJ,sBACC,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wD,AAmfA,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACI,AAAJ,eACC,IACA,A,iBACC,A,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gB,AAZkB,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;q6FC5qBA,sBACA,0BACA,oBACA,oBACA,A,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,qKAIA,YACA,4CAAsC,U,qFACtC,gE,wEAIA,cACA,mGACA,A,kDACC,O,CAED,A,yCACC,kB,CAED,gEACC,eACA,aACA,A,8CACC,uEACA,K,C,4D,sBAMF,gCACA,WACA,eACA,S,sBCoCA,A,iBACC,a,CAED,kBACA,qB,8RAMA,AAAI,sBACH,AAAO,2BACP,WACC,A,wDACC,A,4D,AACC,2E,C,AAED,8BACC,A,2E,C,C,AAIH,iBACC,A,uB,AACC,oCACC,A,2DACC,A,2E,CAED,A,8BACC,A,iF,C,CAGF,A,oC,AACC,gF,C,C,AAIH,iBACC,A,+E,AACC,2L,C,AAGF,iBACC,A,sDACC,A,iF,C,AAED,iF,AAED,iBACC,A,yD,AACC,iF,C,AAED,iF,AAED,iBACC,A,sD,AACC,iF,C,AAGF,iBACC,A,iF,AAED,iBACC,A,iF,AAED,iBACC,A,iF,AAED,iBACC,A,sD,AACC,iF,C,AAGF,kBACC,A,uD,AACC,iF,C,AAGF,iBACC,A,4D,AACC,gF,CAED,A,8DACC,A,gF,C,AAED,0DACC,A,gF,CAED,A,2DACC,A,gF,CAED,A,wDACC,A,gF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8D,AACC,gF,CAED,A,0DACC,A,gF,C,AAED,2DACC,A,gF,C,AAGF,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,CAGD,A,cACC,M,AACA,gCACC,M,CAED,sC,AACA,0E,C,C,CAjHyB,A,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,e,AACA,4BACC,a,C,C,AARsB,AAAA,YAYzB,Y,8BAIA,sHACC,A,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGG,AAAJ,uBACA,K,AACA,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iDACC,A,4B,CAED,A,MACC,K,CAED,A,oC,sCAMA,IACA,AAAI,uBACJ,AAAI,eACH,AAAA,WACA,mJACA,2F,C,AAGD,QACC,I,CAED,A,MACC,iGACC,AAAA,W,CAED,A,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iB,AACA,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,CAED,A,WACC,M,CAED,K,AAGA,2BACC,sC,CAID,A,2BACC,iC,CAGD,YACA,+BACC,K,AACA,SACC,O,CAED,oF,AACD,mBAEC,KACA,AACA,aACC,gBACA,O,AACD,kBACC,+CACA,O,AACD,iBACC,gDACA,O,AACD,cACC,iDACA,O,AACD,eACC,gD,AACD,gBACC,+CACD,A,iBACC,gB,CAED,kB,AACD,mBACC,4EACD,A,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,iB,AACD,mBACC,kBACD,A,mB,AACC,UACC,+C,MAEA,+C,C,AAEF,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iF,AAGC,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,C,AAGF,kB,AACC,cACC,4CACA,M,CAID,+F,AACA,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kF,AAOA,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,C,AAED,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kB,AACC,yBACC,A,0CACC,a,CAED,QACA,QACA,S,CAED,A,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAGA,AACC,IACA,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,W,AACC,sBACC,qF,CAED,M,CAED,KACI,AAAJ,MACA,YACA,+BACC,A,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mB,AACC,yBACC,MACA,M,CAED,iDACA,0BACD,A,mBACC,mC,AACD,mBACC,mC,AACD,6BACC,2CACA,A,eACC,U,C,AAEF,mBAEC,2BACD,A,mBACC,2B,AACD,uC,AACC,mDACC,iB,CAED,2CACA,A,cACC,Q,C,AAEF,mBACC,wCACA,A,eACC,S,C,AAEF,6BACC,2CACA,A,cACC,S,C,AAEF,6BACC,2CACA,A,eACC,W,C,AAEF,6BACC,4CACA,A,iBACC,W,CAID,A,iDACC,iBACA,cACA,A,yBAEC,M,CAGD,KACA,6BAA2C,A,AAAA,cAE3C,sCACA,kB,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,OACD,A,oBACC,O,MAEA,M,CAEF,A,0F,AACC,gEACC,iBACA,YACA,M,CAED,AAAI,gDACJ,A,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kBAEA,A,eACC,MACA,M,CAED,uG,A,+BAEA,A,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+BAEA,A,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAED,AAAI,iCACJ,2BACA,A,oCACC,2B,C,AAED,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mD,AAED,kBAGC,sBACA,A,gBACC,MACA,M,CAED,sCACA,kB,AAED,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,CAGF,A,YACC,Y,A,sBAEA,I,C,AAGD,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uFACA,A,kCACC,SACA,qB,CAID,iBACA,qB,C,AAGD,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6E,AAcA,e,AACC,gC,C,AAGD,wE,AACC,+B,CAGD,A,6BACC,Q,AACA,+B,CAGD,AAAI,IACA,AAAJ,eACC,A,gBACC,M,CAED,AAAG,kB,eACF,M,CAL0B,A,AAAA,YAQ5B,IACA,+BACC,A,gC,AACD,gBACC,A,yB,AACC,+B,C,AAEF,gBACC,A,yBACC,A,mC,C,AAEF,gBACC,A,mC,CAED,A,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0C,AACA,sCACC,S,CAED,A,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kB,AACA,eACC,M,CAED,A,mEAEC,A,sD,CAED,iIATiB,AAAA,A,Y,AAWlB,2D,2B,ACtlCA,0CACC,W,CAED,iFACA,A,yCACC,oC,CAED,S,yCAoBK,O,AACL,kCACC,gE,CAED,c,8FAMA,YACA,mEAQA,OACA,S,+CAMK,OACL,A,kCACC,iE,CAED,QACA,SACA,WACA,OACA,S,oFASA,yC,4BAUA,e,mDCpDK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sDACA,A,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sDACA,A,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFAgBA,AAfA,uGAqBA,iFACA,A,eACC,AAAA,W,CAKD,A,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACI,AAAH,gF,eACC,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uCACA,A,MACC,gC,CAGD,A,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WACA,AACA,8BACC,U,AACD,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sC,AAGA,yCACC,AAAA,WACA,qEACA,gEACA,sC,AAIA,yCACC,AAAA,WACA,qEACA,iC,C,C,CAKH,A,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACA,AAAI,eACH,mCACA,kCACA,A,MACC,AAAA,WACA,iH,CAED,sCAPqB,A,AAAA,Y,AAStB,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,Y,AACA,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,IACA,A,UAEC,AACA,SAEC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,QACA,A,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACL,AAAI,I,AAEJ,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,CAGD,A,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2NAEA,A,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,C,AAED,4B,2IAoBA,A,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACC,AAAO,uEACP,gEACC,uD,AACD,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kB,AACL,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iBACA,A,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,K,AACA,QACC,oBACA,AAAA,4E,C,CAIF,AAEA,2JACC,qIACA,gHAGD,A,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,CAED,A,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mGACA,A,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,CAID,A,gOACC,AAAI,4H,AACH,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gIACC,A,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kG,AACA,eACC,sG,AACA,e,AACC,+C,C,C,KAMH,0CACC,0GACA,A,gB,AACC,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,w9O,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kBACA,A,kBACC,2B,CAED,SACA,sCACA,AAAI,wCACH,qHADgC,A,AAAA,YAGjC,S,uGCDK,OAEL,A,4BACC,4BAEA,iC,CAED,iBAEA,IACA,A,SACC,MACA,K,CAGD,eACA,kB,AAEC,mBACC,SACA,AAAI,YACJ,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,C,AAED,0BACC,A,gC,CAED,A,oC,iJCsDK,OACL,A,eACC,A,+C,CAED,A,yC,4IAeK,OACL,A,eACC,A,+C,C,AAED,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,Q,AACD,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,O,AACL,e,AACC,0C,CAED,0BACA,A,QACC,I,CAED,A,yDACC,A,gC,CAED,A,sCACC,kC,C,AAED,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,C,AAED,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,eACC,A,0C,CAED,2B,AACA,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,CAED,A,4B,sIAMK,OACL,A,eACC,A,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,OACL,A,eACC,A,wD,CAED,4BACA,A,6FACC,kB,CAED,A,sCACC,A,wE,C,AAED,oC,oIAKK,OACL,A,eACC,A,0C,C,AAED,+D,mHAyBK,OACL,A,eACC,uB,CAEE,AAAH,sB,sCACC,wC,CAED,iB,4E,AA+BA,QACC,I,CAED,Y,+FChOA,mC,AACA,+BACC,iB,CAED,A,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,O,AACL,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,O,AACL,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAED,AAAG,2B,sCACF,2C,CAED,iB,wHAMK,O,AACL,eACC,A,2B,CAEE,AAAH,qB,sCACC,A,wB,CAED,A,qB,8FCnGK,O,AACL,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yCACC,A,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,O,AACL,uBACC,uB,CAED,AAAI,YACJ,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,eACC,A,kD,CAEG,AAAJ,sCACA,uBACA,A,sCACC,A,kE,CAED,A,oD,yHAmBI,AAAJ,sCACA,e,AACA,sCACC,A,yD,C,AAED,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sCACC,A,4B,CAED,e,KAED,A,4B,6HAcK,OACL,A,+BACC,4B,C,AAED,gE,0HAMK,OACL,A,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,CAGD,A,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,O,AACL,+BACC,4B,CAED,A,oE,6IAOK,O,AACL,kD,oFA8CA,gBAEA,mCACC,mBAD8B,A,AAAA,YAI/B,AAAI,AAAA,uBACH,A,yBACC,wBACA,M,CAHe,A,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCQA,AAJA,c,2BA+BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+B,AACD,oBACC,iCACD,A,mBACC,+B,AACD,oBACC,gC,AACD,oBAEA,A,oBACC,+B,CAED,A,iCACC,8B,CAED,A,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAEG,AAAJ,IACA,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCAEL,AADA,AACI,uBACJ,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,SAGF,A,UACC,oEACA,AAAA,W,CAED,AACA,kEACC,A,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,C,AAED,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACA,AAAI,AAAA,uBACH,mJACA,AAAA,iB,AAFgB,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gCACC,A,YACC,A,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yBAdgB,A,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kCACA,A,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DA,AAAI,sBACH,A,iBACC,Y,CAED,A,gHACC,2G,C,AALsB,AAAA,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGI,AAAJ,AAAI,uBACH,0HACA,wFACA,iBACA,AAAA,W,AACA,UACC,8F,A,qBAEA,a,CAED,IAVgB,A,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iB,AACA,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2FAMD,A,iBACC,a,CAED,A,yGAEC,A,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAID,AAAI,qBACH,6EACA,A,SACC,AAAA,2JACA,YACA,O,CALuB,A,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACA,AAAI,0BACH,uL,AADgC,AAAA,YAGjC,cACC,gC,AADe,AAAA,YAGhB,A,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6GACA,A,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8BACC,A,a,C,AAED,0DACC,uBACA,Y,C,AAED,0DACC,uBACA,Y,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,C,AAED,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,IACA,A,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kBACC,A,iB,CAED,4E,AAGA,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iFACA,A,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,IACJ,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qI,AAKA,2XAEC,A,iB,C,AAED,gB,6JAOK,OAML,AACA,AAGA,+GACA,oGAEA,AADD,iBAEE,4FACA,AACA,UACC,AAAA,W,AACD,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,O,AACL,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACI,AAAJ,2CACC,A,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAID,AAAI,uBACJ,KACA,AAAI,iBACH,iGACA,4DACA,AAAA,WACA,wFACA,M,CAEG,AAAJ,kBACC,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gC,AACA,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGD,AAAI,0B,AACH,kHACC,aACA,M,CAHyB,A,AAAA,cAM3B,Y,kI,AAYA,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,C,AAJY,AAAA,YAOd,A,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEC,AAAI,uBACJ,KACA,AAAI,qDACH,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gL,AADmB,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,cAEA,A,gBACC,qDACA,Y,C,AAED,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGA,AAAI,KACJ,AAAI,kD,AACH,sFACC,MACA,M,CAED,kC,AALmC,AAAA,cAOhC,AAAJ,kBACC,gGACA,2GACA,yHACA,2EAEA,AAAG,wF,gEACF,aACA,aACA,YAGA,0D,CAZ6B,AAAA,A,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACJ,AAAI,SACJ,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,Q,AACD,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,CAGD,A,OACC,yB,CAGD,AAAI,0BACJ,QAEA,MACA,A,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qBACD,A,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,a,AACD,4BACC,A,UACC,I,CAED,K,CAED,A,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,CAGF,A,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,M,AACA,MACC,YACA,oDAEA,IACA,oBACC,YACD,A,kBACC,qB,AACD,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mB,AACD,0BACC,A,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qBACD,A,kBACC,mB,AACD,0BAEC,IACA,A,uBACC,O,CAKD,A,MACC,I,CAED,Y,AACA,eACC,A,WACC,O,CAED,sD,CAED,A,WACC,O,CAED,iC,CAID,uB,0E,AAQA,8BACC,OACA,O,CAiBD,cACA,A,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACA,AAAJ,IACA,A,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wBACJ,A,WACC,6E,MAEA,K,CAED,6EACA,A,WACC,6E,MAEA,K,CAKD,8CAIA,oDAKA,AADA,UAEC,gBACA,OACD,A,YACC,oBACA,O,AACD,aACC,kBACA,O,C,AAjCoB,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,K,AACA,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,YACA,A,aACC,I,CAED,A,QACC,KACA,K,MAEA,K,CAED,eAGI,AAAJ,uBACA,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,eAE/B,A,MACC,gB,CAID,A,WACC,AAAI,IACJ,AAAI,0BACH,0GADgC,AAAA,A,YAGjC,cACC,gBADe,A,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACA,AAAI,eACH,KACA,AAAG,Y,iBACF,+F,CAED,eALqB,A,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,C,AAED,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,K,AAEA,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,C,AAED,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGK,AAAG,uE,QAET,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iI,AAGA,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,IACA,A,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,C,AAY3B,2BACC,gBACA,0BACA,AAf0B,0B,CAiB3B,A,MACC,A,iBACC,0BAnByB,AAoBzB,0B,C,A,gBAGD,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gDACD,A,gBACC,gD,AACD,iBACC,gDACD,A,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,MAGA,AADA,SAEC,gDACA,2EACA,uE,AACD,oBACC,QACA,AAEA,gDACA,AAAI,iBACH,4EADoB,A,Y,AAFtB,kBACC,gDACA,AAAI,iBACH,4E,AADoB,Y,MAIrB,gDACA,AAAI,iBACH,4E,AADoB,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iB,AACA,Q,AACC,cACC,a,CAED,S,C,AAED,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SAEA,AADA,iBAEC,A,qCACD,A,wBACC,A,6C,AACD,uBACC,A,6C,CAED,Y,yHAmBA,AAAO,kBACP,kCACC,iBACA,gB,AACD,iBACC,wC,AACA,wE,AACD,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,IACD,A,kBACC,KACD,A,kBACC,KACD,A,kBACC,KACD,A,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,IACD,A,kBACC,I,AACD,iBACC,I,CAED,AAAI,IACJ,A,eACC,iBACA,gB,CAED,AAAI,eACH,qCACA,A,QACC,iBACA,gB,CAED,c,AANkB,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,O,AACD,yEACC,gBACA,A,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mB,AANkB,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,K,AACD,iBACC,KACD,A,yBACC,A,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,WACA,A,QACC,A,0C,CAED,kBACA,A,oCACC,A,0C,CAED,0B,AAEA,WACC,A,a,AACC,0C,CAED,A,oC,CAED,A,6B,AACC,0C,C,AAED,aACC,A,0C,C,AAID,wBACC,IACA,WACC,A,oC,AACD,iBACC,wC,AACA,iDACC,A,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,K,AACA,gBACC,6B,MAEA,8BACA,8C,CAED,A,gCAEC,A,8C,C,CAGF,A,yD,yBAKA,AAAI,sBACH,A,wBACC,Y,C,AAFsB,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,W,AACC,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,U,AACA,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,C,AAED,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,Y,AACD,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0DAFgC,A,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,C,AAED,SACC,uD,CAED,A,SACC,uD,C,AAED,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kB,AACA,wBACC,W,CAED,a,qC,AAIA,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2BACD,A,iBACC,2B,AACD,yBACC,sB,AACD,iBACC,sC,AACD,iBACC,4B,AACD,iBACC,4B,AACD,mCACC,uBACD,A,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,aACA,A,2BACC,a,CAED,sDACA,A,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,aACA,A,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,a,AACA,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,eACJ,A,uBACC,+B,CAGG,AAAJ,QACA,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kBACC,A,0B,AACC,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,M,AACJ,uBACC,wBACA,A,iCACC,qE,CAED,8G,AACA,0CACC,4D,CAED,qBACA,A,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8GACA,A,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,CAED,A,oCACC,6G,C,AAED,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8B,AACD,kBACK,AAAJ,6BACC,A,oCACC,a,CAF4B,A,AAAA,c,CAM/B,Y,mJAGK,Q,AACL,8CACC,0D,CAED,8GACA,A,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,QACL,A,+CACC,c,CAED,A,gCACC,iBACA,A,qDACC,iBACA,sCACC,oC,AACD,2BACC,qC,AACD,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UAEC,AADD,KAEC,QAED,A,iCACC,kDACA,e,AACA,cACC,sB,C,MAGD,e,C,AAGD,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,MAGD,A,oBACC,AAAA,a,C,AAED,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGE,AAAJ,kBACI,AAAH,8H,yBACC,kF,C,AAFiB,AAAA,c,AAKnB,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACG,AAAH,a,yBACC,0F,CAED,qBALkB,A,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,c,AACA,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,c,AACD,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oB,AACD,2BACC,2C,CAED,2C,oHAGK,QACL,AAAO,gCACP,YACC,e,AACA,mBACC,8B,CAED,qBACA,sCAED,A,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qB,AACA,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,U,AACA,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,U,AACA,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uBAED,A,kBACC,iB,AACA,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mC,AACD,kBACC,2C,AACD,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uCACC,A,eACC,S,CAED,mBACD,A,kBACC,A,eACC,S,CAED,S,AACD,kBACC,A,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uCACA,A,gCACC,iBACA,YACC,+B,AACD,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iB,AACA,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,AAED,kBACC,iB,AACA,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mBACA,A,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sB,AACA,sC,AACC,6D,C,AAED,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,QACL,A,mBACC,oBACA,sB,CAED,mC,kIAGK,QACL,A,mBACC,oBACA,A,qC,C,AAED,kD,qJAGK,QACL,A,mBACC,oBACA,A,iE,CAED,A,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,QACL,A,wBACC,yD,CAED,eACA,kB,gHAGK,Q,AACL,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mBACD,A,kBACC,eACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,Q,AACL,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,QACL,A,wBACC,mE,CAED,iBACA,8B,iIAGK,Q,AACL,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,Q,AACL,wBACC,uD,CAED,eACA,uB,wGAGK,QACL,A,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,e,AACD,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wBACC,A,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,C,AAED,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oI,AACC,SACC,WACA,A,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,CAID,A,WAEC,A,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iB,AACA,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uFACA,A,+CACC,uF,CAEG,AAAJ,UACA,6BACA,kBACA,iC,M,M,AAGF,OACC,M,C,CAGF,c,wLAKK,QAEL,SACA,A,eACC,6CACC,6GACA,A,oCACC,QACA,c,CAED,A,wB,AACC,uE,C,M,C,AAIH,QACC,c,CAED,A,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,QACL,A,oCACC,qE,CAED,sBACA,4B,mIAGK,QACL,A,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oBACA,A,2BACC,Y,CAeD,A,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8GACA,A,8FACI,AAAH,AAAG,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,CAGD,8BACA,A,gBACC,a,CAED,KACI,AAAJ,kCACC,8GACA,8G,AACA,+FACC,AAAG,AAAA,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,C,AAKD,wCACC,Y,CAID,MACA,YACC,qEAED,A,kBAIC,A,+DACC,Y,CAID,4E,AAED,kBACC,eACA,eACA,A,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wIACC,A,mHACC,a,C,MAGF,Y,AAED,kBACC,oBACA,oB,AACA,uDACC,Y,CAID,a,AAED,kBACC,oF,AAED,2BACC,8C,AAED,kBACC,iBACA,iB,AACA,+CACC,a,CAED,6CACC,6GACA,6GACA,A,gJACC,a,C,AAED,kKACC,a,CAED,A,uBACC,a,CAED,A,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,Q,AACL,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,CAED,A,2BACC,qF,C,iJAOI,wCACL,A,WACC,2B,CAGD,A,2BACC,qF,CAED,A,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4D,AACD,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,S,AACC,kD,AACC,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACG,AAAH,uD,OACC,iC,CAED,8B,yIAOK,QACL,AAAG,2D,OACF,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qCACD,A,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+BACD,A,iBACC,+B,AACD,iBACC,+BACD,A,iBACC,+B,AACD,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,QACL,A,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEI,AAAJ,KACA,A,gCACC,U,MAEA,sF,CAED,8BACA,A,WACC,8B,CAED,WACA,sCACA,8BACA,A,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACJ,AAAI,0BACH,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,OAjBsB,A,AAAA,cAmBvB,0B,8GAOK,Q,AACL,oBACC,6C,CAED,A,qEACC,0D,C,AAED,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,C,AAED,iCACC,S,CAED,0B,8HAQK,Q,AACL,oBACC,mD,CAED,A,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kCACD,A,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,c,AACD,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2B,AACA,kCACC,gE,CAED,gB,2HAKK,QACL,mCACA,AAAO,gCAGP,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wD,AACD,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,A,oBACC,2BACA,O,CAED,iCACA,sDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACA,AAAO,gCAGP,WACC,2B,AACD,iBACC,gC,AACD,iBACC,gCACD,A,kBACC,2B,AACD,kBACC,gBACD,A,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,CAED,A,uBAEC,c,CAKD,sB,AACA,uBAEC,wBACA,A,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,gCACD,A,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAID,AADA,kBAIC,UACA,qBACA,8BACA,gCAED,A,wBACC,A,WACC,S,CAED,gB,AACA,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0B,AACA,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,UACD,A,2BACC,U,AACD,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,2BACC,aACA,2CACC,U,AACD,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,C,AAGF,kB,AACC,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,AAIH,kB,AACC,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,CAMH,A,cACC,U,CAID,A,kHAGC,U,CAGD,A,cACC,A,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gBACA,A,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EA,AAAI,gBACH,sFACA,sF,AAFsB,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,Q,AACA,QACC,QACA,K,CAED,WACA,A,QACC,A,uB,AACC,sC,CAED,A,MACC,A,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,OACL,A,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,OACL,A,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,O,AACL,MACC,S,MAEA,S,C,wJAMI,OAEL,A,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,IACA,A,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,C,AAEF,qCACC,8CACC,AAAA,WACA,oJACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,CAID,A,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,C,AAGF,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,C,AAGD,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,OACL,A,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,YACA,A,eACC,W,CAED,8CAEA,AAAI,SACJ,AAAI,e,AACH,0BACC,gB,CAED,A,kDACC,kB,CAED,AAAI,IACJ,A,eACC,kB,MAEA,uF,CAED,uEAbkB,A,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,KACJ,A,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACD,AAAJ,SACA,A,oBACC,qG,MAEA,8F,CAED,S,8E,AAMA,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iBACC,A,oBACC,4BAAe,qB,QACf,sB,C,CAMF,A,4D,AACC,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,C,AAGD,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACI,AAAJ,gBACC,IACA,WACC,wB,AACD,kBACC,8BACD,A,iBACC,6B,AACD,0BACC,8B,AACD,kBACC,+B,AACD,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,I,AAtBa,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,O,AACL,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2B,AACD,iBACC,4B,AACD,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,aACA,A,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAEG,AAAJ,yDACC,kDACA,O,AAFiE,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UAEA,AADA,0CAEC,wHACA,UACA,wBACD,A,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2C,AACA,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0DACD,A,iBACC,UACD,A,2BACC,2D,AACD,kBACC,0D,AACD,kBACC,A,uFACC,gB,MAEA,a,C,AAEF,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oFACD,A,iBACC,mC,AACD,kBACC,qFACD,A,kBACC,A,0BACC,kB,MAEA,qF,C,AAEF,kBACC,oFACD,A,kBACC,A,uFACC,yC,MAEA,a,C,AAEF,kBACC,qF,AACD,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oB,AACD,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,CAEF,A,kBACC,e,AACD,kBACC,mCACD,A,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,O,AACL,yBACC,A,0BACC,A,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,qC,K,AAED,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGD,AAAI,IACJ,WACA,mDACC,c,MAEA,aACA,O,C,AAGD,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACL,AAAG,a,sCAIF,AAAG,e,+BACF,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uBACA,A,MACC,yBACA,2B,CAED,wBACA,A,MACC,0BACA,4B,CAED,Y,4IAKK,OACL,A,MACC,0BACA,0B,CAED,A,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGD,AAAG,2C,MACF,OACA,0FACA,uDACA,cACA,S,CAID,A,0BACI,AAAH,2C,MACC,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,S,AAED,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oCAEA,A,mCACC,A,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oD,AACA,iB,AACD,kBACC,6BACA,A,iB,CAID,IACA,0CACC,e,AACD,mDACC,kB,AACD,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8B,AACD,gDACC,8B,AACD,iDACC,8B,AACD,iDACC,8B,AACD,iDACC,gB,AACD,gDACC,gCACD,A,iDACC,gC,AACD,kDACC,gCACD,A,kDACC,gC,AACD,kDACC,iB,AACD,mDACC,yD,AACD,kDACC,iBACA,uBACD,A,6CACC,4BACA,U,UAGG,AAAH,uB,MACC,A,iB,C,AAGD,iD,CAED,gBACA,S,yIAIK,OAAkB,I,AACvB,iBACC,A,wBACC,2F,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,iDACA,A,iB,AACD,kBACC,kBACA,A,iB,CAKD,gBACA,A,qBACC,oB,CAED,AAAG,uB,MACF,A,iB,C,AAGD,sC,gMAOK,OAAyB,IAC9B,UACA,UAEO,AADR,AACC,yBACA,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wB,AACD,yBACC,A,wBACC,0B,MAEA,0B,C,AAEF,yB,AACC,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0BACD,A,iBACC,A,0BACC,iH,AACA,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACI,AAAJ,0BACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,A,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iGACD,A,iBACC,WACA,A,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,CAEF,A,yBAMC,AAAG,W,6FACF,AAAI,SACJ,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iH,AACA,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAED,AAAI,qBACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kCARwB,A,AAAA,Y,AAUzB,0BACC,iG,MAEA,gG,C,AAEF,iBACC,c,AAGA,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAKF,AAFA,kB,AACD,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,I,AACA,gBACC,4HACA,S,CAED,c,iEAWI,AAAJ,sBACC,A,yBACC,iCACA,A,mBACC,A,+C,CAED,A,mD,CAN2B,A,AAAA,YAS7B,A,0C,+FAMK,OACL,A,2CACC,A,0C,CAED,iBACA,0CACA,A,iB,AACC,8C,CAED,mBACA,A,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,C,AAED,SAEC,M,CAID,AAAA,WAGA,mBAEA,AADD,aAEE,kBACA,WACC,0B,AACD,iBACC,yB,AACD,iBACC,yBACD,A,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iE,AACA,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iEACA,A,gCACC,4F,CAED,Q,MAEA,mE,AACA,gCACC,aACA,gC,C,C,CAKH,A,OACC,oD,C,AAGD,SACC,4FACA,S,CAED,qDACA,W,AAEA,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,C,AAED,wBAEC,0BACA,0B,C,CAGF,kB,CAMD,A,8BACC,2FACA,mBACC,uFACA,A,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,CARqB,A,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uF,AACA,QACC,+D,AACA,cACC,gG,C,CAGF,sB,AAViC,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,OACL,A,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uC,AACA,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,OACL,A,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6BACA,A,sCACC,A,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACC,AAAG,a,sCACF,AAAG,kD,MACF,Q,MAEA,U,C,C,QAIH,A,8BACC,K,CAED,2BACA,eACA,Y,wLAmBA,A,aACC,a,CAED,eACA,8HACC,A,WACC,a,CAED,A,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,eAEjB,A,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,CAED,A,2BACC,S,CAED,A,WACC,A,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,C,AAED,WACC,eACA,M,C,C,oHAQG,OACL,A,MACC,mB,CAGD,YACC,cACA,A,WACC,M,C,AAED,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,cACA,A,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gDA8SA,A,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACA,AAAI,iCACH,wFAD8B,A,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8GAD6B,A,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oBACA,A,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKI,AAAJ,YACA,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACG,AAAH,e,+CAEC,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0I,AACA,sHACC,uD,CAGD,oB,kIAKK,OACL,e,AACA,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yBACA,A,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eAEA,AADA,4B,iIAIK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACC,AAAG,O,sCACF,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2C,AACA,mGACC,AAJ2B,AAAA,oB,CAM5B,6C,AAN4B,AAAA,YAa7B,A,kBACC,iB,CAED,iCACA,qHACA,iB,6MCrEA,AAEA,AAHA,mD,AAIA,sCACC,S,CAED,mDAEA,qD,AACA,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAID,AADA,iBAEA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2I,AAN6B,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACI,AAAJ,eACK,AAAJ,eACC,uJ,AADkB,AAAA,Y,AADD,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gC,AACA,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,CAGD,A,uBACC,wD,CAID,AAAI,iBACH,gDACA,A,QACC,U,CAED,eACA,A,sCACC,QACA,O,C,AAED,QACC,O,C,AAXwC,AAAA,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGG,AAAJ,YACA,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,YACA,A,UACC,A,sC,CAED,A,cACC,A,0CACC,A,sC,CAED,A,6BAGC,iCACA,A,QACC,U,C,AAED,QACC,gHACA,kB,CAED,A,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iB,AACC,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kBACA,A,oC,gHAIK,OACL,A,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,O,AACL,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEC,AAAG,0C,SACF,yCACA,sBACA,M,CAID,A,0CACC,2BACA,QACA,cACA,M,CAID,A,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gCACA,A,4C,AAEC,gIAGC,A,YAEC,mE,CAED,AAAA,eACA,kC,CAED,A,iD,CAGD,A,kBACC,A,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACJ,AAAI,SACJ,YAEA,YACC,AAAI,YACJ,+BACA,A,mCACC,M,C,AAED,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6B,AACA,4B,0IAUK,OACL,+BACA,oB,AACA,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGE,AAAH,kD,MACC,6BACA,kD,AACA,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,CAGD,A,+BACC,S,CAGD,eAEC,8BACA,qDACA,A,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kDACA,A,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sH,AACC,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iBACA,A,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mEACA,A,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iB,AACL,oBACC,kHACA,gB,MAEA,uBACA,uB,C,AAED,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,c,AAC5B,oBACC,gB,CAED,A,oBACC,gB,C,AAED,oBACC,gB,CAED,A,oBACC,gB,C,AAED,qCACC,e,CAED,S,4GAIK,iBAAmB,c,AACxB,oBACC,gB,C,AAED,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,cACrB,A,cACC,Y,CAID,8E,qGAMK,iB,AACL,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mB,AAChC,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,O,AACL,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,O,AACL,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,CAFmB,A,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,O,AACL,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,e,AACC,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,O,AACL,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oB,AAClC,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,OACL,A,mBACC,Y,CAED,0BACA,AAAI,qCACC,AAAJ,eACC,A,8GACC,a,C,AAFmB,AAAA,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,O,AACL,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mB,AAChC,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,O,AACL,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qB,AACpC,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,OACL,A,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,O,AACL,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+BAIA,A,cACC,kD,CAID,+BACA,uF,0IASK,OACL,AAAI,uBACJ,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kBALwC,A,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+BACD,A,gBACC,+B,AACD,gBACC,+BACD,A,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,O,AACL,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+B,AAIA,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2D,AACA,sCACC,2D,CAED,iBACA,iB,AACA,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sCACC,A,UACC,A,mCACC,IACA,sCACC,SACA,OACD,A,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,MAGI,AAAG,uC,MACT,IACA,sCACC,aACA,O,C,C,C,M,AAIF,mCACC,IACA,sCACC,SACA,OACD,A,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4CACC,A,yDACC,iB,C,CAIF,oCACA,2CACA,A,eACC,yCACA,8C,CAGD,AAAI,uCACJ,0BACA,0BACA,AAAI,0BACH,yBACA,yBACI,AAAJ,wBACC,SACA,A,sCACC,+B,CAED,AACA,WACC,A,U,MAGC,8D,CAEF,A,gCACC,yB,MAEA,0D,AACA,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,CAjCoB,A,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACA,AAAI,kCACC,AAAJ,eACC,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kBAb+B,A,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACA,AAAI,eACH,6HACA,6HACA,6HACA,6H,AAJoB,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mC,AAHkC,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBACA,AACC,gBACA,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACI,AAAJ,wBACC,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,W,AAvBa,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gB,AACJ,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,W,AAHa,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEI,AAAJ,2BAEC,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+Q,AAlB6B,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yH,AAV6B,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACI,AAAJ,sBACC,8TACA,oGACA,oGACA,oGACA,sG,AALqB,8C,AAJS,+B,AAYjC,gBACK,AAAJ,2CACC,qCACA,oEACA,kJACI,AAAJ,2CACC,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oDAJD,A,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0GAN+B,A,oD,AAJD,mCAajC,A,gBACC,AAAI,2CACH,qCACA,oEACA,sPACA,AAAI,wBACH,0VACA,yGACA,yGACA,yGACA,0GALqB,A,oDAJS,A,mC,MAahC,A,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACA,AAAI,gDACC,AAAJ,2BACC,uGACA,A,UAF6B,AAG5B,mC,CAED,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oCACA,A,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACA,AAAI,wBACC,AAAJ,wDACC,SACA,A,sCACC,+B,CAED,0D,AACA,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,C,AA7BwC,qDAgC1C,2BAjCqB,A,oD,gBAuCtB,A,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACA,AAAG,sC,MACF,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMD,AAAI,8BACJ,A,MACC,0BACA,0B,CAID,iCACA,AAAI,6BACH,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,C,AAGD,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wB,AACA,WACC,M,C,C,MAIH,yHAEA,A,OACC,AAlCsB,AAAA,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SAvEwB,A,AAAA,c,AA2EzB,MACC,wBACA,sCACC,+G,M,CA/EsB,A,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,a,AACA,YACC,iKACA,qM,CAED,S,iIAaK,OACL,AAAG,qB,sCACF,S,CAED,6C,oIAGK,OACL,AAAG,qB,sCACF,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOA,AAAG,sC,wCACF,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,OACL,A,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0CACA,A,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8C,AACA,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;o/BCvDK,OACL,+BACA,uF,8GAGK,OACL,+BACA,wF,mFCjBA,K,gKAIA,oF,4E,6BAQA,a,gC,oKAQA,WACA,+CACC,U,MAED,gEAEA,mBACA,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCAEA,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,sGACC,gFACA,0BACA,a,uFAED,oGACC,gFACA,0BACA,W,uF,+GAKD,mBACA,gCACA,eACA,gBACA,UACA,qJACA,oJACA,A,oC,4G,gE,gE,gE,gE,soC,uH;4uGCxEA,UACA,A,qBACC,mE,CAGD,AAAI,sBACC,AAAJ,eACC,gCACA,oBAFoB,A,AAAA,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGG,AAAJ,sBACK,AAAJ,eACC,IACA,AAAI,sBACH,oCADsB,AAAA,A,YAIvB,A,iBACC,qB,CAED,oBAToB,A,AAAA,YADC,A,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,O,AACL,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,cACpB,A,mBACC,e,CAED,6BACA,SACA,a,wHAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,sHClEA,AAAI,SACJ,AAAI,YACJ,6BACC,AAAI,SACJ,4C,AACA,sCACC,O,CAED,wBACA,W,IAED,A,sCACC,iB,CAED,uC,iDAKA,AAAI,SACJ,AAAI,YACJ,6BACK,AAAJ,SACA,mDACA,A,sCACC,O,CAED,wB,IAED,A,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,cACrB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJ,AAFwB,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,e,mHAIK,OACL,A,mBACC,e,CAED,mJ,qHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iB,AACD,gBACC,gB,CAED,iC,yCCdA,sDACA,A,sCACC,iB,CAGD,8CACA,A,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACL,AAAG,gC,sCACF,S,CAGD,gBACA,uDACA,kBACG,AAAH,+C,sCACC,S,CAED,iB,gGC5CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,O,AACL,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2FACA,A,wE,kIAGK,OACL,2F,AACA,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,OACL,A,6D,4HAGK,OACL,A,eACC,uD,CAED,eACA,A,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6C,AACA,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,OACL,A,sBACC,2BACC,AAAI,YACJ,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,qSC1LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,I,AAED,sCACC,S,CAGD,kCAEC,qCACA,mE,AACA,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAED,AAAG,iC,sCACF,S,CAED,mBACC,iB,AACA,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAED,gE,qB,qT,gE,gE,gE,gE,gE,gE,gE;;i5FC3DD,A,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACH,AAAI,IACA,AAAJ,IACA,AACA,4BAEC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2FAzBwB,A,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2FAF6B,A,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACA,AAAJ,gBACA,kH,AACC,UACC,a,C,AAED,iBACC,I,CAED,A,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,IACJ,A,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACA,AAAJ,gBACC,A,WAEC,UACA,A,UACC,a,CAED,4BACI,AAAJ,uBACC,4LACA,uBACA,gBACA,6GACA,qI,AAL0C,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8BAnBuB,A,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACC,AAAI,oBACH,uF,AAD2C,+C,MAI5C,2GACA,A,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACC,AAAG,mB,0CACF,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,YACC,A,uBACC,yBACA,+BACA,oB,C,AAED,0CACC,gB,CAED,U,C,mGAII,OACL,A,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6B,AACA,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACI,AAAH,e,sCACC,S,C,CAGF,qLACA,iCACA,kB,AARsB,AAAA,YAUvB,AAAI,gBACH,oK,AADmC,AAAA,YAGpC,A,gDACC,2C,CAKD,AAAI,gCACH,gCACA,A,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,WAFoB,A,AAAA,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACJ,AAAI,IAEJ,AADA,UAEC,2GACA,AAAA,iBACA,A,iBAEC,gDACA,O,CAED,S,AACD,kBAEC,2CACA,O,AAED,gBACC,WACA,I,AACD,gBACC,kBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,mBACA,IACD,A,gBACC,oBACA,I,AACD,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,I,AACJ,kBACC,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEG,AAAH,gC,sCACC,QACA,O,C,CAKF,AADA,QAEC,AAAA,W,AACD,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iCACA,A,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,OACL,A,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gB,AACA,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,OACL,A,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+BACA,A,sCACC,A,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACC,AAAG,e,sCACF,Y,C,CAGF,kGACA,qBACA,A,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,C,AAGF,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYA,AAAI,0BACJ,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWI,AAAJ,0BACA,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,O,AACL,0C,AACC,gC,CAED,A,kB,AACC,oC,CAGD,uCACA,iCACA,A,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,QACA,A,4B,CAGD,iIACA,A,8BACC,uBACA,A,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uD,AACA,iHACC,sB,CAED,mC,AACA,MACC,yDACA,A,sCACC,S,CAED,iIACA,A,2BACC,0B,C,CAGF,A,gDACC,A,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACI,AAAJ,iBACC,UACA,AAAI,e,AACH,oBACC,wB,MAEA,6B,C,AAJiB,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uBACA,A,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BI,AAAJ,gDACA,AAAI,eACH,gBACI,AAAJ,uBACC,4FACA,SACA,SACA,YACA,OACA,OACA,A,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,IAjB0B,A,Y,AAFG,AAAA,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6F,AAG1C,QACC,S,CAED,S,0EAGK,O,AACL,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2CACA,A,uBACC,mC,C,AAED,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wD,AACA,aACC,mC,CAED,0CACA,A,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,AACD,gBACC,Q,AACD,gBACC,O,AACD,gBACC,Q,C,AAEF,iBACC,WACA,UACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4a,AADmB,AAAA,YAGpB,AAAI,iBAMH,2JANqB,A,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,OACL,A,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uCACD,A,wBACC,uCACD,A,sCACC,A,wBACC,mC,CAEG,AAAJ,eACC,wIACA,2O,AAFkB,AAAA,Y,AAIpB,wCACC,0C,CAED,0B,uHAUK,O,AACL,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAID,AAAG,sD,sCACF,Y,CAED,8D,AACA,6DACC,yC,CAED,cACA,0C,CAED,A,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+BACA,A,sCACC,oB,CAED,2CACA,AAAI,Y,AACJ,oBACC,2C,A,0BAGA,kDACI,AAAJ,eACC,2C,AACA,sCACC,oB,CAED,uBALwB,AAAA,A,Y,CAU1B,IACI,AAAJ,mD,AACC,YACC,kC,CAED,qD,AAJiC,AAAA,YAMlC,A,qEACC,mC,C,AAED,sCACC,+C,CAGD,oB,snBAIK,OACD,AAAJ,IACA,IACA,AACC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6B,AACA,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,I,AACD,iBACC,KACA,8BACA,IACD,A,iBACC,KACA,+BACA,IACD,A,iBACC,KACA,gCACA,IACD,A,iBACC,KACA,+BACA,IACD,A,iBACC,KACA,gCACA,I,C,AAED,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEA,AAAI,iBAEH,6BACA,A,uCACC,qB,CAID,mBACA,mBACA,2FACA,W,AAEA,iBACK,AAAJ,0BACC,mT,AADsC,AAAA,c,AAGxC,iBACC,oIACC,8M,MAEF,A,iBACK,AAAJ,iBACC,gYAD8B,A,AAAA,cAG/B,AAAI,0BACH,mgB,AADsC,AAAA,cAGxC,A,iBACC,W,MAEA,2C,CAID,QACA,WACC,AAAI,iBACH,+LACA,AAAI,+BACH,wEACA,sCAFoC,A,AAAA,c,AAFf,c,AAOxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sCAFoC,A,AAAA,c,AAFf,c,AAOxB,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,uEACA,sCAFoC,A,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2JAFsB,AAAA,A,c,AAIxB,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,aANsB,A,AAAA,cAQvB,kB,AACD,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,cAWxB,A,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,kBACC,A,iCACC,AAAI,iBACH,A,uHACC,wI,C,AAFqB,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kBACD,A,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,c,AAIxB,kBACC,AAAI,iBACH,2QACA,2QACA,mD,AAHsB,AAAA,c,AAKxB,kBACK,AAAJ,iBACC,2QACA,2QACA,2QACA,oD,AAJsB,AAAA,cAMxB,A,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGACA,AACC,SACA,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,IACD,A,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACA,AAAI,+BACH,6FACA,AAAI,+BACH,kCACA,sDACA,a,AAHwC,AAAA,c,AAFD,AAAA,c,8IAUpC,OACL,eACA,+BACA,A,sCACC,A,a,C,AAED,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sBACD,A,qBACC,A,qBACC,gB,CAED,sB,AACD,qB,AACC,uDACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACL,AAAG,sD,sCACF,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIA,AAAG,kB,sC,AACF,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIG,AAAH,kB,sCACC,A,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kD,AACA,sBACC,M,C,AAED,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,cACD,A,gBACC,e,AACD,gBACC,c,AACD,sCACC,YACD,A,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iBACD,A,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;uc,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+BACA,A,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0B,AACA,sC,AACC,+BACC,qB,CAED,QACA,O,CAED,AACA,cAEC,iGACA,AAAA,eACA,A,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,OACD,A,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wC,AACA,qBACC,A,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wC,AACD,gBACC,wC,MAEA,kCACA,S,CAED,A,aACC,qEACA,S,CAEE,AAAH,iD,MACC,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,O,AACL,0CACC,gB,CAED,A,kBACC,oB,CAED,A,wBACK,AAAJ,IACA,mCACA,A,0CACC,gB,CAED,A,UACC,YACA,gB,CAED,qCACG,AAAH,qC,0CACC,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEL,AAAG,sC,MACF,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+BACA,A,sCACC,S,CAED,IACA,WACC,AAAG,oB,sCACF,S,CAGF,A,iBACC,2CACA,A,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qEACC,A,OAEC,uD,CAED,8K,CAED,+BACA,A,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sCACF,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAED,AAAG,0D,gDACF,A,uCACC,U,CAED,S,CAID,A,0BACC,iIACC,A,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iBACC,A,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oDACA,A,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+BACA,A,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8BACD,A,kB,AAEA,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,C,AAED,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8BACA,A,+CACC,S,CAED,A,4BACC,gD,C,CAGF,YACC,8B,AACA,+CACC,S,C,C,kIAKG,OACF,AAAH,sD,sCACC,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACL,AAAG,sD,sCACF,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+BACA,A,+CACC,Y,CAED,oD,sGAkBA,AAAI,SACJ,kBACA,kBACA,oBACA,IACA,4HACC,eACI,AAAJ,qBACC,gEACA,WACA,uB,AAH4B,iB,KAM9B,Q,sCAMA,AAAI,wBACD,AAAH,oB,sCACC,oB,CAED,mH,0CA4BA,AAAI,wBACJ,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yB,AACA,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sCACC,A,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,OACL,A,oBACC,AAAG,wB,sCACF,Y,C,CAGF,8BACA,2CACA,yBACA,sEACA,A,gBACC,4C,CAED,oB,8OAKK,OACL,W,AACC,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wBACA,A,QACC,6B,CAED,oB,AACA,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,KAED,A,iBACC,8C,CAED,A,iBACC,mD,CAED,+B,AACA,QACC,qC,CAED,AAAG,mD,sCACF,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACA,AAAI,gFAMH,qDACA,wIACA,AAAI,2DACH,mGADgC,A,AAAA,oBAGjC,AAAA,YACA,AAAA,YAZiC,A,AAAA,YAFF,A,AAAA,aAmBjC,AAAI,sBACJ,wG,AACC,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,CAGD,A,oCACC,AAAG,mB,2DACF,A,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qC,AACH,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2BAd8C,AAAA,A,YAgB/C,oC,6IAGK,O,AACL,iBACI,AAAH,mB,sCACC,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,O,AACL,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKI,AAAJ,eACC,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,AAdiB,AAAA,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6G,AA9DkB,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iHAlDkB,A,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,C,AAID,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2BACA,A,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sB,AACA,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sC,AACF,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iB,AACC,4B,CAED,A,4GACC,A,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6BACA,A,sCACC,A,4B,CAED,A,iBACC,sBACA,A,oC,CAGD,6BACA,A,sCACC,sBACA,A,4B,CAED,sBACA,A,eACC,A,mC,CAED,A,sC,qIAKK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAEE,AAAH,W,sC,AACC,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iC,AACC,gBACC,0B,CAED,sB,CAGD,YACC,yBACA,A,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAEE,AAAH,W,sC,AACC,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAED,AAAI,qBACH,6KACA,8K,AACA,gBAYC,kFACA,kFACA,AAjBuB,AAAA,oB,CAmBxB,+FACA,sGACA,kGAKA,A,U,AACC,uDACC,6C,C,A,sBAGD,6C,C,AA/BuB,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACC,AAAG,4C,sCACF,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,a,AAgBrB,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAEE,AAAH,2C,sCACC,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,CAED,A,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6B,AACA,sCACC,oB,C,CAGF,A,YACC,M,CAED,A,mBAOC,S,CAKE,AAAH,2C,sCACC,oB,CAED,gDACA,A,QACC,gD,CAGD,AACA,yBACC,sBACA,kBACA,A,MACC,oB,C,AAEF,kBACC,kBACD,A,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,oCACC,c,MAEA,0B,C,AAED,sCACC,oB,C,CAGF,A,uBACC,yB,C,AAED,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IACJ,AACA,qBACC,I,AACD,2BACC,I,AACD,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,OACL,A,gBACC,mC,CAED,A,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2G,AACC,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kCACA,A,kBACC,2GACA,2GACA,2HACA,wHACA,A,sCACC,8C,CAED,A,2BACC,wE,C,AAED,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACC,AAAI,iBACH,mFACA,A,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBAGC,AAFD,sBAGC,wBAKA,sBACA,KAEG,AAAJ,kBACC,AAAI,kBACH,AAAI,iBACH,mFACA,kLACA,AAAI,gMA0BH,A,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,a,AACA,4CACC,AAxCsD,AAAA,sB,C,CA6CxD,A,kBACC,qT,MAEA,sB,CAGD,A,eACC,AAAG,kN,uCACF,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yMACA,A,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,CAGD,A,sBACC,AAAA,+B,MAGA,sKACA,aACC,yC,AACA,uCACC,U,CAED,mBACA,eACA,A,gBACC,mBACA,A,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,M,AAEA,iBACC,4C,AACA,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,CAoCvB,A,kB,AACC,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIpD,AAAJ,kBACC,uWAD8B,A,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6F,AACD,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIE,AAAJ,iBACC,WACA,YACA,AAAI,iBACH,yFACA,A,YACC,K,A,iBAEA,O,MAEA,e,CAED,qH,AATkB,AAAA,cAHD,AAAA,A,cAtJqC,A,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGC,AAAG,4C,uCACF,U,C,AAED,4CACC,+B,CAED,AAAA,mB,AACA,aACC,O,CAGD,iCAEA,uBAEA,W,CA9LqB,A,AAAA,c,AADD,AAAA,cAoMvB,iB,2KAKK,OAEL,A,UACC,A,eACC,mC,CAED,8BACA,A,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,IACA,A,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wC,AACA,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8BACA,A,sCACC,S,CAED,A,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,CAED,A,QACC,sC,CAED,A,eACC,yJ,C,AA3CmB,AAAA,Y,CA+CtB,A,eACC,AAAA,+BACA,AAAG,0C,uCACF,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wF,AACC,UACC,M,CAED,AAAA,WACA,AAPmB,AAAA,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OACC,AAdmB,AAAA,oB,C,AAgBpB,uFACC,2K,MAEA,2K,CAnBmB,A,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wH,AACC,aACC,S,C,KAGF,wFACA,gBACI,AAAJ,gBACC,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,WAHkC,A,AAAA,kBAKnC,4B,AAP6B,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQA,AAAI,UACJ,A,kBACC,6BACA,O,CAIG,AAAJ,qBACA,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJ,AAHuB,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wBACC,A,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,C,AAED,wBACC,iCACA,SACA,6BACA,SACA,6BACA,SACA,A,wBACC,6BACA,4G,CAED,6B,C,C,AAGF,yB,AACC,yBACC,IACA,AAAI,2BACH,A,yBACC,wBACA,M,CAH6B,A,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACA,AAAI,KACJ,AAAI,IACJ,YACA,+C,AACA,yBAEC,cACA,AAAI,QACJ,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;8QC3PA,kFACA,4BACA,iBACA,kFACA,oBACA,iBACA,iB,wKAIA,AAAI,YACJ,+GACA,A,sCACC,oB,CAED,yBACA,0MACA,A,sCACC,oB,CAED,AAAG,gG,2DACF,oB,O,0J,gE,gE,gE,4J"} +{"version":3,"file":"mosaic.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/errors/errors.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/mosaic/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kB,AACA,kBACC,U,CAED,e,AACA,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kBACC,A,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oB,AACA,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;0NC7DA,oB,yCAQK,OACL,W;8pECKK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iBACL,A,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uBACA,A,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uBACA,A,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIA,AAAG,+B,MACF,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,wE,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,8D,sCAIG,AAAH,+B,MACC,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wEACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOG,AAAH,+B,MACC,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;2JCjFA,MACA,M,+BA6EA,A,WACC,a,CAED,A,WACC,a,CAED,a,yCAIA,A,0B,+B,AAIA,WACC,U,CAED,A,aACC,sE,C,AAED,cACC,uE,CAED,mC,yBA2CA,S,+CAyBA,A,0C,gDAoBA,A,WACC,A,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2BACA,A,4BACC,AAAA,U,CAGD,yD,oDAIA,KACA,A,mCACC,M,CAED,6BACA,oBAEA,A,a,AACC,WACC,Y,CAED,S,C,AAED,gBACC,oB,CAED,A,WACC,K,CAGD,uC,yDAIA,A,W,AACC,aACC,iC,CAED,wB,CAED,A,iBACC,iC,CAGD,oBACA,A,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACA,AAAI,kBACH,+FACA,oO,AAF8B,AAAA,c,4FClB/B,AAOA,AACA,WACC,A,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4EACA,A,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2EACA,A,6DACC,wB,CAED,A,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCACA,AACA,UACA,UACA,UACA,UACA,gB,4G,gE;2JCSA,A,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,O,AACL,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,C,AAIF,oGAWK,OACL,AAMA,uGACA,A,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,eACA,A,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8C,AACA,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gB,AANiC,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLI,AAAJ,0BACA,M,0CCVK,OAKL,AAJA,A,sHAMC,kG,C,AAED,uGAUK,OACL,AAKA,AAAG,mH,QACF,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OAML,AALA,WAOA,0IAEA,A,uIACC,kG,CAED,A,sGAaK,OACL,AAQA,2HACA,A,kBACC,IACA,wD,CAGD,AAAI,oBACH,kGADuB,A,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gBACC,A,8C,CAED,2CACC,AAAI,IACJ,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,Q,AACC,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,C,AAID,QACC,A,6C,CAED,uFACA,A,kBACC,A,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,C,AAED,8C,CAID,A,QACC,A,mD,CAED,wF,AACA,oB,AACC,oD,C,AAID,UACC,4EACA,A,YACC,A,oD,CAED,A,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,C,AAID,oD,sLAIA,WACA,A,QACC,A,6C,CAED,kB,AAGA,UACC,A,+C,CAID,A,UACC,A,8C,CAID,A,QACC,A,6C,CAED,kBACA,A,kB,AACC,8C,CAID,A,UACC,8C,AACA,WACC,A,8C,C,AAED,8C,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,C,AAID,UACC,4EACA,A,YACC,A,oD,C,AAED,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,UACC,A,gC,CAED,SACA,4FACA,A,UACC,A,4B,CAKD,SACA,A,QACC,I,CAEG,AAAJ,AAAI,uBACH,A,4FACC,M,CAFyB,A,AAAA,Y,AAK3B,QACC,I,CAED,oC,AACA,sBACC,A,gC,CAED,A,4B,6BA8CA,AADA,QAEC,S,AACD,iBACC,S,AACD,kBACC,S,AACD,6BACC,SACD,A,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,S,AAJD,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACA,AAAI,IACA,AAAJ,uBACC,A,6FACC,AAAA,W,MAEA,2BACA,W,CALqB,A,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sH,AACC,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aACA,AACA,mBACC,6DACD,A,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,O,AACL,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,a,AAEA,yBACC,c,CAED,YACI,AAAH,mC,UAEC,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,CAED,A,sCACC,A,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,a,AACA,wBACC,UACA,gDACA,A,QACC,iE,CAED,mBACA,kBACA,A,sCACC,A,4B,CAID,A,e,AACC,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0BACA,A,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,cACA,A,kBACC,Y,C,AAED,gC,CAED,uCACA,mB,AACA,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,aACA,A,oC,0JAQK,OACL,aACA,A,yBAEC,cACA,A,0C,CAED,aACA,yGACA,A,UACC,AAAA,mB,AACA,mD,CAED,qDACA,mB,AACA,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oB,AACA,QACC,gBACA,Q,CAED,2BACA,QACA,aACA,A,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0BACC,A,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2BACA,A,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kBACA,A,kBACC,c,CAED,QACA,yBACA,+BACA,AAAI,iCACH,6BACA,0IAFiC,A,AAAA,YAIlC,S,8EAeA,4BACC,W,QAGD,A,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,aACA,A,iH,CAED,A,gCACC,IACA,+BACA,WACA,KACA,A,8D,CAED,IACA,A,iD,0EAIA,AAAG,gB,gBACF,mBACA,A,iH,CAED,A,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8I,AACC,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACC,AAAI,sBACH,A,yBACC,mBACG,AAAH,sD,OACC,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,UACA,A,iBACC,A,iC,CAGD,WACA,8CAEA,6DACA,A,O,AACC,iC,CAED,0FACA,AAAI,sBACH,A,yB,AACC,mD,C,AAFsB,AAAA,YAKxB,A,iC,6GClFA,A,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sBACH,A,wBACC,0B,CAFsB,A,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,O,AACL,qC,oGAOK,OACL,oG,kHCfA,AAAI,oBACJ,0BA6BA,A,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sCACC,A,6B,CAID,IACG,AAAH,0E,sC,AACC,6B,CAED,A,U,AACC,qC,CAID,aACA,AAAG,4V,sCACF,A,6B,C,AAID,gHACC,AAAA,Y,CAED,A,mE,kEClcA,AATA,AASI,uBACJ,KAEA,2BACA,sB,AACA,sCACC,A,iC,CAKE,AAAH,gX,sCACC,A,iC,CAED,A,+I,iFAQA,YACA,6CACC,2d,AACA,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACA,AAAI,qDACJ,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,OACL,A,SACC,A,0C,CAID,0C,AACA,sCACC,A,iC,CAIG,AAAJ,oBAOA,IAGA,0UACA,eACA,kDACA,6FACA,A,wC,iSAGK,OACL,A,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kD,AACA,slBACC,A,sB,CAID,AAAG,6C,sCACF,A,a,CAED,0BACA,A,qB,8LAYK,uCACL,A,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAIA,AAGA,wBACA,AAGA,Y,+CCuDA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,gDAqLA,0BACA,A,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2BACA,A,eACC,Y,CAED,S,mDAgBA,kC,AACA,eACC,Y,CAED,S,qDAMA,wC,AACA,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LA,AAAI,SACJ,qBACA,A,sCACC,S,CAED,+xCACA,K,AACA,eACC,Y,CAED,S,4DA4JI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2CACA,A,eACC,Y,CAED,Y,+CAiSA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,IACA,A,eACC,Y,CAED,Y,uCAMA,qBACA,A,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sFADyB,A,AAAA,YAG1B,AAAI,uBACJ,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAEA,AACA,iBACC,mC,AACD,uBAEC,kBACA,AAAI,sBACH,A,wBACC,AAAA,W,CAFsB,A,AAAA,YAKxB,SACD,A,4BACC,S,AACD,8BACC,A,UACC,S,CAED,S,CAGD,sBACA,IACI,AAAJ,sBACC,sFADyB,A,AAAA,YAG1B,I,AACA,yCACC,AAAA,WACA,W,CAED,AAAI,6BACH,yDACA,gCACA,4FACA,AAAA,W,AACA,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WAEA,AADA,UAEC,S,AACD,gBACC,4BACD,A,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sF,AADkB,AAAA,YAGnB,A,kCACC,S,CAED,AAAI,sBACH,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wDAmfA,A,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACI,AAAJ,eACC,IACA,A,iBACC,A,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gB,AAZkB,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;2vEC5qBA,sBACA,0BACA,oBACA,oBACA,A,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,sBCoEA,A,iBACC,a,CAED,kBACA,qB,8RAMI,AAAJ,sBACC,AAAO,2BACP,W,AACC,wDACC,A,4DACC,A,2E,CAED,A,8B,AACC,2E,C,C,AAIH,iBACC,A,uB,AACC,oCACC,A,2DACC,A,2E,CAED,A,8B,AACC,iF,C,CAGF,A,oCACC,A,gF,C,C,AAIH,iB,AACC,+EACC,A,2L,C,AAGF,iBACC,A,sDACC,A,iF,C,AAED,iF,AAED,iBACC,A,yD,AACC,iF,CAED,A,iF,AAED,iB,AACC,sDACC,A,iF,C,AAGF,iB,AACC,iFAED,A,iBACC,A,iF,AAED,iBACC,A,iFAED,A,iB,AACC,sD,AACC,iF,C,AAGF,kBACC,A,uDACC,A,iF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,CAED,A,0DACC,A,gF,CAED,A,2DACC,A,gF,CAED,A,wDACC,A,gF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,C,AAED,0D,AACC,gF,CAED,A,2D,AACC,gF,CAGF,A,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,C,AAGD,cACC,MACA,A,gCACC,M,CAED,sCACA,A,0E,C,C,CAjHyB,A,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,e,AACA,4BACC,a,C,C,AARsB,AAAA,YAYzB,Y,8BAIA,sHACC,A,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,C,AAED,UACC,wHACA,+FACA,S,CAGG,AAAJ,uBACA,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iDACC,A,4B,CAED,A,MACC,K,CAED,A,oC,sCAMA,IACA,AAAI,uBACJ,AAAI,eACH,AAAA,WACA,mJACA,2F,CAGD,A,QACC,I,C,AAED,MACC,iGACC,AAAA,W,CAED,A,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBAEJ,AADD,kCAGC,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,CAED,A,WACC,M,CAED,KAGA,A,2BACC,sC,CAID,A,2BACC,iC,CAGD,YACA,+BACC,KACA,A,SACC,O,CAED,oFACD,A,mBAEC,KACA,AACA,aACC,gBACA,O,AACD,kBACC,+CACA,O,AACD,iBACC,gDACA,O,AACD,cACC,iDACA,O,AACD,eACC,gD,AACD,gBACC,+CACD,A,iBACC,gB,CAED,kB,AACD,mBACC,4E,AACD,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kBACD,A,mBACC,iB,AACD,mBACC,kBACD,A,mB,AACC,UACC,+C,MAEA,+C,C,AAEF,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iFAGC,A,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,C,AAGF,kBACC,A,cACC,4CACA,M,CAID,+FACA,A,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kFAOA,A,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kBACC,A,yBACC,A,0CACC,a,CAED,QACA,QACA,S,C,AAED,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAGA,AACC,IACA,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,WACC,A,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+BACC,A,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,CAEF,A,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mC,AACD,mBACC,mC,AACD,6BACC,2CACA,A,eACC,U,C,AAEF,mBAEC,2B,AACD,mBACC,2B,AACD,uCACC,A,mDACC,iB,CAED,2CACA,A,cACC,Q,C,AAEF,mBACC,wCACA,A,eACC,S,CAEF,A,6BACC,2CACA,A,cACC,S,C,AAEF,6BACC,2CACA,A,eACC,W,C,AAEF,6BACC,4C,AACA,iBACC,W,C,AAID,iDACC,iBACA,c,AACA,yBAEC,M,CAGD,KACA,6BAA2C,A,AAAA,cAE3C,sCACA,kB,CAEF,A,mB,AACC,eACC,MACA,M,CAED,iDACA,MACA,cACC,OACD,A,oBACC,O,MAEA,M,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,CAEF,A,0FACC,A,gEACC,iBACA,YACA,M,CAED,AAAI,gD,AACJ,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kBAEA,A,eACC,MACA,M,CAED,uG,A,+B,AAEA,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+BAEA,A,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAED,AAAI,iCACJ,2BACA,A,oCACC,2B,C,AAED,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mD,AAED,kBAGC,sBACA,A,gBACC,MACA,M,CAED,sCACA,kB,AAED,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,C,AAGF,YACC,Y,A,sBAEA,I,C,AAGD,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uFACA,A,kCACC,SACA,qB,CAID,iBACA,qB,CAGD,A,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6EAcA,A,eACC,A,gC,CAGD,A,wEACC,A,+B,C,AAGD,6BACC,QACA,A,+B,CAGD,AAAI,IACJ,AAAI,eACH,A,gBACC,M,CAEE,AAAH,kB,eACC,M,CAL0B,A,AAAA,YAQ5B,IACA,+BACC,A,gCACD,A,gBACC,A,yBACC,A,+B,C,AAEF,gBACC,A,yBACC,A,mC,C,AAEF,gB,AACC,mC,C,AAED,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,CAED,A,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kBACA,A,eACC,M,CAED,A,mEAEC,A,sD,CAED,iIATiB,AAAA,A,YAWlB,A,2D,mDC1jCK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sDACA,A,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sDACA,A,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFACA,AAeA,uGAMA,iFACA,A,eACC,AAAA,W,CAKD,A,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACC,AAAG,gF,eACF,AAAA,WACA,I,C,CAIF,Y,qHAIK,kB,AACL,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uCACA,A,MACC,gC,CAGD,A,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WAEA,AADA,8BAEC,UACD,A,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sCAGA,A,yCACC,AAAA,WACA,qEACA,gEACA,sC,AAIA,yCACC,AAAA,WACA,qEACA,iC,C,C,CAKH,A,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACA,AAAI,eACH,mCACA,kCACA,A,MACC,AAAA,WACA,iH,CAED,sCAPqB,A,AAAA,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,YACA,A,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,SACD,A,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,IACA,A,UAGC,AADA,SAGC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,Q,AACA,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACD,AAAJ,IAEA,A,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,I,AACA,kBACC,8C,CAGD,A,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2N,AAEA,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACF,AAAH,W,kBAGC,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sH,AAOA,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,C,AAED,4B,2IAoBA,A,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACQ,AAAP,uEACA,gEACC,uD,AACD,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kBACL,A,0CACC,S,CAED,iBACA,uC,kHAMK,kB,AACL,0CACC,S,CAED,iBACA,A,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,K,AACA,QACC,oBACA,AAAA,4E,C,CAMF,AAFA,2JAGC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,C,AAED,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,U,AAEA,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mGACA,A,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,CAID,A,gOACC,AAAI,4HACH,A,2GACC,S,CAFyC,A,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gI,AACC,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kG,AACA,eACC,sGACA,A,eACC,A,+C,C,C,KAMH,0CACC,0GACA,A,gBACC,A,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,m3N,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kBACA,A,kBACC,2B,CAED,SACA,sCACA,AAAI,wCACH,qH,AADgC,AAAA,YAGjC,S,uGCDK,OAEL,A,4BACC,4BAEA,iC,CAED,iBAEA,I,AACA,SACC,MACA,K,CAGD,eACA,kBAEC,A,mBACC,SACA,AAAI,YACJ,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,CAED,A,0BACC,A,gC,CAED,A,oC,iJCsDK,OACL,A,eACC,A,+C,CAED,A,yC,4IAeK,OACL,A,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,Q,AACD,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,OACL,A,eACC,A,0C,CAED,0BACA,A,QACC,I,CAED,A,yD,AACC,gC,CAED,A,sCACC,kC,C,AAED,4B,uIAOK,OACL,A,e,AACC,0C,CAED,mBACC,6BACA,A,4C,AACC,gC,CAED,A,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,eACC,A,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,CAED,A,4B,sIAMK,OACL,A,e,AACC,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,OACL,A,eACC,A,wD,CAED,4BACA,A,6FACC,kB,CAED,A,sCACC,A,wE,CAED,A,oC,oIAKK,OACL,A,eACC,A,0C,CAED,A,+D,mHAyBK,OACL,A,eACC,uB,CAED,AAAG,sB,sCACF,wC,CAED,iB,4EA+BA,A,QACC,I,CAED,Y,+FChOA,mCACA,A,+BACC,iB,CAED,A,+BACC,iB,C,AAED,+BACC,gB,CAGD,S,6CAeK,O,AACL,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAED,AAAG,2B,sCACF,2C,CAED,iB,wHAMK,OACL,A,eACC,A,2B,CAED,AAAG,qB,sCACF,A,wB,CAED,A,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yCACC,A,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,OACL,A,uBACC,uB,CAED,AAAI,YACJ,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,eACC,A,kD,CAED,AAAI,sCACJ,uBACA,A,sCACC,A,kE,CAED,A,oD,yHAmBA,AAAI,sCACJ,e,AACA,sCACC,A,yD,CAED,A,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sCACC,A,4B,CAED,e,KAED,A,4B,6HAcK,O,AACL,+BACC,4B,CAED,A,gE,0HAMK,OACL,A,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,CAGD,A,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,O,AACL,+BACC,4B,CAED,A,oE,6IAOK,O,AACL,kD,oFA8CA,gBAEA,mCACC,mB,AAD8B,AAAA,YAI3B,AAAJ,AAAI,uBACH,A,yBACC,wBACA,M,C,AAHe,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+BACD,A,oBACC,iC,AACD,mBACC,+BACD,A,oBACC,gC,AACD,oB,AAEA,oBACC,+B,CAED,A,iCACC,8B,CAED,A,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAED,AAAI,IACJ,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCACL,AACA,AAAI,uBACJ,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,S,AAGF,UACC,oEACA,AAAA,W,CAGD,AADA,kEAEC,A,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kEAED,A,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACA,AAAI,AAAA,uBACH,mJACA,AAAA,iB,AAFgB,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gC,AACC,Y,AACC,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yBAdgB,A,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kC,AACA,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DA,AAAI,sBACH,A,iBACC,Y,CAED,A,gHACC,2G,C,AALsB,AAAA,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGA,AAAI,AAAA,uBACH,0HACA,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,AAVgB,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,cACD,A,cACC,aACC,SACA,Y,CAED,e,C,2FAMD,A,iBACC,a,CAED,A,yG,AAEC,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAID,AAAI,qBACH,6E,AACA,SACC,AAAA,2JACA,YACA,O,C,AALuB,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACA,AAAI,0BACH,uLADgC,A,AAAA,YAGjC,cACC,gC,AADe,AAAA,YAGhB,A,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6GACA,A,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8BACC,A,a,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,C,AAED,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OAGL,AAFA,AACA,IAEA,A,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kBACC,A,iB,CAED,4E,AAGA,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iFACA,A,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,IACJ,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qIAKA,A,2XAEC,A,iB,CAED,A,gB,6JAOK,OAML,AACA,AAGA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,W,AACD,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACA,AAAI,2CACH,A,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAID,AAAI,uBACJ,KACI,AAAJ,iBACC,iGACA,4DACA,AAAA,WACA,wFACA,M,CAED,AAAI,kBACH,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gC,AACA,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGD,AAAI,0B,AACH,kHACC,aACA,M,CAHyB,A,AAAA,cAM3B,Y,kIAYA,A,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,CAJY,A,AAAA,YAOd,A,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,C,AAED,gDAEC,AAAI,uBACJ,KACI,AAAJ,qDACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACI,AAAJ,eACC,gL,AADmB,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,c,AAEA,gBACC,qDACA,Y,C,AAED,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGI,AAAJ,KACA,AAAI,kDACH,A,sFACC,MACA,M,CAED,kCALmC,A,AAAA,cAOhC,AAAJ,kBACC,gGACA,2GACA,yHACA,2EAEG,AAAH,wF,gEACC,aACA,aACA,YAGA,0D,C,AAZ6B,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yF,AACA,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACJ,AAAI,SACJ,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,Q,AACD,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gB,AAGA,WACC,qB,CAGD,A,OACC,yB,CAGD,AAAI,0BACJ,QAEA,MACA,A,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,YACD,A,mBACC,qBACD,A,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,a,AACD,4BACC,A,UACC,I,CAED,K,C,AAED,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,C,AAGF,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qB,AACD,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mB,AACD,0BACC,A,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mB,AACD,0BAEC,IACA,A,uBACC,O,CAKD,A,MACC,I,CAED,YACA,A,e,AACC,WACC,O,CAED,sD,CAED,A,WACC,O,CAED,iC,CAID,uB,0EAQA,A,8BACC,OACA,O,CAiBD,c,AACA,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,I,AACJ,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wB,AACJ,WACC,6E,MAEA,K,CAED,6EACA,A,WACC,6E,MAEA,K,CAKD,8CAIA,oDAIA,AACA,UACC,gBACA,O,AACD,YACC,oBACA,OACD,A,aACC,kBACA,O,C,AAjCoB,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,YACA,A,aACC,I,C,AAED,QACC,KACA,K,MAEA,K,CAED,eAGA,AAAI,uBACJ,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,eAE/B,A,MACC,gB,CAID,A,WACC,AAAI,IACJ,AAAI,0BACH,0G,AADgC,AAAA,YAGjC,cACC,gB,AADe,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACI,AAAJ,eACC,KACG,AAAH,Y,iBACC,+F,CAED,eALqB,A,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,C,AAED,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,K,AAEA,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,C,AAED,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGK,AAAG,uE,QAET,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iIAGA,A,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,IACA,A,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEAT0B,AAU1B,0B,CAED,A,2BACC,gBACA,0BACA,AAf0B,0B,C,AAiB3B,M,AACC,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gD,AACD,gBACC,gDACD,A,iBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,MAEA,AACA,SACC,gDACA,2EACA,uEACD,A,oBACC,QACA,AAEA,gDACA,AAAI,iBACH,4E,AADoB,Y,AAFtB,kBACC,gDACI,AAAJ,iBACC,4EADoB,A,Y,MAIrB,gDACA,AAAI,iBACH,4E,AADoB,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,QACC,A,cACC,a,CAED,S,CAED,A,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SACA,AACA,iBACC,A,qC,AACD,wBACC,A,6CACD,A,uB,AACC,6C,CAED,Y,yHAmBA,AAAO,kBACP,kCACC,iBACA,gB,AACD,iBACC,wCACA,A,wEACD,A,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,I,AACD,kBACC,K,AACD,kBACC,KACD,A,kBACC,K,AACD,kBACC,IACD,A,kBACC,K,AACD,mCACC,IACA,IACA,YACC,I,AACD,kBACC,I,AACD,iBACC,I,CAED,AAAI,I,AACJ,eACC,iBACA,gB,CAEG,AAAJ,eACC,qCACA,A,QACC,iBACA,gB,CAED,cANkB,A,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,C,AAED,cACC,iBACA,gB,CAED,IACA,OACD,A,yEACC,gBACA,A,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mB,AANkB,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,K,AACD,iBACC,K,AACD,yBACC,A,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,WACA,A,QACC,A,0C,CAED,kBACA,A,oCACC,A,0C,CAED,0BAEA,A,WACC,A,aACC,A,0C,CAED,A,oC,CAED,A,6BACC,A,0C,CAED,A,aACC,A,0C,CAID,A,wBACC,IACA,WACC,A,oC,AACD,iBACC,wCACA,A,iDACC,A,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,C,AAED,gCAEC,A,8C,C,CAGF,A,yD,yBAKA,AAAI,sBACH,A,wBACC,Y,C,AAFsB,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qG,AACA,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,WACC,A,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,C,AAED,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,Y,AACD,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0DAFgC,A,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,CAED,A,SACC,uD,CAED,A,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oC,AAIA,OACC,uE,C,AAED,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qC,AAIA,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wBACD,A,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2B,AACD,iBACC,2B,AACD,yBACC,sB,AACD,iBACC,sCACD,A,iBACC,4B,AACD,iBACC,4BACD,A,mCACC,uB,AACD,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,aACA,A,2BACC,a,CAED,sD,AACA,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,a,AACA,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,a,AACA,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,eACJ,A,uBACC,+B,CAGD,AAAI,QACJ,AAAO,mBACP,8BACC,gBACD,A,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kB,AACC,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,MACJ,A,uBACC,wBACA,A,iCACC,qE,CAED,8GACA,A,0CACC,4D,CAED,qBACA,A,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8GACA,A,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,M,AACnB,gBACC,gD,CAED,A,oCACC,6G,CAED,A,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8BACD,A,kBACC,AAAI,6BACH,A,oCACC,a,C,AAF4B,AAAA,c,CAM/B,Y,mJAGK,Q,AACL,8CACC,0D,CAED,8G,AACA,uCACC,uB,CAED,M,AACA,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,Q,AACL,+CACC,c,CAED,A,gCACC,iB,AACA,qDACC,iBACA,sCACC,oC,AACD,2BACC,qCACD,A,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UAEC,AADD,KAEC,QAED,A,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,CAGD,A,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,M,AAGD,oBACC,AAAA,a,CAED,A,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGF,AAAI,kBACH,AAAG,8H,yBACF,kF,CAFiB,A,AAAA,cAKnB,A,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACA,AAAG,a,yBACF,0F,CAED,qBALkB,AAAA,A,cAOnB,MACA,sBACA,kCACA,4F,CAGD,cACA,A,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,c,AACD,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oB,AACD,2BACC,2C,CAED,2C,oHAGK,QACE,AAAP,gCACA,YACC,eACA,A,mBACC,8B,CAED,qBACA,sC,AAED,kB,AACC,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,UACA,A,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,UACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iBACA,A,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mC,AACD,kBACC,2C,AACD,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uCACC,A,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,S,AACD,kB,AACC,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uCACA,A,gCACC,iBACA,YACC,+B,AACD,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8BAED,A,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2BAED,A,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mB,AACA,wBACC,0D,CAED,iCAEA,e,AACA,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sB,AACA,sCACC,A,6D,C,AAED,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,Q,AACL,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,QACL,A,mBACC,oBACA,sB,CAED,mC,kIAGK,Q,AACL,mBACC,oBACA,A,qC,C,AAED,kD,qJAGK,QACL,A,mBACC,oB,AACA,iE,CAED,A,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,QACL,A,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mB,AACD,kBACC,eACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,QACL,A,wBACC,yD,CAED,iBACA,oB,oHAGK,Q,AACL,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,QACL,A,wBACC,mE,CAED,iBACA,8B,iIAGK,Q,AACL,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,QACL,A,wBACC,uD,CAED,eACA,uB,wGAGK,QACL,A,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,e,AACD,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,Q,AACL,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wB,AACC,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oB,AACA,YACC,M,CAKD,KACA,2GACC,AAAA,a,C,AAED,0FACC,M,CAED,sBACA,2BAGA,KACA,iD,AACC,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,C,AAED,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oI,AACC,SACC,WACA,A,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,CAID,A,W,AAEC,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iB,AACA,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uFACA,A,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,SACA,A,eACC,6CACC,6GACA,A,oCACC,QACA,c,CAED,A,wBACC,A,uE,C,M,CAIH,A,QACC,c,C,AAED,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,Q,AACL,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,QACL,A,oCACC,qE,CAED,sBACA,4B,mIAGK,Q,AACL,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oB,AACA,2BACC,Y,CAeD,A,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8G,AACA,8FACC,AAAG,AAAA,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,CAGD,8B,AACA,gBACC,a,CAED,KACA,AAAI,kCACH,8GACA,8GACA,A,+FACI,AAAH,AAAG,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4E,AAED,kBACC,eACA,eACA,A,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wI,AACC,mHACC,a,C,MAGF,Y,AAED,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,a,AAED,kBACC,oF,AAED,2BACC,8CAED,A,kBACC,iBACA,iB,AACA,+CACC,a,CAED,6CACC,6GACA,6G,AACA,gJACC,a,CAED,A,kKACC,a,CAED,A,uBACC,a,C,AAED,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,QACL,A,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,C,AAED,2BACC,qF,C,iJAOI,wC,AACL,WACC,2B,CAGD,A,2BACC,qF,C,AAED,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2B,AACA,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4D,AACD,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,SACC,A,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACF,AAAH,2D,OACC,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qC,AACD,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+B,AACD,iBACC,+B,AACD,iBACC,+B,AACD,iBACC,+BACD,A,iBACC,iB,CAED,+D,uGAIK,Q,AACL,gBACC,mD,CAED,6B,mIAQK,QACL,A,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEI,AAAJ,KACA,A,gCACC,U,MAEA,sF,CAED,8BACA,A,WACC,8B,CAED,WACA,sCACA,8BACA,A,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACA,AAAJ,0BACC,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,OAjBsB,A,AAAA,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,C,AAED,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,C,AAED,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kC,AACD,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,c,AACD,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACA,AAAO,gCAGP,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wD,AACD,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,A,oBACC,2BACA,O,CAED,iCACA,sDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACA,AAAO,gCAGP,WACC,2B,AACD,iBACC,gCACD,A,iBACC,gC,AACD,kBACC,2BACD,A,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,W,AACA,WACC,2C,CAED,A,uBAEC,c,CAKD,sB,AACA,uBAEC,wBACA,A,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gCACD,A,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gC,AAED,wBACC,A,WACC,S,CAED,gBACA,A,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0BACA,A,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,UACD,A,kBACC,U,C,AAGF,2BACC,aACA,2CACC,U,AACD,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,C,AAGF,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,AAIH,kBACC,A,+CACC,oBACA,WACC,UACD,A,iBACC,U,C,C,CAMH,A,cACC,U,CAID,A,kHAGC,U,CAGD,A,cACC,A,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gBACA,A,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,M,AACX,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EI,AAAJ,gBACC,sFACA,sFAFsB,A,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,W,AACA,QACC,A,uB,AACC,sC,CAED,A,MACC,A,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,OACL,A,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,O,AACL,wCACC,qBACA,O,CAED,gE,AACA,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,O,AACL,MACC,S,MAEA,S,C,wJAMI,OAEL,A,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iD,AACA,MACC,+B,CAKD,IACA,A,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,C,AAEF,qCACC,8CACC,AAAA,WACA,oJACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,CAID,A,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,CAGF,A,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,OACL,A,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,YACA,A,eACC,W,CAED,8CAEA,AAAI,SACJ,AAAI,eACH,A,0BACC,gB,CAED,A,kDACC,kB,CAEG,AAAJ,IACA,A,eACC,kB,MAEA,uF,CAED,uEAbkB,A,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACI,AAAJ,K,AACA,wCACC,Y,M,AAEA,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACL,AAAI,SACJ,A,oBACC,qG,MAEA,8F,CAED,S,8E,AAMA,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,C,AAGD,iB,AACC,oBACC,4BAAe,qB,QACf,sB,C,CAMF,A,4D,AACC,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wBACD,A,kBACC,8B,AACD,iBACC,6B,AACD,0BACC,8BACD,A,kBACC,+B,AACD,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,I,AAtBa,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,O,AAEL,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4BACD,A,iBACC,2B,AACD,iBACC,4BACD,A,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,aACA,A,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAED,AAAI,yDACH,kDACA,O,AAFiE,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2CACA,A,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0D,AACD,iBACC,UACD,A,2BACC,2D,AACD,kBACC,0D,AACD,kBACC,A,uFACC,gB,MAEA,a,C,AAEF,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mC,AACD,kBACC,qF,AACD,kBACC,A,0BACC,kB,MAEA,qF,CAEF,A,kBACC,oF,AACD,kB,AACC,uFACC,yC,MAEA,a,CAEF,A,kBACC,qFACD,A,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iBACD,A,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oB,AACD,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,C,AAEF,kBACC,e,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yBACC,A,0BACC,A,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,C,AAED,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sHACC,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,qC,K,AAED,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGD,AAAI,IACJ,WACA,mDACC,c,MAEA,aACA,O,CAGD,A,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACL,AAAG,a,sCAIF,AAAG,e,+BACF,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uB,AACA,MACC,yBACA,2B,CAED,wBACA,A,MACC,0BACA,4B,CAED,Y,4IAKK,O,AACL,MACC,0BACA,0B,C,AAED,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGD,AAAG,2C,MACF,OACA,0FACA,uDACA,cACA,S,CAID,A,0BACC,AAAG,2C,MACF,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,S,AAED,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oCAEA,A,mC,AACC,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oDACA,A,iBACD,A,kBACC,6BACA,A,iB,CAID,IACA,0CACC,e,AACD,mDACC,kBACD,A,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8B,AACD,gDACC,8B,AACD,iDACC,8BACD,A,iDACC,8BACD,A,iDACC,gB,AACD,gDACC,gC,AACD,iDACC,gC,AACD,kDACC,gC,AACD,kDACC,gCACD,A,kDACC,iB,AACD,mDACC,yDACD,A,kDACC,iBACA,uB,AACD,6CACC,4BACA,U,UAGA,AAAG,uB,MACF,A,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iBACC,A,wBACC,2F,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,iDACA,A,iB,AACD,kBACC,kBACA,A,iB,CAKD,gBACA,A,qBACC,oB,CAED,AAAG,uB,MACF,A,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UAEO,AADR,AACC,yBACA,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wB,AACD,yBACC,A,wBACC,0B,MAEA,0B,CAEF,A,yBACC,A,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0BACD,A,iBACC,A,0BACC,iHACA,A,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iB,AACC,0BACC,iH,CAED,WACA,IACA,WACI,AAAJ,0B,AACC,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,A,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iGACD,A,iBACC,WACA,A,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMC,AAAG,W,6FACF,AAAI,SACJ,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAED,AAAI,qBACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kCARwB,A,AAAA,Y,AAUzB,0BACC,iG,MAEA,gG,C,AAEF,iBACC,cAGA,A,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gBACD,A,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAGF,AAEA,kB,AADD,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,IACA,A,gBACC,4HACA,S,CAED,c,iEAWA,AAAI,sBACH,A,yBACC,iCACA,A,mB,AACC,+C,CAED,A,mD,C,AAN2B,AAAA,YAS7B,A,0C,+FAMK,OACL,A,2C,AACC,0C,CAED,iBACA,0CACA,A,iB,AACC,8C,CAED,mBACA,A,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBACD,AACC,aACC,kBACA,WACC,0B,AACD,iBACC,yB,AACD,iBACC,yB,AACD,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oD,AAGA,gCACC,AAAA,WACA,+D,AACA,+BACC,4F,CAED,Q,MAEA,iEACA,A,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iE,AACA,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,C,AAKH,OACC,oD,CAGD,A,SACC,4FACA,S,CAED,qDACA,WAEA,A,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,W,AAEA,YACC,A,yBAEC,2BACA,2B,CAED,A,wBAEC,0BACA,0B,C,CAGF,kB,C,AAMD,8BACC,2FACA,mBACC,uFACA,A,sCACC,oHACA,gG,CAED,oB,AACA,uBACC,2F,C,AARqB,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uF,AACA,QACC,+D,AACA,cACC,gG,C,CAGF,sBAViC,A,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,O,AACL,uF,4HAGK,O,AACL,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uC,AACA,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,OACL,A,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6BACA,A,sC,AACC,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACI,AAAH,a,sCACI,AAAH,kD,MACC,Q,MAEA,U,C,C,QAIH,A,8BACC,K,CAED,2BACA,eACA,Y,wLAmBA,A,aACC,a,CAED,eACA,8HACC,A,WACC,a,CAED,A,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,eAEjB,A,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,CAED,A,2BACC,S,CAED,A,WACC,A,MACC,M,C,AAED,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,O,AACL,MACC,mB,CAGD,YACC,cACA,A,WACC,M,CAED,A,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,c,AACA,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gDA8SA,A,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACA,AAAI,iCACH,wFAD8B,A,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8GAD6B,A,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oB,AACA,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,YACJ,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACG,AAAH,e,+CAEC,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0I,AACA,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yB,AACA,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oE,AACA,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eACA,AACA,4B,iIAGK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACC,AAAG,O,sCACF,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2CACA,A,mGACC,AAJ2B,AAAA,oB,CAM5B,6C,AAN4B,AAAA,Y,AAa7B,kBACC,iB,CAED,iCACA,qHACA,iB,6MCrEA,AAEA,AAHA,mDAIA,A,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAID,AADA,iBAEA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2I,AAN6B,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACH,AAAI,eACH,uJ,AADkB,AAAA,Y,AADD,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gCACA,A,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,O,AAEL,UACC,2CACA,iBACA,M,CAGD,A,uBACC,wD,CAID,AAAI,iBACH,gDACA,A,QACC,U,CAED,eACA,A,sCACC,QACA,O,CAED,A,QACC,O,C,AAXwC,AAAA,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGD,AAAI,YACJ,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,YACA,A,UACC,A,sC,CAED,A,cACC,A,0CACC,A,sC,CAED,A,6BAGC,iCACA,A,QACC,U,C,AAED,QACC,gHACA,kB,CAED,A,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iBACC,A,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kBACA,A,oC,gHAIK,OACL,A,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wH,AACA,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,O,AACL,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEC,AAAG,0C,SACF,yCACA,sBACA,M,CAID,A,0CACC,2BACA,QACA,cACA,M,CAID,A,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gC,AACA,4CAEC,A,gI,AAGC,YAEC,mE,CAED,AAAA,eACA,kC,C,AAED,iD,CAGD,A,kBACC,A,sCACC,Q,CAED,c,CAED,Y,AAEA,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACJ,AAAI,SACJ,YAEA,YACC,AAAI,YACJ,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oBACA,A,4B,yMAIK,OACL,8B,AACA,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kDACA,A,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,CAGD,A,+BACC,S,CAGD,eAEC,8BACA,qD,AACA,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kDACA,A,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iBACA,A,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mE,AACA,UACC,e,CAED,mE,AACA,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iBACL,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,qCACC,e,CAED,S,4GAIK,iBAAmB,cACxB,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,cACrB,A,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,O,AACL,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+B,AAIA,cACC,uC,CAED,+BACA,0D,8HAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oB,AAClC,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACI,AAAJ,qCACK,AAAJ,eACC,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,O,AACL,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sB,AACtC,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,O,AACL,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,OACL,A,mBACC,Y,CAED,0BACI,AAAJ,qCACC,AAAI,eACH,A,8GACC,a,CAFmB,A,AAAA,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+B,AAIA,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,OACL,A,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,OACL,A,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+BAIA,A,cACC,kD,CAID,+BACA,uF,0IASK,OACD,AAAJ,uBACA,0BACI,AAAJ,qCACC,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kB,AACA,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,O,AACL,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+B,AACD,gBACC,+BACD,A,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,O,AACL,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZACD,A,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+BAIA,A,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2DACA,A,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,e,AACA,cACC,O,CAID,IACA,sCACC,A,UACC,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,OACD,A,6C,AACC,eACC,O,C,C,MAGO,AAAH,uC,MACN,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4CACC,A,yDACC,iB,C,CAIF,oCACA,2CACA,A,eACC,yCACA,8C,CAGD,AAAI,uCACJ,0BACA,0BACA,AAAI,0BACH,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAED,AACA,W,AACC,U,MAGC,8D,CAEF,A,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,CAjCoB,A,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACA,AAAI,kCACH,AAAI,eACH,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kB,AAb+B,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACA,AAAI,eACH,6HACA,6HACA,6HACA,6H,AAJoB,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mCAHkC,A,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBACA,AACC,gBACA,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,W,AAvBa,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACI,AAAJ,gBACA,A,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,WAHa,A,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+QAlB6B,A,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEI,AAAJ,2BAEC,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yHAV6B,A,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sG,AALqB,8C,AAJS,+B,AAYjC,gBACK,AAAJ,2CACC,qCACA,oEACA,kJACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mCAajC,A,gBACC,AAAI,2CACH,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,sPACA,AAAI,wBACH,0VACA,yGACA,yGACA,yGACA,0GALqB,A,oD,AAJS,mC,MAahC,A,iB,C,AAED,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACI,AAAJ,gDACC,AAAI,2BACH,uGACA,A,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oC,AACA,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACA,AAAI,wBACH,AAAI,wDACH,SACA,A,sCACC,+B,CAED,0DACA,A,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,CA7BwC,A,qDAgC1C,2B,AAjCqB,oD,gBAuCtB,A,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACA,AAAG,sC,MACF,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMG,AAAJ,8BACA,A,MACC,0BACA,0B,CAID,iCACA,AAAI,6BACH,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,CAGD,A,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OAjCuB,AAkCtB,AAlCsB,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SAvEwB,A,AAAA,c,AA2EzB,MACC,wBACA,sCACC,+G,M,CA/EsB,A,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,O,AACL,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,aACA,A,YACC,iKACA,qM,CAED,S,iIAaK,OACL,AAAG,qB,sCACF,S,CAED,6C,oIAGK,OACL,AAAG,qB,sCACF,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOA,AAAG,sC,wCACF,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,OACL,A,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0CACA,A,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8CACA,A,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;0+BC/DK,OACL,4DACA,A,OACC,O,CAED,uF,kHAGK,OACL,4DACA,A,OACC,O,CAED,wF,4GAGK,OACL,uBACA,IACA,UACC,qB,AACD,gBACC,qB,AACD,gBACC,qB,C,kHAII,OACL,uBACA,IACA,UACC,sBACD,A,gBACC,sBACD,A,gBACC,sB,C,kHAII,OACL,gC,qFC5CA,mC,yBAIA,K,sJAIA,YACA,8DACC,U,QAED,gE,8MAIA,0DACA,kCACC,0D,qB,4E,6BASD,a,gC,oKAQA,YACA,+CACC,U,OAED,gEAEA,mBACA,4CACC,0B,AAEA,UACC,a,CAGD,A,mBACC,a,C,AAGD,uBAEC,a,CAED,Y,OAGD,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCACA,wCACC,U,OAGD,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,4CACC,0BACA,aACA,a,OAED,0CACC,0BACA,WACA,a,OAED,8CACC,yBACA,eACA,a,OAED,4CACC,yBACA,aACA,a,OAED,0CACC,a,O,mEAMD,gDACA,A,UACC,I,CAED,S,qEAIA,mBACA,gCAEA,WACA,eACA,gBACA,UAEA,SACA,SACA,6CACA,8CACA,8IACA,6IAEA,0DACC,4BACA,4DACA,gCACA,+BACA,uL,OAED,U,AAEA,oC,4G,gE,gE,gE,u8C,87C;wwGClJA,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,gCACA,oBAFoB,A,AAAA,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,IACA,AAAI,sBACH,oC,AADsB,AAAA,YAIvB,A,iBACC,qB,CAED,oB,AAToB,AAAA,YADC,A,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mB,AACC,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,cACpB,A,mBACC,e,CAED,6BACA,SACA,a,wHAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,sHClEA,AAAI,SACJ,AAAI,YACJ,6BACC,AAAI,SACJ,4CACA,A,sCACC,O,CAED,wBACA,W,IAED,A,sCACC,iB,CAED,uC,iDAKI,AAAJ,SACA,AAAI,YACJ,6BACK,AAAJ,SACA,mDACA,A,sCACC,O,CAED,wB,I,AAED,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mB,AACC,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,cACrB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,c,AAClB,mBACC,e,CAED,6BACA,SACA,a,4GAGK,O,AACL,mBACC,e,CAED,AAAI,eACH,sJACA,sJAFwB,A,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,gB,mHAIK,OACL,A,mBACC,e,CAED,mJ,sHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iB,AACD,gBACC,gB,CAED,iC,yCCdA,sDACA,A,sCACC,iB,CAGD,8CACA,A,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACF,AAAH,gC,sCACC,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC3CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,OACL,A,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2F,AACA,wE,kIAGK,OACL,2F,AACA,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,OACL,A,6D,4HAGK,O,AACL,eACC,uD,CAED,e,AACA,mCACC,U,AACA,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6C,AACA,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,UACC,A,iF,C,AAED,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,OACL,A,sBACC,2BACK,AAAJ,YACA,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,6SC5LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,IACA,qBACA,kCACC,mEACA,A,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAED,AAAG,iC,sCACF,S,CAED,mBACC,iBACA,A,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAID,qBACA,AAAA,WACA,A,oIACC,yJAEA,IACA,I,C,qB,qT,gE,gE,gE,gE,gE,gE,gE,gE,25J;;i5F,ACrEF,SACC,4DACA,O,CAED,Y,AACC,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACC,AAAJ,IACA,AAAI,IACJ,AACA,4BAEC,gBACA,IACA,MACD,A,gBAEC,gCACA,IACA,MACD,A,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2F,AAzBwB,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2F,AAF6B,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACJ,AAAI,gBACJ,kHACC,A,UACC,a,CAED,A,iBACC,I,CAED,A,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,I,AACJ,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACA,AAAJ,gB,AACC,WAEC,UACA,A,UACC,a,CAED,4BACA,AAAI,uBACH,4LACA,uBACA,gBACA,6GACA,qI,AAL0C,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8BAnBuB,A,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACC,AAAI,oBACH,uF,AAD2C,+C,MAI5C,2GACA,A,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,O,AACL,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACI,AAAH,mB,0CACC,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,U,C,mGAII,O,AACL,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6BACA,A,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGI,AAAJ,eACC,cACC,AAAG,e,sCACF,S,C,CAGF,qLACA,iCACA,kB,AARsB,AAAA,YAUvB,AAAI,gBACH,oKADmC,AAAA,A,YAGpC,A,gDACC,2C,CAKD,AAAI,gCACH,gC,AACA,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACA,AAAJ,KACI,AAAJ,KACA,KAGA,YACC,KACA,K,AACA,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,W,AAFoB,AAAA,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gC,AACA,sCACC,QACA,O,CAEG,AAAJ,IACA,AAAI,IACJ,AACA,UACC,2GACA,AAAA,iB,AACA,iBAEC,gDACA,O,CAED,S,AACD,kBAEC,2CACA,OAED,A,gBACC,WACA,I,AACD,gBACC,kBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,mBACA,IACD,A,gBACC,oBACA,I,AACD,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,IACJ,A,kBACC,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAIF,AACA,QACC,AAAA,W,AACD,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,C,AAID,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iCACA,A,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,O,AACL,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gBACA,A,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,OACL,A,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+B,AACA,sCACC,A,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACC,AAAG,e,sCACF,Y,C,CAGF,kGACA,qB,AACA,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,CAGF,A,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIG,AAAH,uC,MACC,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYA,AAAI,0BACJ,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWA,AAAI,0BACJ,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,CAED,A,kBACC,A,oC,CAGD,uCACA,iCACA,A,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,Q,AACA,4B,CAGD,iIACA,A,8BACC,uBACA,A,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mCACA,A,MACC,yDACA,A,sCACC,S,CAED,iIACA,A,2BACC,0B,C,C,AAGF,gDACC,A,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACI,AAAJ,iBACC,UACA,AAAI,eACH,A,oBACC,wB,MAEA,6B,C,AAJiB,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uBACA,A,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACA,AAAJ,eACC,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,O,AACA,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,YAFG,AAAA,A,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6FAG1C,A,QACC,S,CAED,S,0EAGK,O,AACL,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2C,AACA,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wD,AACA,aACC,mC,CAED,0C,AACA,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,OACD,A,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,CAEF,A,gBACC,WACA,UACC,O,AACD,gBACC,O,AACD,gBACC,Q,AACD,gBACC,O,AACD,gBACC,Q,C,AAEF,iBACC,WACA,UACC,QACD,A,gBACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,C,C,AAGF,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oE,AACA,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4a,AADmB,AAAA,YAGpB,AAAI,iBAMH,2J,AANqB,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,OACL,A,UACC,gC,CAED,6D,AACA,sCACC,S,CAED,0CACA,OACA,kBACC,uC,AACD,wBACC,uCACD,A,sCACC,A,wBACC,mC,CAEG,AAAJ,eACC,wIACA,2O,AAFkB,AAAA,Y,AAIpB,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAIE,AAAH,sD,sCACC,Y,CAED,8D,AACA,6DACC,yC,CAED,cACA,0C,CAED,A,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+BACA,A,sCACC,oB,CAED,2CACA,AAAI,YACJ,A,oBACC,2C,A,0BAGA,kDACA,AAAI,eACH,2CACA,A,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACA,AAAI,mD,AACH,YACC,kC,CAED,qDAJiC,A,AAAA,Y,AAMlC,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACL,AAAI,IACJ,IAEC,AADD,SAEC,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6B,AACA,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,I,AACD,iBACC,KACA,8BACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEA,AAAI,iBAEH,6BACA,A,uCACC,qB,CAID,mBACA,mBACA,2FACA,W,AAEA,iBACK,AAAJ,0BACC,mT,AADsC,AAAA,cAGxC,A,iBACC,oIACC,8M,M,AAEF,iBACC,AAAI,iBACH,gY,AAD8B,AAAA,cAG3B,AAAJ,0BACC,mgB,AADsC,AAAA,cAGxC,A,iBACC,W,MAEA,2C,CAID,QACA,WACK,AAAJ,iBACC,+LACA,AAAI,+BACH,wEACA,sCAFoC,AAAA,A,cAFf,A,c,AAOxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sC,AAFoC,AAAA,cAFf,A,cAOxB,A,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,uEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2JAFsB,A,AAAA,cAIxB,A,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,aANsB,A,AAAA,cAQvB,kB,AACD,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,cAFf,A,cAWxB,A,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,cAFf,A,c,AAWxB,kBACC,A,iCACC,AAAI,iBACH,A,uHACC,wI,C,AAFqB,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kBACD,A,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,c,AAIxB,kBACC,AAAI,iBACH,2QACA,2QACA,mD,AAHsB,AAAA,cAKxB,A,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oDAJsB,A,AAAA,c,AAMxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGACA,AACC,SACA,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,IACD,A,6CACC,wBACA,qFACA,I,CAED,uEACI,AAAJ,+BACC,6FACA,AAAI,+BACH,kCACA,sDACA,a,AAHwC,AAAA,cAFD,A,AAAA,c,8IAUpC,OACL,eACA,+BACA,A,sCACC,A,a,CAED,A,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sBACD,A,qBACC,A,qBACC,gB,CAED,sB,AACD,qBACC,A,uDACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGG,AAAJ,uBACA,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACL,AAAG,sD,sCACF,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIG,AAAH,kB,sCACC,A,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sC,AACF,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kD,AACA,sBACC,M,CAED,A,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,c,AACD,gBACC,e,AACD,gBACC,c,AACD,sCACC,Y,AACD,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iB,AACD,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;8a,gE,gE,gE,gE,gE,gE,gE,gE,gE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+BACA,A,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sCACC,A,+BACC,qB,CAED,QACA,O,CAGD,AADA,cAGC,iGACA,AAAA,eACA,A,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,O,AACD,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wC,AACA,qB,AACC,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wCACD,A,gBACC,wC,MAEA,kCACA,S,C,AAED,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,O,AACL,0CACC,gB,CAED,A,kBACC,oB,CAED,A,wBACC,AAAI,IACJ,mC,AACA,0CACC,gB,CAED,A,UACC,YACA,gB,CAED,qCACG,AAAH,qC,0CACC,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEF,AAAH,sC,MACC,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+BACA,A,sCACC,S,CAED,IACA,WACC,AAAG,oB,sCACF,S,C,AAGF,iBACC,2C,AACA,sCACC,S,CAED,qC,AACA,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qEACC,A,OAEC,uD,CAED,8K,CAED,+BACA,A,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sCACF,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAED,AAAG,0D,gDACF,A,uCACC,U,CAED,S,CAID,A,0BACC,iIACC,A,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iB,AACC,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oDACA,A,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,O,AACL,kBACC,uG,CAED,mC,AACA,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+B,AACA,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8B,AACD,kBAEA,A,kBACC,+B,AACA,sCACC,S,CAGD,S,MAEA,yE,CAED,A,QACI,AAAH,sD,sCACC,S,C,C,AAMF,4EACC,8BACA,A,+CACC,S,C,AAED,4BACC,gD,C,CAGF,YACC,8BACA,A,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACF,AAAH,sD,sCACC,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+B,AACA,+CACC,Y,CAED,oD,sGAkBA,AAAI,SACJ,kBACA,kBACA,oBACA,IACA,4HACC,eACI,AAAJ,qBACC,gEACA,WACA,uB,AAH4B,iB,KAM9B,Q,sCAMA,AAAI,wBACD,AAAH,oB,sCACC,oB,CAED,mH,0CA4BA,AAAI,wBACJ,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yBACA,A,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sC,AACC,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,OACL,A,oBACC,AAAG,wB,sCACF,Y,C,CAGF,8BACA,2CACA,yBACA,sEACA,A,gBACC,4C,CAED,oB,8OAKK,OACL,W,AACC,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wBACA,A,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACI,AAAJ,uBACA,wBACC,4JACA,0F,KAED,A,iBACC,8C,CAED,A,iBACC,mD,CAED,+BACA,A,QACC,qC,CAED,AAAG,mD,sCACF,S,CAID,6BACC,6E,KAEG,AAAJ,gBACA,AAAI,eACH,4BACI,AAAJ,gFAMC,qDACA,wIACA,AAAI,2DACH,mG,AADgC,AAAA,oBAGjC,AAAA,YACA,AAAA,YAZiC,AAAA,A,Y,AAFF,AAAA,aAmB7B,AAAJ,sBACA,wGACC,A,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,CAGD,A,oCACC,AAAG,mB,2D,AACF,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qCACH,A,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2BAd8C,AAAA,A,YAgB/C,oC,6IAGK,OACL,A,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,OACL,A,eACI,AAAH,mB,sCACC,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFAbiB,AAcjB,AAdiB,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6GA9DkB,A,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iH,AAlDkB,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2B,AACA,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sB,AACA,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sCACF,A,4B,C,CAGF,iGACA,AAAA,2BACA,sB,AACA,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iBACC,A,4B,CAED,A,4GACC,A,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6BACA,A,sCACC,A,4B,C,AAED,iBACC,sB,AACA,oC,CAGD,6BACA,A,sCACC,sBACA,A,4B,CAED,sBACA,A,eACC,A,mC,C,AAED,sC,qIAKK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,O,AAEL,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,yB,AACA,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAED,AAAG,W,sC,AACF,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,UACD,A,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAED,AAAI,qBACH,6KACA,8KACA,A,gBAYC,kFACA,kFAhBuB,AAAA,AAiBvB,oB,CAED,+FACA,sGACA,kGAKA,A,UACC,A,uDACC,6C,C,A,sBAGD,6C,CA/BuB,A,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACI,AAAH,4C,sCACC,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,a,AAgBrB,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAED,AAAG,2C,sCACF,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,C,AAED,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,W,AACA,UAEC,S,CAED,eAGC,6BACA,A,sCACC,oB,C,CAGF,A,YACC,M,CAED,A,mBAOC,S,CAKD,AAAG,2C,sCACF,oB,CAED,gDACA,A,QACC,gD,CAID,AADA,yBAEC,sBACA,kBACA,A,MACC,oB,C,AAEF,kBACC,kBACD,A,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,oCACC,c,MAEA,0B,C,AAED,sCACC,oB,C,C,AAGF,uBACC,yB,CAED,A,uBACC,yB,CAED,8C,kGAKI,AAAJ,wBACA,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IAEJ,AADA,qBAEC,I,AACD,2BACC,I,AACD,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,OACL,A,gBACC,mC,CAED,A,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kCACA,A,kBACC,2GACA,2GACA,2HACA,wHACA,A,sCACC,8C,CAED,A,2BACC,wE,CAED,A,oCACC,oD,C,CAKF,0CACA,sIACA,uI,AACA,qCACC,uB,CAED,A,kBACK,AAAJ,iBACC,mFACA,A,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBACA,AAEC,sBACA,wBAKA,sBACA,KAED,AAAI,kBACH,AAAI,kBACH,AAAI,iBACH,mFACA,kLACI,AAAJ,gMA0BC,A,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,a,AACA,4CAvCuD,AAAA,AAwCtD,sB,C,CAKF,A,kBACC,qT,MAEA,sB,C,AAGD,eACC,AAAG,kN,uCACF,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yMACA,A,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,C,AAGD,sBACC,AAAA,+B,MAGA,sKACA,aACC,yCACA,A,uCACC,U,CAED,mBACA,e,AACA,gBACC,mBACA,A,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,M,AAEA,iBACC,4CACA,A,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,CAoCvB,A,kBACC,A,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIxD,AAAI,kBACH,uWAD8B,A,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6FACD,A,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACA,AAAI,iBACH,yFACA,A,YACC,K,A,iBAEA,O,MAEA,e,CAED,qH,AATkB,AAAA,cAHD,A,AAAA,c,AAtJqC,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGC,AAAG,4C,uCACF,U,CAED,A,4CACC,+B,CAED,AAAA,mBACA,A,aACC,O,CAGD,iCAEA,uBAEA,W,CA9LqB,A,AAAA,cADD,A,AAAA,cAoMvB,iB,2KAKK,OAEL,A,UACC,A,eACC,mC,CAED,8BACA,A,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,IACA,A,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wC,AACA,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,CAEF,A,gBACC,IACA,8B,AACA,sCACC,S,C,AAED,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,CAED,A,QACC,sC,CAED,A,eACC,yJ,CA3CmB,AAAA,A,Y,CA+CtB,A,eACC,AAAA,+BACA,AAAG,0C,uCACF,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wFACC,A,UACC,M,CAED,AAAA,WACA,AAPmB,AAAA,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OACC,AAdmB,AAAA,oB,CAgBpB,A,uFACC,2K,MAEA,2K,CAnBmB,AAAA,A,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wHACC,A,aACC,S,C,KAGF,wFACA,gBACI,AAAJ,gBACC,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,WAHkC,A,AAAA,kBAKnC,4B,AAP6B,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQA,AAAI,U,AACJ,kBACC,6BACA,O,CAID,AAAI,qBACJ,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJ,AAHuB,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wB,AACC,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,C,AAED,wBACC,iCACA,SACA,6BACA,SACA,6BACA,SACA,A,wBACC,6BACA,4G,CAED,6B,C,CAGF,A,yB,AACC,yBACC,IACA,AAAI,2B,AACH,yBACC,wBACA,M,CAH6B,A,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACA,AAAI,KACJ,AAAI,IACJ,YACA,+CACA,A,yBAEC,cACA,AAAI,QACJ,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;8QC3PA,kFACA,4BACA,iBACA,kFACA,oBACA,iBACA,iB,wKAIA,AAAI,YACJ,+GACA,A,sCACC,oB,CAED,yBACA,0MACA,A,sCACC,oB,CAED,AAAG,gG,2DACF,oB,O,0J,gE,gE,gE,4J"} diff --git a/_docs/public/example/perspective.content.html b/_docs/public/example/perspective.content.html new file mode 100644 index 000000000..e651f1a86 --- /dev/null +++ b/_docs/public/example/perspective.content.html @@ -0,0 +1,18 @@ + + + diff --git a/_docs/public/example/perspective.html b/_docs/public/example/perspective.html index e651f1a86..321dcb085 100644 --- a/_docs/public/example/perspective.html +++ b/_docs/public/example/perspective.html @@ -15,4 +15,87 @@ See the License for the specific language governing permissions and limitations under the License. --> - + + + +

perspective

+ +
package main
+
+import (
+    "github.com/hajimehoshi/ebiten"
+    "github.com/hajimehoshi/ebiten/ebitenutil"
+    _ "image/jpeg"
+    "log"
+)
+
+const (
+    screenWidth  = 320
+    screenHeight = 240
+)
+
+var (
+    gophersImage *ebiten.Image
+)
+
+type parts struct {
+    image *ebiten.Image
+}
+
+func (p parts) Len() int {
+    _, h := p.image.Size()
+    return h
+}
+
+func (p parts) Dst(i int) (x0, y0, x1, y1 int) {
+    w, h := p.image.Size()
+    width := w + i*3/4
+    x := ((h - i) * 3 / 4) / 2
+    return x, i, x + width, i + 1
+}
+
+func (p parts) Src(i int) (x0, y0, x1, y1 int) {
+    w, _ := p.image.Size()
+    return 0, i, w, i + 1
+}
+
+func update(screen *ebiten.Image) error {
+    op := &ebiten.DrawImageOptions{
+        ImageParts: &parts{gophersImage},
+    }
+    w, h := gophersImage.Size()
+    maxWidth := float64(w) + float64(h)*0.75
+    op.GeoM.Translate(-maxWidth/2, -float64(h)/2)
+    op.GeoM.Translate(screenWidth/2, screenHeight/2)
+    screen.DrawImage(gophersImage, op)
+    return nil
+}
+
+func main() {
+    var err error
+    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
+    if err != nil {
+        log.Fatal(err)
+    }
+    if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Perspective (Ebiten Demo)"); err != nil {
+        log.Fatal(err)
+    }
+}
+
+ + +
© 2015 Hajime Hoshi
diff --git a/_docs/public/example/perspective.js b/_docs/public/example/perspective.js index cebde0ec4..d293e5b90 100644 --- a/_docs/public/example/perspective.js +++ b/_docs/public/example/perspective.js @@ -4,10 +4,10 @@ Error.stackTraceLimit=Infinity;var $global,$module;if(typeof window!=="undefined"){$global=window;}else if(typeof self!=="undefined"){$global=self;}else if(typeof global!=="undefined"){$global=global;$global.require=require;}else{console.log("warning: no global object found");}if(typeof module!=="undefined"){$module=module;}var $packages={},$reflect,$idCounter=0;var $keys=function(m){return m?Object.keys(m):[];};var $min=Math.min;var $mod=function(x,y){return x%y;};var $parseInt=parseInt;var $parseFloat=function(f){if(f!==undefined&&f!==null&&f.constructor===Number){return f;}return parseFloat(f);};var $flushConsole=function(){};var $mapArray=function(array,f){var newArray=new array.constructor(array.length),i;for(i=0;islice.$capacity||max>slice.$capacity){$throwRuntimeError("slice bounds out of range");}var s=new slice.constructor(slice.$array);s.$offset=slice.$offset+low;s.$length=slice.$length-low;s.$capacity=slice.$capacity-low;if(high!==undefined){s.$length=high-low;}if(max!==undefined){s.$capacity=max-low;}return s;};var $sliceToArray=function(slice){if(slice.$length===0){return[];}if(slice.$array.constructor!==Array){return slice.$array.subarray(slice.$offset,slice.$offset+slice.$length);}return slice.$array.slice(slice.$offset,slice.$offset+slice.$length);};var $decodeRune=function(str,pos){var c0=str.charCodeAt(pos);if(c0<0x80){return[c0,1];}if(c0!==c0||c0<0xC0){return[0xFFFD,1];}var c1=str.charCodeAt(pos+1);if(c1!==c1||c1<0x80||0xC0<=c1){return[0xFFFD,1];}if(c0<0xE0){var r=(c0&0x1F)<<6|(c1&0x3F);if(r<=0x7F){return[0xFFFD,1];}return[r,2];}var c2=str.charCodeAt(pos+2);if(c2!==c2||c2<0x80||0xC0<=c2){return[0xFFFD,1];}if(c0<0xF0){var r=(c0&0x0F)<<12|(c1&0x3F)<<6|(c2&0x3F);if(r<=0x7FF){return[0xFFFD,1];}if(0xD800<=r&&r<=0xDFFF){return[0xFFFD,1];}return[r,3];}var c3=str.charCodeAt(pos+3);if(c3!==c3||c3<0x80||0xC0<=c3){return[0xFFFD,1];}if(c0<0xF8){var r=(c0&0x07)<<18|(c1&0x3F)<<12|(c2&0x3F)<<6|(c3&0x3F);if(r<=0xFFFF||0x10FFFF0x10FFFF||(0xD800<=r&&r<=0xDFFF)){r=0xFFFD;}if(r<=0x7F){return String.fromCharCode(r);}if(r<=0x7FF){return String.fromCharCode(0xC0|r>>6,0x80|(r&0x3F));}if(r<=0xFFFF){return String.fromCharCode(0xE0|r>>12,0x80|(r>>6&0x3F),0x80|(r&0x3F));}return String.fromCharCode(0xF0|r>>18,0x80|(r>>12&0x3F),0x80|(r>>6&0x3F),0x80|(r&0x3F));};var $stringToBytes=function(str){var array=new Uint8Array(str.length),i;for(i=0;inewCapacity){newOffset=0;newCapacity=Math.max(newLength,slice.$capacity<1024?slice.$capacity*2:Math.floor(slice.$capacity*5/4));if(slice.$array.constructor===Array){newArray=slice.$array.slice(slice.$offset,slice.$offset+slice.$length);newArray.length=newCapacity;var zero=slice.constructor.elem.zero,i;for(i=slice.$length;i>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindUint64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindComplex64:case $kindComplex128:typ=function(real,imag){this.$real=real;this.$imag=imag;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$real+"$"+this.$imag;};break;case $kindArray:typ=function(v){this.$val=v;};typ.Ptr=$newType(4,$kindPtr,"*"+string,"","",function(array){this.$get=function(){return array;};this.$set=function(v){$copy(this,v,typ);};this.$val=array;});typ.init=function(elem,len){typ.elem=elem;typ.len=len;typ.prototype.$key=function(){return string+"$"+Array.prototype.join.call($mapArray(this.$val,function(e){var key=e.$key?e.$key():String(e);return key.replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}),"$");};typ.extendReflectType=function(rt){rt.arrayType=new $reflect.arrayType.Ptr(rt,elem.reflectType(),undefined,len);};typ.Ptr.init(typ);Object.defineProperty(typ.Ptr.nil,"nilCheck",{get:$throwNilPointerError});};break;case $kindChan:typ=function(capacity){this.$val=this;this.$capacity=capacity;this.$buffer=[];this.$sendQueue=[];this.$recvQueue=[];this.$closed=false;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem,sendOnly,recvOnly){typ.elem=elem;typ.sendOnly=sendOnly;typ.recvOnly=recvOnly;typ.nil=new typ(0);typ.nil.$sendQueue=typ.nil.$recvQueue={length:0,push:function(){},shift:function(){return undefined;},indexOf:function(){return-1;}};typ.extendReflectType=function(rt){rt.chanType=new $reflect.chanType.Ptr(rt,elem.reflectType(),sendOnly?$reflect.SendDir:(recvOnly?$reflect.RecvDir:$reflect.BothDir));};};break;case $kindFunc:typ=function(v){this.$val=v;};typ.init=function(params,results,variadic){typ.params=params;typ.results=results;typ.variadic=variadic;typ.extendReflectType=function(rt){var typeSlice=($sliceType($ptrType($reflect.rtype.Ptr)));rt.funcType=new $reflect.funcType.Ptr(rt,variadic,new typeSlice($mapArray(params,function(p){return p.reflectType();})),new typeSlice($mapArray(results,function(p){return p.reflectType();})));};};break;case $kindInterface:typ={implementedBy:{},missingMethodFor:{}};typ.init=function(methods){typ.methods=methods;typ.extendReflectType=function(rt){var imethods=$mapArray(methods,function(m){return new $reflect.imethod.Ptr($newStringPtr(m[1]),$newStringPtr(m[2]),m[3].reflectType());});var methodSlice=($sliceType($ptrType($reflect.imethod.Ptr)));rt.interfaceType=new $reflect.interfaceType.Ptr(rt,new methodSlice(imethods));};};break;case $kindMap:typ=function(v){this.$val=v;};typ.init=function(key,elem){typ.key=key;typ.elem=elem;typ.extendReflectType=function(rt){rt.mapType=new $reflect.mapType.Ptr(rt,key.reflectType(),elem.reflectType(),undefined,undefined);};};break;case $kindPtr:typ=constructor||function(getter,setter,target){this.$get=getter;this.$set=setter;this.$target=target;this.$val=this;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem){typ.nil=new typ($throwNilPointerError,$throwNilPointerError);typ.extendReflectType=function(rt){rt.ptrType=new $reflect.ptrType.Ptr(rt,elem.reflectType());};};break;case $kindSlice:var nativeArray;typ=function(array){if(array.constructor!==nativeArray){array=new nativeArray(array);}this.$array=array;this.$offset=0;this.$length=array.length;this.$capacity=array.length;this.$val=this;};typ.make=function(length,capacity){capacity=capacity||length;var array=new nativeArray(capacity),i;if(nativeArray===Array){for(i=0;i1){string+=" ("+$mapArray(results,function(r){return r.string;}).join(", ")+")";}var typ=$funcTypes[string];if(typ===undefined){typ=$newType(4,$kindFunc,string,"","",null);typ.init(params,results,variadic);$funcTypes[string]=typ;}return typ;};var $interfaceTypes={};var $interfaceType=function(methods){var string="interface {}";if(methods.length!==0){string="interface { "+$mapArray(methods,function(m){return(m[2]!==""?m[2]+".":"")+m[1]+m[3].string.substr(4);}).join("; ")+" }";}var typ=$interfaceTypes[string];if(typ===undefined){typ=$newType(8,$kindInterface,string,"","",null);typ.init(methods);$interfaceTypes[string]=typ;}return typ;};var $emptyInterface=$interfaceType([]);var $ifaceNil={$key:function(){return"nil";}};var $error=$newType(8,$kindInterface,"error","error","",null);$error.init([["Error","Error","",$funcType([],[$String],false)]]);var $Map=function(){};(function(){var names=Object.getOwnPropertyNames(Object.prototype),i;for(i=0;i>>(32-y),(x.$low<>>0);}if(y<64){return new x.constructor(x.$low<<(y-32),0);}return new x.constructor(0,0);};var $shiftRightInt64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(x.$high>>31,(x.$high>>(y-32))>>>0);}if(x.$high<0){return new x.constructor(-1,4294967295);}return new x.constructor(0,0);};var $shiftRightUint64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(0,x.$high>>>(y-32));}return new x.constructor(0,0);};var $mul64=function(x,y){var high=0,low=0,i;if((y.$low&1)!==0){high=x.$high;low=x.$low;}for(i=1;i<32;i++){if((y.$low&1<>>(32-i);low+=(x.$low<>>0;}}for(i=0;i<32;i++){if((y.$high&1<yHigh)||(xHigh===yHigh&&xLow>yLow))){yHigh=(yHigh<<1|yLow>>>31)>>>0;yLow=(yLow<<1)>>>0;n++;}for(i=0;i<=n;i++){high=high<<1|low>>>31;low=(low<<1)>>>0;if((xHigh>yHigh)||(xHigh===yHigh&&xLow>=yLow)){xHigh=xHigh-yHigh;xLow=xLow-yLow;if(xLow<0){xHigh--;xLow+=4294967296;}low++;if(low===4294967296){high++;low=0;}}yLow=(yLow>>>1|yHigh<<(32-1))>>>0;yHigh=yHigh>>>1;}if(returnRemainder){return new x.constructor(xHigh*rs,xLow*rs);}return new x.constructor(high*s,low*s);};var $divComplex=function(n,d){var ninf=n.$real===1/0||n.$real===-1/0||n.$imag===1/0||n.$imag===-1/0;var dinf=d.$real===1/0||d.$real===-1/0||d.$imag===1/0||d.$imag===-1/0;var nnan=!ninf&&(n.$real!==n.$real||n.$imag!==n.$imag);var dnan=!dinf&&(d.$real!==d.$real||d.$imag!==d.$imag);if(nnan||dnan){return new n.constructor(0/0,0/0);}if(ninf&&!dinf){return new n.constructor(1/0,1/0);}if(!ninf&&dinf){return new n.constructor(0,0);}if(d.$real===0&&d.$imag===0){if(n.$real===0&&n.$imag===0){return new n.constructor(0/0,0/0);}return new n.constructor(1/0,1/0);}var a=Math.abs(d.$real);var b=Math.abs(d.$imag);if(a<=b){var ratio=d.$real/d.$imag;var denom=d.$real*ratio+d.$imag;return new n.constructor((n.$real*ratio+n.$imag)/denom,(n.$imag*ratio-n.$real)/denom);}var ratio=d.$imag/d.$real;var denom=d.$imag*ratio+d.$real;return new n.constructor((n.$imag*ratio+n.$real)/denom,(n.$imag-n.$real*ratio)/denom);};var $stackDepthOffset=0;var $getStackDepth=function(){var err=new Error();if(err.stack===undefined){return undefined;}return $stackDepthOffset+err.stack.split("\n").length;};var $deferFrames=[],$skippedDeferFrames=0,$jumpToDefer=false,$panicStackDepth=null,$panicValue;var $callDeferred=function(deferred,jsErr){if($skippedDeferFrames!==0){$skippedDeferFrames--;throw jsErr;}if($jumpToDefer){$jumpToDefer=false;throw jsErr;}if(jsErr){var newErr=null;try{$deferFrames.push(deferred);$panic(new $packages["github.com/gopherjs/gopherjs/js"].Error.Ptr(jsErr));}catch(err){newErr=err;}$deferFrames.pop();$callDeferred(deferred,newErr);return;}$stackDepthOffset--;var outerPanicStackDepth=$panicStackDepth;var outerPanicValue=$panicValue;var localPanicValue=$curGoroutine.panicStack.pop();if(localPanicValue!==undefined){$panicStackDepth=$getStackDepth();$panicValue=localPanicValue;}var call,localSkippedDeferFrames=0;try{while(true){if(deferred===null){deferred=$deferFrames[$deferFrames.length-1-localSkippedDeferFrames];if(deferred===undefined){var msg;if(localPanicValue.constructor===$String){msg=localPanicValue.$val;}else if(localPanicValue.Error!==undefined){msg=localPanicValue.Error();}else if(localPanicValue.String!==undefined){msg=localPanicValue.String();}else{msg=localPanicValue;}var e=new Error(msg);if(localPanicValue.Stack!==undefined){e.stack=localPanicValue.Stack();e.stack=msg+e.stack.substr(e.stack.indexOf("\n"));}throw e;}}var call=deferred.pop();if(call===undefined){if(localPanicValue!==undefined){localSkippedDeferFrames++;deferred=null;continue;}return;}var r=call[0].apply(undefined,call[1]);if(r&&r.$blocking){deferred.push([r,[]]);}if(localPanicValue!==undefined&&$panicStackDepth===null){throw null;}}}finally{$skippedDeferFrames+=localSkippedDeferFrames;if($curGoroutine.asleep){deferred.push(call);$jumpToDefer=true;}if(localPanicValue!==undefined){if($panicStackDepth!==null){$curGoroutine.panicStack.push(localPanicValue);}$panicStackDepth=outerPanicStackDepth;$panicValue=outerPanicValue;}$stackDepthOffset++;}};var $panic=function(value){$curGoroutine.panicStack.push(value);$callDeferred(null,null);};var $recover=function(){if($panicStackDepth===null||($panicStackDepth!==undefined&&$panicStackDepth!==$getStackDepth()-2)){return $ifaceNil;}$panicStackDepth=null;return $panicValue;};var $throw=function(err){throw err;};var $throwRuntimeError;var $BLOCKING=new Object();var $nonblockingCall=function(){$panic(new $packages["runtime"].NotSupportedError.Ptr("non-blocking call to blocking function, see https://github.com/gopherjs/gopherjs#goroutines"));};var $dummyGoroutine={asleep:false,exit:false,panicStack:[]};var $curGoroutine=$dummyGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=true;var $go=function(fun,args,direct){$totalGoroutines++;$awakeGoroutines++;args.push($BLOCKING);var goroutine=function(){var rescheduled=false;try{$curGoroutine=goroutine;$skippedDeferFrames=0;$jumpToDefer=false;var r=fun.apply(undefined,args);if(r&&r.$blocking){fun=r;args=[];$schedule(goroutine,direct);rescheduled=true;return;}goroutine.exit=true;}catch(err){if(!$curGoroutine.asleep){goroutine.exit=true;throw err;}}finally{$curGoroutine=$dummyGoroutine;if(goroutine.exit&&!rescheduled){$totalGoroutines--;goroutine.asleep=true;}if(goroutine.asleep&&!rescheduled){$awakeGoroutines--;if($awakeGoroutines===0&&$totalGoroutines!==0&&$checkForDeadlock){console.error("fatal error: all goroutines are asleep - deadlock!");}}}};goroutine.asleep=false;goroutine.exit=false;goroutine.panicStack=[];$schedule(goroutine,direct);};var $scheduled=[],$schedulerLoopActive=false;var $schedule=function(goroutine,direct){if(goroutine.asleep){goroutine.asleep=false;$awakeGoroutines++;}if(direct){goroutine();return;}$scheduled.push(goroutine);if(!$schedulerLoopActive){$schedulerLoopActive=true;setTimeout(function(){while(true){var r=$scheduled.shift();if(r===undefined){$schedulerLoopActive=false;break;}r();};},0);}};var $send=function(chan,value){if(chan.$closed){$throwRuntimeError("send on closed channel");}var queuedRecv=chan.$recvQueue.shift();if(queuedRecv!==undefined){queuedRecv([value,true]);return;}if(chan.$buffer.length>24;case $kindInt16:return parseInt(v)<<16>>16;case $kindInt32:return parseInt(v)>>0;case $kindUint:return parseInt(v);case $kindUint8:return parseInt(v)<<24>>>24;case $kindUint16:return parseInt(v)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(v)>>>0;case $kindInt64:case $kindUint64:return new t(0,v);case $kindFloat32:case $kindFloat64:return parseFloat(v);case $kindArray:if(v.length!==t.len){$throwRuntimeError("got array with wrong size from JavaScript native");}return $mapArray(v,function(e){return $internalize(e,t.elem);});case $kindFunc:return function(){var args=[],i;for(i=0;i>0)];if(f===undefined){g=0;h="";i=0;j=false;b=g;c=h;d=i;e=j;return[b,c,d,e];}k=f.substring(($parseInt(f.indexOf($externalize("(",$String)))>>0)+1>>0,$parseInt(f.indexOf($externalize(")",$String)))>>0).split($externalize(":",$String));l=0;m=$internalize(k[0],$String);n=$parseInt(k[1])>>0;o=true;b=l;c=m;d=n;e=o;return[b,c,d,e];};P=$pkg.SetFinalizer=function(a,b){};X.Ptr.prototype.RuntimeError=function(){};X.prototype.RuntimeError=function(){return this.$val.RuntimeError();};X.Ptr.prototype.Error=function(){var a,b;a=this;b=a.interfaceString;if(b===""){b="interface";}if(a.concreteString===""){return"interface conversion: "+b+" is nil, not "+a.assertedString;}if(a.missingMethod===""){return"interface conversion: "+b+" is "+a.concreteString+", not "+a.assertedString;}return"interface conversion: "+a.concreteString+" is not "+a.assertedString+": missing method "+a.missingMethod;};X.prototype.Error=function(){return this.$val.Error();};Z.prototype.RuntimeError=function(){var a;a=this.$val!==undefined?this.$val:this;};$ptrType(Z).prototype.RuntimeError=function(){return new Z(this.$get()).RuntimeError();};Z.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"runtime error: "+a;};$ptrType(Z).prototype.Error=function(){return new Z(this.$get()).Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}AN=$ptrType(C);AR=$ptrType(X);AS=$ptrType(Z);AN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];C.init([["Feature","Feature","",$String,""]]);AR.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];X.init([["interfaceString","interfaceString","runtime",$String,""],["concreteString","concreteString","runtime",$String,""],["assertedString","assertedString","runtime",$String,""],["missingMethod","missingMethod","runtime",$String,""]]);Z.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];AS.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];D();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color"]=(function(){var $pkg={},Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,A,B,C,D,E,F,G,H,I,J,L,U,X,K,M,N,O,P,Q,R,S,T,V,W,Y;A=$pkg.Color=$newType(8,$kindInterface,"color.Color","Color","image/color",null);B=$pkg.RGBA=$newType(0,$kindStruct,"color.RGBA","RGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});C=$pkg.RGBA64=$newType(0,$kindStruct,"color.RGBA64","RGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});D=$pkg.NRGBA=$newType(0,$kindStruct,"color.NRGBA","NRGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});E=$pkg.NRGBA64=$newType(0,$kindStruct,"color.NRGBA64","NRGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});F=$pkg.Alpha=$newType(0,$kindStruct,"color.Alpha","Alpha","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});G=$pkg.Alpha16=$newType(0,$kindStruct,"color.Alpha16","Alpha16","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});H=$pkg.Gray=$newType(0,$kindStruct,"color.Gray","Gray","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});I=$pkg.Gray16=$newType(0,$kindStruct,"color.Gray16","Gray16","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});J=$pkg.Model=$newType(8,$kindInterface,"color.Model","Model","image/color",null);L=$pkg.modelFunc=$newType(0,$kindStruct,"color.modelFunc","modelFunc","image/color",function(f_){this.$val=this;this.f=f_!==undefined?f_:$throwNilPointerError;});U=$pkg.Palette=$newType(12,$kindSlice,"color.Palette","Palette","image/color",null);X=$pkg.YCbCr=$newType(0,$kindStruct,"color.YCbCr","YCbCr","image/color",function(Y_,Cb_,Cr_){this.$val=this;this.Y=Y_!==undefined?Y_:0;this.Cb=Cb_!==undefined?Cb_:0;this.Cr=Cr_!==undefined?Cr_:0;});B.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e;e=$clone(this,B);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};B.prototype.RGBA=function(){return this.$val.RGBA();};C.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,C);f=(e.R>>>0);g=(e.G>>>0);h=(e.B>>>0);i=(e.A>>>0);a=f;b=g;c=h;d=i;return[a,b,c,d];};C.prototype.RGBA=function(){return this.$val.RGBA();};D.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,D);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(255),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(255),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(255),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};D.prototype.RGBA=function(){return this.$val.RGBA();};E.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,E);a=(e.R>>>0);a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(65535),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(65535),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(65535),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);return[a,b,c,d];};E.prototype.RGBA=function(){return this.$val.RGBA();};F.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,F);d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};F.prototype.RGBA=function(){return this.$val.RGBA();};G.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,G);d=(e.A>>>0);f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};G.prototype.RGBA=function(){return this.$val.RGBA();};H.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,H);f=(e.Y>>>0);f=(f|((f<<8>>>0)))>>>0;g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};H.prototype.RGBA=function(){return this.$val.RGBA();};I.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,I);f=(e.Y>>>0);g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};I.prototype.RGBA=function(){return this.$val.RGBA();};K=$pkg.ModelFunc=function(a){return new L.Ptr(a);};L.Ptr.prototype.Convert=function(a){var b;b=this;return b.f(a);};L.prototype.Convert=function(a){return this.$val.Convert(a);};M=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,B,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new B.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new i.constructor.Struct(i));};N=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,C,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new C.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new i.constructor.Struct(i));};O=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,D,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),255),new i.constructor.Struct(i));}if(h===0){return(j=new D.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new n.constructor.Struct(n));};P=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,E,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),65535),new i.constructor.Struct(i));}if(h===0){return(j=new E.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new n.constructor.Struct(n));};Q=function(a){var b,c,d,e,f;b=$assertType(a,F,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new F.Ptr(((e>>>8>>>0)<<24>>>24)),new f.constructor.Struct(f));};R=function(a){var b,c,d,e,f;b=$assertType(a,G,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new G.Ptr((e<<16>>>16)),new f.constructor.Struct(f));};S=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,H,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new H.Ptr(((i>>>8>>>0)<<24>>>24)),new j.constructor.Struct(j));};T=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,I,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new I.Ptr((i<<16>>>16)),new j.constructor.Struct(j));};U.prototype.Convert=function(a){var b,c;b=this;if(b.$length===0){return $ifaceNil;}return(c=b.Index(a),((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]));};$ptrType(U).prototype.Convert=function(a){return this.$get().Convert(a);};U.prototype.Index=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;b=this;c=a.RGBA();d=c[0];e=c[1];f=c[2];g=0;h=4294967295;i=g;j=h;k=b;l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);o=n.RGBA();p=o[0];q=o[1];r=o[2];s=(((d>>0)-(p>>0)>>0))>>1>>0;t=(((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0);s=(((e>>0)-(q>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;s=(((f>>0)-(r>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;if(t>0);e=(b>>0);f=(c>>0);g=(((((19595*d>>0)+(38470*e>>0)>>0)+(7471*f>>0)>>0)+32768>>0))>>16>>0;h=(((((-11056*d>>0)-(21712*e>>0)>>0)+(32768*f>>0)>>0)+8421376>>0))>>16>>0;i=(((((32768*d>>0)-(27440*e>>0)>>0)-(5328*f>>0)>>0)+8421376>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};W=$pkg.YCbCrToRGB=function(a,b,c){var d,e,f,g,h,i;d=((a>>0)<<16>>0)+32768>>0;e=(b>>0)-128>>0;f=(c>>0)-128>>0;g=((d+(91881*f>>0)>>0))>>16>>0;h=(((d-(22554*e>>0)>>0)-(46802*f>>0)>>0))>>16>>0;i=((d+(116130*e>>0)>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};X.Ptr.prototype.RGBA=function(){var a,b,c,d,e,f,g,h;a=$clone(this,X);b=W(a.Y,a.Cb,a.Cr);c=b[0];d=b[1];e=b[2];return[(f=(c>>>0),(((f>>>16<<16)*257>>>0)+(f<<16>>>16)*257)>>>0),(g=(d>>>0),(((g>>>16<<16)*257>>>0)+(g<<16>>>16)*257)>>>0),(h=(e>>>0),(((h>>>16<<16)*257>>>0)+(h<<16>>>16)*257)>>>0),65535];};X.prototype.RGBA=function(){return this.$val.RGBA();};Y=function(a){var b,c,d,e,f,g,h,i,j,k,l;b=$assertType(a,X,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=V(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24));i=h[0];j=h[1];k=h[2];return(l=new X.Ptr(i,j,k),new l.constructor.Struct(l));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:Z=$ptrType(B);AA=$ptrType(C);AB=$ptrType(D);AC=$ptrType(E);AD=$ptrType(F);AE=$ptrType(G);AF=$ptrType(H);AG=$ptrType(I);AH=$ptrType(L);AI=$funcType([A],[A],false);AJ=$ptrType(U);AK=$ptrType(X);A.init([["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)]]);B.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];Z.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];B.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);C.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AA.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];C.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);D.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AB.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];D.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);E.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AC.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];E.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);F.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AD.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];F.init([["A","A","",$Uint8,""]]);G.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AE.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];G.init([["A","A","",$Uint16,""]]);H.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AF.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];H.init([["Y","Y","",$Uint8,""]]);I.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AG.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];I.init([["Y","Y","",$Uint16,""]]);J.init([["Convert","Convert","",$funcType([A],[A],false)]]);AH.methods=[["Convert","Convert","",$funcType([A],[A],false),-1]];L.init([["f","f","image/color",AI,""]]);U.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];AJ.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];U.init(A);X.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AK.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];X.init([["Y","Y","",$Uint8,""],["Cb","Cb","",$Uint8,""],["Cr","Cr","",$Uint8,""]]);$pkg.RGBAModel=K(M);$pkg.RGBA64Model=K(N);$pkg.NRGBAModel=K(O);$pkg.NRGBA64Model=K(P);$pkg.AlphaModel=K(Q);$pkg.Alpha16Model=K(R);$pkg.GrayModel=K(S);$pkg.Gray16Model=K(T);$pkg.Black=new I.Ptr(0);$pkg.White=new I.Ptr(65535);$pkg.Transparent=new G.Ptr(0);$pkg.Opaque=new G.Ptr(65535);$pkg.YCbCrModel=K(Y);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["math"]=(function(){var $pkg={},A,FG,B,C,D,E,F,EN,ER,ES,G,X,Y,Z,AI,AN,AR,AS,AT,EP,EV;A=$packages["github.com/gopherjs/gopherjs/js"];G=function(){AR(0);AS(0);};X=$pkg.IsInf=function(ao,ap){if(ao===D){return ap>=0;}if(ao===E){return ap<=0;}return false;};Y=$pkg.IsNaN=function(ao){var ap=false;ap=!((ao===ao));return ap;};Z=$pkg.Ldexp=function(ao,ap){if(ao===0){return ao;}if(ap>=1024){return ao*$parseFloat(B.pow(2,1023))*$parseFloat(B.pow(2,ap-1023>>0));}if(ap<=-1024){return ao*$parseFloat(B.pow(2,-1023))*$parseFloat(B.pow(2,ap+1023>>0));}return ao*$parseFloat(B.pow(2,ap));};AI=$pkg.NaN=function(){return F;};AN=$pkg.Sincos=function(ao){var ap=0,aq=0,ar;ar=EV(ao);ap=ar[0];aq=ar[1];return[ap,aq];};AR=$pkg.Float32bits=function(ao){var ap,aq,ar;if(ao===0){if(1/ao===E){return 2147483648;}return 0;}if(!(ao===ao)){return 2143289344;}ap=0;if(ao<0){ap=2147483648;ao=-ao;}aq=150;while(ao>=1.6777216e+07){ao=ao/(2);aq=aq+(1)>>>0;if(aq===255){if(ao>=8.388608e+06){ao=D;}break;}}while(ao<8.388608e+06){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}ar=$parseFloat($mod(ao,2));if((ar>0.5&&ar<1)||ar>=1.5){ao=ao+(1);}return(((ap|(aq<<23>>>0))>>>0)|(((ao>>0)&~8388608)))>>>0;};AS=$pkg.Float32frombits=function(ao){var ap,aq,ar;ap=1;if(!((((ao&2147483648)>>>0)===0))){ap=-1;}aq=(((ao>>>23>>>0))&255)>>>0;ar=(ao&8388607)>>>0;if(aq===255){if(ar===0){return ap/0;}return F;}if(!((aq===0))){ar=ar+(8388608)>>>0;}if(aq===0){aq=1;}return Z(ar,((aq>>0)-127>>0)-23>>0)*ap;};AT=$pkg.Float64bits=function(ao){var ap,aq,ar,as,at,au;if(ao===0){if(1/ao===E){return new $Uint64(2147483648,0);}return new $Uint64(0,0);}if(!((ao===ao))){return new $Uint64(2146959360,1);}ap=new $Uint64(0,0);if(ao<0){ap=new $Uint64(2147483648,0);ao=-ao;}aq=1075;while(ao>=9.007199254740992e+15){ao=ao/(2);aq=aq+(1)>>>0;if(aq===2047){break;}}while(ao<4.503599627370496e+15){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}return(ar=(as=$shiftLeft64(new $Uint64(0,aq),52),new $Uint64(ap.$high|as.$high,(ap.$low|as.$low)>>>0)),at=(au=new $Uint64(0,ao),new $Uint64(au.$high&~1048576,(au.$low&~0)>>>0)),new $Uint64(ar.$high|at.$high,(ar.$low|at.$low)>>>0));};EP=function(){var ao,ap,aq,ar;EN[0]=1;EN[1]=10;ao=2;while(ao<70){aq=(ap=ao/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));(ao<0||ao>=EN.length)?$throwRuntimeError("index out of range"):EN[ao]=((aq<0||aq>=EN.length)?$throwRuntimeError("index out of range"):EN[aq])*(ar=ao-aq>>0,((ar<0||ar>=EN.length)?$throwRuntimeError("index out of range"):EN[ar]));ao=ao+(1)>>0;}};EV=function(ao){var ap=0,aq=0,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk;if(ao===0){ar=ao;as=1;ap=ar;aq=as;return[ap,aq];}else if(Y(ao)||X(ao,0)){at=AI();au=AI();ap=at;aq=au;return[ap,aq];}av=false;aw=false;ax=av;ay=aw;if(ao<0){ao=-ao;ax=true;}az=new $Int64(0,ao*1.2732395447351625);ba=$flatten64(az);if((bb=new $Int64(az.$high&0,(az.$low&1)>>>0),(bb.$high===0&&bb.$low===1))){az=(bc=new $Int64(0,1),new $Int64(az.$high+bc.$high,az.$low+bc.$low));ba=ba+(1);}az=(bd=new $Int64(0,7),new $Int64(az.$high&bd.$high,(az.$low&bd.$low)>>>0));if((az.$high>0||(az.$high===0&&az.$low>3))){az=(be=new $Int64(0,4),new $Int64(az.$high-be.$high,az.$low-be.$low));bf=!ax;bg=!ay;ax=bf;ay=bg;}if((az.$high>0||(az.$high===0&&az.$low>1))){ay=!ay;}bh=((ao-ba*0.7853981256484985)-ba*3.774894707930798e-08)-ba*2.6951514290790595e-15;bi=bh*bh;aq=1-0.5*bi+bi*bi*((((((ES[0]*bi)+ES[1])*bi+ES[2])*bi+ES[3])*bi+ES[4])*bi+ES[5]);ap=bh+bh*bi*((((((ER[0]*bi)+ER[1])*bi+ER[2])*bi+ER[3])*bi+ER[4])*bi+ER[5]);if((az.$high===0&&az.$low===1)||(az.$high===0&&az.$low===2)){bj=aq;bk=ap;ap=bj;aq=bk;}if(ay){aq=-aq;}if(ax){ap=-ap;}return[ap,aq];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}FG=$arrayType($Float64,70);EN=FG.zero();B=$global.Math;C=0;D=1/C;E=-1/C;F=0/C;ER=$toNativeArray($kindFloat64,[1.5896230157654656e-10,-2.5050747762857807e-08,2.7557313621385722e-06,-0.0001984126982958954,0.008333333333322118,-0.1666666666666663]);ES=$toNativeArray($kindFloat64,[-1.1358536521387682e-11,2.087570084197473e-09,-2.755731417929674e-07,2.4801587288851704e-05,-0.0013888888888873056,0.041666666666666595]);G();EP();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal"]=(function(){var $pkg={},A,B,C,D;A=$packages["image/color"];B=$packages["math"];C=$pkg.NextPowerOf2Int=function(a){a=a-(1)>>0;a=a|(((a>>1>>0)));a=a|(((a>>2>>0)));a=a|(((a>>4>>0)));a=a|(((a>>8>>0)));a=a|(((a>>16>>0)));return a+1>>0;};D=$pkg.RGBA=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=a.RGBA();g=f[0];h=f[1];i=f[2];j=f[3];b=g/65535;c=h/65535;d=i/65535;e=j/65535;return[b,c,d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync/atomic"]=(function(){var $pkg={},A,H,N,U,Y,AA;A=$packages["github.com/gopherjs/gopherjs/js"];H=$pkg.CompareAndSwapInt32=function(ad,ae,af){if(ad.$get()===ae){ad.$set(af);return true;}return false;};N=$pkg.AddInt32=function(ad,ae){var af;af=ad.$get()+ae>>0;ad.$set(af);return af;};U=$pkg.LoadUint32=function(ad){return ad.$get();};Y=$pkg.StoreInt32=function(ad,ae){ad.$set(ae);};AA=$pkg.StoreUint32=function(ad,ae){ad.$set(ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync"]=(function(){var $pkg={},B,A,AJ,AK,AM,AN,AP,AS,AT,AV,AW,AX,AY,AZ,BA,C,I,J,K,L,AC,AG,AH,O,D,E,M,P,Q,X,AA,AB,AF;B=$packages["runtime"];A=$packages["sync/atomic"];C=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool","Pool","sync",function(local_,localSize_,store_,New_){this.$val=this;this.local=local_!==undefined?local_:0;this.localSize=localSize_!==undefined?localSize_:0;this.store=store_!==undefined?store_:AS.nil;this.New=New_!==undefined?New_:$throwNilPointerError;});I=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex","Mutex","sync",function(state_,sema_){this.$val=this;this.state=state_!==undefined?state_:0;this.sema=sema_!==undefined?sema_:0;});J=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker","Locker","sync",null);K=$pkg.Once=$newType(0,$kindStruct,"sync.Once","Once","sync",function(m_,done_){this.$val=this;this.m=m_!==undefined?m_:new I.Ptr();this.done=done_!==undefined?done_:0;});L=$pkg.poolLocal=$newType(0,$kindStruct,"sync.poolLocal","poolLocal","sync",function(private$0_,shared_,Mutex_,pad_){this.$val=this;this.private$0=private$0_!==undefined?private$0_:$ifaceNil;this.shared=shared_!==undefined?shared_:AS.nil;this.Mutex=Mutex_!==undefined?Mutex_:new I.Ptr();this.pad=pad_!==undefined?pad_:AY.zero();});AC=$pkg.syncSema=$newType(0,$kindStruct,"sync.syncSema","syncSema","sync",function(lock_,head_,tail_){this.$val=this;this.lock=lock_!==undefined?lock_:0;this.head=head_!==undefined?head_:0;this.tail=tail_!==undefined?tail_:0;});AG=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex","RWMutex","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});AH=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker","rlocker","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});C.Ptr.prototype.Get=function(){var d,e,f,g;d=this;if(d.store.$length===0){if(!(d.New===$throwNilPointerError)){return d.New();}return $ifaceNil;}g=(e=d.store,f=d.store.$length-1>>0,((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]));d.store=$subslice(d.store,0,(d.store.$length-1>>0));return g;};C.prototype.Get=function(){return this.$val.Get();};C.Ptr.prototype.Put=function(d){var e;e=this;if($interfaceIsEqual(d,$ifaceNil)){return;}e.store=$append(e.store,d);};C.prototype.Put=function(d){return this.$val.Put(d);};D=function(d){};E=function(d){};I.Ptr.prototype.Lock=function(){var d,e,f,g;d=this;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),0,1)){return;}e=false;while(true){f=d.state;g=f|1;if(!(((f&1)===0))){g=f+4>>0;}if(e){g=g&~(2);}if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,g)){if((f&1)===0){break;}AA(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));e=true;}}};I.prototype.Lock=function(){return this.$val.Lock();};I.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),-1);if((((e+1>>0))&1)===0){$panic(new $String("sync: unlock of unlocked mutex"));}f=e;while(true){if(((f>>2>>0)===0)||!(((f&3)===0))){return;}e=((f-4>>0))|2;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,e)){AB(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));return;}f=d.state;}};I.prototype.Unlock=function(){return this.$val.Unlock();};K.Ptr.prototype.Do=function(d){var $deferred=[],$err=null,e;try{$deferFrames.push($deferred);e=this;if(A.LoadUint32(new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e))===1){return;}e.m.Lock();$deferred.push([$methodVal(e.m,"Unlock"),[]]);if(e.done===0){$deferred.push([A.StoreUint32,[new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e),1]]);d();}}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};K.prototype.Do=function(d){return this.$val.Do(d);};M=function(){var d,e,f,g,h,i,j,k,l,m;d=O;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);(f<0||f>=O.$length)?$throwRuntimeError("index out of range"):O.$array[O.$offset+f]=AJ.nil;h=0;while(h<(g.localSize>>0)){i=Q(g.local,h);i.private$0=$ifaceNil;j=i.shared;k=0;while(k=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+l]=$ifaceNil);k++;}i.shared=AS.nil;h=h+(1)>>0;}g.local=0;g.localSize=0;e++;}O=new AK([]);};P=function(){D(M);};Q=function(d,e){var f;return(f=d,(f.nilCheck,((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e])));};X=function(){};AA=function(){$panic("Native function not implemented: sync.runtime_Semacquire");};AB=function(){$panic("Native function not implemented: sync.runtime_Semrelease");};AF=function(){var d;d=$clone(new AC.Ptr(),AC);E(12);};AG.Ptr.prototype.RLock=function(){var d;d=this;if(A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1)<0){AA(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));}};AG.prototype.RLock=function(){return this.$val.RLock();};AG.Ptr.prototype.RUnlock=function(){var d,e;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1);if(e<0){if(((e+1>>0)===0)||((e+1>>0)===-1073741824)){X();$panic(new $String("sync: RUnlock of unlocked RWMutex"));}if(A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),-1)===0){AB(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}}};AG.prototype.RUnlock=function(){return this.$val.RUnlock();};AG.Ptr.prototype.Lock=function(){var d,e;d=this;d.w.Lock();e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1073741824)+1073741824>>0;if(!((e===0))&&!((A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),e)===0))){AA(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}};AG.prototype.Lock=function(){return this.$val.Lock();};AG.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1073741824);if(e>=1073741824){X();$panic(new $String("sync: Unlock of unlocked RWMutex"));}f=0;while(f<(e>>0)){AB(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));f=f+(1)>>0;}d.w.Unlock();};AG.prototype.Unlock=function(){return this.$val.Unlock();};AG.Ptr.prototype.RLocker=function(){var d;d=this;return $clone(d,AH);};AG.prototype.RLocker=function(){return this.$val.RLocker();};AH.Ptr.prototype.Lock=function(){var d;d=this;$clone(d,AG).RLock();};AH.prototype.Lock=function(){return this.$val.Lock();};AH.Ptr.prototype.Unlock=function(){var d;d=this;$clone(d,AG).RUnlock();};AH.prototype.Unlock=function(){return this.$val.Unlock();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}AJ=$ptrType(C);AK=$sliceType(AJ);AM=$ptrType($Uint32);AN=$ptrType($Int32);AP=$ptrType(L);AS=$sliceType($emptyInterface);AT=$funcType([],[$emptyInterface],false);AV=$ptrType(I);AW=$funcType([],[],false);AX=$ptrType(K);AY=$arrayType($Uint8,128);AZ=$ptrType(AG);BA=$ptrType(AH);AJ.methods=[["Get","Get","",$funcType([],[$emptyInterface],false),-1],["Put","Put","",$funcType([$emptyInterface],[],false),-1],["getSlow","getSlow","sync",$funcType([],[$emptyInterface],false),-1],["pin","pin","sync",$funcType([],[AP],false),-1],["pinSlow","pinSlow","sync",$funcType([],[AP],false),-1]];C.init([["local","local","sync",$UnsafePointer,""],["localSize","localSize","sync",$Uintptr,""],["store","store","sync",AS,""],["New","New","",AT,""]]);AV.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];I.init([["state","state","sync",$Int32,""],["sema","sema","sync",$Uint32,""]]);J.init([["Lock","Lock","",$funcType([],[],false)],["Unlock","Unlock","",$funcType([],[],false)]]);AX.methods=[["Do","Do","",$funcType([AW],[],false),-1]];K.init([["m","m","sync",I,""],["done","done","sync",$Uint32,""]]);AP.methods=[["Lock","Lock","",$funcType([],[],false),2],["Unlock","Unlock","",$funcType([],[],false),2]];L.init([["private$0","private","sync",$emptyInterface,""],["shared","shared","sync",AS,""],["Mutex","","",I,""],["pad","pad","sync",AY,""]]);AC.init([["lock","lock","sync",$Uintptr,""],["head","head","sync",$UnsafePointer,""],["tail","tail","sync",$UnsafePointer,""]]);AZ.methods=[["Lock","Lock","",$funcType([],[],false),-1],["RLock","RLock","",$funcType([],[],false),-1],["RLocker","RLocker","",$funcType([],[J],false),-1],["RUnlock","RUnlock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AG.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);BA.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AH.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);O=AK.nil;P();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io"]=(function(){var $pkg={},B,A,C,AW,E,F,J,P,Q,T,W,AI,AJ,AA,AB;B=$packages["errors"];A=$packages["runtime"];C=$packages["sync"];E=$pkg.Reader=$newType(8,$kindInterface,"io.Reader","Reader","io",null);F=$pkg.Writer=$newType(8,$kindInterface,"io.Writer","Writer","io",null);J=$pkg.ReadCloser=$newType(8,$kindInterface,"io.ReadCloser","ReadCloser","io",null);P=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom","ReaderFrom","io",null);Q=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo","WriterTo","io",null);T=$pkg.ByteReader=$newType(8,$kindInterface,"io.ByteReader","ByteReader","io",null);W=$pkg.RuneReader=$newType(8,$kindInterface,"io.RuneReader","RuneReader","io",null);AA=$pkg.ReadAtLeast=function(b,c,d){var e=0,f=$ifaceNil,g,h,i,j;if(c.$length>0;}if(e>=d){f=$ifaceNil;}else if(e>0&&$interfaceIsEqual(f,$pkg.EOF)){f=$pkg.ErrUnexpectedEOF;}return[e,f];};AB=$pkg.ReadFull=function(b,c){var d=0,e=$ifaceNil,f;f=AA(b,c,c.$length);d=f[0];e=f[1];return[d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}AW=$sliceType($Uint8);E.init([["Read","Read","",$funcType([AW],[$Int,$error],false)]]);F.init([["Write","Write","",$funcType([AW],[$Int,$error],false)]]);J.init([["Close","Close","",$funcType([],[$error],false)],["Read","Read","",$funcType([AW],[$Int,$error],false)]]);P.init([["ReadFrom","ReadFrom","",$funcType([E],[$Int64,$error],false)]]);Q.init([["WriteTo","WriteTo","",$funcType([F],[$Int64,$error],false)]]);T.init([["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);W.init([["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false)]]);$pkg.ErrShortWrite=B.New("short write");$pkg.ErrShortBuffer=B.New("short buffer");$pkg.EOF=B.New("EOF");$pkg.ErrUnexpectedEOF=B.New("unexpected EOF");$pkg.ErrNoProgress=B.New("multiple Read calls return no data or error");AI=B.New("Seek: invalid whence");AJ=B.New("Seek: invalid offset");$pkg.ErrClosedPipe=B.New("io: read/write on closed pipe");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -17,7 +17,7 @@ $packages["bytes"]=(function(){var $pkg={},A,B,D,C,BJ,BK,BL,BM,H,I,E,J,K;A=$pack $packages["syscall"]=(function(){var $pkg={},A,E,B,D,C,MD,ME,MF,ML,MS,MT,MZ,NE,NG,NH,NK,NX,NY,NZ,OA,OF,OG,OI,OK,EQ,ER,KF,KI,KO,KW,F,G,N,O,P,AP,AQ,AR,AS,DT,FS,H,I,J,K,L,Q,R,S,V,AU,AW,CQ,CR,CT,CY,DO,DY,DZ,ET,EU,GM,HA,HE,HF,HH,HI,HL,HN,HO,HP,II,IT,IU,IV,JA,JY,JZ,KA;A=$packages["bytes"];E=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["runtime"];C=$packages["sync"];EQ=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper","mmapper","syscall",function(Mutex_,active_,mmap_,munmap_){this.$val=this;this.Mutex=Mutex_!==undefined?Mutex_:new C.Mutex.Ptr();this.active=active_!==undefined?active_:false;this.mmap=mmap_!==undefined?mmap_:$throwNilPointerError;this.munmap=munmap_!==undefined?munmap_:$throwNilPointerError;});ER=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno","Errno","syscall",null);KF=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int","_C_int","syscall",null);KI=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec","Timespec","syscall",function(Sec_,Nsec_){this.$val=this;this.Sec=Sec_!==undefined?Sec_:new $Int64(0,0);this.Nsec=Nsec_!==undefined?Nsec_:new $Int64(0,0);});KO=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t","Stat_t","syscall",function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;this.Dev=Dev_!==undefined?Dev_:0;this.Mode=Mode_!==undefined?Mode_:0;this.Nlink=Nlink_!==undefined?Nlink_:0;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Uid=Uid_!==undefined?Uid_:0;this.Gid=Gid_!==undefined?Gid_:0;this.Rdev=Rdev_!==undefined?Rdev_:0;this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:NG.zero();this.Atimespec=Atimespec_!==undefined?Atimespec_:new KI.Ptr();this.Mtimespec=Mtimespec_!==undefined?Mtimespec_:new KI.Ptr();this.Ctimespec=Ctimespec_!==undefined?Ctimespec_:new KI.Ptr();this.Birthtimespec=Birthtimespec_!==undefined?Birthtimespec_:new KI.Ptr();this.Size=Size_!==undefined?Size_:new $Int64(0,0);this.Blocks=Blocks_!==undefined?Blocks_:new $Int64(0,0);this.Blksize=Blksize_!==undefined?Blksize_:0;this.Flags=Flags_!==undefined?Flags_:0;this.Gen=Gen_!==undefined?Gen_:0;this.Lspare=Lspare_!==undefined?Lspare_:0;this.Qspare=Qspare_!==undefined?Qspare_:OG.zero();});KW=$pkg.Dirent=$newType(0,$kindStruct,"syscall.Dirent","Dirent","syscall",function(Ino_,Seekoff_,Reclen_,Namlen_,Type_,Name_,Pad_cgo_0_){this.$val=this;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Seekoff=Seekoff_!==undefined?Seekoff_:new $Uint64(0,0);this.Reclen=Reclen_!==undefined?Reclen_:0;this.Namlen=Namlen_!==undefined?Namlen_:0;this.Type=Type_!==undefined?Type_:0;this.Name=Name_!==undefined?Name_:OI.zero();this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:OK.zero();});H=function(){$flushConsole=(function(){if(!((G.$length===0))){$global.console.log($externalize($bytesToString(G),$String));G=MD.nil;}});};I=function(){if(!F){console.log("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md");}F=true;};J=function(i){var j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=A.IndexByte(G,10);if(k===-1){break;}$global.console.log($externalize($bytesToString($subslice(G,0,k)),$String));G=$subslice(G,(k+1>>0));}};K=function(i){};L=function(){var i,j,k,l,m,n;i=$global.process;if(i===undefined){return ME.nil;}j=i.env;k=$global.Object.keys(j);l=ME.make($parseInt(k.length));m=0;while(m<$parseInt(k.length)){n=$internalize(k[m],$String);(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String);m=m+(1)>>0;}return l;};Q=function(i){var $deferred=[],$err=null,j;try{$deferFrames.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(N===null){if(O){return null;}O=true;j=$global.require;if(j===undefined){$panic(new $String(""));}N=j($externalize("syscall",$String));}return N[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};R=$pkg.Syscall=function(i,j,k,l){var m=0,n=0,o=0,p,q,r,s,t,u,v,w,x,y,z,aa,ab;p=Q("Syscall");if(!(p===null)){q=p(i,j,k,l);r=(($parseInt(q[0])>>0)>>>0);s=(($parseInt(q[1])>>0)>>>0);t=(($parseInt(q[2])>>0)>>>0);m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=MD.make($parseInt(u.length));v.$array=u;J(v);w=($parseInt(u.length)>>>0);x=0;y=0;m=w;n=x;o=y;return[m,n,o];}I();z=(P>>>0);aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};S=$pkg.Syscall6=function(i,j,k,l,m,n,o){var p=0,q=0,r=0,s,t,u,v,w,x,y,z;s=Q("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=(($parseInt(t[0])>>0)>>>0);v=(($parseInt(t[1])>>0)>>>0);w=(($parseInt(t[2])>>0)>>>0);p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=(P>>>0);y=0;z=13;p=x;q=y;r=z;return[p,q,r];};V=$pkg.BytePtrFromString=function(i){var j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=new MD($stringToBytes(i));l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(n===0){return[MF.nil,new ER(22)];}j[m]=n;l++;}j[i.length]=0;return[j,$ifaceNil];};AU=function(){var i,j,k,l,m,n,o,p,q,r;AR=new $Map();i=AS;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=0;while(m=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+k]="";}break;}m=m+(1)>>0;}j++;}};AW=$pkg.Getenv=function(i){var j="",k=false,$deferred=[],$err=null,l,m,n,o,p,q,r,s,t,u,v,w,x,y;try{$deferFrames.push($deferred);AP.Do(AU);if(i.length===0){l="";m=false;j=l;k=m;return[j,k];}AQ.RLock();$deferred.push([$methodVal(AQ,"RUnlock"),[]]);n=(o=AR[i],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;return[j,k];}t=((p<0||p>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+p]);u=0;while(u>0));w=true;j=v;k=w;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;return[j,k];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[j,k];}};CQ=function(i){if(i<0){return"-"+CR((-i>>>0));}return CR((i>>>0));};CR=function(i){var j,k,l,m;j=$clone(MZ.zero(),MZ);k=31;while(i>=10){(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((i+48>>>0)<<24>>>24);return $bytesToString($subslice(new MD(j),k));};CT=$pkg.ByteSliceFromString=function(i){var j,k;j=0;while(j>0;}k=MD.make((i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};KI.Ptr.prototype.Unix=function(){var i=new $Int64(0,0),j=new $Int64(0,0),k,l,m;k=this;l=k.Sec;m=k.Nsec;i=l;j=m;return[i,j];};KI.prototype.Unix=function(){return this.$val.Unix();};KI.Ptr.prototype.Nano=function(){var i,j,k;i=this;return(j=$mul64(i.Sec,new $Int64(0,1000000000)),k=i.Nsec,new $Int64(j.$high+k.$high,j.$low+k.$low));};KI.prototype.Nano=function(){return this.$val.Nano();};CY=$pkg.ReadDirent=function(i,j){var k=0,l=$ifaceNil,m,n;m=new Uint8Array(8);n=HP(i,j,m);k=n[0];l=n[1];if(true&&($interfaceIsEqual(l,new ER(22))||$interfaceIsEqual(l,new ER(2)))){l=$ifaceNil;}return[k,l];};DO=$pkg.Sysctl=function(i){var j="",k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=DY(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=GM(m,MF.nil,new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){q="";r=k;j=q;k=r;return[j,k];}if(p===0){s="";t=$ifaceNil;j=s;k=t;return[j,k];}u=MD.make(p);k=GM(m,new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},u),new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){v="";w=k;j=v;k=w;return[j,k];}if(p>0&&((x=p-1>>>0,((x<0||x>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+x]))===0)){p=p-(1)>>>0;}y=$bytesToString($subslice(u,0,p));z=$ifaceNil;j=y;k=z;return[j,k];};DY=function(i){var j=MS.nil,k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w;l=$clone(NH.zero(),NH);m=48;n=$sliceToArray(new NE(l));o=CT(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=MS.nil;r=k;j=q;k=r;return[j,k];}k=GM(new MS([0,3]),n,new MT(function(){return m;},function($v){m=$v;}),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),(i.length>>>0));if(!($interfaceIsEqual(k,$ifaceNil))){s=MS.nil;t=k;j=s;k=t;return[j,k];}u=$subslice(new MS(l),0,(v=m/4,(v===v&&v!==1/0&&v!==-1/0)?v>>>0:$throwRuntimeError("integer divide by zero")));w=$ifaceNil;j=u;k=w;return[j,k];};DZ=$pkg.ParseDirent=function(i,j,k){var l=0,m=0,n=ME.nil,o,p,q,r,s,t,u,v,w,x,y;o=i.$length;while(!((j===0))&&i.$length>0){p=[undefined];p[0]=(q=$sliceToArray(i),r=new KW.Ptr(),s=new DataView(q.buffer,q.byteOffset),r.Ino=new $Uint64(s.getUint32(4,true),s.getUint32(0,true)),r.Seekoff=new $Uint64(s.getUint32(12,true),s.getUint32(8,true)),r.Reclen=s.getUint16(16,true),r.Namlen=s.getUint16(18,true),r.Type=s.getUint8(20,true),r.Name=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+21,q.buffer.byteLength)),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+1045,q.buffer.byteLength)),r);if(p[0].Reclen===0){i=MD.nil;break;}i=$subslice(i,p[0].Reclen);if((t=p[0].Ino,(t.$high===0&&t.$low===0))){continue;}u=$sliceToArray(new NE(p[0].Name));v=$bytesToString($subslice(new MD(u),0,p[0].Namlen));if(v==="."||v===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,v);}w=o-i.$length>>0;x=m;y=k;l=w;m=x;n=y;return[l,m,n];};EQ.Ptr.prototype.Mmap=function(i,j,k,l,m){var n=MD.nil,o=$ifaceNil,$deferred=[],$err=null,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;try{$deferFrames.push($deferred);p=this;if(k<=0){q=MD.nil;r=new ER(22);n=q;o=r;return[n,o];}s=p.mmap(0,(k>>>0),l,m,i,j);t=s[0];u=s[1];if(!($interfaceIsEqual(u,$ifaceNil))){v=MD.nil;w=u;n=v;o=w;return[n,o];}x=new NK.Ptr(t,k,k);y=x;ab=new MF(function(){return(aa=y.$capacity-1>>0,((aa<0||aa>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+aa]));},function($v){(z=y.$capacity-1>>0,(z<0||z>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+z]=$v);},y);p.Mutex.Lock();$deferred.push([$methodVal(p.Mutex,"Unlock"),[]]);ac=ab;(p.active||$throwRuntimeError("assignment to entry in nil map"))[ac.$key()]={k:ac,v:y};ad=y;ae=$ifaceNil;n=ad;o=ae;return[n,o];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[n,o];}};EQ.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EQ.Ptr.prototype.Munmap=function(i){var j=$ifaceNil,$deferred=[],$err=null,k,l,m,n,o,p,q;try{$deferFrames.push($deferred);k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new ER(22);return j;}n=new MF(function(){return(m=i.$capacity-1>>0,((m<0||m>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+m]));},function($v){(l=i.$capacity-1>>0,(l<0||l>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+l]=$v);},i);k.Mutex.Lock();$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);p=(o=k.active[n.$key()],o!==undefined?o.v:MD.nil);if(p===MD.nil||!($pointerIsEqual(new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},i)))){j=new ER(22);return j;}q=k.munmap($sliceToArray(p),(p.$length>>>0));if(!($interfaceIsEqual(q,$ifaceNil))){j=q;return j;}delete k.active[n.$key()];j=$ifaceNil;return j;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return j;}};EQ.prototype.Munmap=function(i){return this.$val.Munmap(i);};ER.prototype.Error=function(){var i,j;i=this.$val!==undefined?this.$val:this;if(0<=(i>>0)&&(i>>0)<106){j=((i<0||i>=FS.length)?$throwRuntimeError("index out of range"):FS[i]);if(!(j==="")){return j;}}return"errno "+CQ((i>>0));};$ptrType(ER).prototype.Error=function(){return new ER(this.$get()).Error();};ER.prototype.Temporary=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===4)||(i===24)||(i===54)||(i===53)||new ER(i).Timeout();};$ptrType(ER).prototype.Temporary=function(){return new ER(this.$get()).Temporary();};ER.prototype.Timeout=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===35)||(i===35)||(i===60);};$ptrType(ER).prototype.Timeout=function(){return new ER(this.$get()).Timeout();};ET=$pkg.Read=function(i,j){var k=0,l=$ifaceNil,m;m=IV(i,j);k=m[0];l=m[1];return[k,l];};EU=$pkg.Write=function(i,j){var k=0,l=$ifaceNil,m;m=JY(i,j);k=m[0];l=m[1];return[k,l];};GM=function(i,j,k,l,m){var n=$ifaceNil,o,p,q;o=0;if(i.$length>0){o=$sliceToArray(i);}else{o=new Uint8Array(0);}p=S(202,o,(i.$length>>>0),j,k,l,m);q=p[2];if(!((q===0))){n=new ER(q);}return n;};HA=$pkg.Close=function(i){var j=$ifaceNil,k,l;k=R(6,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HE=$pkg.Exit=function(i){R(1,(i>>>0),0,0);return;};HF=$pkg.Fchdir=function(i){var j=$ifaceNil,k,l;k=R(13,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HH=$pkg.Fchmod=function(i,j){var k=$ifaceNil,l,m;l=R(124,(i>>>0),(j>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HI=$pkg.Fchown=function(i,j,k){var l=$ifaceNil,m,n;m=R(123,(i>>>0),(j>>>0),(k>>>0));n=m[2];if(!((n===0))){l=new ER(n);}return l;};HL=$pkg.Fstat=function(i,j){var k=$ifaceNil,l,m,n,o,p;m=new Uint8Array(144);l=R(339,(i>>>0),m,0);p=l[2];n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));if(!((p===0))){k=new ER(p);}return k;};HN=$pkg.Fsync=function(i){var j=$ifaceNil,k,l;k=R(95,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HO=$pkg.Ftruncate=function(i,j){var k=$ifaceNil,l,m;l=R(201,(i>>>0),(j.$low>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HP=$pkg.Getdirentries=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(344,(i>>>0),n,(j.$length>>>0),k,0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};II=$pkg.Lstat=function(i,j){var k=$ifaceNil,l,m,n,o,p,q,r;l=MF.nil;m=V(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=R(340,l,o,0);r=n[2];p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));K(l);if(!((r===0))){k=new ER(r);}return k;};IT=$pkg.Pread=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(153,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IU=$pkg.Pwrite=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(154,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IV=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(3,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JA=$pkg.Seek=function(i,j,k){var l=new $Int64(0,0),m=$ifaceNil,n,o,p;n=R(199,(i>>>0),(j.$low>>>0),(k>>>0));o=n[0];p=n[2];l=new $Int64(0,o.constructor===Number?o:1);if(!((p===0))){m=new ER(p);}return[l,m];};JY=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(4,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JZ=function(i,j,k,l,m,n){var o=0,p=$ifaceNil,q,r,s;q=S(197,i,j,(k>>>0),(l>>>0),(m>>>0),(n.$low>>>0));r=q[0];s=q[2];o=r;if(!((s===0))){p=new ER(s);}return[o,p];};KA=function(i,j){var k=$ifaceNil,l,m;l=R(73,i,j,0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}MD=$sliceType($Uint8);ME=$sliceType($String);MF=$ptrType($Uint8);ML=$ptrType(ER);MS=$sliceType(KF);MT=$ptrType($Uintptr);MZ=$arrayType($Uint8,32);NE=$sliceType($Uint8);NG=$arrayType($Uint8,4);NH=$arrayType(KF,14);NK=$structType([["addr","addr","syscall",$Uintptr,""],["len","len","syscall",$Int,""],["cap","cap","syscall",$Int,""]]);NX=$ptrType(EQ);NY=$mapType(MF,MD);NZ=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);OA=$funcType([$Uintptr,$Uintptr],[$error],false);OF=$ptrType(KI);OG=$arrayType($Int64,2);OI=$arrayType($Int8,1024);OK=$arrayType($Uint8,3);NX.methods=[["Lock","Lock","",$funcType([],[],false),0],["Mmap","Mmap","",$funcType([$Int,$Int64,$Int,$Int,$Int],[MD,$error],false),-1],["Munmap","Munmap","",$funcType([MD],[$error],false),-1],["Unlock","Unlock","",$funcType([],[],false),0]];EQ.init([["Mutex","","",C.Mutex,""],["active","active","syscall",NY,""],["mmap","mmap","syscall",NZ,""],["munmap","munmap","syscall",OA,""]]);ER.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];ML.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];OF.methods=[["Nano","Nano","",$funcType([],[$Int64],false),-1],["Unix","Unix","",$funcType([],[$Int64,$Int64],false),-1]];KI.init([["Sec","Sec","",$Int64,""],["Nsec","Nsec","",$Int64,""]]);KO.init([["Dev","Dev","",$Int32,""],["Mode","Mode","",$Uint16,""],["Nlink","Nlink","",$Uint16,""],["Ino","Ino","",$Uint64,""],["Uid","Uid","",$Uint32,""],["Gid","Gid","",$Uint32,""],["Rdev","Rdev","",$Int32,""],["Pad_cgo_0","Pad_cgo_0","",NG,""],["Atimespec","Atimespec","",KI,""],["Mtimespec","Mtimespec","",KI,""],["Ctimespec","Ctimespec","",KI,""],["Birthtimespec","Birthtimespec","",KI,""],["Size","Size","",$Int64,""],["Blocks","Blocks","",$Int64,""],["Blksize","Blksize","",$Int32,""],["Flags","Flags","",$Uint32,""],["Gen","Gen","",$Uint32,""],["Lspare","Lspare","",$Int32,""],["Qspare","Qspare","",OG,""]]);KW.init([["Ino","Ino","",$Uint64,""],["Seekoff","Seekoff","",$Uint64,""],["Reclen","Reclen","",$Uint16,""],["Namlen","Namlen","",$Uint16,""],["Type","Type","",$Uint8,""],["Name","Name","",OI,""],["Pad_cgo_0","Pad_cgo_0","",OK,""]]);G=MD.nil;N=null;AP=new C.Once.Ptr();AQ=new C.RWMutex.Ptr();AR=false;F=false;O=false;P=-1;AS=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;FS=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by 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","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","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 family","address already in use","can't 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","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);DT=new EQ.Ptr(new C.Mutex.Ptr(),new $Map(),JZ,KA);H();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},I,J,D;D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once","Once","github.com/gopherjs/gopherjs/nosync",function(doing_,done_){this.$val=this;this.doing=doing_!==undefined?doing_:false;this.done=done_!==undefined?done_:false;});D.Ptr.prototype.Do=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;if(b.done){return;}if(b.doing){$panic(new $String("nosync: Do called within f"));}b.doing=true;$deferred.push([(function(){b.doing=false;b.done=true;}),[]]);a();}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};D.prototype.Do=function(a){return this.$val.Do(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:I=$funcType([],[],false);J=$ptrType(D);J.methods=[["Do","Do","",$funcType([I],[],false),-1]];D.init([["doing","doing","github.com/gopherjs/gopherjs/nosync",$Bool,""],["done","done","github.com/gopherjs/gopherjs/nosync",$Bool,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strings"]=(function(){var $pkg={},B,A,C,E,D,BY,F,AB,AD,AH,BU;B=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];E=$packages["unicode"];D=$packages["unicode/utf8"];F=$pkg.IndexByte=function(b,c){return $parseInt(b.indexOf($global.String.fromCharCode(c)))>>0;};AB=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=0;while(d>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d+(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AD=$pkg.Count=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=0;if(c.length===0){return D.RuneCountInString(b)+1>>0;}else if(c.length===1){e=c.charCodeAt(0);f=0;while(f>0;}f=f+(1)>>0;}return d;}else if(c.length>b.length){return 0;}else if(c.length===b.length){if(c===b){return 1;}return 0;}g=AB(c);h=g[0];i=g[1];j=0;k=0;while(k>>16<<16)*16777619>>>0)+(j<<16>>>16)*16777619)>>>0)+(b.charCodeAt(k)>>>0)>>>0;k=k+(1)>>0;}l=0;if((j===h)&&b.substring(0,c.length)===c){d=d+(1)>>0;l=c.length;}m=c.length;while(m>>16<<16)*n>>>0)+(j<<16>>>16)*n)>>>0);j=j+((b.charCodeAt(m)>>>0))>>>0;j=j-((o=(b.charCodeAt((m-c.length>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;m=m+(1)>>0;if((j===h)&&l<=(m-c.length>>0)&&b.substring((m-c.length>>0),m)===c){d=d+(1)>>0;l=m;}}return d;};AH=$pkg.Index=function(b,c){var d,e,f,g,h,i,j,k,l;d=c.length;if(d===0){return 0;}else if(d===1){return F(b,c.charCodeAt(0));}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}e=AB(c);f=e[0];g=e[1];h=0;i=0;while(i>>16<<16)*16777619>>>0)+(h<<16>>>16)*16777619)>>>0)+(b.charCodeAt(i)>>>0)>>>0;i=i+(1)>>0;}if((h===f)&&b.substring(0,d)===c){return 0;}j=d;while(j>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);h=h+((b.charCodeAt(j)>>>0))>>>0;h=h-((l=(b.charCodeAt((j-d>>0))>>>0),(((g>>>16<<16)*l>>>0)+(g<<16>>>16)*l)>>>0))>>>0;j=j+(1)>>0;if((h===f)&&b.substring((j-d>>0),j)===c){return j-d>>0;}}return-1;};BU=$pkg.Replace=function(b,c,d,e){var f,g,h,i,j,k,l,m;if(c===d||(e===0)){return b;}f=AD(b,c);if(f===0){return b;}else if(e<0||f>0))>>0)>>0));h=0;i=0;j=0;while(j0){l=D.DecodeRuneInString(b.substring(i));m=l[1];k=k+(m)>>0;}}else{k=k+(AH(b.substring(i),c))>>0;}h=h+($copyString($subslice(g,h),b.substring(i,k)))>>0;h=h+($copyString($subslice(g,h),d))>>0;i=k+c.length>>0;j=j+(1)>>0;}h=h+($copyString($subslice(g,h),b.substring(i)))>>0;return $bytesToString($subslice(g,0,h));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}BY=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DM,DN,DO,DQ,DR,DS,DT,G,AB,AS,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,K,L,M,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,AR,AT,AU,AV,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];G=$pkg.runtimeTimer=$newType(0,$kindStruct,"time.runtimeTimer","runtimeTimer","time",function(i_,when_,period_,f_,arg_,timeout_,active_){this.$val=this;this.i=i_!==undefined?i_:0;this.when=when_!==undefined?when_:new $Int64(0,0);this.period=period_!==undefined?period_:new $Int64(0,0);this.f=f_!==undefined?f_:$throwNilPointerError;this.arg=arg_!==undefined?arg_:$ifaceNil;this.timeout=timeout_!==undefined?timeout_:null;this.active=active_!==undefined?active_:false;});AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});AS=$pkg.Timer=$newType(0,$kindStruct,"time.Timer","Timer","time",function(C_,r_){this.$val=this;this.C=C_!==undefined?C_:DJ.nil;this.r=r_!==undefined?r_:new G.Ptr();});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};K=$pkg.Sleep=function(k,$b){var $this=this,$args=arguments,$r,$s=0,l,m,n;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:l=new DB(0);$global.setTimeout($externalize((function(){$close(l);}),DC),((m=$div64(k,new BN(0,1000000),false),m.$low+((m.$high>>31)*4294967296))>>0));n=$recv(l,$BLOCKING);$s=1;case 1:if(n&&n.$blocking){n=n();}n[0];case-1:}return;}};$f.$blocking=true;return $f;};L=function(k){var 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=$global.setTimeout($externalize((function(){var o,p,q;k.active=false;k.f(k.arg,0);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);}}),DC),$externalize(new $Int64(n.$high+0,n.$low+1),$Int64));};M=function(k){var l;$global.clearTimeout(k.timeout);l=k.active;k.active=false;return l;};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};AR=function(k){var 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;};AS.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);};AS.prototype.Stop=function(){return this.$val.Stop();};AT=$pkg.NewTimer=function(k){var l,m;l=new DI(1);m=new AS.Ptr(l,new G.Ptr(0,AR(k),new $Int64(0,0),AU,l,null,false));L(m.r);return m;};AS.Ptr.prototype.Reset=function(k){var l,m,n;l=this;if(l.r.f===$throwNilPointerError){$panic(new $String("time: Reset called on uninitialized Timer"));}m=AR(k);n=M(l.r);l.r.when=m;L(l.r);return n;};AS.prototype.Reset=function(k){return this.$val.Reset(k);};AU=function(k,l){var m;m=$select([[$assertType(k,DI),BU()],[]]);};AV=$pkg.After=function(k){return AT(k).C;};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DA=$structType([]);DB=$chanType(DA,false,false);DC=$funcType([],[],false);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DI=$chanType(BG,false,false);DJ=$chanType(BG,false,true);DM=$funcType([$emptyInterface,$Uintptr],[],false);DN=$ptrType(AB);DO=$ptrType(AS);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);G.init([["i","i","time",$Int32,""],["when","when","time",$Int64,""],["period","period","time",$Int64,""],["f","f","time",DM,""],["arg","arg","time",$emptyInterface,""],["timeout","timeout","time",B.Object,""],["active","active","time",$Bool,""]]);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);DO.methods=[["Reset","Reset","",$funcType([BN],[$Bool],false),-1],["Stop","Stop","",$funcType([],[$Bool],false),-1]];AS.init([["C","C","",DJ,""],["r","r","time",G,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DD,DE,DF,DG,DH,DN,DQ,DR,DS,DT,AB,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DN=$ptrType(AB);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["os"]=(function(){var $pkg={},E,A,B,F,H,G,C,D,CX,CY,CZ,DB,DC,DD,DE,DK,DQ,DR,DS,DW,DX,DZ,W,X,AQ,BG,BH,BJ,CS,CT,CV,AO,AV,BV,CP,I,Y,AA,AD,AX,AY,BB,BI,BK,BN,BQ,BX,BY,CD,CJ,CL,CM,CQ;E=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["io"];F=$packages["runtime"];H=$packages["sync"];G=$packages["sync/atomic"];C=$packages["syscall"];D=$packages["time"];W=$pkg.PathError=$newType(0,$kindStruct,"os.PathError","PathError","os",function(Op_,Path_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Path=Path_!==undefined?Path_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});X=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError","SyscallError","os",function(Syscall_,Err_){this.$val=this;this.Syscall=Syscall_!==undefined?Syscall_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});AQ=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError","LinkError","os",function(Op_,Old_,New_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Old=Old_!==undefined?Old_:"";this.New=New_!==undefined?New_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});BG=$pkg.File=$newType(0,$kindStruct,"os.File","File","os",function(file_){this.$val=this;this.file=file_!==undefined?file_:DQ.nil;});BH=$pkg.file=$newType(0,$kindStruct,"os.file","file","os",function(fd_,name_,dirinfo_,nepipe_){this.$val=this;this.fd=fd_!==undefined?fd_:0;this.name=name_!==undefined?name_:"";this.dirinfo=dirinfo_!==undefined?dirinfo_:CY.nil;this.nepipe=nepipe_!==undefined?nepipe_:0;});BJ=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo","dirInfo","os",function(buf_,nbuf_,bufp_){this.$val=this;this.buf=buf_!==undefined?buf_:CZ.nil;this.nbuf=nbuf_!==undefined?nbuf_:0;this.bufp=bufp_!==undefined?bufp_:0;});CS=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo","FileInfo","os",null);CT=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode","FileMode","os",null);CV=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat","fileStat","os",function(name_,size_,mode_,modTime_,sys_){this.$val=this;this.name=name_!==undefined?name_:"";this.size=size_!==undefined?size_:new $Int64(0,0);this.mode=mode_!==undefined?mode_:0;this.modTime=modTime_!==undefined?modTime_:new D.Time.Ptr();this.sys=sys_!==undefined?sys_:$ifaceNil;});I=function(){var b,c,d,e;b=$global.process;if(b===undefined){return new CX(["browser"]);}c=b.argv;d=CX.make(($parseInt(c.length)-1>>0));e=0;while(e<($parseInt(c.length)-1>>0)){(e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=$internalize(c[(e+1>>0)],$String);e=e+(1)>>0;}return d;};BG.Ptr.prototype.readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=this;if(e.file.dirinfo===CY.nil){e.file.dirinfo=new BJ.Ptr();e.file.dirinfo.buf=CZ.make(4096);}f=e.file.dirinfo;g=b;if(g<=0){g=100;b=-1;}c=CX.make(0,g);while(!((b===0))){if(f.bufp>=f.nbuf){f.bufp=0;h=$ifaceNil;j=C.ReadDirent(e.file.fd,f.buf);i=AX(j[0],j[1]);f.nbuf=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){k=c;l=Y("readdirent",h);c=k;d=l;return[c,d];}if(f.nbuf<=0){break;}}m=0;n=0;o=m;p=n;q=C.ParseDirent($subslice(f.buf,f.bufp,f.nbuf),b,c);o=q[0];p=q[1];c=q[2];f.bufp=f.bufp+(o)>>0;b=b-(p)>>0;}if(b>=0&&(c.$length===0)){r=c;s=B.EOF;c=r;d=s;return[c,d];}t=c;u=$ifaceNil;c=t;d=u;return[c,d];};BG.prototype.readdirnames=function(b){return this.$val.readdirnames(b);};BG.Ptr.prototype.Readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=DB.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdir(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdir=function(b){return this.$val.Readdir(b);};BG.Ptr.prototype.Readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=CX.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdirnames(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdirnames=function(b){return this.$val.Readdirnames(b);};W.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Path+": "+b.Err.Error();};W.prototype.Error=function(){return this.$val.Error();};X.Ptr.prototype.Error=function(){var b;b=this;return b.Syscall+": "+b.Err.Error();};X.prototype.Error=function(){return this.$val.Error();};Y=$pkg.NewSyscallError=function(b,c){if($interfaceIsEqual(c,$ifaceNil)){return $ifaceNil;}return new X.Ptr(b,c);};AA=$pkg.IsNotExist=function(b){return AD(b);};AD=function(b){var c,d;d=b;if(d===$ifaceNil){c=d;return false;}else if($assertType(d,DD,true)[1]){c=d.$val;b=c.Err;}else if($assertType(d,DE,true)[1]){c=d.$val;b=c.Err;}return $interfaceIsEqual(b,new C.Errno(2))||$interfaceIsEqual(b,$pkg.ErrNotExist);};BG.Ptr.prototype.Name=function(){var b;b=this;return b.file.name;};BG.prototype.Name=function(){return this.$val.Name();};AQ.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Old+" "+b.New+": "+b.Err.Error();};AQ.prototype.Error=function(){return this.$val.Error();};BG.Ptr.prototype.Read=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l,m;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.read(b);c=h[0];i=h[1];if(c<0){c=0;}if((c===0)&&b.$length>0&&$interfaceIsEqual(i,$ifaceNil)){j=0;k=B.EOF;c=j;d=k;return[c,d];}if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("read",e.file.name,i);}l=c;m=d;c=l;d=m;return[c,d];};BG.prototype.Read=function(b){return this.$val.Read(b);};BG.Ptr.prototype.ReadAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l,m,n;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pread(b,c);j=i[0];k=i[1];if((j===0)&&$interfaceIsEqual(k,$ifaceNil)){l=d;m=B.EOF;d=l;e=m;return[d,e];}if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("read",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(n=new $Int64(0,j),new $Int64(c.$high+n.$high,c.$low+n.$low));}return[d,e];};BG.prototype.ReadAt=function(b,c){return this.$val.ReadAt(b,c);};BG.Ptr.prototype.Write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.write(b);c=h[0];i=h[1];if(c<0){c=0;}if(!((c===b.$length))){d=B.ErrShortWrite;}BK(e,i);if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("write",e.file.name,i);}j=c;k=d;c=j;d=k;return[c,d];};BG.prototype.Write=function(b){return this.$val.Write(b);};BG.Ptr.prototype.WriteAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pwrite(b,c);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("write",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(l=new $Int64(0,j),new $Int64(c.$high+l.$high,c.$low+l.$low));}return[d,e];};BG.prototype.WriteAt=function(b,c){return this.$val.WriteAt(b,c);};BG.Ptr.prototype.Seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g,h,i,j,k,l,m,n,o;f=this;if(f===DC.nil){g=new $Int64(0,0);h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.seek(b,c);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&!(f.file.dirinfo===CY.nil)&&!((j.$high===0&&j.$low===0))){k=new C.Errno(21);}if(!($interfaceIsEqual(k,$ifaceNil))){l=new $Int64(0,0);m=new W.Ptr("seek",f.file.name,k);d=l;e=m;return[d,e];}n=j;o=$ifaceNil;d=n;e=o;return[d,e];};BG.prototype.Seek=function(b,c){return this.$val.Seek(b,c);};BG.Ptr.prototype.WriteString=function(b){var c=0,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.Write(new CZ($stringToBytes(b)));c=h[0];d=h[1];return[c,d];};BG.prototype.WriteString=function(b){return this.$val.WriteString(b);};BG.Ptr.prototype.Chdir=function(){var b,c;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}c=C.Fchdir(b.file.fd);if(!($interfaceIsEqual(c,$ifaceNil))){return new W.Ptr("chdir",b.file.name,c);}return $ifaceNil;};BG.prototype.Chdir=function(){return this.$val.Chdir();};AX=function(b,c){if(b<0){b=0;}return[b,c];};AY=function(){$panic("Native function not implemented: os.sigpipe");};BB=function(b){var c=0;c=(c|((new CT(b).Perm()>>>0)))>>>0;if(!((((b&8388608)>>>0)===0))){c=(c|(2048))>>>0;}if(!((((b&4194304)>>>0)===0))){c=(c|(1024))>>>0;}if(!((((b&1048576)>>>0)===0))){c=(c|(512))>>>0;}return c;};BG.Ptr.prototype.Chmod=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Fchmod(c.file.fd,BB(b));if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("chmod",c.file.name,d);}return $ifaceNil;};BG.prototype.Chmod=function(b){return this.$val.Chmod(b);};BG.Ptr.prototype.Chown=function(b,c){var d,e;d=this;if(d===DC.nil){return $pkg.ErrInvalid;}e=C.Fchown(d.file.fd,b,c);if(!($interfaceIsEqual(e,$ifaceNil))){return new W.Ptr("chown",d.file.name,e);}return $ifaceNil;};BG.prototype.Chown=function(b,c){return this.$val.Chown(b,c);};BG.Ptr.prototype.Truncate=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Ftruncate(c.file.fd,b);if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("truncate",c.file.name,d);}return $ifaceNil;};BG.prototype.Truncate=function(b){return this.$val.Truncate(b);};BG.Ptr.prototype.Sync=function(){var b=$ifaceNil,c,d;c=this;if(c===DC.nil){b=$pkg.ErrInvalid;return b;}d=C.Fsync(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){b=Y("fsync",d);return b;}b=$ifaceNil;return b;};BG.prototype.Sync=function(){return this.$val.Sync();};BG.Ptr.prototype.Fd=function(){var b;b=this;if(b===DC.nil){return 4294967295;}return(b.file.fd>>>0);};BG.prototype.Fd=function(){return this.$val.Fd();};BI=$pkg.NewFile=function(b,c){var d,e;d=(b>>0);if(d<0){return DC.nil;}e=new BG.Ptr(new BH.Ptr(d,c,CY.nil,0));F.SetFinalizer(e.file,new DR($methodExpr(DQ.prototype.close)));return e;};BK=function(b,c){if($interfaceIsEqual(c,new C.Errno(32))){if(G.AddInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),1)>=10){AY();}}else{G.StoreInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),0);}};BG.Ptr.prototype.Close=function(){var b;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}return b.file.close();};BG.prototype.Close=function(){return this.$val.Close();};BH.Ptr.prototype.close=function(){var b,c,d;b=this;if(b===DQ.nil||b.fd<0){return new C.Errno(22);}c=$ifaceNil;d=C.Close(b.fd);if(!($interfaceIsEqual(d,$ifaceNil))){c=new W.Ptr("close",b.name,d);}b.fd=-1;F.SetFinalizer(b,$ifaceNil);return c;};BH.prototype.close=function(){return this.$val.close();};BG.Ptr.prototype.Stat=function(){var b=$ifaceNil,c=$ifaceNil,d,e,f,g,h,i,j,k;d=this;if(d===DC.nil){e=$ifaceNil;f=$pkg.ErrInvalid;b=e;c=f;return[b,c];}g=$clone(new C.Stat_t.Ptr(),C.Stat_t);c=C.Fstat(d.file.fd,g);if(!($interfaceIsEqual(c,$ifaceNil))){h=$ifaceNil;i=new W.Ptr("stat",d.file.name,c);b=h;c=i;return[b,c];}j=CL(g,d.file.name);k=$ifaceNil;b=j;c=k;return[b,c];};BG.prototype.Stat=function(){return this.$val.Stat();};BN=$pkg.Lstat=function(b){var c=$ifaceNil,d=$ifaceNil,e,f,g,h,i;e=$clone(new C.Stat_t.Ptr(),C.Stat_t);d=C.Lstat(b,e);if(!($interfaceIsEqual(d,$ifaceNil))){f=$ifaceNil;g=new W.Ptr("lstat",b,d);c=f;d=g;return[c,d];}h=CL(e,b);i=$ifaceNil;c=h;d=i;return[c,d];};BG.Ptr.prototype.readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=this;f=e.file.name;if(f===""){f=".";}g=e.Readdirnames(b);h=g[0];d=g[1];c=DB.make(0,h.$length);i=h;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);l=AV(f+"/"+k);m=l[0];n=l[1];if(AA(n)){j++;continue;}if(!($interfaceIsEqual(n,$ifaceNil))){o=c;p=n;c=o;d=p;return[c,d];}c=$append(c,m);j++;}q=c;r=d;c=q;d=r;return[c,d];};BG.prototype.readdir=function(b){return this.$val.readdir(b);};BG.Ptr.prototype.read=function(b){var c=0,d=$ifaceNil,e,f,g;e=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}g=C.Read(e.file.fd,b);f=AX(g[0],g[1]);c=f[0];d=f[1];return[c,d];};BG.prototype.read=function(b){return this.$val.read(b);};BG.Ptr.prototype.pread=function(b,c){var d=0,e=$ifaceNil,f,g,h;f=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}h=C.Pread(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pread=function(b,c){return this.$val.pread(b,c);};BG.Ptr.prototype.write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l;e=this;while(true){f=b;if(true&&f.$length>1073741824){f=$subslice(f,0,1073741824);}h=C.Write(e.file.fd,f);g=AX(h[0],h[1]);i=g[0];j=g[1];c=c+(i)>>0;if(01073741824){b=$subslice(b,0,1073741824);}h=C.Pwrite(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pwrite=function(b,c){return this.$val.pwrite(b,c);};BG.Ptr.prototype.seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g;f=this;g=C.Seek(f.file.fd,b,c);d=g[0];e=g[1];return[d,e];};BG.prototype.seek=function(b,c){return this.$val.seek(b,c);};BQ=function(b){var c;c=b.length-1>>0;while(c>0&&(b.charCodeAt(c)===47)){b=b.substring(0,c);c=c-(1)>>0;}c=c-(1)>>0;while(c>=0){if(b.charCodeAt(c)===47){b=b.substring((c+1>>0));break;}c=c-(1)>>0;}return b;};BX=function(){BV=BY;};BY=function(b){return!($interfaceIsEqual(b,new C.Errno(45)));};CD=function(){$pkg.Args=I();};CJ=$pkg.Exit=function(b){C.Exit(b);};CL=function(b,c){var d,e;d=new CV.Ptr(BQ(c),b.Size,0,$clone(CM(b.Mtimespec),D.Time),b);d.mode=(((b.Mode&511)>>>0)>>>0);e=(b.Mode&61440)>>>0;if(e===24576||e===57344){d.mode=(d.mode|(67108864))>>>0;}else if(e===8192){d.mode=(d.mode|(69206016))>>>0;}else if(e===16384){d.mode=(d.mode|(2147483648))>>>0;}else if(e===4096){d.mode=(d.mode|(33554432))>>>0;}else if(e===40960){d.mode=(d.mode|(134217728))>>>0;}else if(e===32768){}else if(e===49152){d.mode=(d.mode|(16777216))>>>0;}if(!((((b.Mode&1024)>>>0)===0))){d.mode=(d.mode|(4194304))>>>0;}if(!((((b.Mode&2048)>>>0)===0))){d.mode=(d.mode|(8388608))>>>0;}if(!((((b.Mode&512)>>>0)===0))){d.mode=(d.mode|(1048576))>>>0;}return d;};CM=function(b){b=$clone(b,C.Timespec);return D.Unix(b.Sec,b.Nsec);};CQ=function(){var b,c,d,e,f,g,h;b=C.Sysctl("kern.osrelease");c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}e=0;f=c;g=0;while(g2||(e===2)&&c.charCodeAt(0)>=49&&c.charCodeAt(1)>=49){CP=true;}};CT.prototype.String=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=this.$val!==undefined?this.$val:this;c=$clone(DK.zero(),DK);d=0;e="dalTLDpSugct";f=0;while(f>0)>>>0),j<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(i<<24>>>24);d=d+(1)>>0;}f+=g[1];}if(d===0){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;d=d+(1)>>0;}k="rwxrwxrwx";l=0;while(l>0)>>>0),p<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(o<<24>>>24);}else{(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;}d=d+(1)>>0;l+=m[1];}return $bytesToString($subslice(new CZ(c),0,d));};$ptrType(CT).prototype.String=function(){return new CT(this.$get()).String();};CT.prototype.IsDir=function(){var b;b=this.$val!==undefined?this.$val:this;return!((((b&2147483648)>>>0)===0));};$ptrType(CT).prototype.IsDir=function(){return new CT(this.$get()).IsDir();};CT.prototype.IsRegular=function(){var b;b=this.$val!==undefined?this.$val:this;return((b&2399141888)>>>0)===0;};$ptrType(CT).prototype.IsRegular=function(){return new CT(this.$get()).IsRegular();};CT.prototype.Perm=function(){var b;b=this.$val!==undefined?this.$val:this;return(b&511)>>>0;};$ptrType(CT).prototype.Perm=function(){return new CT(this.$get()).Perm();};CV.Ptr.prototype.Name=function(){var b;b=this;return b.name;};CV.prototype.Name=function(){return this.$val.Name();};CV.Ptr.prototype.IsDir=function(){var b;b=this;return new CT(b.Mode()).IsDir();};CV.prototype.IsDir=function(){return this.$val.IsDir();};CV.Ptr.prototype.Size=function(){var b;b=this;return b.size;};CV.prototype.Size=function(){return this.$val.Size();};CV.Ptr.prototype.Mode=function(){var b;b=this;return b.mode;};CV.prototype.Mode=function(){return this.$val.Mode();};CV.Ptr.prototype.ModTime=function(){var b;b=this;return b.modTime;};CV.prototype.ModTime=function(){return this.$val.ModTime();};CV.Ptr.prototype.Sys=function(){var b;b=this;return b.sys;};CV.prototype.Sys=function(){return this.$val.Sys();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}CX=$sliceType($String);CY=$ptrType(BJ);CZ=$sliceType($Uint8);DB=$sliceType(CS);DC=$ptrType(BG);DD=$ptrType(W);DE=$ptrType(AQ);DK=$arrayType($Uint8,32);DQ=$ptrType(BH);DR=$funcType([DQ],[$error],false);DS=$ptrType($Int32);DW=$ptrType(CV);DX=$ptrType(X);DZ=$ptrType(CT);DD.methods=[["Error","Error","",$funcType([],[$String],false),-1]];W.init([["Op","Op","",$String,""],["Path","Path","",$String,""],["Err","Err","",$error,""]]);DX.methods=[["Error","Error","",$funcType([],[$String],false),-1]];X.init([["Syscall","Syscall","",$String,""],["Err","Err","",$error,""]]);DE.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AQ.init([["Op","Op","",$String,""],["Old","Old","",$String,""],["New","New","",$String,""],["Err","Err","",$error,""]]);BG.methods=[["close","close","os",$funcType([],[$error],false),0]];DC.methods=[["Chdir","Chdir","",$funcType([],[$error],false),-1],["Chmod","Chmod","",$funcType([CT],[$error],false),-1],["Chown","Chown","",$funcType([$Int,$Int],[$error],false),-1],["Close","Close","",$funcType([],[$error],false),-1],["Fd","Fd","",$funcType([],[$Uintptr],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Read","Read","",$funcType([CZ],[$Int,$error],false),-1],["ReadAt","ReadAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["Readdir","Readdir","",$funcType([$Int],[DB,$error],false),-1],["Readdirnames","Readdirnames","",$funcType([$Int],[CX,$error],false),-1],["Seek","Seek","",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["Stat","Stat","",$funcType([],[CS,$error],false),-1],["Sync","Sync","",$funcType([],[$error],false),-1],["Truncate","Truncate","",$funcType([$Int64],[$error],false),-1],["Write","Write","",$funcType([CZ],[$Int,$error],false),-1],["WriteAt","WriteAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1],["close","close","os",$funcType([],[$error],false),0],["pread","pread","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["pwrite","pwrite","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["read","read","os",$funcType([CZ],[$Int,$error],false),-1],["readdir","readdir","os",$funcType([$Int],[DB,$error],false),-1],["readdirnames","readdirnames","os",$funcType([$Int],[CX,$error],false),-1],["seek","seek","os",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["write","write","os",$funcType([CZ],[$Int,$error],false),-1]];BG.init([["file","","os",DQ,""]]);DQ.methods=[["close","close","os",$funcType([],[$error],false),-1]];BH.init([["fd","fd","os",$Int,""],["name","name","os",$String,""],["dirinfo","dirinfo","os",CY,""],["nepipe","nepipe","os",$Int32,""]]);BJ.init([["buf","buf","os",CZ,""],["nbuf","nbuf","os",$Int,""],["bufp","bufp","os",$Int,""]]);CS.init([["IsDir","IsDir","",$funcType([],[$Bool],false)],["ModTime","ModTime","",$funcType([],[D.Time],false)],["Mode","Mode","",$funcType([],[CT],false)],["Name","Name","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Int64],false)],["Sys","Sys","",$funcType([],[$emptyInterface],false)]]);CT.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DZ.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DW.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[D.Time],false),-1],["Mode","Mode","",$funcType([],[CT],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];CV.init([["name","name","os",$String,""],["size","size","os",$Int64,""],["mode","mode","os",CT,""],["modTime","modTime","os",D.Time,""],["sys","sys","os",$emptyInterface,""]]);$pkg.Args=CX.nil;CP=false;$pkg.ErrInvalid=E.New("invalid argument");$pkg.ErrPermission=E.New("permission denied");$pkg.ErrExist=E.New("file already exists");$pkg.ErrNotExist=E.New("file does not exist");AO=E.New("os: process already finished");$pkg.Stdin=BI((C.Stdin>>>0),"/dev/stdin");$pkg.Stdout=BI((C.Stdout>>>0),"/dev/stdout");$pkg.Stderr=BI((C.Stderr>>>0),"/dev/stderr");BV=(function(b){return true;});AV=BN;BX();CD();CQ();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strconv"]=(function(){var $pkg={},B,A,C,CI,CJ,CK,CL,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,Z,AD,AI,AP,AY,G,AE,AJ,AK,AL,AQ,AR,BD,BE,BF,BG,BM,AA,AB,AC,AF,AG,AH,AM,AN,AO,AT,AU,AV,AW,AX,AZ,BA,BB,BC,BI,BJ,BN,BO,BP,BR,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];Z=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal","decimal","strconv",function(d_,nd_,dp_,neg_,trunc_){this.$val=this;this.d=d_!==undefined?d_:CU.zero();this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;this.trunc=trunc_!==undefined?trunc_:false;});AD=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat","leftCheat","strconv",function(delta_,cutoff_){this.$val=this;this.delta=delta_!==undefined?delta_:0;this.cutoff=cutoff_!==undefined?cutoff_:"";});AI=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat","extFloat","strconv",function(mant_,exp_,neg_){this.$val=this;this.mant=mant_!==undefined?mant_:new $Uint64(0,0);this.exp=exp_!==undefined?exp_:0;this.neg=neg_!==undefined?neg_:false;});AP=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo","floatInfo","strconv",function(mantbits_,expbits_,bias_){this.$val=this;this.mantbits=mantbits_!==undefined?mantbits_:0;this.expbits=expbits_!==undefined?expbits_:0;this.bias=bias_!==undefined?bias_:0;});AY=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice","decimalSlice","strconv",function(d_,nd_,dp_,neg_){this.$val=this;this.d=d_!==undefined?d_:CL.nil;this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;});Z.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=CL.make(b);d=0;if(a.nd===0){return"0";}else if(a.dp<=0){(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=48;d=d+(1)>>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+(AA($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;}else if(a.dp>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;d=d+(AA($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return $bytesToString($subslice(c,0,d));};Z.prototype.String=function(){return this.$val.String();};AA=function(a){var b,c,d;b=a;c=0;while(c=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+d]=48;c++;}return a.$length;};AB=function(a){var b,c;while(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]))===48)){a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Z.Ptr.prototype.Assign=function(a){var b,c,d,e,f,g,h;b=this;c=$clone(CN.zero(),CN);d=0;while((a.$high>0||(a.$high===0&&a.$low>0))){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"):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(d>=0){(g=b.d,h=b.nd,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AB(b);};Z.prototype.Assign=function(a){return this.$val.Assign(a);};AC=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=0;d=0;e=0;while(((e>>$min(b,31))>>0)===0){if(c>=a.nd){if(e===0){a.nd=0;return;}while(((e>>$min(b,31))>>0)===0){e=e*10>>0;c=c+(1)>>0;}break;}g=((f=a.d,((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))>>0);e=((e*10>>0)+g>>0)-48>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;while(c=h.length)?$throwRuntimeError("index out of range"):h[c]))>>0);j=(e>>$min(b,31))>>0;e=e-(((k=b,k<32?(j<>0))>>0;(l=a.d,(d<0||d>=l.length)?$throwRuntimeError("index out of range"):l[d]=((j+48>>0)<<24>>>24));d=d+(1)>>0;e=((e*10>>0)+i>>0)-48>>0;c=c+(1)>>0;}while(e>0){m=(e>>$min(b,31))>>0;e=e-(((n=b,n<32?(m<>0))>>0;if(d<800){(o=a.d,(d<0||d>=o.length)?$throwRuntimeError("index out of range"):o[d]=((m+48>>0)<<24>>>24));d=d+(1)>>0;}else if(m>0){a.trunc=true;}e=e*10>>0;}a.nd=d;AB(a);};AF=function(a,b){var c;c=0;while(c=a.$length){return true;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])>0;}return false;};AG=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).delta;if(AF($subslice(new CL(a.d),0,a.nd),((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(d>=0){f=f+(((g=b,g<32?(((((h=a.d,((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]))>>0)-48>>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"):l[e]=((k+48>>0)<<24>>>24));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(f>0){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"):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;AB(a);};Z.Ptr.prototype.Shift=function(a){var b;b=this;if(b.nd===0){}else if(a>0){while(a>27){AG(b,27);a=a-(27)>>0;}AG(b,(a>>>0));}else if(a<0){while(a<-27){AC(b,27);a=a+(27)>>0;}AC(b,(-a>>>0));}};Z.prototype.Shift=function(a){return this.$val.Shift(a);};AH=function(a,b){var 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"):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"):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"):g[b]))>=53;};Z.Ptr.prototype.Round=function(a){var b;b=this;if(a<0||a>=b.nd){return;}if(AH(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Z.prototype.Round=function(a){return this.$val.Round(a);};Z.Ptr.prototype.RoundDown=function(a){var b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AB(b);};Z.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Z.Ptr.prototype.RoundUp=function(a){var b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(c>=0){e=(d=b.d,((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));if(e<57){f=b.d;g=c;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(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;};Z.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Z.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(b=f.length)?$throwRuntimeError("index out of range"):f[b]))-48<<24>>>24)),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(b>0;}if(AH(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Z.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AI.Ptr.prototype.AssignComputeBounds=function(a,b,c,d){var e=new AI.Ptr(),f=new AI.Ptr(),g,h,i,j,k,l,m,n,o;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,AI);j=$clone(g,AI);$copy(e,i,AI);$copy(f,j,AI);return[e,f];}k=b-d.bias>>0;$copy(f,new AI.Ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg),AI);if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){$copy(e,new AI.Ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg),AI);}else{$copy(e,new AI.Ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg),AI);}return[e,f];};AI.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AI.Ptr.prototype.Normalize=function(){var a=0,b,c,d,e,f,g,h,i,j,k,l,m,n;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;};AI.prototype.Normalize=function(){return this.$val.Normalize();};AI.Ptr.prototype.Multiply=function(a){var 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;a=$clone(a,AI);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;};AI.prototype.Multiply=function(a){return this.$val.Multiply(a);};AI.Ptr.prototype.AssignDecimal=function(a,b,c,d,e){var f=false,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;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>=AL.length)?$throwRuntimeError("index out of range"):AL[n])),(a.$high=AL.length)?$throwRuntimeError("index out of range"):AL[l])));g.Normalize();}else{g.Normalize();g.Multiply(((l<0||l>=AJ.length)?$throwRuntimeError("index out of range"):AJ[l]));h=h+(4)>>0;}g.Multiply(((j<0||j>=AK.length)?$throwRuntimeError("index out of range"):AK[j]));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<>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>0))*28>>0)/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>=AK.length)?$throwRuntimeError("index out of range"):AK[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(((g<0||g>=AK.length)?$throwRuntimeError("index out of range"):AK[g]));i=-((-348+(g*8>>0)>>0));j=g;a=i;b=j;return[a,b];};AI.prototype.frexp10=function(){return this.$val.frexp10();};AM=function(a,b,c){var d=0,e,f;e=c.frexp10();d=e[0];f=e[1];a.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));b.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));return d;};AI.Ptr.prototype.FixedDecimal=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,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,an,ao,ap;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(r<20){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>=AL.length)?$throwRuntimeError("index out of range"):AL[v]));h=(w=h/((o.$low>>>0)),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-((x=(o.$low>>>0),(((h>>>16<<16)*x>>>0)+(h<<16>>>16)*x)>>>0))>>>0;}else{u=0;}y=$clone(CO.zero(),CO);z=32;aa=h;while(aa>0){ac=(ab=aa/10,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"));aa=aa-(((((10>>>16<<16)*ac>>>0)+(10<<16>>>16)*ac)>>>0))>>>0;z=z-(1)>>0;(z<0||z>=y.length)?$throwRuntimeError("index out of range"):y[z]=((aa+48>>>0)<<24>>>24);aa=ac;}ad=z;while(ad<32){(ae=a.d,af=ad-z>>0,(af<0||af>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+af]=((ad<0||ad>=y.length)?$throwRuntimeError("index out of range"):y[ad]));ad=ad+(1)>>0;}ag=32-z>>0;a.nd=ag;a.dp=n+f>>0;m=m-(ag)>>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(m>0){k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ah=$mul64(new $Uint64(0,2),l),ai=$shiftLeft64(new $Uint64(0,1),g),(ah.$high>ai.$high||(ah.$high===ai.$high&&ah.$low>ai.$low)))){return false;}aj=$shiftRightUint64(k,g);(ak=a.d,(ag<0||ag>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+ag]=(new $Uint64(aj.$high+0,aj.$low+48).$low<<24>>>24));k=(al=$shiftLeft64(aj,g),new $Uint64(k.$high-al.$high,k.$low-al.$low));ag=ag+(1)>>0;m=m-(1)>>0;}a.nd=ag;}an=AN(a,(am=$shiftLeft64(new $Uint64(0,u),g),new $Uint64(am.$high|k.$high,(am.$low|k.$low)>>>0)),o,g,l);if(!an){return false;}ao=a.nd-1>>0;while(ao>=0){if(!(((ap=a.d,((ao<0||ao>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+ao]))===48))){a.nd=ao+1>>0;break;}ao=ao-(1)>>0;}return true;};AI.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AN=function(a,b,c,d,e){var 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<h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(m>=0){if((n=a.d,((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):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<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0]=49);a.nd=1;a.dp=a.dp+(1)>>0;}else{p=a.d;q=m;(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q])+(1)<<24>>>24;}return true;}return false;};AI.Ptr.prototype.ShortestDecimal=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;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,AI)&&$equal(b,c,AI)){f=$clone(CN.zero(),CN);g=23;h=d.mant;while((h.$high>0||(h.$high===0&&h.$low>0))){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"):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(l=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?$throwRuntimeError("index out of range"):f[m])));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))===48)){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=AM(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(al<20){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(ao>0)-1>>0,((ap<0||ap>=AL.length)?$throwRuntimeError("index out of range"):AL[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"):at.$array[at.$offset+ao]=((as+48>>>0)<<24>>>24));y=y-((au=(aq.$low>>>0),(((as>>>16<<16)*au>>>0)+(as<<16>>>16)*au)>>>0))>>>0;aw=(av=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(av.$high+ab.$high,av.$low+ab.$low));if((aw.$high>0;a.dp=ai+s>>0;a.neg=d.neg;return AO(a,aw,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;ax=0;ay=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ay=$mul64(ay,(new $Uint64(0,10)));ax=($shiftRightUint64(ab,x).$low>>0);(az=a.d,ba=a.nd,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=((ax+48>>0)<<24>>>24));a.nd=a.nd+(1)>>0;ab=(bb=$shiftLeft64(new $Uint64(0,ax),x),new $Uint64(ab.$high-bb.$high,ab.$low-bb.$low));if((bc=$mul64(ae,ay),(ab.$high>0;(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])-(1)<<24>>>24;b=(m=e,new $Uint64(b.$high+m.$high,b.$low+m.$low));}if((n=new $Uint64(b.$high+e.$high,b.$low+e.$low),o=(p=(q=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+q.$high,c.$low+q.$low)),new $Uint64(p.$high+f.$high,p.$low+f.$low)),(n.$highr.$high||(b.$high===r.$high&&b.$low>r.$low)))){return false;}if((a.nd===1)&&((s=a.d,((0<0||0>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AT=$pkg.AppendFloat=function(a,b,c,d,e){return AU(a,b,c,d,e);};AU=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;f=new $Uint64(0,0);g=CP.nil;h=e;if(h===32){f=new $Uint64(0,A.Float32bits(b));g=AQ;}else if(h===64){f=A.Float64bits(b);g=AR;}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<>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<>0)-1>>0)){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,new CL($stringToBytes(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 BB(a,j,o,l,g);}if(!G){return AV(a,d,c,j,o,l,g);}t=$clone(new AY.Ptr(),AY);u=false;v=d<0;if(v){w=new AI.Ptr();x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AI);z=$clone(x[1],AI);aa=$clone(CO.zero(),CO);t.d=new CL(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AV(a,d,c,j,o,l,g);}ab=c;if(ab===101||ab===69){d=t.nd-1>>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=$clone(CN.zero(),CN);t.d=new CL(ae);af=new AI.Ptr(o,l-(g.mantbits>>0)>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AV(a,d,c,j,o,l,g);}return AW(a,v,j,t,d,c);};AV=function(a,b,c,d,e,f,g){var h,i,j,k,l;h=new Z.Ptr();h.Assign(e);h.Shift(f-(g.mantbits>>0)>>0);i=$clone(new AY.Ptr(),AY);j=b<0;if(j){AX(h,e,f,g);$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);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);}$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);}return AW(a,j,d,i,b,c);};AW=function(a,b,c,d,e,f){var g,h,i;d=$clone(d,AY);g=f;if(g===101||g===69){return AZ(a,c,d,e,f);}else if(g===102){return BA(a,c,d,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 AZ(a,c,d,e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return BA(a,c,d,BC(e-d.dp>>0,0));}return $append(a,37,f);};AX=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&(332*((a.dp-a.nd>>0))>>0)>=(100*((c-(d.mantbits>>0)>>0))>>0)){return;}f=new Z.Ptr();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 Z.Ptr();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(p=w.length)?$throwRuntimeError("index out of range"):w[p]));}else{t=48;}u=(x=a.d,((p<0||p>=x.length)?$throwRuntimeError("index out of range"):x[p]));if(p=y.length)?$throwRuntimeError("index out of range"):y[p]));}else{v=48;}z=!((t===u))||(o&&(t===u)&&((p+1>>0)===l.nd));aa=!((u===v))&&(o||(u+1<<24>>>24)>0)>0);return;}else if(z){a.RoundDown(p+1>>0);return;}else if(aa){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AZ=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;c=$clone(c,AY);if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,((0<0||0>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=((c.nd+d>>0)+1>>0)-BC(c.nd,d+1>>0)>>0;while(h=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])));h=h+(1)>>0;}while(h<=d){a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);k=c.dp-1>>0;if(c.nd===0){k=0;}if(k<0){f=45;k=-k;}else{f=43;}a=$append(a,f);l=$clone(CQ.zero(),CQ);m=3;while(k>=10){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((n=k%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);k=(o=k/(10),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));}m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((k+48>>0)<<24>>>24);p=m;if(p===0){a=$append(a,l[0],l[1],l[2]);}else if(p===1){a=$append(a,l[1],l[2]);}else if(p===2){a=$append(a,48,l[2]);}return a;};BA=function(a,b,c,d){var e,f,g,h,i,j;c=$clone(c,AY);if(b){a=$append(a,45);}if(c.dp>0){e=0;e=0;while(e=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+e])));e=e+(1)>>0;}while(e>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);g=0;while(g>0;if(0<=i&&i=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]));}a=$append(a,h);g=g+(1)>>0;}}return a;};BB=function(a,b,c,d,e){var f,g,h,i,j,k,l;f=$clone(CR.zero(),CR);g=50;d=d-((e.mantbits>>0))>>0;h=43;if(d<0){h=45;d=-d;}i=0;while(d>0||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(((j=d%10,j===j?j:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);d=(k=d/(10),(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));}g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=h;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=112;i=0;while((c.$high>0||(c.$high===0&&c.$low>0))||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((l=$div64(c,new $Uint64(0,10),true),new $Uint64(l.$high+0,l.$low+48)).$low<<24>>>24);c=$div64(c,(new $Uint64(0,10)),false);}if(b){g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=45;}return $appendSlice(a,$subslice(new CL(f),g));};BC=function(a,b){if(a>b){return a;}return b;};BI=$pkg.FormatInt=function(a,b){var c,d;c=BN(CL.nil,new $Uint64(a.$high,a.$low),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};BJ=$pkg.Itoa=function(a){return BI(new $Int64(0,a),10);};BN=function(a,b,c,d,e){var f=CL.nil,g="",h,i,j,k,l,m,n,o,p,q,r,s,t;if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=$clone(CS.zero(),CS);i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){while((b.$high>0||(b.$high===0&&b.$low>=100))){i=i-(2)>>0;j=$div64(b,new $Uint64(0,100),false);l=((k=$mul64(j,new $Uint64(0,100)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0);(m=i+1>>0,(m<0||m>=h.length)?$throwRuntimeError("index out of range"):h[m]="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".charCodeAt(l));(n=i+0>>0,(n<0||n>=h.length)?$throwRuntimeError("index out of range"):h[n]="0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999".charCodeAt(l));b=j;}if((b.$high>0||(b.$high===0&&b.$low>=10))){i=i-(1)>>0;o=$div64(b,new $Uint64(0,10),false);(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((p=$mul64(o,new $Uint64(0,10)),new $Uint64(b.$high-p.$high,b.$low-p.$low)).$low>>>0));b=o;}}else{q=((c<0||c>=BM.length)?$throwRuntimeError("index out of range"):BM[c]);if(q>0){r=new $Uint64(0,c);s=(r.$low>>>0)-1>>>0;while((b.$high>r.$high||(b.$high===r.$high&&b.$low>=r.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((b.$low>>>0)&s)>>>0));b=$shiftRightUint64(b,(q));}}else{t=new $Uint64(0,c);while((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(($div64(b,t,true).$low>>>0));b=$div64(b,(t),false);}}}i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0));if(d){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=45;}if(e){f=$appendSlice(a,$subslice(new CL(h),i));return[f,g];}g=$bytesToString($subslice(new CL(h),i));return[f,g];};BO=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=$clone(CT.zero(),CT);f=CL.make(0,(e=(3*a.length>>0)/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")));f=$append(f,b);g=0;while(a.length>0){h=(a.charCodeAt(0)>>0);g=1;if(h>=128){i=C.DecodeRuneInString(a);h=i[0];g=i[1];}if((g===1)&&(h===65533)){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));a=a.substring(g);continue;}if((h===(b>>0))||(h===92)){f=$append(f,92);f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}if(c){if(h<128&&CE(h)){f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}}else if(CE(h)){j=C.EncodeRune(new CL(d),h);f=$appendSlice(f,$subslice(new CL(d),0,j));a=a.substring(g);continue;}k=h;if(k===7){f=$appendSlice(f,new CL($stringToBytes("\\a")));}else if(k===8){f=$appendSlice(f,new CL($stringToBytes("\\b")));}else if(k===12){f=$appendSlice(f,new CL($stringToBytes("\\f")));}else if(k===10){f=$appendSlice(f,new CL($stringToBytes("\\n")));}else if(k===13){f=$appendSlice(f,new CL($stringToBytes("\\r")));}else if(k===9){f=$appendSlice(f,new CL($stringToBytes("\\t")));}else if(k===11){f=$appendSlice(f,new CL($stringToBytes("\\v")));}else{if(h<32){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));}else if(h>1114111){h=65533;f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else if(h<65536){f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else{f=$appendSlice(f,new CL($stringToBytes("\\U")));m=28;while(m>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((m>>>0),31))>>0)&15)));m=m-(4)>>0;}}}a=a.substring(g);}f=$append(f,b);return $bytesToString(f);};BP=$pkg.Quote=function(a){return BO(a,34,false);};BR=$pkg.QuoteToASCII=function(a){return BO(a,34,true);};BT=$pkg.QuoteRune=function(a){return BO($encodeRune(a),39,false);};BU=$pkg.AppendQuoteRune=function(a,b){return $appendSlice(a,new CL($stringToBytes(BT(b))));};BV=$pkg.QuoteRuneToASCII=function(a){return BO($encodeRune(a),39,true);};BW=$pkg.AppendQuoteRuneToASCII=function(a,b){return $appendSlice(a,new CL($stringToBytes(BV(b))));};BX=$pkg.CanBackquote=function(a){var b,c,d;while(a.length>0){b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=a.substring(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;};BY=function(a){var b=0,c=false,d,e,f,g,h,i,j;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];};BZ=$pkg.UnquoteChar=function(a,b){var c=0,d=false,e="",f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;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=a.substring(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=a.substring(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=a.substring(2);t=s;switch(0){default: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>0)|z;x=x+(1)>>0;}a=a.substring(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(ac<2){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=a.substring(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];};CA=$pkg.Unquote=function(a){var b="",c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,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,an;d=a.length;if(d<2){e="";f=$pkg.ErrSyntax;b=e;c=f;return[b,c];}g=a.charCodeAt(0);if(!((g===a.charCodeAt((d-1>>0))))){h="";i=$pkg.ErrSyntax;b=h;c=i;return[b,c];}a=a.substring(1,(d-1>>0));if(g===96){if(CB(a,96)){j="";k=$pkg.ErrSyntax;b=j;c=k;return[b,c];}l=a;m=$ifaceNil;b=l;c=m;return[b,c];}if(!((g===34))&&!((g===39))){n="";o=$pkg.ErrSyntax;b=n;c=o;return[b,c];}if(CB(a,10)){p="";q=$pkg.ErrSyntax;b=p;c=q;return[b,c];}if(!CB(a,92)&&!CB(a,g)){r=g;if(r===34){s=a;t=$ifaceNil;b=s;c=t;return[b,c];}else if(r===39){u=C.DecodeRuneInString(a);v=u[0];w=u[1];if((w===a.length)&&(!((v===65533))||!((w===1)))){x=a;y=$ifaceNil;b=x;c=y;return[b,c];}}}z=$clone(CT.zero(),CT);ab=CL.make(0,(aa=(3*a.length>>0)/2,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>0:$throwRuntimeError("integer divide by zero")));while(a.length>0){ac=BZ(a,g);ad=ac[0];ae=ac[1];af=ac[2];ag=ac[3];if(!($interfaceIsEqual(ag,$ifaceNil))){ah="";ai=ag;b=ah;c=ai;return[b,c];}a=af;if(ad<128||!ae){ab=$append(ab,(ad<<24>>>24));}else{aj=C.EncodeRune(new CL(z),ad);ab=$appendSlice(ab,$subslice(new CL(z),0,aj));}if((g===39)&&!((a.length===0))){ak="";al=$pkg.ErrSyntax;b=ak;c=al;return[b,c];}}am=$bytesToString(ab);an=$ifaceNil;b=am;c=an;return[b,c];};CB=function(a,b){var c;c=0;while(c>0;}return false;};CC=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CD=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CE=$pkg.IsPrint=function(a){var 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=CC(f,e);if(h>=f.$length||e<(i=h&~1,((i<0||i>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]))=g.$length||!((((k<0||k>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+k])===e));}l=(a>>>0);m=BF;n=BG;o=l;p=m;q=n;r=CD(p,o);if(r>=p.$length||o<(s=r&~1,((s<0||s>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+t]))=131072){return true;}a=a-(65536)>>0;u=CC(q,(a<<16>>>16));return u>=q.$length||!((((u<0||u>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+u])===(a<<16>>>16)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}CI=$sliceType(AD);CJ=$sliceType($Uint16);CK=$sliceType($Uint32);CL=$sliceType($Uint8);CN=$arrayType($Uint8,24);CO=$arrayType($Uint8,32);CP=$ptrType(AP);CQ=$arrayType($Uint8,3);CR=$arrayType($Uint8,50);CS=$arrayType($Uint8,65);CT=$arrayType($Uint8,4);CU=$arrayType($Uint8,800);CV=$ptrType(Z);CW=$ptrType(AY);CX=$ptrType(AI);CV.methods=[["Assign","Assign","",$funcType([$Uint64],[],false),-1],["Round","Round","",$funcType([$Int],[],false),-1],["RoundDown","RoundDown","",$funcType([$Int],[],false),-1],["RoundUp","RoundUp","",$funcType([$Int],[],false),-1],["RoundedInteger","RoundedInteger","",$funcType([],[$Uint64],false),-1],["Shift","Shift","",$funcType([$Int],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["set","set","strconv",$funcType([$String],[$Bool],false),-1]];Z.init([["d","d","strconv",CU,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""],["trunc","trunc","strconv",$Bool,""]]);AD.init([["delta","delta","strconv",$Int,""],["cutoff","cutoff","strconv",$String,""]]);CX.methods=[["AssignComputeBounds","AssignComputeBounds","",$funcType([$Uint64,$Int,$Bool,CP],[AI,AI],false),-1],["AssignDecimal","AssignDecimal","",$funcType([$Uint64,$Int,$Bool,$Bool,CP],[$Bool],false),-1],["FixedDecimal","FixedDecimal","",$funcType([CW,$Int],[$Bool],false),-1],["Multiply","Multiply","",$funcType([AI],[],false),-1],["Normalize","Normalize","",$funcType([],[$Uint],false),-1],["ShortestDecimal","ShortestDecimal","",$funcType([CW,CX,CX],[$Bool],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["frexp10","frexp10","strconv",$funcType([],[$Int,$Int],false),-1]];AI.init([["mant","mant","strconv",$Uint64,""],["exp","exp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);AP.init([["mantbits","mantbits","strconv",$Uint,""],["expbits","expbits","strconv",$Uint,""],["bias","bias","strconv",$Int,""]]);AY.init([["d","d","strconv",CL,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);G=true;$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AE=new CI([new AD.Ptr(0,""),new AD.Ptr(1,"5"),new AD.Ptr(1,"25"),new AD.Ptr(1,"125"),new AD.Ptr(2,"625"),new AD.Ptr(2,"3125"),new AD.Ptr(2,"15625"),new AD.Ptr(3,"78125"),new AD.Ptr(3,"390625"),new AD.Ptr(3,"1953125"),new AD.Ptr(4,"9765625"),new AD.Ptr(4,"48828125"),new AD.Ptr(4,"244140625"),new AD.Ptr(4,"1220703125"),new AD.Ptr(5,"6103515625"),new AD.Ptr(5,"30517578125"),new AD.Ptr(5,"152587890625"),new AD.Ptr(6,"762939453125"),new AD.Ptr(6,"3814697265625"),new AD.Ptr(6,"19073486328125"),new AD.Ptr(7,"95367431640625"),new AD.Ptr(7,"476837158203125"),new AD.Ptr(7,"2384185791015625"),new AD.Ptr(7,"11920928955078125"),new AD.Ptr(8,"59604644775390625"),new AD.Ptr(8,"298023223876953125"),new AD.Ptr(8,"1490116119384765625"),new AD.Ptr(9,"7450580596923828125")]);AJ=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(2147483648,0),-63,false),new AI.Ptr(new $Uint64(2684354560,0),-60,false),new AI.Ptr(new $Uint64(3355443200,0),-57,false),new AI.Ptr(new $Uint64(4194304000,0),-54,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3276800000,0),-47,false),new AI.Ptr(new $Uint64(4096000000,0),-44,false),new AI.Ptr(new $Uint64(2560000000,0),-40,false)]);AK=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(4203730336,136053384),-1220,false),new AI.Ptr(new $Uint64(3132023167,2722021238),-1193,false),new AI.Ptr(new $Uint64(2333539104,810921078),-1166,false),new AI.Ptr(new $Uint64(3477244234,1573795306),-1140,false),new AI.Ptr(new $Uint64(2590748842,1432697645),-1113,false),new AI.Ptr(new $Uint64(3860516611,1025131999),-1087,false),new AI.Ptr(new $Uint64(2876309015,3348809418),-1060,false),new AI.Ptr(new $Uint64(4286034428,3200048207),-1034,false),new AI.Ptr(new $Uint64(3193344495,1097586188),-1007,false),new AI.Ptr(new $Uint64(2379227053,2424306748),-980,false),new AI.Ptr(new $Uint64(3545324584,827693699),-954,false),new AI.Ptr(new $Uint64(2641472655,2913388981),-927,false),new AI.Ptr(new $Uint64(3936100983,602835915),-901,false),new AI.Ptr(new $Uint64(2932623761,1081627501),-874,false),new AI.Ptr(new $Uint64(2184974969,1572261463),-847,false),new AI.Ptr(new $Uint64(3255866422,1308317239),-821,false),new AI.Ptr(new $Uint64(2425809519,944281679),-794,false),new AI.Ptr(new $Uint64(3614737867,629291719),-768,false),new AI.Ptr(new $Uint64(2693189581,2545915892),-741,false),new AI.Ptr(new $Uint64(4013165208,388672741),-715,false),new AI.Ptr(new $Uint64(2990041083,708162190),-688,false),new AI.Ptr(new $Uint64(2227754207,3536207675),-661,false),new AI.Ptr(new $Uint64(3319612455,450088378),-635,false),new AI.Ptr(new $Uint64(2473304014,3139815830),-608,false),new AI.Ptr(new $Uint64(3685510180,2103616900),-582,false),new AI.Ptr(new $Uint64(2745919064,224385782),-555,false),new AI.Ptr(new $Uint64(4091738259,3737383206),-529,false),new AI.Ptr(new $Uint64(3048582568,2868871352),-502,false),new AI.Ptr(new $Uint64(2271371013,1820084875),-475,false),new AI.Ptr(new $Uint64(3384606560,885076051),-449,false),new AI.Ptr(new $Uint64(2521728396,2444895829),-422,false),new AI.Ptr(new $Uint64(3757668132,1881767613),-396,false),new AI.Ptr(new $Uint64(2799680927,3102062735),-369,false),new AI.Ptr(new $Uint64(4171849679,2289335700),-343,false),new AI.Ptr(new $Uint64(3108270227,2410191823),-316,false),new AI.Ptr(new $Uint64(2315841784,3205436779),-289,false),new AI.Ptr(new $Uint64(3450873173,1697722806),-263,false),new AI.Ptr(new $Uint64(2571100870,3497754540),-236,false),new AI.Ptr(new $Uint64(3831238852,707476230),-210,false),new AI.Ptr(new $Uint64(2854495385,1769181907),-183,false),new AI.Ptr(new $Uint64(4253529586,2197867022),-157,false),new AI.Ptr(new $Uint64(3169126500,2450594539),-130,false),new AI.Ptr(new $Uint64(2361183241,1867548876),-103,false),new AI.Ptr(new $Uint64(3518437208,3793315116),-77,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3906250000,0),-24,false),new AI.Ptr(new $Uint64(2910383045,2892103680),3,false),new AI.Ptr(new $Uint64(2168404344,4170451332),30,false),new AI.Ptr(new $Uint64(3231174267,3372684723),56,false),new AI.Ptr(new $Uint64(2407412430,2078956656),83,false),new AI.Ptr(new $Uint64(3587324068,2884206696),109,false),new AI.Ptr(new $Uint64(2672764710,395977285),136,false),new AI.Ptr(new $Uint64(3982729777,3569679143),162,false),new AI.Ptr(new $Uint64(2967364920,2361961896),189,false),new AI.Ptr(new $Uint64(2210859150,447440347),216,false),new AI.Ptr(new $Uint64(3294436857,1114709402),242,false),new AI.Ptr(new $Uint64(2454546732,2786846552),269,false),new AI.Ptr(new $Uint64(3657559652,443583978),295,false),new AI.Ptr(new $Uint64(2725094297,2599384906),322,false),new AI.Ptr(new $Uint64(4060706939,3028118405),348,false),new AI.Ptr(new $Uint64(3025462433,2044532855),375,false),new AI.Ptr(new $Uint64(2254145170,1536935362),402,false),new AI.Ptr(new $Uint64(3358938053,3365297469),428,false),new AI.Ptr(new $Uint64(2502603868,4204241075),455,false),new AI.Ptr(new $Uint64(3729170365,2577424355),481,false),new AI.Ptr(new $Uint64(2778448436,3677981733),508,false),new AI.Ptr(new $Uint64(4140210802,2744688476),534,false),new AI.Ptr(new $Uint64(3084697427,1424604878),561,false),new AI.Ptr(new $Uint64(2298278679,4062331362),588,false),new AI.Ptr(new $Uint64(3424702107,3546052773),614,false),new AI.Ptr(new $Uint64(2551601907,2065781727),641,false),new AI.Ptr(new $Uint64(3802183132,2535403578),667,false),new AI.Ptr(new $Uint64(2832847187,1558426518),694,false),new AI.Ptr(new $Uint64(4221271257,2762425404),720,false),new AI.Ptr(new $Uint64(3145092172,2812560400),747,false),new AI.Ptr(new $Uint64(2343276271,3057687578),774,false),new AI.Ptr(new $Uint64(3491753744,2790753324),800,false),new AI.Ptr(new $Uint64(2601559269,3918606633),827,false),new AI.Ptr(new $Uint64(3876625403,2711358621),853,false),new AI.Ptr(new $Uint64(2888311001,1648096297),880,false),new AI.Ptr(new $Uint64(2151959390,2057817989),907,false),new AI.Ptr(new $Uint64(3206669376,61660461),933,false),new AI.Ptr(new $Uint64(2389154863,1581580175),960,false),new AI.Ptr(new $Uint64(3560118173,2626467905),986,false),new AI.Ptr(new $Uint64(2652494738,3034782633),1013,false),new AI.Ptr(new $Uint64(3952525166,3135207385),1039,false),new AI.Ptr(new $Uint64(2944860731,2616258155),1066,false)]);AL=$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)]);AQ=new AP.Ptr(23,8,-127);AR=new AP.Ptr(52,11,-1023);BD=new CJ([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,2226,2276,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,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,3161,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3406,3415,3415,3424,3427,3430,3445,3449,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,5108,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,7295,7360,7367,7376,7417,7424,7669,7676,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8381,8400,8432,8448,8585,8592,9210,9216,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11842,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40908,40960,42124,42128,42182,42192,42539,42560,42743,42752,42925,42928,42929,42999,43051,43056,43065,43072,43127,43136,43204,43214,43225,43232,43259,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43871,43876,43877,43968,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,65069,65072,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CJ([173,907,909,930,1328,1376,1416,1424,1757,2111,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,3200,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,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42654,42895,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CK([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65932,65936,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,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67840,67867,67871,67897,67903,67903,67968,68023,68030,68031,68096,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,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70088,70093,70093,70096,70106,70113,70132,70144,70205,70320,70378,70384,70393,70401,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70487,70487,70493,70499,70502,70508,70512,70516,70784,70855,70864,70873,71040,71093,71096,71113,71168,71236,71248,71257,71296,71351,71360,71369,71840,71922,71935,71935,72384,72440,73728,74648,74752,74868,77824,78894,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119261,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,120831,124928,125124,125127,125142,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,127386,127462,127490,127504,127546,127552,127560,127568,127569,127744,127788,127792,127869,127872,127950,127956,127991,128000,128330,128336,128578,128581,128719,128736,128748,128752,128755,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,131072,173782,173824,177972,177984,178205,194560,195101,917760,917999]);BG=new CJ([12,39,59,62,926,2057,2102,2134,2564,2580,2584,4285,4405,4626,4868,4905,4913,4916,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,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,62719,62842,62884]);BM=$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;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["reflect"]=(function(){var $pkg={},B,E,A,C,D,FF,FG,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GE,GF,GG,GH,GI,GJ,GO,GQ,GR,GS,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HF,HG,HH,HI,AF,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BS,BT,BU,CT,CU,CX,CZ,F,BR,DG,G,H,I,J,K,L,M,N,O,P,T,U,V,W,Y,AC,AD,AE,AG,AH,AI,AJ,AK,AM,AN,AO,AP,AQ,BW,BY,BZ,CA,CL,CQ,DH,DZ,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW;B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["math"];A=$packages["runtime"];C=$packages["strconv"];D=$packages["sync"];AF=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter","mapIter","reflect",function(t_,m_,keys_,i_){this.$val=this;this.t=t_!==undefined?t_:$ifaceNil;this.m=m_!==undefined?m_:null;this.keys=keys_!==undefined?keys_:null;this.i=i_!==undefined?i_:0;});AZ=$pkg.Type=$newType(8,$kindInterface,"reflect.Type","Type","reflect",null);BA=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind","Kind","reflect",null);BB=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype","rtype","reflect",function(size_,hash_,_$2_,align_,fieldAlign_,kind_,alg_,gc_,string_,uncommonType_,ptrToThis_,zero_){this.$val=this;this.size=size_!==undefined?size_:0;this.hash=hash_!==undefined?hash_:0;this._$2=_$2_!==undefined?_$2_:0;this.align=align_!==undefined?align_:0;this.fieldAlign=fieldAlign_!==undefined?fieldAlign_:0;this.kind=kind_!==undefined?kind_:0;this.alg=alg_!==undefined?alg_:FP.nil;this.gc=gc_!==undefined?gc_:FQ.zero();this.string=string_!==undefined?string_:FR.nil;this.uncommonType=uncommonType_!==undefined?uncommonType_:FS.nil;this.ptrToThis=ptrToThis_!==undefined?ptrToThis_:FF.nil;this.zero=zero_!==undefined?zero_:0;});BC=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg","typeAlg","reflect",function(hash_,equal_){this.$val=this;this.hash=hash_!==undefined?hash_:$throwNilPointerError;this.equal=equal_!==undefined?equal_:$throwNilPointerError;});BD=$pkg.method=$newType(0,$kindStruct,"reflect.method","method","reflect",function(name_,pkgPath_,mtyp_,typ_,ifn_,tfn_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.mtyp=mtyp_!==undefined?mtyp_:FF.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.ifn=ifn_!==undefined?ifn_:0;this.tfn=tfn_!==undefined?tfn_:0;});BE=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType","uncommonType","reflect",function(name_,pkgPath_,methods_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.methods=methods_!==undefined?methods_:FT.nil;});BF=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir","ChanDir","reflect",null);BG=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType","arrayType","reflect",function(rtype_,elem_,slice_,len_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.slice=slice_!==undefined?slice_:FF.nil;this.len=len_!==undefined?len_:0;});BH=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType","chanType","reflect",function(rtype_,elem_,dir_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.dir=dir_!==undefined?dir_:0;});BI=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType","funcType","reflect",function(rtype_,dotdotdot_,in$2_,out_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.dotdotdot=dotdotdot_!==undefined?dotdotdot_:false;this.in$2=in$2_!==undefined?in$2_:FU.nil;this.out=out_!==undefined?out_:FU.nil;});BJ=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod","imethod","reflect",function(name_,pkgPath_,typ_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;});BK=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType","interfaceType","reflect",function(rtype_,methods_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.methods=methods_!==undefined?methods_:FV.nil;});BL=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType","mapType","reflect",function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.key=key_!==undefined?key_:FF.nil;this.elem=elem_!==undefined?elem_:FF.nil;this.bucket=bucket_!==undefined?bucket_:FF.nil;this.hmap=hmap_!==undefined?hmap_:FF.nil;this.keysize=keysize_!==undefined?keysize_:0;this.indirectkey=indirectkey_!==undefined?indirectkey_:0;this.valuesize=valuesize_!==undefined?valuesize_:0;this.indirectvalue=indirectvalue_!==undefined?indirectvalue_:0;this.bucketsize=bucketsize_!==undefined?bucketsize_:0;});BM=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType","ptrType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BN=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType","sliceType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BO=$pkg.structField=$newType(0,$kindStruct,"reflect.structField","structField","reflect",function(name_,pkgPath_,typ_,tag_,offset_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.tag=tag_!==undefined?tag_:FR.nil;this.offset=offset_!==undefined?offset_:0;});BP=$pkg.structType=$newType(0,$kindStruct,"reflect.structType","structType","reflect",function(rtype_,fields_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.fields=fields_!==undefined?fields_:FW.nil;});BQ=$pkg.Method=$newType(0,$kindStruct,"reflect.Method","Method","reflect",function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Func=Func_!==undefined?Func_:new CT.Ptr();this.Index=Index_!==undefined?Index_:0;});BS=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField","StructField","reflect",function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Tag=Tag_!==undefined?Tag_:"";this.Offset=Offset_!==undefined?Offset_:0;this.Index=Index_!==undefined?Index_:GH.nil;this.Anonymous=Anonymous_!==undefined?Anonymous_:false;});BT=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag","StructTag","reflect",null);BU=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan","fieldScan","reflect",function(typ_,index_){this.$val=this;this.typ=typ_!==undefined?typ_:GJ.nil;this.index=index_!==undefined?index_:GH.nil;});CT=$pkg.Value=$newType(0,$kindStruct,"reflect.Value","Value","reflect",function(typ_,ptr_,flag_){this.$val=this;this.typ=typ_!==undefined?typ_:FF.nil;this.ptr=ptr_!==undefined?ptr_:0;this.flag=flag_!==undefined?flag_:0;});CU=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag","flag","reflect",null);CX=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError","ValueError","reflect",function(Method_,Kind_){this.$val=this;this.Method=Method_!==undefined?Method_:"";this.Kind=Kind_!==undefined?Kind_:0;});CZ=$pkg.nonEmptyInterface=$newType(0,$kindStruct,"reflect.nonEmptyInterface","nonEmptyInterface","reflect",function(itab_,word_){this.$val=this;this.itab=itab_!==undefined?itab_:GA.nil;this.word=word_!==undefined?word_:0;});G=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar;ad=(function(ad){});ad((ae=new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0),new ae.constructor.Struct(ae)));ad((af=new BE.Ptr(FR.nil,FR.nil,FT.nil),new af.constructor.Struct(af)));ad((ag=new BD.Ptr(FR.nil,FR.nil,FF.nil,FF.nil,0,0),new ag.constructor.Struct(ag)));ad((ah=new BG.Ptr(new BB.Ptr(),FF.nil,FF.nil,0),new ah.constructor.Struct(ah)));ad((ai=new BH.Ptr(new BB.Ptr(),FF.nil,0),new ai.constructor.Struct(ai)));ad((aj=new BI.Ptr(new BB.Ptr(),false,FU.nil,FU.nil),new aj.constructor.Struct(aj)));ad((ak=new BK.Ptr(new BB.Ptr(),FV.nil),new ak.constructor.Struct(ak)));ad((al=new BL.Ptr(new BB.Ptr(),FF.nil,FF.nil,FF.nil,FF.nil,0,0,0,0,0),new al.constructor.Struct(al)));ad((am=new BM.Ptr(new BB.Ptr(),FF.nil),new am.constructor.Struct(am)));ad((an=new BN.Ptr(new BB.Ptr(),FF.nil),new an.constructor.Struct(an)));ad((ao=new BP.Ptr(new BB.Ptr(),FW.nil),new ao.constructor.Struct(ao)));ad((ap=new BJ.Ptr(FR.nil,FR.nil,FF.nil),new ap.constructor.Struct(ap)));ad((aq=new BO.Ptr(FR.nil,FR.nil,FF.nil,FR.nil,0),new aq.constructor.Struct(aq)));ar=$pkg;ar.RecvDir=1;ar.SendDir=2;ar.BothDir=3;$reflect=ar;F=true;DG=$assertType(O(new $Uint8(0)),FF);};H=function(ad){return ad.jsType;};I=function(ad){return ad.reflectType();};J=function(ad){var ae;ae=ad.Kind();if(ae===1||ae===2||ae===3||ae===4||ae===5||ae===7||ae===8||ae===9||ae===10||ae===12||ae===13||ae===14||ae===17||ae===21||ae===19||ae===24||ae===25){return true;}else if(ae===22){return ad.Elem().Kind()===17;}return false;};K=function(ad,ae,af){var ag,ah,ai;ag=H(af).fields;ah=0;while(ah<$parseInt(ag.length)){ai=$internalize(ag[ah][0],$String);ad[$externalize(ai,$String)]=ae[$externalize(ai,$String)];ah=ah+(1)>>0;}};L=function(ad,ae,af){var ag;ag=ad.common();if((ad.Kind()===17)||(ad.Kind()===25)||(ad.Kind()===22)){return new CT.Ptr(ag,ae,(af|(ad.Kind()>>>0))>>>0);}return new CT.Ptr(ag,$newDataPointer(ae,H(ag.ptrTo())),(((af|(ad.Kind()>>>0))>>>0)|64)>>>0);};M=$pkg.MakeSlice=function(ad,ae,af){if(!((ad.Kind()===23))){$panic(new $String("reflect.MakeSlice of non-slice type"));}if(ae<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(af<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ae>af){$panic(new $String("reflect.MakeSlice: len > cap"));}return L(ad,H(ad).make(ae,af,(function(){return H(ad.Elem()).zero();})),0);};N=function(){return I($packages[$externalize("github.com/gopherjs/gopherjs/js",$String)].Object);};O=$pkg.TypeOf=function(ad){var ae;if(!F){return new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0);}if($interfaceIsEqual(ad,$ifaceNil)){return $ifaceNil;}ae=ad.constructor;if(ae.kind===undefined){return N();}return I(ae);};P=$pkg.ValueOf=function(ad){var ae;if($interfaceIsEqual(ad,$ifaceNil)){return new CT.Ptr(FF.nil,0,0);}ae=ad.constructor;if(ae.kind===undefined){return new CT.Ptr(N(),ad,20);}return L(I(ae),ad.$val,0);};BB.Ptr.prototype.ptrTo=function(){var ad;ad=this;return I($ptrType(H(ad)));};BB.prototype.ptrTo=function(){return this.$val.ptrTo();};T=$pkg.SliceOf=function(ad){return I($sliceType(H(ad)));};U=$pkg.Zero=function(ad){return L(ad,H(ad).zero(),0);};V=function(ad){var ae;ae=ad.Kind();if(ae===25){return new(H(ad).Ptr)();}else if(ae===17){return H(ad).zero();}else{return $newDataPointer(H(ad).zero(),H(ad.ptrTo()));}};W=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.Kind();if(ai===3){ah.$set((ae.$low<<24>>24));}else if(ai===4){ah.$set((ae.$low<<16>>16));}else if(ai===2||ai===5){ah.$set((ae.$low>>0));}else if(ai===6){ah.$set(new $Int64(ae.$high,ae.$low));}else if(ai===8){ah.$set((ae.$low<<24>>>24));}else if(ai===9){ah.$set((ae.$low<<16>>>16));}else if(ai===7||ai===10||ai===12){ah.$set((ae.$low>>>0));}else if(ai===11){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};Y=function(ad,ae,af){ad.$set(ae.$get());};AC=function(ad,ae,af){var ag,ah;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}ah=ae[$externalize($internalize(ag,$String),$String)];if(ah===undefined){return 0;}return $newDataPointer(ah.v,H(BW(ad.Elem())));};AD=function(ad,ae,af,ag){var ah,ai,aj,ak,al,am;ah=af.$get();ai=ah;if(!(ai.$key===undefined)){ai=ai.$key();}aj=ag.$get();ak=ad.Elem();if(ak.Kind()===25){al=H(ak).zero();K(al,aj,ak);aj=al;}am=new($global.Object)();am.k=ah;am.v=aj;ae[$externalize($internalize(ai,$String),$String)]=am;};AE=function(ad,ae,af){var ag;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}delete ae[$externalize($internalize(ag,$String),$String)];};AG=function(ad,ae){return new AF.Ptr(ad,ae,$keys(ae),0);};AH=function(ad){var ae,af;ae=ad;af=ae.keys[ae.i];return $newDataPointer(ae.m[$externalize($internalize(af,$String),$String)].k,H(BW(ae.t.Key())));};AI=function(ad){var ae;ae=ad;ae.i=ae.i+(1)>>0;};AJ=function(ad){return $parseInt($keys(ad).length);};AK=function(ad,ae){var af,ag,ah,ai,aj;ad=ad;af=ad.object();if(af===H(ad.typ).nil){return L(ae,H(ae).nil,ad.flag);}ag=null;ah=ae.Kind();ai=ah;switch(0){default:if(ai===18){ag=new(H(ae))();}else if(ai===23){aj=new(H(ae))(af.$array);aj.$offset=af.$offset;aj.$length=af.$length;aj.$capacity=af.$capacity;ag=$newDataPointer(aj,H(BW(ae)));}else if(ai===22){if(ae.Elem().Kind()===25){if($interfaceIsEqual(ae.Elem(),ad.typ.Elem())){ag=af;break;}ag=new(H(ae))();K(ag,af,ae.Elem());break;}ag=new(H(ae))(af.$get,af.$set);}else if(ai===25){ag=new(H(ae).Ptr)();K(ag,af,ae);}else if(ai===17||ai===19||ai===20||ai===21||ai===24){ag=ad.ptr;}else{$panic(new CX.Ptr("reflect.Convert",ah));}}return new CT.Ptr(ae.common(),ag,(((ad.flag&96)>>>0)|(ae.Kind()>>>0))>>>0);};AM=function(ad,ae,af){var ag=FF.nil,ah=FF.nil,ai=0,aj,ak,al,am,an,ao,ap,aq,ar;ae=ae;aj="";if(ae.typ.Kind()===20){ak=ae.typ.interfaceType;if(af<0||af>=ak.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}am=(al=ak.methods,((af<0||af>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+af]));if(!($pointerIsEqual(am.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}an=$clone(ae.ptr,CZ);if(an.itab===GA.nil){$panic(new $String("reflect: "+ad+" of method on nil interface value"));}ah=am.typ;aj=am.name.$get();}else{ao=ae.typ.uncommonType.uncommon();if(ao===FS.nil||af<0||af>=ao.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}aq=(ap=ao.methods,((af<0||af>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+af]));if(!($pointerIsEqual(aq.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}ah=aq.mtyp;aj=$internalize(H(ae.typ).methods[af][0],$String);}ar=ae.object();if(J(ae.typ)){ar=new(H(ae.typ))(ar);}ai=ar[$externalize(aj,$String)];return[ag,ah,ai];};AN=function(ad,ae){ad=ad;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.Interface",0));}if(ae&&!((((ad.flag&32)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((ad.flag&256)>>>0)===0))){ad=AQ("Interface",ad);}if(J(ad.typ)){return new(H(ad.typ))(ad.object());}return ad.object();};AO=function(ad,ae,af){af.$set(ae);};AP=function(){return"?FIXME?";};AQ=function(ad,ae){var af,ag,ah,ai;ae=ae;if(((ae.flag&256)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}af=AM(ad,ae,(ae.flag>>0)>>9>>0);ag=af[2];ah=ae.object();if(J(ae.typ)){ah=new(H(ae.typ))(ah);}ai=(function(){return ag.apply(ah,$externalize(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),GB));});return new CT.Ptr(ae.Type().common(),ai,(((ae.flag&32)>>>0)|19)>>>0);};BB.Ptr.prototype.pointers=function(){var ad,ae;ad=this;ae=ad.Kind();if(ae===22||ae===21||ae===18||ae===19||ae===25||ae===17){return true;}else{return false;}};BB.prototype.pointers=function(){return this.$val.pointers();};BB.Ptr.prototype.Comparable=function(){var ad,ae,af;ad=this;ae=ad.Kind();if(ae===19||ae===23||ae===21){return false;}else if(ae===17){return ad.Elem().Comparable();}else if(ae===25){af=0;while(af>0;}}return true;};BB.prototype.Comparable=function(){return this.$val.Comparable();};BE.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah,ai,aj,ak,al;af=this;if(af===FS.nil||ad<0||ad>=af.methods.$length){$panic(new $String("reflect: Method index out of range"));}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}ai=19;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();ai=(ai|(32))>>>0;}aj=ah.typ;ae.Type=aj;ak=$internalize(af.jsType.methods[ad][0],$String);al=(function(al){return al[$externalize(ak,$String)].apply(al,$externalize($subslice(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),1),GB));});ae.Func=new CT.Ptr(aj,al,ai);ae.Index=ad;return ae;};BE.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.object=function(){var ad,ae,af,ag;ad=this;if((ad.typ.Kind()===17)||(ad.typ.Kind()===25)){return ad.ptr;}if(!((((ad.flag&64)>>>0)===0))){ae=ad.ptr.$get();if(!(ae===$ifaceNil)&&!(ae.constructor===H(ad.typ))){af=ad.typ.Kind();switch(0){default:if(af===11||af===6){ae=new(H(ad.typ))(ae.$high,ae.$low);}else if(af===15||af===16){ae=new(H(ad.typ))(ae.$real,ae.$imag);}else if(af===23){if(ae===ae.constructor.nil){ae=H(ad.typ).nil;break;}ag=new(H(ad.typ))(ae.$array);ag.$offset=ae.$offset;ag.$length=ae.$length;ag.$capacity=ae.$capacity;ae=ag;}}}return ae;}return ad.ptr;};CT.prototype.object=function(){return this.$val.object();};CT.Ptr.prototype.call=function(ad,ae){var 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;af=this;ag=af.typ;ah=0;ai=null;if(!((((af.flag&256)>>>0)===0))){aj=AM(ad,af,(af.flag>>0)>>9>>0);ag=aj[1];ah=aj[2];ai=af.object();if(J(af.typ)){ai=new(H(af.typ))(ai);}}else{ah=af.object();}if(ah===0){$panic(new $String("reflect.Value.Call: call of nil function"));}ak=ad==="CallSlice";al=ag.NumIn();if(ak){if(!ag.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ae.$lengthal){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(ag.IsVariadic()){al=al-(1)>>0;}if(ae.$lengthal){$panic(new $String("reflect: Call with too many input arguments"));}}am=ae;an=0;while(an=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);if(ao.Kind()===0){$panic(new $String("reflect: "+ad+" using zero Value argument"));}an++;}ap=0;while(ap=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ap]).Type();ar=ag.In(ap);as=aq;at=ar;if(!as.AssignableTo(at)){$panic(new $String("reflect: "+ad+" using "+as.String()+" as type "+at.String()));}ap=ap+(1)>>0;}if(!ak&&ag.IsVariadic()){au=ae.$length-al>>0;av=M(ag.In(al),au,au);aw=ag.In(al).Elem();ax=0;while(ax>0,((ay<0||ay>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ay]));ba=az.Type();if(!ba.AssignableTo(aw)){$panic(new $String("reflect: cannot use "+ba.String()+" as type "+aw.String()+" in "+ad));}av.Index(ax).Set(az);ax=ax+(1)>>0;}bb=ae;ae=FX.make((al+1>>0));$copySlice($subslice(ae,0,al),bb);(al<0||al>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+al]=av;}bc=ae.$length;if(!((bc===ag.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bd=ag.NumOut();be=new($global.Array)(ag.NumIn());bf=ae;bg=0;while(bg=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bg]);be[bh]=bi.assignTo("reflect.Value.Call",ag.In(bh).common(),0).object();bg++;}bj=ah.apply(ai,be);bk=bd;if(bk===0){return FX.nil;}else if(bk===1){return new FX([$clone(L(ag.Out(0),bj,0),CT)]);}else{bl=FX.make(bd);bm=bl;bn=0;while(bn=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bo]=L(ag.Out(bo),bj[bo],0);bn++;}return bl;}};CT.prototype.call=function(ad,ae){return this.$val.call(ad,ae);};CT.Ptr.prototype.Cap=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17){return ad.typ.Len();}else if(af===18||af===23){return $parseInt(ad.object().$capacity)>>0;}$panic(new CX.Ptr("reflect.Value.Cap",ae));};CT.prototype.Cap=function(){return this.$val.Cap();};CT.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj,ak;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===20){ag=ad.object();if(ag===$ifaceNil){return new CT.Ptr(FF.nil,0,0);}ah=I(ag.constructor);return L(ah,ag.$val,(ad.flag&32)>>>0);}else if(af===22){if(ad.IsNil()){return new CT.Ptr(FF.nil,0,0);}ai=ad.object();aj=ad.typ.ptrType;ak=(((((ad.flag&32)>>>0)|64)>>>0)|128)>>>0;ak=(ak|((aj.elem.Kind()>>>0)))>>>0;return new CT.Ptr(aj.elem,ai,ak);}else{$panic(new CX.Ptr("reflect.Value.Elem",ae));}};CT.prototype.Elem=function(){return this.$val.Elem();};CT.Ptr.prototype.Field=function(ad){var ae,af,ag,ah,ai,aj,ak,al;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.structType;if(ad<0||ad>=af.fields.$length){$panic(new $String("reflect: Field index out of range"));}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ai=$internalize(H(ae.typ).fields[ad][0],$String);aj=ah.typ;ak=(ae.flag&224)>>>0;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ak=(ak|(32))>>>0;}ak=(ak|((aj.Kind()>>>0)))>>>0;al=ae.ptr;if(!((((ak&64)>>>0)===0))&&!((aj.Kind()===17))&&!((aj.Kind()===25))){return new CT.Ptr(aj,new(H(BW(aj)))((function(){return al[$externalize(ai,$String)];}),(function(am){al[$externalize(ai,$String)]=am;})),ak);}return L(aj,al[$externalize(ai,$String)],ak);};CT.prototype.Field=function(ad){return this.$val.Field(ad);};CT.Ptr.prototype.Index=function(ad){var ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===17){ah=ae.typ.arrayType;if(ad<0||ad>(ah.len>>0)){$panic(new $String("reflect: array index out of range"));}ai=ah.elem;aj=(ae.flag&224)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;ak=ae.ptr;if(!((((aj&64)>>>0)===0))&&!((ai.Kind()===17))&&!((ai.Kind()===25))){return new CT.Ptr(ai,new(H(BW(ai)))((function(){return ak[ad];}),(function(al){ak[ad]=al;})),aj);}return L(ai,ak[ad],aj);}else if(ag===23){al=ae.object();if(ad<0||ad>=($parseInt(al.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}am=ae.typ.sliceType;an=am.elem;ao=(192|((ae.flag&32)>>>0))>>>0;ao=(ao|((an.Kind()>>>0)))>>>0;ad=ad+(($parseInt(al.$offset)>>0))>>0;ap=al.$array;if(!((((ao&64)>>>0)===0))&&!((an.Kind()===17))&&!((an.Kind()===25))){return new CT.Ptr(an,new(H(BW(an)))((function(){return ap[ad];}),(function(aq){ap[ad]=aq;})),ao);}return L(an,ap[ad],ao);}else if(ag===24){aq=ae.ptr.$get();if(ad<0||ad>=aq.length){$panic(new $String("reflect: string index out of range"));}ar=(((ae.flag&32)>>>0)|8)>>>0;as=aq.charCodeAt(ad);return new CT.Ptr(DG,new GC(function(){return as;},function($v){as=$v;}),(ar|64)>>>0);}else{$panic(new CX.Ptr("reflect.Value.Index",af));}};CT.prototype.Index=function(ad){return this.$val.Index(ad);};CT.Ptr.prototype.IsNil=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===22||af===23){return ad.object()===H(ad.typ).nil;}else if(af===19){return ad.object()===$throwNilPointerError;}else if(af===21){return ad.object()===false;}else if(af===20){return ad.object()===$ifaceNil;}else{$panic(new CX.Ptr("reflect.Value.IsNil",ae));}};CT.prototype.IsNil=function(){return this.$val.IsNil();};CT.Ptr.prototype.Len=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17||af===24){return $parseInt(ad.object().length);}else if(af===23){return $parseInt(ad.object().$length)>>0;}else if(af===18){return $parseInt(ad.object().$buffer.length)>>0;}else if(af===21){return $parseInt($keys(ad.object()).length);}else{$panic(new CX.Ptr("reflect.Value.Len",ae));}};CT.prototype.Len=function(){return this.$val.Len();};CT.Ptr.prototype.Pointer=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===21||af===22||af===26){if(ad.IsNil()){return 0;}return ad.object();}else if(af===19){if(ad.IsNil()){return 0;}return 1;}else if(af===23){if(ad.IsNil()){return 0;}return ad.object().$array;}else{$panic(new CX.Ptr("reflect.Value.Pointer",ae));}};CT.prototype.Pointer=function(){return this.$val.Pointer();};CT.Ptr.prototype.Set=function(ad){var ae,af;ae=this;ad=ad;new CU(ae.flag).mustBeAssignable();new CU(ad.flag).mustBeExported();ad=ad.assignTo("reflect.Set",ae.typ,0);if(!((((ae.flag&64)>>>0)===0))){af=ae.typ.Kind();if(af===17){$copy(ae.ptr,ad.ptr,H(ae.typ));}else if(af===20){ae.ptr.$set(AN(ad,false));}else if(af===25){K(ae.ptr,ad.ptr,ae.typ);}else{ae.ptr.$set(ad.object());}return;}ae.ptr=ad.ptr;};CT.prototype.Set=function(ad){return this.$val.Set(ad);};CT.Ptr.prototype.SetCap=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<($parseInt(af.$length)>>0)||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=af.$length;ag.$capacity=ad;ae.ptr.$set(ag);};CT.prototype.SetCap=function(ad){return this.$val.SetCap(ad);};CT.Ptr.prototype.SetLen=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<0||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=ad;ag.$capacity=af.$capacity;ae.ptr.$set(ag);};CT.prototype.SetLen=function(ad){return this.$val.SetLen(ad);};CT.Ptr.prototype.Slice=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am;af=this;ag=0;ah=$ifaceNil;ai=null;aj=new CU(af.flag).kind();ak=aj;if(ak===17){if(((af.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}al=af.typ.arrayType;ag=(al.len>>0);ah=T(al.elem);ai=new(H(ah))(af.object());}else if(ak===23){ah=af.typ;ai=af.object();ag=$parseInt(ai.$capacity)>>0;}else if(ak===24){am=af.ptr.$get();if(ad<0||aeam.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}return P(new $String(am.substring(ad,ae)));}else{$panic(new CX.Ptr("reflect.Value.Slice",aj));}if(ad<0||aeag){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}return L(ah,$subslice(ai,ad,ae),(af.flag&32)>>>0);};CT.prototype.Slice=function(ad,ae){return this.$val.Slice(ad,ae);};CT.Ptr.prototype.Slice3=function(ad,ae,af){var ag,ah,ai,aj,ak,al,am;ag=this;ah=0;ai=$ifaceNil;aj=null;ak=new CU(ag.flag).kind();al=ak;if(al===17){if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}am=ag.typ.arrayType;ah=(am.len>>0);ai=T(am.elem);aj=new(H(ai))(ag.object());}else if(al===23){ai=ag.typ;aj=ag.object();ah=$parseInt(aj.$capacity)>>0;}else{$panic(new CX.Ptr("reflect.Value.Slice3",ak));}if(ad<0||aeah){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}return L(ai,$subslice(aj,ad,ae,af),(ag.flag&32)>>>0);};CT.prototype.Slice3=function(ad,ae,af){return this.$val.Slice3(ad,ae,af);};CT.Ptr.prototype.Close=function(){var ad;ad=this;new CU(ad.flag).mustBe(18);new CU(ad.flag).mustBeExported();$close(ad.object());};CT.prototype.Close=function(){return this.$val.Close();};CT.Ptr.prototype.TrySend=function(ad){var ae,af,ag;ae=this;ad=ad;new CU(ae.flag).mustBe(18);new CU(ae.flag).mustBeExported();af=ae.typ.chanType;if(((af.dir>>0)&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new CU(ad.flag).mustBeExported();ag=ae.object();if(!!!(ag.$closed)&&($parseInt(ag.$recvQueue.length)===0)&&($parseInt(ag.$buffer.length)===($parseInt(ag.$capacity)>>0))){return false;}ad=ad.assignTo("reflect.Value.Send",af.elem,0);$send(ag,ad.object());return true;};CT.prototype.TrySend=function(ad){return this.$val.TrySend(ad);};CT.Ptr.prototype.Send=function(ad){var ae;ae=this;ad=ad;$panic(new A.NotSupportedError.Ptr("reflect.Value.Send, use reflect.Value.TrySend is possible"));};CT.prototype.Send=function(ad){return this.$val.Send(ad);};CT.Ptr.prototype.TryRecv=function(){var ad=new CT.Ptr(),ae=false,af,ag,ah,ai,aj,ak,al;af=this;new CU(af.flag).mustBe(18);new CU(af.flag).mustBeExported();ag=af.typ.chanType;if(((ag.dir>>0)&1)===0){$panic(new $String("reflect: recv on send-only channel"));}ah=$recv(af.object());if(ah.constructor===$global.Function){ai=new CT.Ptr(FF.nil,0,0);aj=false;ad=ai;ae=aj;return[ad,ae];}ak=L(ag.elem,ah[0],0);al=!!(ah[1]);ad=ak;ae=al;return[ad,ae];};CT.prototype.TryRecv=function(){return this.$val.TryRecv();};CT.Ptr.prototype.Recv=function(){var ad=new CT.Ptr(),ae=false,af;af=this;$panic(new A.NotSupportedError.Ptr("reflect.Value.Recv, use reflect.Value.TryRecv is possible"));};CT.prototype.Recv=function(){return this.$val.Recv();};BA.prototype.String=function(){var ad;ad=this.$val!==undefined?this.$val:this;if((ad>>0)=BR.$length)?$throwRuntimeError("index out of range"):BR.$array[BR.$offset+ad]);}return"kind"+C.Itoa((ad>>0));};$ptrType(BA).prototype.String=function(){return new BA(this.$get()).String();};BE.Ptr.prototype.uncommon=function(){var ad;ad=this;return ad;};BE.prototype.uncommon=function(){return this.$val.uncommon();};BE.Ptr.prototype.PkgPath=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.pkgPath,FR.nil)){return"";}return ad.pkgPath.$get();};BE.prototype.PkgPath=function(){return this.$val.PkgPath();};BE.Ptr.prototype.Name=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.name,FR.nil)){return"";}return ad.name.$get();};BE.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.String=function(){var ad;ad=this;return ad.string.$get();};BB.prototype.String=function(){return this.$val.String();};BB.Ptr.prototype.Size=function(){var ad;ad=this;return ad.size;};BB.prototype.Size=function(){return this.$val.Size();};BB.Ptr.prototype.Bits=function(){var ad,ae;ad=this;if(ad===FF.nil){$panic(new $String("reflect: Bits of nil Type"));}ae=ad.Kind();if(ae<2||ae>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+ad.String()));}return(ad.size>>0)*8>>0;};BB.prototype.Bits=function(){return this.$val.Bits();};BB.Ptr.prototype.Align=function(){var ad;ad=this;return(ad.align>>0);};BB.prototype.Align=function(){return this.$val.Align();};BB.Ptr.prototype.FieldAlign=function(){var ad;ad=this;return(ad.fieldAlign>>0);};BB.prototype.FieldAlign=function(){return this.$val.FieldAlign();};BB.Ptr.prototype.Kind=function(){var ad;ad=this;return(((ad.kind&31)>>>0)>>>0);};BB.prototype.Kind=function(){return this.$val.Kind();};BB.Ptr.prototype.common=function(){var ad;ad=this;return ad;};BB.prototype.common=function(){return this.$val.common();};BE.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad===FS.nil){return 0;}return ad.methods.$length;};BE.prototype.NumMethod=function(){return this.$val.NumMethod();};BE.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===FS.nil){return[ae,af];}ah=GE.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(!($pointerIsEqual(ah.name,FR.nil))&&ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BE.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.NumMethod=function(){var ad,ae;ad=this;if(ad.Kind()===20){ae=ad.interfaceType;return ae.NumMethod();}return ad.uncommonType.NumMethod();};BB.prototype.NumMethod=function(){return this.$val.NumMethod();};BB.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag;af=this;if(af.Kind()===20){ag=af.interfaceType;$copy(ae,ag.Method(ad),BQ);return ae;}$copy(ae,af.uncommonType.Method(ad),BQ);return ae;};BB.prototype.Method=function(ad){return this.$val.Method(ad);};BB.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj;ag=this;if(ag.Kind()===20){ah=ag.interfaceType;ai=ah.MethodByName(ad);$copy(ae,ai[0],BQ);af=ai[1];return[ae,af];}aj=ag.uncommonType.MethodByName(ad);$copy(ae,aj[0],BQ);af=aj[1];return[ae,af];};BB.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.PkgPath=function(){var ad;ad=this;return ad.uncommonType.PkgPath();};BB.prototype.PkgPath=function(){return this.$val.PkgPath();};BB.Ptr.prototype.Name=function(){var ad;ad=this;return ad.uncommonType.Name();};BB.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.ChanDir=function(){var ad,ae;ad=this;if(!((ad.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}ae=ad.chanType;return(ae.dir>>0);};BB.prototype.ChanDir=function(){return this.$val.ChanDir();};BB.Ptr.prototype.IsVariadic=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}ae=ad.funcType;return ae.dotdotdot;};BB.prototype.IsVariadic=function(){return this.$val.IsVariadic();};BB.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj;ad=this;ae=ad.Kind();if(ae===17){af=ad.arrayType;return CL(af.elem);}else if(ae===18){ag=ad.chanType;return CL(ag.elem);}else if(ae===21){ah=ad.mapType;return CL(ah.elem);}else if(ae===22){ai=ad.ptrType;return CL(ai.elem);}else if(ae===23){aj=ad.sliceType;return CL(aj.elem);}$panic(new $String("reflect: Elem of invalid type"));};BB.prototype.Elem=function(){return this.$val.Elem();};BB.Ptr.prototype.Field=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}af=ae.structType;return af.Field(ad);};BB.prototype.Field=function(ad){return this.$val.Field(ad);};BB.Ptr.prototype.FieldByIndex=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}af=ae.structType;return af.FieldByIndex(ad);};BB.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BB.Ptr.prototype.FieldByName=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}af=ae.structType;return af.FieldByName(ad);};BB.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BB.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}af=ae.structType;return af.FieldByNameFunc(ad);};BB.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BB.Ptr.prototype.In=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}af=ae.funcType;return CL((ag=af.in$2,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.In=function(ad){return this.$val.In(ad);};BB.Ptr.prototype.Key=function(){var ad,ae;ad=this;if(!((ad.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}ae=ad.mapType;return CL(ae.key);};BB.prototype.Key=function(){return this.$val.Key();};BB.Ptr.prototype.Len=function(){var ad,ae;ad=this;if(!((ad.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}ae=ad.arrayType;return(ae.len>>0);};BB.prototype.Len=function(){return this.$val.Len();};BB.Ptr.prototype.NumField=function(){var ad,ae;ad=this;if(!((ad.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}ae=ad.structType;return ae.fields.$length;};BB.prototype.NumField=function(){return this.$val.NumField();};BB.Ptr.prototype.NumIn=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}ae=ad.funcType;return ae.in$2.$length;};BB.prototype.NumIn=function(){return this.$val.NumIn();};BB.Ptr.prototype.NumOut=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}ae=ad.funcType;return ae.out.$length;};BB.prototype.NumOut=function(){return this.$val.NumOut();};BB.Ptr.prototype.Out=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}af=ae.funcType;return CL((ag=af.out,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.Out=function(ad){return this.$val.Out(ad);};BF.prototype.String=function(){var ad,ae;ad=this.$val!==undefined?this.$val:this;ae=ad;if(ae===2){return"chan<-";}else if(ae===1){return"<-chan";}else if(ae===3){return"chan";}return"ChanDir"+C.Itoa((ad>>0));};$ptrType(BF).prototype.String=function(){return new BF(this.$get()).String();};BK.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah;af=this;if(ad<0||ad>=af.methods.$length){return ae;}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Name=ah.name.$get();if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}ae.Type=CL(ah.typ);ae.Index=ad;return ae;};BK.prototype.Method=function(ad){return this.$val.Method(ad);};BK.Ptr.prototype.NumMethod=function(){var ad;ad=this;return ad.methods.$length;};BK.prototype.NumMethod=function(){return this.$val.NumMethod();};BK.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===GF.nil){return[ae,af];}ah=GG.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BK.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BT.prototype.Get=function(ad){var ae,af,ag,ah,ai,aj;ae=this.$val!==undefined?this.$val:this;while(!(ae==="")){af=0;while(af>0;}ae=ae.substring(af);if(ae===""){break;}af=0;while(af>0;}if((af+1>>0)>=ae.length||!((ae.charCodeAt(af)===58))||!((ae.charCodeAt((af+1>>0))===34))){break;}ag=ae.substring(0,af);ae=ae.substring((af+1>>0));af=1;while(af>0;}af=af+(1)>>0;}if(af>=ae.length){break;}ah=ae.substring(0,(af+1>>0));ae=ae.substring((af+1>>0));if(ad===ag){ai=C.Unquote(ah);aj=ai[0];return aj;}}return"";};$ptrType(BT).prototype.Get=function(ad){return new BT(this.$get()).Get(ad);};BP.Ptr.prototype.Field=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai;af=this;if(ad<0||ad>=af.fields.$length){return ae;}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Type=CL(ah.typ);if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}else{ai=ae.Type;if(ai.Kind()===22){ai=ai.Elem();}ae.Name=ai.Name();ae.Anonymous=true;}if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}if(!($pointerIsEqual(ah.tag,FR.nil))){ae.Tag=ah.tag.$get();}ae.Offset=ah.offset;ae.Index=new GH([ad]);return ae;};BP.prototype.Field=function(ad){return this.$val.Field(ad);};BP.Ptr.prototype.FieldByIndex=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai,aj,ak;af=this;ae.Type=CL(af.rtype);ag=ad;ah=0;while(ah=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]);if(ai>0){ak=ae.Type;if((ak.Kind()===22)&&(ak.Elem().Kind()===25)){ak=ak.Elem();}ae.Type=ak;}$copy(ae,ae.Type.Field(aj),BS);ah++;}return ae;};BP.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BP.Ptr.prototype.FieldByNameFunc=function(ad){var ae=new BS.Ptr(),af=false,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;ag=this;ah=new GI([]);ai=new GI([new BU.Ptr(ag,GH.nil)]);aj=false;ak=(al=new $Map(),al);while(ai.$length>0){an=ai;ao=$subslice(ah,0,0);ah=an;ai=ao;ap=aj;aj=false;aq=ah;ar=0;while(ar=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]),BU);at=as.typ;if((au=ak[at.$key()],au!==undefined?au.v:false)){ar++;continue;}av=at;(ak||$throwRuntimeError("assignment to entry in nil map"))[av.$key()]={k:av,v:true};aw=at.fields;ax=0;while(ax=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ay]));bb="";bc=FF.nil;if(!($pointerIsEqual(ba.name,FR.nil))){bb=ba.name.$get();}else{bc=ba.typ;if(bc.Kind()===22){bc=bc.Elem().common();}bb=bc.Name();}if(ad(bb)){if((bd=ap[at.$key()],bd!==undefined?bd.v:0)>1||af){be=new BS.Ptr("","",$ifaceNil,"",0,GH.nil,false);bf=false;$copy(ae,be,BS);af=bf;return[ae,af];}$copy(ae,at.Field(ay),BS);ae.Index=GH.nil;ae.Index=$appendSlice(ae.Index,as.index);ae.Index=$append(ae.Index,ay);af=true;ax++;continue;}if(af||bc===FF.nil||!((bc.Kind()===25))){ax++;continue;}bg=bc.structType;if((bh=aj[bg.$key()],bh!==undefined?bh.v:0)>0){bi=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bi.$key()]={k:bi,v:2};ax++;continue;}if(aj===false){aj=(bj=new $Map(),bj);}bl=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bl.$key()]={k:bl,v:1};if((bm=ap[at.$key()],bm!==undefined?bm.v:0)>1){bn=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bn.$key()]={k:bn,v:2};}bo=GH.nil;bo=$appendSlice(bo,as.index);bo=$append(bo,ay);ai=$append(ai,new BU.Ptr(bg,bo));ax++;}ar++;}if(af){break;}}return[ae,af];};BP.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BP.Ptr.prototype.FieldByName=function(ad){var ae=new BS.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an,ao,ap;ag=this;ah=false;if(!(ad==="")){ai=ag.fields;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if($pointerIsEqual(am.name,FR.nil)){ah=true;aj++;continue;}if(am.name.$get()===ad){an=$clone(ag.Field(ak),BS);ao=true;$copy(ae,an,BS);af=ao;return[ae,af];}aj++;}}if(!ah){return[ae,af];}ap=ag.FieldByNameFunc((function(aq){return aq===ad;}));$copy(ae,ap[0],BS);af=ap[1];return[ae,af];};BP.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BW=$pkg.PtrTo=function(ad){return $assertType(ad,FF).ptrTo();};BB.Ptr.prototype.Implements=function(ad){var ae;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}if(!((ad.Kind()===20))){$panic(new $String("reflect: non-interface type passed to Type.Implements"));}return BY($assertType(ad,FF),ae);};BB.prototype.Implements=function(ad){return this.$val.Implements(ad);};BB.Ptr.prototype.AssignableTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}af=$assertType(ad,FF);return BZ(af,ae)||BY(af,ae);};BB.prototype.AssignableTo=function(ad){return this.$val.AssignableTo(ad);};BB.Ptr.prototype.ConvertibleTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}af=$assertType(ad,FF);return!(EB(af,ae)===$throwNilPointerError);};BB.prototype.ConvertibleTo=function(ad){return this.$val.ConvertibleTo(ad);};BY=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at;if(!((ad.Kind()===20))){return false;}af=ad.interfaceType;if(af.methods.$length===0){return true;}if(ae.Kind()===20){ag=ae.interfaceType;ah=0;ai=0;while(ai=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ah]));am=(al=ag.methods,((ai<0||ai>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ai]));if($pointerIsEqual(am.name,ak.name)&&$pointerIsEqual(am.pkgPath,ak.pkgPath)&&am.typ===ak.typ){ah=ah+(1)>>0;if(ah>=af.methods.$length){return true;}}ai=ai+(1)>>0;}return false;}an=ae.uncommonType.uncommon();if(an===FS.nil){return false;}ao=0;ap=0;while(ap=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ao]));at=(as=an.methods,((ap<0||ap>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ap]));if($pointerIsEqual(at.name,ar.name)&&$pointerIsEqual(at.pkgPath,ar.pkgPath)&&at.mtyp===ar.typ){ao=ao+(1)>>0;if(ao>=af.methods.$length){return true;}}ap=ap+(1)>>0;}return false;};BZ=function(ad,ae){if(ad===ae){return true;}if(!(ad.Name()==="")&&!(ae.Name()==="")||!((ad.Kind()===ae.Kind()))){return false;}return CA(ad,ae);};CA=function(ad,ae){var 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;if(ad===ae){return true;}af=ad.Kind();if(!((af===ae.Kind()))){return false;}if(1<=af&&af<=16||(af===24)||(af===26)){return true;}ag=af;if(ag===17){return $interfaceIsEqual(ad.Elem(),ae.Elem())&&(ad.Len()===ae.Len());}else if(ag===18){if((ae.ChanDir()===3)&&$interfaceIsEqual(ad.Elem(),ae.Elem())){return true;}return(ae.ChanDir()===ad.ChanDir())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===19){ah=ad.funcType;ai=ae.funcType;if(!(ah.dotdotdot===ai.dotdotdot)||!((ah.in$2.$length===ai.in$2.$length))||!((ah.out.$length===ai.out.$length))){return false;}aj=ah.in$2;ak=0;while(ak=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(!(am===(an=ai.in$2,((al<0||al>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+al])))){return false;}ak++;}ao=ah.out;ap=0;while(ap=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+ap]);if(!(ar===(as=ai.out,((aq<0||aq>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+aq])))){return false;}ap++;}return true;}else if(ag===20){at=ad.interfaceType;au=ae.interfaceType;if((at.methods.$length===0)&&(au.methods.$length===0)){return true;}return false;}else if(ag===21){return $interfaceIsEqual(ad.Key(),ae.Key())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===22||ag===23){return $interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===25){av=ad.structType;aw=ae.structType;if(!((av.fields.$length===aw.fields.$length))){return false;}ax=av.fields;ay=0;while(ay=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+az]));bd=(bc=aw.fields,((az<0||az>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+az]));if(!($pointerIsEqual(bb.name,bd.name))&&($pointerIsEqual(bb.name,FR.nil)||$pointerIsEqual(bd.name,FR.nil)||!(bb.name.$get()===bd.name.$get()))){return false;}if(!($pointerIsEqual(bb.pkgPath,bd.pkgPath))&&($pointerIsEqual(bb.pkgPath,FR.nil)||$pointerIsEqual(bd.pkgPath,FR.nil)||!(bb.pkgPath.$get()===bd.pkgPath.$get()))){return false;}if(!(bb.typ===bd.typ)){return false;}if(!($pointerIsEqual(bb.tag,bd.tag))&&($pointerIsEqual(bb.tag,FR.nil)||$pointerIsEqual(bd.tag,FR.nil)||!(bb.tag.$get()===bd.tag.$get()))){return false;}if(!((bb.offset===bd.offset))){return false;}ay++;}return true;}return false;};CL=function(ad){if(ad===FF.nil){return $ifaceNil;}return ad;};CQ=function(ad){return((ad.kind&32)>>>0)===0;};CU.prototype.kind=function(){var ad;ad=this.$val!==undefined?this.$val:this;return(((ad&31)>>>0)>>>0);};$ptrType(CU).prototype.kind=function(){return new CU(this.$get()).kind();};CT.Ptr.prototype.pointer=function(){var ad;ad=this;if(!((ad.typ.size===4))||!ad.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((ad.flag&64)>>>0)===0))){return ad.ptr.$get();}return ad.ptr;};CT.prototype.pointer=function(){return this.$val.pointer();};CX.Ptr.prototype.Error=function(){var ad;ad=this;if(ad.Kind===0){return"reflect: call of "+ad.Method+" on zero Value";}return"reflect: call of "+ad.Method+" on "+new BA(ad.Kind).String()+" Value";};CX.prototype.Error=function(){return this.$val.Error();};CU.prototype.mustBe=function(ad){var ae;ae=this.$val!==undefined?this.$val:this;if(!((new CU(ae).kind()===ad))){$panic(new CX.Ptr(AP(),new CU(ae).kind()));}};$ptrType(CU).prototype.mustBe=function(ad){return new CU(this.$get()).mustBe(ad);};CU.prototype.mustBeExported=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}};$ptrType(CU).prototype.mustBeExported=function(){return new CU(this.$get()).mustBeExported();};CU.prototype.mustBeAssignable=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}if(((ad&128)>>>0)===0){$panic(new $String("reflect: "+AP()+" using unaddressable value"));}};$ptrType(CU).prototype.mustBeAssignable=function(){return new CU(this.$get()).mustBeAssignable();};CT.Ptr.prototype.Addr=function(){var ad;ad=this;if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new CT.Ptr(ad.typ.ptrTo(),ad.ptr,((((ad.flag&32)>>>0))|22)>>>0);};CT.prototype.Addr=function(){return this.$val.Addr();};CT.Ptr.prototype.Bool=function(){var ad;ad=this;new CU(ad.flag).mustBe(1);return ad.ptr.$get();};CT.prototype.Bool=function(){return this.$val.Bool();};CT.Ptr.prototype.Bytes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.Bytes of non-byte slice"));}return ad.ptr.$get();};CT.prototype.Bytes=function(){return this.$val.Bytes();};CT.Ptr.prototype.runes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.Bytes of non-rune slice"));}return ad.ptr.$get();};CT.prototype.runes=function(){return this.$val.runes();};CT.Ptr.prototype.CanAddr=function(){var ad;ad=this;return!((((ad.flag&128)>>>0)===0));};CT.prototype.CanAddr=function(){return this.$val.CanAddr();};CT.Ptr.prototype.CanSet=function(){var ad;ad=this;return((ad.flag&160)>>>0)===128;};CT.prototype.CanSet=function(){return this.$val.CanSet();};CT.Ptr.prototype.Call=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("Call",ad);};CT.prototype.Call=function(ad){return this.$val.Call(ad);};CT.Ptr.prototype.CallSlice=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("CallSlice",ad);};CT.prototype.CallSlice=function(ad){return this.$val.CallSlice(ad);};CT.Ptr.prototype.Complex=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===15){return(ag=ad.ptr.$get(),new $Complex128(ag.$real,ag.$imag));}else if(af===16){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Complex",new CU(ad.flag).kind()));};CT.prototype.Complex=function(){return this.$val.Complex();};CT.Ptr.prototype.FieldByIndex=function(ad){var ae,af,ag,ah,ai;ae=this;if(ad.$length===1){return ae.Field(((0<0||0>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+0]));}new CU(ae.flag).mustBe(25);af=ad;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if(ah>0){if((ae.Kind()===22)&&(ae.typ.Elem().Kind()===25)){if(ae.IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ae=ae.Elem();}}ae=ae.Field(ai);ag++;}return ae;};CT.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};CT.Ptr.prototype.FieldByName=function(ad){var ae,af,ag,ah;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.FieldByName(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};CT.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af,ag,ah;ae=this;af=ae.typ.FieldByNameFunc(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};CT.Ptr.prototype.Float=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===13){return $coerceFloat32(ad.ptr.$get());}else if(af===14){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Float",new CU(ad.flag).kind()));};CT.prototype.Float=function(){return this.$val.Float();};CT.Ptr.prototype.Int=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===2){return new $Int64(0,af.$get());}else if(ag===3){return new $Int64(0,af.$get());}else if(ag===4){return new $Int64(0,af.$get());}else if(ag===5){return new $Int64(0,af.$get());}else if(ag===6){return af.$get();}$panic(new CX.Ptr("reflect.Value.Int",new CU(ad.flag).kind()));};CT.prototype.Int=function(){return this.$val.Int();};CT.Ptr.prototype.CanInterface=function(){var ad;ad=this;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.CanInterface",0));}return((ad.flag&32)>>>0)===0;};CT.prototype.CanInterface=function(){return this.$val.CanInterface();};CT.Ptr.prototype.Interface=function(){var ad=$ifaceNil,ae;ae=this;ad=AN(ae,true);return ad;};CT.prototype.Interface=function(){return this.$val.Interface();};CT.Ptr.prototype.InterfaceData=function(){var ad;ad=this;new CU(ad.flag).mustBe(20);return ad.ptr;};CT.prototype.InterfaceData=function(){return this.$val.InterfaceData();};CT.Ptr.prototype.IsValid=function(){var ad;ad=this;return!((ad.flag===0));};CT.prototype.IsValid=function(){return this.$val.IsValid();};CT.Ptr.prototype.Kind=function(){var ad;ad=this;return new CU(ad.flag).kind();};CT.prototype.Kind=function(){return this.$val.Kind();};CT.Ptr.prototype.MapIndex=function(ad){var ae,af,ag,ah,ai,aj,ak;ae=this;ad=ad;new CU(ae.flag).mustBe(21);af=ae.typ.mapType;ad=ad.assignTo("reflect.Value.MapIndex",af.key,0);ag=0;if(!((((ad.flag&64)>>>0)===0))){ag=ad.ptr;}else{ag=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}ah=AC(ae.typ,ae.pointer(),ag);if(ah===0){return new CT.Ptr(FF.nil,0,0);}ai=af.elem;aj=((((ae.flag|ad.flag)>>>0))&32)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;if(CQ(ai)){ak=V(ai);Y(ak,ah,ai.size);return new CT.Ptr(ai,ak,(aj|64)>>>0);}else{return new CT.Ptr(ai,ah.$get(),aj);}};CT.prototype.MapIndex=function(ad){return this.$val.MapIndex(ad);};CT.Ptr.prototype.MapKeys=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an;ad=this;new CU(ad.flag).mustBe(21);ae=ad.typ.mapType;af=ae.key;ag=(((ad.flag&32)>>>0)|(af.Kind()>>>0))>>>0;ah=ad.pointer();ai=0;if(!(ah===0)){ai=AJ(ah);}aj=AG(ad.typ,ah);ak=FX.make(ai);al=0;al=0;while(al=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,an,(ag|64)>>>0);}else{(al<0||al>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,am.$get(),ag);}AI(aj);al=al+(1)>>0;}return $subslice(ak,0,al);};CT.prototype.MapKeys=function(){return this.$val.MapKeys();};CT.Ptr.prototype.Method=function(ad){var ae,af;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.Method",0));}if(!((((ae.flag&256)>>>0)===0))||(ad>>>0)>=(ae.typ.NumMethod()>>>0)){$panic(new $String("reflect: Method index out of range"));}if((ae.typ.Kind()===20)&&ae.IsNil()){$panic(new $String("reflect: Method on nil interface value"));}af=(ae.flag&96)>>>0;af=(af|(19))>>>0;af=(af|(((((ad>>>0)<<9>>>0)|256)>>>0)))>>>0;return new CT.Ptr(ae.typ,ae.ptr,af);};CT.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.NumMethod",0));}if(!((((ad.flag&256)>>>0)===0))){return 0;}return ad.typ.NumMethod();};CT.prototype.NumMethod=function(){return this.$val.NumMethod();};CT.Ptr.prototype.MethodByName=function(ad){var ae,af,ag,ah;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.MethodByName",0));}if(!((((ae.flag&256)>>>0)===0))){return new CT.Ptr(FF.nil,0,0);}af=ae.typ.MethodByName(ad);ag=$clone(af[0],BQ);ah=af[1];if(!ah){return new CT.Ptr(FF.nil,0,0);}return ae.Method(ag.Index);};CT.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};CT.Ptr.prototype.NumField=function(){var ad,ae;ad=this;new CU(ad.flag).mustBe(25);ae=ad.typ.structType;return ae.fields.$length;};CT.prototype.NumField=function(){return this.$val.NumField();};CT.Ptr.prototype.OverflowComplex=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===15){return DH(ad.$real)||DH(ad.$imag);}else if(ag===16){return false;}$panic(new CX.Ptr("reflect.Value.OverflowComplex",new CU(ae.flag).kind()));};CT.prototype.OverflowComplex=function(ad){return this.$val.OverflowComplex(ad);};CT.Ptr.prototype.OverflowFloat=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===13){return DH(ad);}else if(ag===14){return false;}$panic(new CX.Ptr("reflect.Value.OverflowFloat",new CU(ae.flag).kind()));};CT.prototype.OverflowFloat=function(ad){return this.$val.OverflowFloat(ad);};DH=function(ad){if(ad<0){ad=-ad;}return 3.4028234663852886e+38>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightInt64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowInt",new CU(ae.flag).kind()));};CT.prototype.OverflowInt=function(ad){return this.$val.OverflowInt(ad);};CT.Ptr.prototype.OverflowUint=function(ad){var ae,af,ag,ah,ai,aj;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===7||ag===12||ag===8||ag===9||ag===10||ag===11){ai=(ah=ae.typ.size,(((ah>>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightUint64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowUint",new CU(ae.flag).kind()));};CT.prototype.OverflowUint=function(ad){return this.$val.OverflowUint(ad);};CT.Ptr.prototype.SetBool=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(1);ae.ptr.$set(ad);};CT.prototype.SetBool=function(ad){return this.$val.SetBool(ad);};CT.Ptr.prototype.SetBytes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.SetBytes of non-byte slice"));}ae.ptr.$set(ad);};CT.prototype.SetBytes=function(ad){return this.$val.SetBytes(ad);};CT.Ptr.prototype.setRunes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.setRunes of non-rune slice"));}ae.ptr.$set(ad);};CT.prototype.setRunes=function(ad){return this.$val.setRunes(ad);};CT.Ptr.prototype.SetComplex=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===15){ae.ptr.$set(new $Complex64(ad.$real,ad.$imag));}else if(ag===16){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetComplex",new CU(ae.flag).kind()));}};CT.prototype.SetComplex=function(ad){return this.$val.SetComplex(ad);};CT.Ptr.prototype.SetFloat=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===13){ae.ptr.$set(ad);}else if(ag===14){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetFloat",new CU(ae.flag).kind()));}};CT.prototype.SetFloat=function(ad){return this.$val.SetFloat(ad);};CT.Ptr.prototype.SetInt=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===2){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===3){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<24>>24));}else if(ag===4){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<16>>16));}else if(ag===5){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===6){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetInt",new CU(ae.flag).kind()));}};CT.prototype.SetInt=function(ad){return this.$val.SetInt(ad);};CT.Ptr.prototype.SetMapIndex=function(ad,ae){var af,ag,ah,ai;af=this;ae=ae;ad=ad;new CU(af.flag).mustBe(21);new CU(af.flag).mustBeExported();new CU(ad.flag).mustBeExported();ag=af.typ.mapType;ad=ad.assignTo("reflect.Value.SetMapIndex",ag.key,0);ah=0;if(!((((ad.flag&64)>>>0)===0))){ah=ad.ptr;}else{ah=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}if(ae.typ===FF.nil){AE(af.typ,af.pointer(),ah);return;}new CU(ae.flag).mustBeExported();ae=ae.assignTo("reflect.Value.SetMapIndex",ag.elem,0);ai=0;if(!((((ae.flag&64)>>>0)===0))){ai=ae.ptr;}else{ai=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ae);}AD(af.typ,af.pointer(),ah,ai);};CT.prototype.SetMapIndex=function(ad,ae){return this.$val.SetMapIndex(ad,ae);};CT.Ptr.prototype.SetUint=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===7){ae.ptr.$set((ad.$low>>>0));}else if(ag===8){ae.ptr.$set((ad.$low<<24>>>24));}else if(ag===9){ae.ptr.$set((ad.$low<<16>>>16));}else if(ag===10){ae.ptr.$set((ad.$low>>>0));}else if(ag===11){ae.ptr.$set(ad);}else if(ag===12){ae.ptr.$set((ad.$low>>>0));}else{$panic(new CX.Ptr("reflect.Value.SetUint",new CU(ae.flag).kind()));}};CT.prototype.SetUint=function(ad){return this.$val.SetUint(ad);};CT.Ptr.prototype.SetPointer=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(26);ae.ptr.$set(ad);};CT.prototype.SetPointer=function(ad){return this.$val.SetPointer(ad);};CT.Ptr.prototype.SetString=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(24);ae.ptr.$set(ad);};CT.prototype.SetString=function(ad){return this.$val.SetString(ad);};CT.Ptr.prototype.String=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===0){return"";}else if(af===24){return ad.ptr.$get();}return"<"+ad.Type().String()+" Value>";};CT.prototype.String=function(){return this.$val.String();};CT.Ptr.prototype.Type=function(){var ad,ae,af,ag,ah,ai,aj,ak,al;ad=this;ae=ad.flag;if(ae===0){$panic(new CX.Ptr("reflect.Value.Type",0));}if(((ae&256)>>>0)===0){return ad.typ;}af=(ad.flag>>0)>>9>>0;if(ad.typ.Kind()===20){ag=ad.typ.interfaceType;if((af>>>0)>=(ag.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}ai=(ah=ag.methods,((af<0||af>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+af]));return ai.typ;}aj=ad.typ.uncommonType.uncommon();if(aj===FS.nil||(af>>>0)>=(aj.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}al=(ak=aj.methods,((af<0||af>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+af]));return al.mtyp;};CT.prototype.Type=function(){return this.$val.Type();};CT.Ptr.prototype.Uint=function(){var ad,ae,af,ag,ah;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===7){return new $Uint64(0,af.$get());}else if(ag===8){return new $Uint64(0,af.$get());}else if(ag===9){return new $Uint64(0,af.$get());}else if(ag===10){return new $Uint64(0,af.$get());}else if(ag===11){return af.$get();}else if(ag===12){return(ah=af.$get(),new $Uint64(0,ah.constructor===Number?ah:1));}$panic(new CX.Ptr("reflect.Value.Uint",new CU(ad.flag).kind()));};CT.prototype.Uint=function(){return this.$val.Uint();};CT.Ptr.prototype.UnsafeAddr=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.UnsafeAddr",0));}if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return ad.ptr;};CT.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};DZ=$pkg.New=function(ad){var ae,af;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ae=V($assertType(ad,FF));af=22;return new CT.Ptr(ad.common().ptrTo(),ae,af);};CT.Ptr.prototype.assignTo=function(ad,ae,af){var ag,ah,ai;ag=this;if(!((((ag.flag&256)>>>0)===0))){ag=AQ(ad,ag);}if(BZ(ae,ag.typ)){ag.typ=ae;ah=(ag.flag&224)>>>0;ah=(ah|((ae.Kind()>>>0)))>>>0;return new CT.Ptr(ae,ag.ptr,ah);}else if(BY(ae,ag.typ)){if(af===0){af=V(ae);}ai=AN(ag,false);if(ae.NumMethod()===0){af.$set(ai);}else{AO(ae,ai,af);}return new CT.Ptr(ae,af,84);}$panic(new $String(ad+": value of type "+ag.typ.String()+" is not assignable to type "+ae.String()));};CT.prototype.assignTo=function(ad,ae,af){return this.$val.assignTo(ad,ae,af);};CT.Ptr.prototype.Convert=function(ad){var ae,af;ae=this;if(!((((ae.flag&256)>>>0)===0))){ae=AQ("Convert",ae);}af=EB(ad.common(),ae.typ);if(af===$throwNilPointerError){$panic(new $String("reflect.Value.Convert: value of type "+ae.typ.String()+" cannot be converted to type "+ad.String()));}return af(ae,ad);};CT.prototype.Convert=function(ad){return this.$val.Convert(ad);};EB=function(ad,ae){var af,ag,ah,ai,aj,ak,al;af=ae.Kind();if(af===2||af===3||af===4||af===5||af===6){ag=ad.Kind();if(ag===2||ag===3||ag===4||ag===5||ag===6||ag===7||ag===8||ag===9||ag===10||ag===11||ag===12){return EH;}else if(ag===13||ag===14){return EL;}else if(ag===24){return EP;}}else if(af===7||af===8||af===9||af===10||af===11||af===12){ah=ad.Kind();if(ah===2||ah===3||ah===4||ah===5||ah===6||ah===7||ah===8||ah===9||ah===10||ah===11||ah===12){return EI;}else if(ah===13||ah===14){return EM;}else if(ah===24){return EQ;}}else if(af===13||af===14){ai=ad.Kind();if(ai===2||ai===3||ai===4||ai===5||ai===6){return EJ;}else if(ai===7||ai===8||ai===9||ai===10||ai===11||ai===12){return EK;}else if(ai===13||ai===14){return EN;}}else if(af===15||af===16){aj=ad.Kind();if(aj===15||aj===16){return EO;}}else if(af===24){if((ad.Kind()===23)&&ad.Elem().PkgPath()===""){ak=ad.Elem().Kind();if(ak===8){return ES;}else if(ak===5){return EU;}}}else if(af===23){if((ad.Kind()===24)&&ae.Elem().PkgPath()===""){al=ae.Elem().Kind();if(al===8){return ER;}else if(al===5){return ET;}}}if(CA(ad,ae)){return AK;}if((ad.Kind()===22)&&ad.Name()===""&&(ae.Kind()===22)&&ae.Name()===""&&CA(ad.Elem().common(),ae.Elem().common())){return AK;}if(BY(ad,ae)){if(ae.Kind()===20){return EW;}return EV;}return $throwNilPointerError;};EC=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===4){ah.$set(ae);}else if(ai===8){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};ED=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===8){ah.$set(new $Complex64(ae.$real,ae.$imag));}else if(ai===16){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};EE=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetString(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EF=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetBytes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EG=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.setRunes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EH=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=ad.Int(),new $Uint64(af.$high,af.$low)),ae);};EI=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,ad.Uint(),ae);};EJ=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=new $Int64(0,ad.Float()),new $Uint64(af.$high,af.$low)),ae);};EK=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,new $Uint64(0,ad.Float()),ae);};EL=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Int()),ae);};EM=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Uint()),ae);};EN=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,ad.Float(),ae);};EO=function(ad,ae){ad=ad;return ED((ad.flag&32)>>>0,ad.Complex(),ae);};EP=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Int().$low),ae);};EQ=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Uint().$low),ae);};ER=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$bytesToString(ad.Bytes()),ae);};ES=function(ad,ae){ad=ad;return EF((ad.flag&32)>>>0,new GQ($stringToBytes(ad.String())),ae);};ET=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$runesToString(ad.runes()),ae);};EU=function(ad,ae){ad=ad;return EG((ad.flag&32)>>>0,new GR($stringToRunes(ad.String())),ae);};EV=function(ad,ae){var af,ag;ad=ad;af=V(ae.common());ag=AN(ad,false);if(ae.NumMethod()===0){af.$set(ag);}else{AO($assertType(ae,FF),ag,af);}return new CT.Ptr(ae.common(),af,(((((ad.flag&32)>>>0)|64)>>>0)|20)>>>0);};EW=function(ad,ae){var af;ad=ad;if(ad.IsNil()){af=U(ae);af.flag=(af.flag|(((ad.flag&32)>>>0)))>>>0;return af;}return EV(ad.Elem(),ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}FF=$ptrType(BB);FG=$ptrType(BM);FO=$sliceType($String);FP=$ptrType(BC);FQ=$arrayType($UnsafePointer,2);FR=$ptrType($String);FS=$ptrType(BE);FT=$sliceType(BD);FU=$sliceType(FF);FV=$sliceType(BJ);FW=$sliceType(BO);FX=$sliceType(CT);FY=$arrayType($UnsafePointer,100000);FZ=$structType([["ityp","ityp","reflect",FF,""],["typ","typ","reflect",FF,""],["link","link","reflect",$UnsafePointer,""],["bad","bad","reflect",$Int32,""],["unused","unused","reflect",$Int32,""],["fun","fun","reflect",FY,""]]);GA=$ptrType(FZ);GB=$sliceType(B.Object);GC=$ptrType($Uint8);GE=$ptrType(BD);GF=$ptrType(BK);GG=$ptrType(BJ);GH=$sliceType($Int);GI=$sliceType(BU);GJ=$ptrType(BP);GO=$ptrType($UnsafePointer);GQ=$sliceType($Uint8);GR=$sliceType($Int32);GS=$ptrType(BI);GU=$funcType([$String],[$Bool],false);GV=$ptrType(BA);GW=$funcType([$UnsafePointer,$Uintptr,$Uintptr],[$Uintptr],false);GX=$funcType([$UnsafePointer,$UnsafePointer,$Uintptr],[$Bool],false);GY=$ptrType(BF);GZ=$ptrType(BG);HA=$ptrType(BH);HB=$ptrType(BL);HC=$ptrType(BN);HD=$ptrType(BT);HF=$arrayType($Uintptr,2);HG=$ptrType(CT);HH=$ptrType(CU);HI=$ptrType(CX);AF.init([["t","t","reflect",AZ,""],["m","m","reflect",B.Object,""],["keys","keys","reflect",B.Object,""],["i","i","reflect",$Int,""]]);AZ.init([["Align","Align","",$funcType([],[$Int],false)],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false)],["Bits","Bits","",$funcType([],[$Int],false)],["ChanDir","ChanDir","",$funcType([],[BF],false)],["Comparable","Comparable","",$funcType([],[$Bool],false)],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false)],["Elem","Elem","",$funcType([],[AZ],false)],["Field","Field","",$funcType([$Int],[BS],false)],["FieldAlign","FieldAlign","",$funcType([],[$Int],false)],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false)],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false)],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false)],["Implements","Implements","",$funcType([AZ],[$Bool],false)],["In","In","",$funcType([$Int],[AZ],false)],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false)],["Key","Key","",$funcType([],[AZ],false)],["Kind","Kind","",$funcType([],[BA],false)],["Len","Len","",$funcType([],[$Int],false)],["Method","Method","",$funcType([$Int],[BQ],false)],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false)],["Name","Name","",$funcType([],[$String],false)],["NumField","NumField","",$funcType([],[$Int],false)],["NumIn","NumIn","",$funcType([],[$Int],false)],["NumMethod","NumMethod","",$funcType([],[$Int],false)],["NumOut","NumOut","",$funcType([],[$Int],false)],["Out","Out","",$funcType([$Int],[AZ],false)],["PkgPath","PkgPath","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Uintptr],false)],["String","String","",$funcType([],[$String],false)],["common","common","reflect",$funcType([],[FF],false)],["uncommon","uncommon","reflect",$funcType([],[FS],false)]]);BA.methods=[["String","String","",$funcType([],[$String],false),-1]];GV.methods=[["String","String","",$funcType([],[$String],false),-1]];BB.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];FF.methods=[["Align","Align","",$funcType([],[$Int],false),-1],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),-1],["Bits","Bits","",$funcType([],[$Int],false),-1],["ChanDir","ChanDir","",$funcType([],[BF],false),-1],["Comparable","Comparable","",$funcType([],[$Bool],false),-1],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),-1],["Elem","Elem","",$funcType([],[AZ],false),-1],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),-1],["In","In","",$funcType([$Int],[AZ],false),-1],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),-1],["Key","Key","",$funcType([],[AZ],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumIn","NumIn","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),-1],["Out","Out","",$funcType([$Int],[AZ],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Uintptr],false),-1],["String","String","",$funcType([],[$String],false),-1],["common","common","reflect",$funcType([],[FF],false),-1],["pointers","pointers","reflect",$funcType([],[$Bool],false),-1],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];BB.init([["size","size","reflect",$Uintptr,""],["hash","hash","reflect",$Uint32,""],["_$2","_","reflect",$Uint8,""],["align","align","reflect",$Uint8,""],["fieldAlign","fieldAlign","reflect",$Uint8,""],["kind","kind","reflect",$Uint8,""],["alg","alg","reflect",FP,""],["gc","gc","reflect",FQ,""],["string","string","reflect",FR,""],["uncommonType","","reflect",FS,""],["ptrToThis","ptrToThis","reflect",FF,""],["zero","zero","reflect",$UnsafePointer,""]]);BC.init([["hash","hash","reflect",GW,""],["equal","equal","reflect",GX,""]]);BD.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["mtyp","mtyp","reflect",FF,""],["typ","typ","reflect",FF,""],["ifn","ifn","reflect",$UnsafePointer,""],["tfn","tfn","reflect",$UnsafePointer,""]]);FS.methods=[["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),-1]];BE.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["methods","methods","reflect",FT,""]]);BF.methods=[["String","String","",$funcType([],[$String],false),-1]];GY.methods=[["String","String","",$funcType([],[$String],false),-1]];BG.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GZ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BG.init([["rtype","","reflect",BB,"reflect:\"array\""],["elem","elem","reflect",FF,""],["slice","slice","reflect",FF,""],["len","len","reflect",$Uintptr,""]]);BH.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HA.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BH.init([["rtype","","reflect",BB,"reflect:\"chan\""],["elem","elem","reflect",FF,""],["dir","dir","reflect",$Uintptr,""]]);BI.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GS.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BI.init([["rtype","","reflect",BB,"reflect:\"func\""],["dotdotdot","dotdotdot","reflect",$Bool,""],["in$2","in","reflect",FU,""],["out","out","reflect",FU,""]]);BJ.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""]]);BK.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GF.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BK.init([["rtype","","reflect",BB,"reflect:\"interface\""],["methods","methods","reflect",FV,""]]);BL.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HB.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BL.init([["rtype","","reflect",BB,"reflect:\"map\""],["key","key","reflect",FF,""],["elem","elem","reflect",FF,""],["bucket","bucket","reflect",FF,""],["hmap","hmap","reflect",FF,""],["keysize","keysize","reflect",$Uint8,""],["indirectkey","indirectkey","reflect",$Uint8,""],["valuesize","valuesize","reflect",$Uint8,""],["indirectvalue","indirectvalue","reflect",$Uint8,""],["bucketsize","bucketsize","reflect",$Uint16,""]]);BM.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];FG.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BM.init([["rtype","","reflect",BB,"reflect:\"ptr\""],["elem","elem","reflect",FF,""]]);BN.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HC.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BN.init([["rtype","","reflect",BB,"reflect:\"slice\""],["elem","elem","reflect",FF,""]]);BO.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""],["tag","tag","reflect",FR,""],["offset","offset","reflect",$Uintptr,""]]);BP.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GJ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BP.init([["rtype","","reflect",BB,"reflect:\"struct\""],["fields","fields","reflect",FW,""]]);BQ.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Func","Func","",CT,""],["Index","Index","",$Int,""]]);BS.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Tag","Tag","",BT,""],["Offset","Offset","",$Uintptr,""],["Index","Index","",GH,""],["Anonymous","Anonymous","",$Bool,""]]);BT.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];HD.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];BU.init([["typ","typ","reflect",GJ,""],["index","index","reflect",GH,""]]);CT.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];HG.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];CT.init([["typ","typ","reflect",FF,""],["ptr","ptr","reflect",$UnsafePointer,""],["flag","","reflect",CU,""]]);CU.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HH.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HI.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CX.init([["Method","Method","",$String,""],["Kind","Kind","",BA,""]]);CZ.init([["itab","itab","reflect",GA,""],["word","word","reflect",$UnsafePointer,""]]);F=false;BR=new FO(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);DG=$assertType(O(new $Uint8(0)),FF);G();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -29,8 +29,8 @@ $packages["bufio"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,E,H,I,F,G;A=$packages[ $packages["image"]=(function(){var $pkg={},A,B,E,C,D,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,F,I,O,Q,S,T,V,X,Z,AB,AD,AF,AH,AJ,AL,AN,AP,AQ,G,a,b,c,d,H,J,K,L,M,R,W,Y,AA,AC,AI,AK,AM,AO,AR;A=$packages["bufio"];B=$packages["errors"];E=$packages["image/color"];C=$packages["io"];D=$packages["strconv"];F=$pkg.format=$newType(0,$kindStruct,"image.format","format","image",function(name_,magic_,decode_,decodeConfig_){this.$val=this;this.name=name_!==undefined?name_:"";this.magic=magic_!==undefined?magic_:"";this.decode=decode_!==undefined?decode_:$throwNilPointerError;this.decodeConfig=decodeConfig_!==undefined?decodeConfig_:$throwNilPointerError;});I=$pkg.reader=$newType(8,$kindInterface,"image.reader","reader","image",null);O=$pkg.Point=$newType(0,$kindStruct,"image.Point","Point","image",function(X_,Y_){this.$val=this;this.X=X_!==undefined?X_:0;this.Y=Y_!==undefined?Y_:0;});Q=$pkg.Rectangle=$newType(0,$kindStruct,"image.Rectangle","Rectangle","image",function(Min_,Max_){this.$val=this;this.Min=Min_!==undefined?Min_:new O.Ptr();this.Max=Max_!==undefined?Max_:new O.Ptr();});S=$pkg.Config=$newType(0,$kindStruct,"image.Config","Config","image",function(ColorModel_,Width_,Height_){this.$val=this;this.ColorModel=ColorModel_!==undefined?ColorModel_:$ifaceNil;this.Width=Width_!==undefined?Width_:0;this.Height=Height_!==undefined?Height_:0;});T=$pkg.Image=$newType(8,$kindInterface,"image.Image","Image","image",null);V=$pkg.RGBA=$newType(0,$kindStruct,"image.RGBA","RGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});X=$pkg.RGBA64=$newType(0,$kindStruct,"image.RGBA64","RGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});Z=$pkg.NRGBA=$newType(0,$kindStruct,"image.NRGBA","NRGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AB=$pkg.NRGBA64=$newType(0,$kindStruct,"image.NRGBA64","NRGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AD=$pkg.Alpha=$newType(0,$kindStruct,"image.Alpha","Alpha","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AF=$pkg.Alpha16=$newType(0,$kindStruct,"image.Alpha16","Alpha16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AH=$pkg.Gray=$newType(0,$kindStruct,"image.Gray","Gray","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AJ=$pkg.Gray16=$newType(0,$kindStruct,"image.Gray16","Gray16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AL=$pkg.Paletted=$newType(0,$kindStruct,"image.Paletted","Paletted","image",function(Pix_,Stride_,Rect_,Palette_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();this.Palette=Palette_!==undefined?Palette_:E.Palette.nil;});AN=$pkg.Uniform=$newType(0,$kindStruct,"image.Uniform","Uniform","image",function(C_){this.$val=this;this.C=C_!==undefined?C_:$ifaceNil;});AP=$pkg.YCbCrSubsampleRatio=$newType(4,$kindInt,"image.YCbCrSubsampleRatio","YCbCrSubsampleRatio","image",null);AQ=$pkg.YCbCr=$newType(0,$kindStruct,"image.YCbCr","YCbCr","image",function(Y_,Cb_,Cr_,YStride_,CStride_,SubsampleRatio_,Rect_){this.$val=this;this.Y=Y_!==undefined?Y_:AT.nil;this.Cb=Cb_!==undefined?Cb_:AT.nil;this.Cr=Cr_!==undefined?Cr_:AT.nil;this.YStride=YStride_!==undefined?YStride_:0;this.CStride=CStride_!==undefined?CStride_:0;this.SubsampleRatio=SubsampleRatio_!==undefined?SubsampleRatio_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});H=$pkg.RegisterFormat=function(e,f,g,h){G=$append(G,new F.Ptr(e,f,g,h));};J=function(e){var f,g,h;f=$assertType(e,I,true);g=f[0];h=f[1];if(h){return g;}return A.NewReader(e);};K=function(e,f){var g,h,i,j;if(!((e.length===f.$length))){return false;}g=f;h=0;while(h=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+h]);if(!((e.charCodeAt(i)===j))&&!((e.charCodeAt(i)===63))){return false;}h++;}return true;};L=function(e){var f,g,h,i,j,k;f=G;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),F);i=e.Peek(h.magic.length);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&K(h.magic,j)){return h;}g++;}return new F.Ptr("","",$throwNilPointerError,$throwNilPointerError);};M=$pkg.Decode=function(e){var f,g,h,i,j;f=J(e);g=$clone(L(f),F);if(g.decode===$throwNilPointerError){return[$ifaceNil,"",$pkg.ErrFormat];}h=g.decode(f);i=h[0];j=h[1];return[i,g.name,j];};O.Ptr.prototype.String=function(){var e;e=$clone(this,O);return"("+D.Itoa(e.X)+","+D.Itoa(e.Y)+")";};O.prototype.String=function(){return this.$val.String();};O.Ptr.prototype.Add=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X+e.X>>0,f.Y+e.Y>>0);};O.prototype.Add=function(e){return this.$val.Add(e);};O.Ptr.prototype.Sub=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X-e.X>>0,f.Y-e.Y>>0);};O.prototype.Sub=function(e){return this.$val.Sub(e);};O.Ptr.prototype.Mul=function(e){var f;f=$clone(this,O);return new O.Ptr(f.X*e>>0,f.Y*e>>0);};O.prototype.Mul=function(e){return this.$val.Mul(e);};O.Ptr.prototype.Div=function(e){var f,g,h;f=$clone(this,O);return new O.Ptr((g=f.X/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),(h=f.Y/e,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")));};O.prototype.Div=function(e){return this.$val.Div(e);};O.Ptr.prototype.In=function(e){var f;f=$clone(this,O);e=$clone(e,Q);return e.Min.X<=f.X&&f.X>0;}f.Y=(l=f.Y%j,l===l?l:$throwRuntimeError("integer divide by zero"));if(f.Y<0){f.Y=f.Y+(j)>>0;}return f.Add(e.Min);};O.prototype.Mod=function(e){return this.$val.Mod(e);};O.Ptr.prototype.Eq=function(e){var f;f=$clone(this,O);e=$clone(e,O);return(f.X===e.X)&&(f.Y===e.Y);};O.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.String=function(){var e;e=$clone(this,Q);return e.Min.String()+"-"+e.Max.String();};Q.prototype.String=function(){return this.$val.String();};Q.Ptr.prototype.Dx=function(){var e;e=$clone(this,Q);return e.Max.X-e.Min.X>>0;};Q.prototype.Dx=function(){return this.$val.Dx();};Q.Ptr.prototype.Dy=function(){var e;e=$clone(this,Q);return e.Max.Y-e.Min.Y>>0;};Q.prototype.Dy=function(){return this.$val.Dy();};Q.Ptr.prototype.Size=function(){var e;e=$clone(this,Q);return new O.Ptr(e.Max.X-e.Min.X>>0,e.Max.Y-e.Min.Y>>0);};Q.prototype.Size=function(){return this.$val.Size();};Q.Ptr.prototype.Add=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X+e.X>>0,f.Min.Y+e.Y>>0),new O.Ptr(f.Max.X+e.X>>0,f.Max.Y+e.Y>>0));};Q.prototype.Add=function(e){return this.$val.Add(e);};Q.Ptr.prototype.Sub=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X-e.X>>0,f.Min.Y-e.Y>>0),new O.Ptr(f.Max.X-e.X>>0,f.Max.Y-e.Y>>0));};Q.prototype.Sub=function(e){return this.$val.Sub(e);};Q.Ptr.prototype.Inset=function(e){var f,g,h;f=$clone(this,Q);if(f.Dx()<(2*e>>0)){f.Min.X=(g=((f.Min.X+f.Max.X>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));f.Max.X=f.Min.X;}else{f.Min.X=f.Min.X+(e)>>0;f.Max.X=f.Max.X-(e)>>0;}if(f.Dy()<(2*e>>0)){f.Min.Y=(h=((f.Min.Y+f.Max.Y>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));f.Max.Y=f.Min.Y;}else{f.Min.Y=f.Min.Y+(e)>>0;f.Max.Y=f.Max.Y-(e)>>0;}return f;};Q.prototype.Inset=function(e){return this.$val.Inset(e);};Q.Ptr.prototype.Intersect=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.Xe.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y>e.Max.Y){f.Max.Y=e.Max.Y;}if(f.Min.X>f.Max.X||f.Min.Y>f.Max.Y){return $pkg.ZR;}return f;};Q.prototype.Intersect=function(e){return this.$val.Intersect(e);};Q.Ptr.prototype.Union=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.X>e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y>e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X=e.Max.X||e.Min.Y>=e.Max.Y;};Q.prototype.Empty=function(){return this.$val.Empty();};Q.Ptr.prototype.Eq=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return(f.Min.X===e.Min.X)&&(f.Min.Y===e.Min.Y)&&(f.Max.X===e.Max.X)&&(f.Max.Y===e.Max.Y);};Q.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.Overlaps=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return f.Min.Xg){i=g;j=e;e=i;g=j;}if(f>h){k=h;l=f;f=k;h=l;}return new Q.Ptr(new O.Ptr(e,f),new O.Ptr(g,h));};V.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBAModel;};V.prototype.ColorModel=function(){return this.$val.ColorModel();};V.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};V.prototype.Bounds=function(){return this.$val.Bounds();};V.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBAAt(e,f),new h.constructor.Struct(h));};V.prototype.At=function(e,f){return this.$val.At(e,f);};V.Ptr.prototype.RGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};V.prototype.RGBAAt=function(e,f){return this.$val.RGBAAt(e,f);};V.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};V.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};V.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBAModel.Convert(g),E.RGBA),E.RGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};V.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};V.Ptr.prototype.SetRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.RGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};V.prototype.SetRGBA=function(e,f,g){return this.$val.SetRGBA(e,f,g);};V.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new V.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new V.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};V.prototype.SubImage=function(e){return this.$val.SubImage(e);};V.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};V.prototype.Opaque=function(){return this.$val.Opaque();};W=$pkg.NewRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new V.Ptr(j,4*h>>0,$clone(e,Q));};X.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBA64Model;};X.prototype.ColorModel=function(){return this.$val.ColorModel();};X.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};X.prototype.Bounds=function(){return this.$val.Bounds();};X.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBA64At(e,f),new h.constructor.Struct(h));};X.prototype.At=function(e,f){return this.$val.At(e,f);};X.Ptr.prototype.RGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};X.prototype.RGBA64At=function(e,f){return this.$val.RGBA64At(e,f);};X.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};X.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};X.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBA64Model.Convert(g),E.RGBA64),E.RGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};X.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};X.Ptr.prototype.SetRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.RGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};X.prototype.SetRGBA64=function(e,f,g){return this.$val.SetRGBA64(e,f,g);};X.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new X.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new X.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};X.prototype.SubImage=function(e){return this.$val.SubImage(e);};X.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};X.prototype.Opaque=function(){return this.$val.Opaque();};Y=$pkg.NewRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new X.Ptr(j,8*h>>0,$clone(e,Q));};Z.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBAModel;};Z.prototype.ColorModel=function(){return this.$val.ColorModel();};Z.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};Z.prototype.Bounds=function(){return this.$val.Bounds();};Z.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBAAt(e,f),new h.constructor.Struct(h));};Z.prototype.At=function(e,f){return this.$val.At(e,f);};Z.Ptr.prototype.NRGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};Z.prototype.NRGBAAt=function(e,f){return this.$val.NRGBAAt(e,f);};Z.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};Z.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};Z.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBAModel.Convert(g),E.NRGBA),E.NRGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};Z.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};Z.Ptr.prototype.SetNRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.NRGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};Z.prototype.SetNRGBA=function(e,f,g){return this.$val.SetNRGBA(e,f,g);};Z.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new Z.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new Z.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};Z.prototype.SubImage=function(e){return this.$val.SubImage(e);};Z.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};Z.prototype.Opaque=function(){return this.$val.Opaque();};AA=$pkg.NewNRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new Z.Ptr(j,4*h>>0,$clone(e,Q));};AB.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBA64Model;};AB.prototype.ColorModel=function(){return this.$val.ColorModel();};AB.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AB.prototype.Bounds=function(){return this.$val.Bounds();};AB.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBA64At(e,f),new h.constructor.Struct(h));};AB.prototype.At=function(e,f){return this.$val.At(e,f);};AB.Ptr.prototype.NRGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};AB.prototype.NRGBA64At=function(e,f){return this.$val.NRGBA64At(e,f);};AB.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};AB.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AB.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBA64Model.Convert(g),E.NRGBA64),E.NRGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};AB.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AB.Ptr.prototype.SetNRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.NRGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};AB.prototype.SetNRGBA64=function(e,f,g){return this.$val.SetNRGBA64(e,f,g);};AB.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AB.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AB.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AB.prototype.SubImage=function(e){return this.$val.SubImage(e);};AB.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AB.prototype.Opaque=function(){return this.$val.Opaque();};AC=$pkg.NewNRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new AB.Ptr(j,8*h>>0,$clone(e,Q));};AD.Ptr.prototype.ColorModel=function(){var e;e=this;return E.AlphaModel;};AD.prototype.ColorModel=function(){return this.$val.ColorModel();};AD.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AD.prototype.Bounds=function(){return this.$val.Bounds();};AD.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.AlphaAt(e,f),new h.constructor.Struct(h));};AD.prototype.At=function(e,f){return this.$val.At(e,f);};AD.Ptr.prototype.AlphaAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AD.prototype.AlphaAt=function(e,f){return this.$val.AlphaAt(e,f);};AD.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AD.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AD.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.AlphaModel.Convert(g),E.Alpha).A);};AD.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AD.Ptr.prototype.SetAlpha=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Alpha);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.A);};AD.prototype.SetAlpha=function(e,f,g){return this.$val.SetAlpha(e,f,g);};AD.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AD.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AD.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AD.prototype.SubImage=function(e){return this.$val.SubImage(e);};AD.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx();h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(1)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AD.prototype.Opaque=function(){return this.$val.Opaque();};AF.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Alpha16Model;};AF.prototype.ColorModel=function(){return this.$val.ColorModel();};AF.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AF.prototype.Bounds=function(){return this.$val.Bounds();};AF.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Alpha16At(e,f),new h.constructor.Struct(h));};AF.prototype.At=function(e,f){return this.$val.At(e,f);};AF.Ptr.prototype.Alpha16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha16.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AF.prototype.Alpha16At=function(e,f){return this.$val.Alpha16At(e,f);};AF.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AF.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AF.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Alpha16Model.Convert(g),E.Alpha16),E.Alpha16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.A>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.A<<24>>>24));};AF.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AF.Ptr.prototype.SetAlpha16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Alpha16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.A>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.A<<24>>>24));};AF.prototype.SetAlpha16=function(e,f,g){return this.$val.SetAlpha16(e,f,g);};AF.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AF.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AF.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AF.prototype.SubImage=function(e){return this.$val.SubImage(e);};AF.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx()*2>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(2)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AF.prototype.Opaque=function(){return this.$val.Opaque();};AH.Ptr.prototype.ColorModel=function(){var e;e=this;return E.GrayModel;};AH.prototype.ColorModel=function(){return this.$val.ColorModel();};AH.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AH.prototype.Bounds=function(){return this.$val.Bounds();};AH.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.GrayAt(e,f),new h.constructor.Struct(h));};AH.prototype.At=function(e,f){return this.$val.At(e,f);};AH.Ptr.prototype.GrayAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AH.prototype.GrayAt=function(e,f){return this.$val.GrayAt(e,f);};AH.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AH.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AH.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.GrayModel.Convert(g),E.Gray).Y);};AH.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AH.Ptr.prototype.SetGray=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Gray);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.Y);};AH.prototype.SetGray=function(e,f,g){return this.$val.SetGray(e,f,g);};AH.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AH.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AH.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AH.prototype.SubImage=function(e){return this.$val.SubImage(e);};AH.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AH.prototype.Opaque=function(){return this.$val.Opaque();};AI=$pkg.NewGray=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((1*h>>0)*i>>0));return new AH.Ptr(j,1*h>>0,$clone(e,Q));};AJ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Gray16Model;};AJ.prototype.ColorModel=function(){return this.$val.ColorModel();};AJ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AJ.prototype.Bounds=function(){return this.$val.Bounds();};AJ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Gray16At(e,f),new h.constructor.Struct(h));};AJ.prototype.At=function(e,f){return this.$val.At(e,f);};AJ.Ptr.prototype.Gray16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray16.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AJ.prototype.Gray16At=function(e,f){return this.$val.Gray16At(e,f);};AJ.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AJ.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AJ.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Gray16Model.Convert(g),E.Gray16),E.Gray16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.Y>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.Y<<24>>>24));};AJ.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AJ.Ptr.prototype.SetGray16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Gray16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.Y>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.Y<<24>>>24));};AJ.prototype.SetGray16=function(e,f,g){return this.$val.SetGray16(e,f,g);};AJ.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AJ.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AJ.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AJ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AJ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AJ.prototype.Opaque=function(){return this.$val.Opaque();};AK=$pkg.NewGray16=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((2*h>>0)*i>>0));return new AJ.Ptr(j,2*h>>0,$clone(e,Q));};AL.Ptr.prototype.ColorModel=function(){var e;e=this;return e.Palette;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.At=function(e,f){var g,h,i,j,k,l;g=this;if(g.Palette.$length===0){return $ifaceNil;}if(!(new O.Ptr(e,f).In(g.Rect))){return(h=g.Palette,((0<0||0>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));}i=g.PixOffset(e,f);return(j=g.Palette,k=(l=g.Pix,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])),((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));};AL.prototype.At=function(e,f){return this.$val.At(e,f);};AL.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AL.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AL.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=(h.Palette.Index(g)<<24>>>24));};AL.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AL.Ptr.prototype.ColorIndexAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return 0;}h=g.PixOffset(e,f);return(i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));};AL.prototype.ColorIndexAt=function(e,f){return this.$val.ColorIndexAt(e,f);};AL.Ptr.prototype.SetColorIndex=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g);};AL.prototype.SetColorIndex=function(e,f,g){return this.$val.SetColorIndex(e,f,g);};AL.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AL.Ptr(AT.nil,0,new Q.Ptr(),f.Palette);}g=f.PixOffset(e.Min.X,e.Min.Y);return new AL.Ptr($subslice(f.Pix,g),f.Stride,$clone(f.Rect.Intersect(e),Q),f.Palette);};AL.prototype.SubImage=function(e){return this.$val.SubImage(e);};AL.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this;f=$clone(AU.zero(),AU);g=0;h=e.Rect.Dx();i=g;j=h;k=e.Rect.Min.Y;while(k=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);(n<0||n>=f.length)?$throwRuntimeError("index out of range"):f[n]=true;m++;}i=i+(e.Stride)>>0;j=j+(e.Stride)>>0;k=k+(1)>>0;}o=e.Palette;p=0;while(p=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]);if(!((q<0||q>=f.length)?$throwRuntimeError("index out of range"):f[q])){p++;continue;}s=r.RGBA();t=s[3];if(!((t===65535))){return false;}p++;}return true;};AL.prototype.Opaque=function(){return this.$val.Opaque();};AM=$pkg.NewPaletted=function(e,f){var g,h,i,j,k;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=g;j=h;k=AT.make(((1*i>>0)*j>>0));return new AL.Ptr(k,1*i>>0,$clone(e,Q),f);};AN.Ptr.prototype.RGBA=function(){var e=0,f=0,g=0,h=0,i,j;i=this;j=i.C.RGBA();e=j[0];f=j[1];g=j[2];h=j[3];return[e,f,g,h];};AN.prototype.RGBA=function(){return this.$val.RGBA();};AN.Ptr.prototype.ColorModel=function(){var e;e=this;return e;};AN.prototype.ColorModel=function(){return this.$val.ColorModel();};AN.Ptr.prototype.Convert=function(e){var f;f=this;return f.C;};AN.prototype.Convert=function(e){return this.$val.Convert(e);};AN.Ptr.prototype.Bounds=function(){var e;e=this;return new Q.Ptr(new O.Ptr(-1000000000,-1000000000),new O.Ptr(1000000000,1000000000));};AN.prototype.Bounds=function(){return this.$val.Bounds();};AN.Ptr.prototype.At=function(e,f){var g;g=this;return g.C;};AN.prototype.At=function(e,f){return this.$val.At(e,f);};AN.Ptr.prototype.Opaque=function(){var e,f,g;e=this;f=e.C.RGBA();g=f[3];return g===65535;};AN.prototype.Opaque=function(){return this.$val.Opaque();};AO=$pkg.NewUniform=function(e){return new AN.Ptr(e);};AP.prototype.String=function(){var e,f;e=this.$val!==undefined?this.$val:this;f=e;if(f===0){return"YCbCrSubsampleRatio444";}else if(f===1){return"YCbCrSubsampleRatio422";}else if(f===2){return"YCbCrSubsampleRatio420";}else if(f===3){return"YCbCrSubsampleRatio440";}return"YCbCrSubsampleRatioUnknown";};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AQ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.YCbCrModel;};AQ.prototype.ColorModel=function(){return this.$val.ColorModel();};AQ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AQ.prototype.Bounds=function(){return this.$val.Bounds();};AQ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.YCbCrAt(e,f),new h.constructor.Struct(h));};AQ.prototype.At=function(e,f){return this.$val.At(e,f);};AQ.Ptr.prototype.YCbCrAt=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.YCbCr.Ptr(0,0,0);}h=g.YOffset(e,f);i=g.COffset(e,f);return new E.YCbCr.Ptr((j=g.Y,((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])),(k=g.Cb,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),(l=g.Cr,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])));};AQ.prototype.YCbCrAt=function(e,f){return this.$val.YCbCrAt(e,f);};AQ.Ptr.prototype.YOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.YStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.YOffset=function(e,f){return this.$val.YOffset(e,f);};AQ.Ptr.prototype.COffset=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.SubsampleRatio;if(h===1){return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+(((i=e/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"))-(j=g.Rect.Min.X/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===2){return((((k=f/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-(l=g.Rect.Min.Y/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+(((m=e/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))-(n=g.Rect.Min.X/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===3){return((((o=f/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))-(p=g.Rect.Min.Y/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;}return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.COffset=function(e,f){return this.$val.COffset(e,f);};AQ.Ptr.prototype.SubImage=function(e){var f,g,h;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AQ.Ptr(AT.nil,AT.nil,AT.nil,0,0,f.SubsampleRatio,new Q.Ptr());}g=f.YOffset(e.Min.X,e.Min.Y);h=f.COffset(e.Min.X,e.Min.Y);return new AQ.Ptr($subslice(f.Y,g),$subslice(f.Cb,h),$subslice(f.Cr,h),f.YStride,f.CStride,f.SubsampleRatio,$clone(e,Q));};AQ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AQ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AQ.prototype.Opaque=function(){return this.$val.Opaque();};AR=$pkg.NewYCbCr=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=0;j=0;k=g;l=h;m=i;n=j;o=f;if(o===1){m=(p=((e.Max.X+1>>0))/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))-(q=e.Min.X/2,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))>>0;n=l;}else if(o===2){m=(r=((e.Max.X+1>>0))/2,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"))-(s=e.Min.X/2,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"))>>0;n=(t=((e.Max.Y+1>>0))/2,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"))-(u=e.Min.Y/2,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0;}else if(o===3){m=k;n=(v=((e.Max.Y+1>>0))/2,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))-(w=e.Min.Y/2,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0;}else{m=k;n=l;}x=AV.make(((k*l>>0)+((2*m>>0)*n>>0)>>0));return new AQ.Ptr($subslice(x,0,(k*l>>0)),$subslice(x,((k*l>>0)+((0*m>>0)*n>>0)>>0),((k*l>>0)+((1*m>>0)*n>>0)>>0)),$subslice(x,((k*l>>0)+((1*m>>0)*n>>0)>>0),((k*l>>0)+((2*m>>0)*n>>0)>>0)),k,m,f,$clone(e,Q));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AS=$sliceType(F);AT=$sliceType($Uint8);AU=$arrayType($Bool,256);AV=$sliceType($Uint8);AW=$funcType([C.Reader],[T,$error],false);AX=$funcType([C.Reader],[S,$error],false);AY=$ptrType(O);AZ=$ptrType(Q);BA=$ptrType(V);BB=$ptrType(X);BC=$ptrType(Z);BD=$ptrType(AB);BE=$ptrType(AD);BF=$ptrType(AF);BG=$ptrType(AH);BH=$ptrType(AJ);BI=$ptrType(AL);BJ=$ptrType(AN);BK=$ptrType(AP);BL=$ptrType(AQ);F.init([["name","name","image",$String,""],["magic","magic","image",$String,""],["decode","decode","image",AW,""],["decodeConfig","decodeConfig","image",AX,""]]);I.init([["Peek","Peek","",$funcType([$Int],[AV,$error],false)],["Read","Read","",$funcType([AV],[$Int,$error],false)]]);O.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];AY.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];O.init([["X","X","",$Int,""],["Y","Y","",$Int,""]]);Q.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];AZ.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];Q.init([["Min","Min","",O,""],["Max","Max","",O,""]]);S.init([["ColorModel","ColorModel","",E.Model,""],["Width","Width","",$Int,""],["Height","Height","",$Int,""]]);T.init([["At","At","",$funcType([$Int,$Int],[E.Color],false)],["Bounds","Bounds","",$funcType([],[Q],false)],["ColorModel","ColorModel","",$funcType([],[E.Model],false)]]);BA.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBAAt","RGBAAt","",$funcType([$Int,$Int],[E.RGBA],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA","SetRGBA","",$funcType([$Int,$Int,E.RGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];V.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BB.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBA64At","RGBA64At","",$funcType([$Int,$Int],[E.RGBA64],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA64","SetRGBA64","",$funcType([$Int,$Int,E.RGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];X.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BC.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBAAt","NRGBAAt","",$funcType([$Int,$Int],[E.NRGBA],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA","SetNRGBA","",$funcType([$Int,$Int,E.NRGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];Z.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BD.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBA64At","NRGBA64At","",$funcType([$Int,$Int],[E.NRGBA64],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA64","SetNRGBA64","",$funcType([$Int,$Int,E.NRGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AB.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BE.methods=[["AlphaAt","AlphaAt","",$funcType([$Int,$Int],[E.Alpha],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha","SetAlpha","",$funcType([$Int,$Int,E.Alpha],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AD.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BF.methods=[["Alpha16At","Alpha16At","",$funcType([$Int,$Int],[E.Alpha16],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha16","SetAlpha16","",$funcType([$Int,$Int,E.Alpha16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AF.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BG.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["GrayAt","GrayAt","",$funcType([$Int,$Int],[E.Gray],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray","SetGray","",$funcType([$Int,$Int,E.Gray],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AH.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BH.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Gray16At","Gray16At","",$funcType([$Int,$Int],[E.Gray16],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray16","SetGray16","",$funcType([$Int,$Int,E.Gray16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AJ.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BI.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorIndexAt","ColorIndexAt","",$funcType([$Int,$Int],[$Uint8],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetColorIndex","SetColorIndex","",$funcType([$Int,$Int,$Uint8],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AL.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""],["Palette","Palette","",E.Palette,""]]);BJ.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Convert","Convert","",$funcType([E.Color],[E.Color],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AN.init([["C","C","",E.Color,""]]);AP.methods=[["String","String","",$funcType([],[$String],false),-1]];BK.methods=[["String","String","",$funcType([],[$String],false),-1]];BL.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["COffset","COffset","",$funcType([$Int,$Int],[$Int],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1],["YCbCrAt","YCbCrAt","",$funcType([$Int,$Int],[E.YCbCr],false),-1],["YOffset","YOffset","",$funcType([$Int,$Int],[$Int],false),-1]];AQ.init([["Y","Y","",AT,""],["Cb","Cb","",AT,""],["Cr","Cr","",AT,""],["YStride","YStride","",$Int,""],["CStride","CStride","",$Int,""],["SubsampleRatio","SubsampleRatio","",AP,""],["Rect","Rect","",Q,""]]);G=AS.nil;$pkg.ZP=new O.Ptr();$pkg.ZR=new Q.Ptr();$pkg.ErrFormat=B.New("image: unknown format");$pkg.Black=AO((a=E.Black,new a.constructor.Struct(a)));$pkg.White=AO((b=E.White,new b.constructor.Struct(b)));$pkg.Transparent=AO((c=E.Transparent,new c.constructor.Struct(c)));$pkg.Opaque=AO((d=E.Opaque,new d.constructor.Struct(d)));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/draw"]=(function(){var $pkg={},A,B,X,Y,Z,AA,AB,AC,AD,AE,AF,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V;A=$packages["image"];B=$packages["image/color"];H=function(b,c,d,e,f,g){var h,i,j;h=$clone(c.Min,A.Point);$copy(c,c.Intersect(b.Bounds()),A.Rectangle);$copy(c,c.Intersect(d.Bounds().Add(h.Sub(e))),A.Rectangle);if(!($interfaceIsEqual(f,$ifaceNil))){$copy(c,c.Intersect(f.Bounds().Add(h.Sub(g))),A.Rectangle);}i=c.Min.X-h.X>>0;j=c.Min.Y-h.Y>>0;if((i===0)&&(j===0)){return;}e.X=(e).X+(i)>>0;e.Y=(e).Y+(j)>>0;g.X=(g).X+(i)>>0;g.Y=(g).Y+(j)>>0;};I=function(b,c,d,e){e=$clone(e,A.Point);c=$clone(c,A.Rectangle);return $interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))&&(e.Y>0;ag=w-1>>0;ah=-1;w=af;x=ag;y=ah;ai=ad-1>>0;aj=ac-1>>0;ak=-1;ac=ai;ad=aj;ae=ak;}al=$clone(new B.RGBA64.Ptr(),B.RGBA64);am=(e.Y+ac>>0)-c.Min.Y>>0;an=(g.Y+ac>>0)-c.Min.Y>>0;ao=ac;while(!((ao===ad))){ap=(e.X+w>>0)-c.Min.X>>0;aq=(g.X+w>>0)-c.Min.X>>0;ar=w;while(!((ar===x))){as=65535;if(!($interfaceIsEqual(f,$ifaceNil))){at=f.At(aq,an).RGBA();as=at[3];}if(as===0){if(h===0){}else{b.Set(ar,ao,(au=B.Transparent,new au.constructor.Struct(au)));}}else if((as===65535)&&(h===1)){b.Set(ar,ao,d.At(ap,am));}else{av=d.At(ap,am).RGBA();aw=av[0];ax=av[1];ay=av[2];az=av[3];if(h===0){ba=b.At(ar,ao).RGBA();bb=ba[0];bc=ba[1];bd=ba[2];be=ba[3];bg=65535-((bf=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bf===bf&&bf!==1/0&&bf!==-1/0)?bf>>>0:$throwRuntimeError("integer divide by zero")))>>>0;al.R=((bh=((((((bb>>>16<<16)*bg>>>0)+(bb<<16>>>16)*bg)>>>0)+((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)>>>0))/65535,(bh===bh&&bh!==1/0&&bh!==-1/0)?bh>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bi=((((((bc>>>16<<16)*bg>>>0)+(bc<<16>>>16)*bg)>>>0)+((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)>>>0))/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bj=((((((bd>>>16<<16)*bg>>>0)+(bd<<16>>>16)*bg)>>>0)+((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)>>>0))/65535,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bk=((((((be>>>16<<16)*bg>>>0)+(be<<16>>>16)*bg)>>>0)+((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}else{al.R=((bl=((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)/65535,(bl===bl&&bl!==1/0&&bl!==-1/0)?bl>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bm=((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)/65535,(bm===bm&&bm!==1/0&&bm!==-1/0)?bm>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bn=((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bo=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bo===bo&&bo!==1/0&&bo!==-1/0)?bo>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}b.Set(ar,ao,al);}bp=ar+y>>0;bq=ap+y>>0;br=aq+y>>0;ar=bp;ap=bq;aq=br;}bs=ao+ae>>0;bt=am+ae>>0;bu=an+ae>>0;ao=bs;am=bt;an=bu;}};L=function(b,c,d){var e,f,g,h,i,j,k,l,m,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;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];k=(j=(65535-i>>>0),(((j>>>16<<16)*257>>>0)+(j<<16>>>16)*257)>>>0);l=b.PixOffset(c.Min.X,c.Min.Y);m=l+(c.Dx()*4>>0)>>0;n=c.Min.Y;while(!((n===c.Max.Y))){o=l;while(o>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>>0);u=((s=b.Pix,t=o+1>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))>>>0);x=((v=b.Pix,w=o+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]))>>>0);aa=((y=b.Pix,z=o+3>>0,((z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]))>>>0);(ac=b.Pix,ad=o+0>>0,(ad<0||ad>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ad]=(((((ab=((((r>>>16<<16)*k>>>0)+(r<<16>>>16)*k)>>>0)/65535,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"))+f>>>0))>>>8>>>0)<<24>>>24));(af=b.Pix,ag=o+1>>0,(ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]=(((((ae=((((u>>>16<<16)*k>>>0)+(u<<16>>>16)*k)>>>0)/65535,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>>0:$throwRuntimeError("integer divide by zero"))+g>>>0))>>>8>>>0)<<24>>>24));(ai=b.Pix,aj=o+2>>0,(aj<0||aj>=ai.$length)?$throwRuntimeError("index out of range"):ai.$array[ai.$offset+aj]=(((((ah=((((x>>>16<<16)*k>>>0)+(x<<16>>>16)*k)>>>0)/65535,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>>0:$throwRuntimeError("integer divide by zero"))+h>>>0))>>>8>>>0)<<24>>>24));(al=b.Pix,am=o+3>>0,(am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]=(((((ak=((((aa>>>16<<16)*k>>>0)+(aa<<16>>>16)*k)>>>0)/65535,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>>0:$throwRuntimeError("integer divide by zero"))+i>>>0))>>>8>>>0)<<24>>>24));o=o+(4)>>0;}l=l+(b.Stride)>>0;m=m+(b.Stride)>>0;n=n+(1)>>0;}};M=function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];j=b.PixOffset(c.Min.X,c.Min.Y);k=j+(c.Dx()*4>>0)>>0;l=j;while(l>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=((f>>>8>>>0)<<24>>>24));(o=b.Pix,p=l+1>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((g>>>8>>>0)<<24>>>24));(q=b.Pix,r=l+2>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=((h>>>8>>>0)<<24>>>24));(s=b.Pix,t=l+3>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((i>>>8>>>0)<<24>>>24));l=l+(4)>>0;}u=$subslice(b.Pix,j,k);v=c.Min.Y+1>>0;while(v>0;k=k+(b.Stride)>>0;$copySlice($subslice(b.Pix,j,k),u);v=v+(1)>>0;}};N=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=c.Dx();g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;p=0;q=0;r=0;s=p;t=q;u=r;if(c.Min.Y>0;x=4;s=v;t=w;u=x;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;y=((h-1>>0))*4>>0;z=-4;aa=-4;s=y;t=z;u=aa;}while(i>0){ab=$subslice(b.Pix,j);ac=$subslice(d.Pix,k);ad=s;while(!((ad===t))){ag=(ae=((af=ad+0>>0,((af<0||af>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+af]))>>>0),(((ae>>>16<<16)*257>>>0)+(ae<<16>>>16)*257)>>>0);aj=(ah=((ai=ad+1>>0,((ai<0||ai>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ai]))>>>0),(((ah>>>16<<16)*257>>>0)+(ah<<16>>>16)*257)>>>0);am=(ak=((al=ad+2>>0,((al<0||al>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+al]))>>>0),(((ak>>>16<<16)*257>>>0)+(ak<<16>>>16)*257)>>>0);ap=(an=((ao=ad+3>>0,((ao<0||ao>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ao]))>>>0),(((an>>>16<<16)*257>>>0)+(an<<16>>>16)*257)>>>0);ar=((aq=ad+0>>0,((aq<0||aq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aq]))>>>0);at=((as=ad+1>>0,((as<0||as>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+as]))>>>0);av=((au=ad+2>>0,((au<0||au>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+au]))>>>0);ax=((aw=ad+3>>0,((aw<0||aw>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aw]))>>>0);az=(ay=(65535-ap>>>0),(((ay>>>16<<16)*257>>>0)+(ay<<16>>>16)*257)>>>0);(bb=ad+0>>0,(bb<0||bb>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bb]=(((((ba=((((ar>>>16<<16)*az>>>0)+(ar<<16>>>16)*az)>>>0)/65535,(ba===ba&&ba!==1/0&&ba!==-1/0)?ba>>>0:$throwRuntimeError("integer divide by zero"))+ag>>>0))>>>8>>>0)<<24>>>24));(bd=ad+1>>0,(bd<0||bd>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bd]=(((((bc=((((at>>>16<<16)*az>>>0)+(at<<16>>>16)*az)>>>0)/65535,(bc===bc&&bc!==1/0&&bc!==-1/0)?bc>>>0:$throwRuntimeError("integer divide by zero"))+aj>>>0))>>>8>>>0)<<24>>>24));(bf=ad+2>>0,(bf<0||bf>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bf]=(((((be=((((av>>>16<<16)*az>>>0)+(av<<16>>>16)*az)>>>0)/65535,(be===be&&be!==1/0&&be!==-1/0)?be>>>0:$throwRuntimeError("integer divide by zero"))+am>>>0))>>>8>>>0)<<24>>>24));(bh=ad+3>>0,(bh<0||bh>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bh]=(((((bg=((((ax>>>16<<16)*az>>>0)+(ax<<16>>>16)*az)>>>0)/65535,(bg===bg&&bg!==1/0&&bg!==-1/0)?bg>>>0:$throwRuntimeError("integer divide by zero"))+ap>>>0))>>>8>>>0)<<24>>>24));ad=ad+(u)>>0;}j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};O=function(b,c,d,e){var f,g,h,i,j,k,l,m,n,o;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=4*c.Dx()>>0;g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;if(c.Min.Y<=e.Y){n=b.Stride;o=d.Stride;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;}while(i>0){$copySlice($subslice(b.Pix,j,(j+h>>0)),$subslice(d.Pix,k,(k+h>>0)));j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};P=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));ah=((ag=p+0>>0,((ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]))>>>0);aj=((ai=p+1>>0,((ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]))>>>0);al=((ak=p+2>>0,((ak<0||ak>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ak]))>>>0);an=((am=p+3>>0,((am<0||am>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+am]))>>>0);ap=(ao=(65535-t>>>0),(((ao>>>16<<16)*257>>>0)+(ao<<16>>>16)*257)>>>0);(ar=p+0>>0,(ar<0||ar>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ar]=(((((aq=((((ah>>>16<<16)*ap>>>0)+(ah<<16>>>16)*ap)>>>0)/65535,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>>0:$throwRuntimeError("integer divide by zero"))+x>>>0))>>>8>>>0)<<24>>>24));(at=p+1>>0,(at<0||at>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+at]=(((((as=((((aj>>>16<<16)*ap>>>0)+(aj<<16>>>16)*ap)>>>0)/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))+ab>>>0))>>>8>>>0)<<24>>>24));(av=p+2>>0,(av<0||av>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+av]=(((((au=((((al>>>16<<16)*ap>>>0)+(al<<16>>>16)*ap)>>>0)/65535,(au===au&&au!==1/0&&au!==-1/0)?au>>>0:$throwRuntimeError("integer divide by zero"))+af>>>0))>>>8>>>0)<<24>>>24));(ax=p+3>>0,(ax<0||ax>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ax]=(((((aw=((((an>>>16<<16)*ap>>>0)+(an<<16>>>16)*ap)>>>0)/65535,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>>0:$throwRuntimeError("integer divide by zero"))+t>>>0))>>>8>>>0)<<24>>>24));ay=p+4>>0;az=q+4>>0;p=ay;q=az;}ba=j+1>>0;bb=k+1>>0;j=ba;k=bb;}};Q=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));(ag=p+0>>0,(ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]=((x>>>8>>>0)<<24>>>24));(ah=p+1>>0,(ah<0||ah>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ah]=((ab>>>8>>>0)<<24>>>24));(ai=p+2>>0,(ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]=((af>>>8>>>0)<<24>>>24));(aj=p+3>>0,(aj<0||aj>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+aj]=((t>>>8>>>0)<<24>>>24));ak=p+4>>0;al=q+4>>0;p=ak;q=al;}am=j+1>>0;an=k+1>>0;j=am;k=an;}};R=function(b,c,d,e){var f=false,g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=((c.Min.X-b.Rect.Min.X>>0))*4>>0;h=((c.Max.X-b.Rect.Min.X>>0))*4>>0;i=c.Min.Y-b.Rect.Min.Y>>0;j=c.Max.Y-b.Rect.Min.Y>>0;k=d.SubsampleRatio;if(k===0){l=i;m=e.Y;n=l;o=m;while(!((n===j))){p=$subslice(b.Pix,(n*b.Stride>>0));q=(((o-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;r=(((o-d.Rect.Min.Y>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;s=g;while(!((s===h))){t=B.YCbCrToRGB((u=d.Y,((q<0||q>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+q])),(v=d.Cb,((r<0||r>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+r])),(w=d.Cr,((r<0||r>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+r])));x=t[0];y=t[1];z=t[2];(aa=s+0>>0,(aa<0||aa>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+aa]=x);(ab=s+1>>0,(ab<0||ab>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ab]=y);(ac=s+2>>0,(ac<0||ac>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ac]=z);(ad=s+3>>0,(ad<0||ad>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ad]=255);ae=s+4>>0;af=q+1>>0;ag=r+1>>0;s=ae;q=af;r=ag;}ah=n+1>>0;ai=o+1>>0;n=ah;o=ai;}}else if(k===1){aj=i;ak=e.Y;al=aj;am=ak;while(!((al===j))){an=$subslice(b.Pix,(al*b.Stride>>0));ao=(((am-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;aq=(((am-d.Rect.Min.Y>>0))*d.CStride>>0)-(ap=d.Rect.Min.X/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"))>>0;ar=g;as=e.X;at=ar;au=as;while(!((at===h))){aw=aq+(av=au/2,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"))>>0;ax=B.YCbCrToRGB((ay=d.Y,((ao<0||ao>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+ao])),(az=d.Cb,((aw<0||aw>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+aw])),(ba=d.Cr,((aw<0||aw>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+aw])));bb=ax[0];bc=ax[1];bd=ax[2];(be=at+0>>0,(be<0||be>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+be]=bb);(bf=at+1>>0,(bf<0||bf>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bf]=bc);(bg=at+2>>0,(bg<0||bg>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bg]=bd);(bh=at+3>>0,(bh<0||bh>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bh]=255);bi=at+4>>0;bj=au+1>>0;bk=ao+1>>0;at=bi;au=bj;ao=bk;}bl=al+1>>0;bm=am+1>>0;al=bl;am=bm;}}else if(k===2){bn=i;bo=e.Y;bp=bn;bq=bo;while(!((bp===j))){br=$subslice(b.Pix,(bp*b.Stride>>0));bs=(((bq-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;bw=((((bt=bq/2,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>0:$throwRuntimeError("integer divide by zero"))-(bu=d.Rect.Min.Y/2,(bu===bu&&bu!==1/0&&bu!==-1/0)?bu>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)-(bv=d.Rect.Min.X/2,(bv===bv&&bv!==1/0&&bv!==-1/0)?bv>>0:$throwRuntimeError("integer divide by zero"))>>0;bx=g;by=e.X;bz=bx;ca=by;while(!((bz===h))){cc=bw+(cb=ca/2,(cb===cb&&cb!==1/0&&cb!==-1/0)?cb>>0:$throwRuntimeError("integer divide by zero"))>>0;cd=B.YCbCrToRGB((ce=d.Y,((bs<0||bs>=ce.$length)?$throwRuntimeError("index out of range"):ce.$array[ce.$offset+bs])),(cf=d.Cb,((cc<0||cc>=cf.$length)?$throwRuntimeError("index out of range"):cf.$array[cf.$offset+cc])),(cg=d.Cr,((cc<0||cc>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+cc])));ch=cd[0];ci=cd[1];cj=cd[2];(ck=bz+0>>0,(ck<0||ck>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+ck]=ch);(cl=bz+1>>0,(cl<0||cl>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cl]=ci);(cm=bz+2>>0,(cm<0||cm>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cm]=cj);(cn=bz+3>>0,(cn<0||cn>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cn]=255);co=bz+4>>0;cp=ca+1>>0;cq=bs+1>>0;bz=co;ca=cp;bs=cq;}cr=bp+1>>0;cs=bq+1>>0;bp=cr;bq=cs;}}else if(k===3){ct=i;cu=e.Y;cv=ct;cw=cu;while(!((cv===j))){cx=$subslice(b.Pix,(cv*b.Stride>>0));cy=(((cw-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;db=((((cz=cw/2,(cz===cz&&cz!==1/0&&cz!==-1/0)?cz>>0:$throwRuntimeError("integer divide by zero"))-(da=d.Rect.Min.Y/2,(da===da&&da!==1/0&&da!==-1/0)?da>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;dc=g;while(!((dc===h))){dd=B.YCbCrToRGB((de=d.Y,((cy<0||cy>=de.$length)?$throwRuntimeError("index out of range"):de.$array[de.$offset+cy])),(df=d.Cb,((db<0||db>=df.$length)?$throwRuntimeError("index out of range"):df.$array[df.$offset+db])),(dg=d.Cr,((db<0||db>=dg.$length)?$throwRuntimeError("index out of range"):dg.$array[dg.$offset+db])));dh=dd[0];di=dd[1];dj=dd[2];(dk=dc+0>>0,(dk<0||dk>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dk]=dh);(dl=dc+1>>0,(dl<0||dl>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dl]=di);(dm=dc+2>>0,(dm<0||dm>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dm]=dj);(dn=dc+3>>0,(dn<0||dn>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dn]=255);dp=dc+4>>0;dq=cy+1>>0;dr=db+1>>0;dc=dp;cy=dq;db=dr;}ds=cv+1>>0;dt=cw+1>>0;cv=ds;cw=dt;}}else{f=false;return f;}f=true;return f;};S=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be;f=$clone(f,A.Point);c=$clone(c,A.Rectangle);g=b.PixOffset(c.Min.X,c.Min.Y);h=g+(c.Dx()*4>>0)>>0;i=e.PixOffset(f.X,f.Y);j=d.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=c.Min.Y;p=f.Y;q=o;r=p;while(!((q===c.Max.Y))){s=g;t=i;u=s;v=t;while(u=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+v]))>>>0);if(x===0){y=u+4>>0;z=v+1>>0;u=y;v=z;continue;}x=(x|((x<<8>>>0)))>>>0;ac=((aa=b.Pix,ab=u+0>>0,((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]))>>>0);af=((ad=b.Pix,ae=u+1>>0,((ae<0||ae>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]))>>>0);ai=((ag=b.Pix,ah=u+2>>0,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]))>>>0);al=((aj=b.Pix,ak=u+3>>0,((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]))>>>0);ao=(am=(65535-((an=((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((am>>>16<<16)*257>>>0)+(am<<16>>>16)*257)>>>0);(aq=b.Pix,ar=u+0>>0,(ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=(((ap=((((((ac>>>16<<16)*ao>>>0)+(ac<<16>>>16)*ao)>>>0)+((((k>>>16<<16)*x>>>0)+(k<<16>>>16)*x)>>>0)>>>0))/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(at=b.Pix,au=u+1>>0,(au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=(((as=((((((af>>>16<<16)*ao>>>0)+(af<<16>>>16)*ao)>>>0)+((((l>>>16<<16)*x>>>0)+(l<<16>>>16)*x)>>>0)>>>0))/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(aw=b.Pix,ax=u+2>>0,(ax<0||ax>=aw.$length)?$throwRuntimeError("index out of range"):aw.$array[aw.$offset+ax]=(((av=((((((ai>>>16<<16)*ao>>>0)+(ai<<16>>>16)*ao)>>>0)+((((m>>>16<<16)*x>>>0)+(m<<16>>>16)*x)>>>0)>>>0))/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(az=b.Pix,ba=u+3>>0,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=(((ay=((((((al>>>16<<16)*ao>>>0)+(al<<16>>>16)*ao)>>>0)+((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)>>>0))/65535,(ay===ay&&ay!==1/0&&ay!==-1/0)?ay>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));bb=u+4>>0;bc=v+1>>0;u=bb;v=bc;}g=g+(b.Stride)>>0;h=h+(b.Stride)>>0;i=i+(e.Stride)>>0;bd=q+1>>0;be=r+1>>0;q=bd;r=be;}};T=function(b,c,d,e,f,g,h){var i,j,k,l,m,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,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;g=$clone(g,A.Point);e=$clone(e,A.Point);c=$clone(c,A.Rectangle);i=c.Min.X;j=c.Max.X;k=1;l=i;m=j;n=k;o=c.Min.Y;p=c.Max.Y;q=1;r=o;s=p;t=q;if($interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))){if(e.Y>0;v=l-1>>0;w=-1;l=u;m=v;n=w;x=s-1>>0;y=r-1>>0;z=-1;r=x;s=y;t=z;}}aa=(e.Y+r>>0)-c.Min.Y>>0;ab=(g.Y+r>>0)-c.Min.Y>>0;ac=(e.X+l>>0)-c.Min.X>>0;ad=(g.X+l>>0)-c.Min.X>>0;ae=ac+((m-l>>0))>>0;af=b.PixOffset(l,r);ag=n*4>>0;ah=r;while(!((ah===s))){ai=af;aj=ac;ak=ad;al=ai;am=aj;an=ak;while(!((am===ae))){ao=65535;if(!($interfaceIsEqual(f,$ifaceNil))){ap=f.At(an,ab).RGBA();ao=ap[3];}aq=d.At(am,aa).RGBA();ar=aq[0];as=aq[1];at=aq[2];au=aq[3];if(h===0){ax=((av=b.Pix,aw=al+0>>0,((aw<0||aw>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]))>>>0);ba=((ay=b.Pix,az=al+1>>0,((az<0||az>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+az]))>>>0);bd=((bb=b.Pix,bc=al+2>>0,((bc<0||bc>=bb.$length)?$throwRuntimeError("index out of range"):bb.$array[bb.$offset+bc]))>>>0);bg=((be=b.Pix,bf=al+3>>0,((bf<0||bf>=be.$length)?$throwRuntimeError("index out of range"):be.$array[be.$offset+bf]))>>>0);bj=(bh=(65535-((bi=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((bh>>>16<<16)*257>>>0)+(bh<<16>>>16)*257)>>>0);(bl=b.Pix,bm=al+0>>0,(bm<0||bm>=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bm]=(((bk=((((((ax>>>16<<16)*bj>>>0)+(ax<<16>>>16)*bj)>>>0)+((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bo=b.Pix,bp=al+1>>0,(bp<0||bp>=bo.$length)?$throwRuntimeError("index out of range"):bo.$array[bo.$offset+bp]=(((bn=((((((ba>>>16<<16)*bj>>>0)+(ba<<16>>>16)*bj)>>>0)+((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)>>>0))/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(br=b.Pix,bs=al+2>>0,(bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]=(((bq=((((((bd>>>16<<16)*bj>>>0)+(bd<<16>>>16)*bj)>>>0)+((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)>>>0))/65535,(bq===bq&&bq!==1/0&&bq!==-1/0)?bq>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bu=b.Pix,bv=al+3>>0,(bv<0||bv>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bv]=(((bt=((((((bg>>>16<<16)*bj>>>0)+(bg<<16>>>16)*bj)>>>0)+((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)>>>0))/65535,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}else{(bx=b.Pix,by=al+0>>0,(by<0||by>=bx.$length)?$throwRuntimeError("index out of range"):bx.$array[bx.$offset+by]=(((bw=((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)/65535,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(ca=b.Pix,cb=al+1>>0,(cb<0||cb>=ca.$length)?$throwRuntimeError("index out of range"):ca.$array[ca.$offset+cb]=(((bz=((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)/65535,(bz===bz&&bz!==1/0&&bz!==-1/0)?bz>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cd=b.Pix,ce=al+2>>0,(ce<0||ce>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+ce]=(((cc=((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cg=b.Pix,ch=al+3>>0,(ch<0||ch>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+ch]=(((cf=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}ci=al+ag>>0;cj=am+n>>0;ck=an+n>>0;al=ci;am=cj;an=ck;}af=af+((t*b.Stride>>0))>>0;cl=ah+t>>0;cm=aa+t>>0;cn=ab+t>>0;ah=cl;aa=cm;ab=cn;}};U=function(b){if(b<0){return 0;}if(b>65535){return 65535;}return b;};V=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=AE.nil;h=AF.nil;i=0;j=g;k=h;l=i;m=$assertType(b,Y,true);n=m[0];o=m[1];if(o){j=AE.make(n.Palette.$length);p=n.Palette;q=0;while(q=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]);t=s.RGBA();u=t[0];v=t[1];w=t[2];((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[0]=(u>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[1]=(v>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[2]=(w>>0);q++;}x=$subslice(n.Pix,n.PixOffset(c.Min.X,c.Min.Y));y=n.Stride;k=x;l=y;}z=AE.nil;aa=AE.nil;ab=z;ac=aa;if(f){ab=AE.make((c.Dx()+2>>0));ac=AE.make((c.Dx()+2>>0));}ad=new B.RGBA64.Ptr(0,0,0,65535);ae=0;while(!((ae===c.Dy()))){af=0;while(!((af===c.Dx()))){ag=d.At(e.X+af>>0,e.Y+ae>>0).RGBA();ah=ag[0];ai=ag[1];aj=ag[2];ak=(ah>>0);al=(ai>>0);am=(aj>>0);an=ak;ao=al;ap=am;if(f){an=U(an+(aq=(ar=af+1>>0,((ar<0||ar>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ar]))[0]/16,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero"))>>0);ao=U(ao+(as=(at=af+1>>0,((at<0||at>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+at]))[1]/16,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>0);ap=U(ap+(au=(av=af+1>>0,((av<0||av>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+av]))[2]/16,(au===au&&au!==1/0&&au!==-1/0)?au>>0:$throwRuntimeError("integer divide by zero"))>>0);}if(!(j===AE.nil)){aw=0;ax=4294967295;ay=aw;az=ax;ba=j;bb=0;while(bb=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+bb]),AD);be=((an-bd[0]>>0))>>1>>0;bf=(((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0);be=((ao-bd[1]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;be=((ap-bd[2]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;if(bf>0)+af>>0,(bi<0||bi>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bi]=(ay<<24>>>24));if(!f){af=af+(1)>>0;continue;}an=an-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[0])>>0;ao=ao-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[1])>>0;ap=ap-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[2])>>0;}else{ad.R=(an<<16>>>16);ad.G=(ao<<16>>>16);ad.B=(ap<<16>>>16);b.Set(c.Min.X+af>>0,c.Min.Y+ae>>0,ad);if(!f){af=af+(1)>>0;continue;}bj=b.At(c.Min.X+af>>0,c.Min.Y+ae>>0).RGBA();ah=bj[0];ai=bj[1];aj=bj[2];an=an-((ah>>0))>>0;ao=ao-((ai>>0))>>0;ap=ap-((aj>>0))>>0;}bk=(bm=af+0>>0,((bm<0||bm>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bm]));bl=0;(bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl]=((bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl])+(((((an>>>16<<16)*3>>0)+(an<<16>>>16)*3)>>0))>>0;bn=(bp=af+0>>0,((bp<0||bp>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bp]));bo=1;(bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo]=((bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo])+(((((ao>>>16<<16)*3>>0)+(ao<<16>>>16)*3)>>0))>>0;bq=(bs=af+0>>0,((bs<0||bs>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bs]));br=2;(br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br]=((br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br])+(((((ap>>>16<<16)*3>>0)+(ap<<16>>>16)*3)>>0))>>0;bt=(bv=af+1>>0,((bv<0||bv>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bv]));bu=0;(bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu]=((bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu])+(((((an>>>16<<16)*5>>0)+(an<<16>>>16)*5)>>0))>>0;bw=(by=af+1>>0,((by<0||by>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+by]));bx=1;(bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx]=((bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx])+(((((ao>>>16<<16)*5>>0)+(ao<<16>>>16)*5)>>0))>>0;bz=(cb=af+1>>0,((cb<0||cb>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cb]));ca=2;(ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca]=((ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca])+(((((ap>>>16<<16)*5>>0)+(ap<<16>>>16)*5)>>0))>>0;cc=(ce=af+2>>0,((ce<0||ce>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ce]));cd=0;(cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd]=((cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd])+(((((an>>>16<<16)*1>>0)+(an<<16>>>16)*1)>>0))>>0;cf=(ch=af+2>>0,((ch<0||ch>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ch]));cg=1;(cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg]=((cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg])+(((((ao>>>16<<16)*1>>0)+(ao<<16>>>16)*1)>>0))>>0;ci=(ck=af+2>>0,((ck<0||ck>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ck]));cj=2;(cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj]=((cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj])+(((((ap>>>16<<16)*1>>0)+(ap<<16>>>16)*1)>>0))>>0;cl=(cn=af+2>>0,((cn<0||cn>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cn]));cm=0;(cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm]=((cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm])+(((((an>>>16<<16)*7>>0)+(an<<16>>>16)*7)>>0))>>0;co=(cq=af+2>>0,((cq<0||cq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cq]));cp=1;(cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp]=((cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp])+(((((ao>>>16<<16)*7>>0)+(ao<<16>>>16)*7)>>0))>>0;cr=(ct=af+2>>0,((ct<0||ct>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ct]));cs=2;(cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs]=((cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs])+(((((ap>>>16<<16)*7>>0)+(ap<<16>>>16)*7)>>0))>>0;af=af+(1)>>0;}if(f){cu=ac;cv=ab;ab=cu;ac=cv;cw=ac;cx=0;while(cx=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cy]),AD.zero(),AD);cx++;}}ae=ae+(1)>>0;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}X=$ptrType(A.RGBA);Y=$ptrType(A.Paletted);Z=$ptrType(A.Uniform);AA=$ptrType(A.NRGBA);AB=$ptrType(A.YCbCr);AC=$ptrType(A.Alpha);AD=$arrayType($Int32,3);AE=$sliceType(AD);AF=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal/graphics"]=(function(){var $pkg={},D,A,B,C,E,F,Q,R,S,T,U,V,W,X,H,K,L,N,G,I,J,M,O,P;D=$packages["errors"];A=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics/internal/shader"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];E=$packages["image"];F=$packages["image/draw"];H=$pkg.Framebuffer=$newType(0,$kindStruct,"graphics.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_,flipY_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flipY=flipY_!==undefined?flipY_:false;});K=$pkg.Matrix=$newType(8,$kindInterface,"graphics.Matrix","Matrix","github.com/hajimehoshi/ebiten/internal/graphics",null);L=$pkg.TextureQuads=$newType(8,$kindInterface,"graphics.TextureQuads","TextureQuads","github.com/hajimehoshi/ebiten/internal/graphics",null);N=$pkg.Texture=$newType(0,$kindStruct,"graphics.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});G=function(a,b,c,d){var e,f,g,h;e=2/(b-a>>0);f=2/(d-c>>0);g=-1*(b+a>>0)/(b-a>>0);h=-1*(d+c>>0)/(d-c>>0);return $toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,0,0,g]),$toNativeArray($kindFloat64,[0,f,0,h]),$toNativeArray($kindFloat64,[0,0,1,0]),$toNativeArray($kindFloat64,[0,0,0,1])]);};I=$pkg.NewZeroFramebuffer=function(a,b,c){var d;d=new H.Ptr($ifaceNil,b,c,true);return[d,$ifaceNil];};J=$pkg.NewFramebufferFromTexture=function(a,b){var c,d,e,f,g,h;c=a.NewFramebuffer(b.native$0);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[R.nil,e];}f=b.Size();g=f[0];h=f[1];return[new H.Ptr(d,g,h,false),$ifaceNil];};H.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};H.prototype.Size=function(){return this.$val.Size();};H.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteFramebuffer(b.native$0);};H.prototype.Dispose=function(a){return this.$val.Dispose(a);};H.Ptr.prototype.setAsViewport=function(a){var b,c,d;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);return a.SetViewport(b.native$0,c,d);};H.prototype.setAsViewport=function(a){return this.$val.setAsViewport(a);};H.Ptr.prototype.projectionMatrix=function(){var a,b,c,d,e,f,g,h;a=this;b=A.NextPowerOf2Int(a.width);c=A.NextPowerOf2Int(a.height);d=G(0,b,0,c);if(a.flipY){e=(d.nilCheck,d[1]);f=1;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(-1);g=(d.nilCheck,d[1]);h=3;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])+(a.height/A.NextPowerOf2Int(a.height)*2);}return d;};H.prototype.projectionMatrix=function(){return this.$val.projectionMatrix();};H.Ptr.prototype.Fill=function(a,b,c,d,e){var f,g;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return a.FillFramebuffer(f.native$0,b,c,d,e);};H.prototype.Fill=function(a,b,c,d,e){return this.$val.Fill(a,b,c,d,e);};H.Ptr.prototype.DrawTexture=function(a,b,c,d,e){var f,g,h;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=f.projectionMatrix();return B.DrawTexture(a,b.native$0,h,c,d,e);};H.prototype.DrawTexture=function(a,b,c,d,e){return this.$val.DrawTexture(a,b,c,d,e);};M=function(a){var b,c,d,e,f,g,h,i,j,k;b=a.Bounds().Size().X;c=a.Bounds().Size().Y;d=b;e=c;f=new E.Rectangle.Ptr($clone(E.ZP,E.Point),new E.Point.Ptr(A.NextPowerOf2Int(d),A.NextPowerOf2Int(e)));g=$assertType(a,S,true);h=g[0];i=g[1];if(i&&$equal(a.Bounds(),f,E.Rectangle)){return h;}j=E.NewRGBA(f);k=new E.Rectangle.Ptr($clone(E.ZP,E.Point),$clone(a.Bounds().Size(),E.Point));F.Draw(j,k,a,E.ZP,1);return j;};N.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};N.prototype.Size=function(){return this.$val.Size();};O=$pkg.NewTexture=function(a,b,c,d){var e,f,g,h,i;e=A.NextPowerOf2Int(b);f=A.NextPowerOf2Int(c);if(e<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(f<4){return[T.nil,D.New("height must be equal or more than 4.")];}g=a.NewTexture(e,f,U.nil,d);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,b,c),$ifaceNil];};P=$pkg.NewTextureFromImage=function(a,b,c){var d,e,f,g,h,i;d=$clone(b.Bounds().Size(),E.Point);if(d.X<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(d.Y<4){return[T.nil,D.New("height must be equal or more than 4.")];}e=M(b);f=$clone(e.Bounds().Size(),E.Point);g=a.NewTexture(f.X,f.Y,e.Pix,c);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,d.X,d.Y),$ifaceNil];};N.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteTexture(b.native$0);};N.prototype.Dispose=function(a){return this.$val.Dispose(a);};N.Ptr.prototype.Pixels=function(a){var b,c,d,e,f;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);e=c;f=d;return a.TexturePixels(b.native$0,e,f);};N.prototype.Pixels=function(a){return this.$val.Pixels(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Q=$arrayType($Float64,4);R=$ptrType(H);S=$ptrType(E.RGBA);T=$ptrType(N);U=$sliceType($Uint8);V=$ptrType(C.Context);W=$arrayType(Q,4);X=$ptrType(W);R.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["DrawTexture","DrawTexture","",$funcType([V,T,L,K,K],[$error],false),-1],["Fill","Fill","",$funcType([V,$Float64,$Float64,$Float64,$Float64],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["projectionMatrix","projectionMatrix","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([],[X],false),-1],["setAsViewport","setAsViewport","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([V],[$error],false),-1]];H.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Framebuffer,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["flipY","flipY","github.com/hajimehoshi/ebiten/internal/graphics",$Bool,""]]);K.init([["Element","Element","",$funcType([$Int,$Int],[$Float64],false)]]);L.init([["Len","Len","",$funcType([],[$Int],false)],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)]]);T.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["Pixels","Pixels","",$funcType([V],[U,$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1]];N.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Texture,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,E,W,X,Y,Z,AA,AB,AC,AD,K,L,M,F,G,N,O,a,b,P,Q,R,S,T,U,V;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$packages["time"];K=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);M=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AB.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AC.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});M.Ptr.prototype.keyDown=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=true);};M.prototype.keyDown=function(c){return this.$val.keyDown(c);};M.Ptr.prototype.keyUp=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=false);};M.prototype.keyUp=function(c){return this.$val.keyUp(c);};P=$pkg.Use=function(c){c(O);};Q=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=E.Sleep(new E.Duration(0,0),$BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.Terminate=function(){};S=$pkg.IsClosed=function(){return false;};T=$pkg.SwapBuffers=function(){};U=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new Y(0);$global.window.onload=$externalize((function(){$close(c);}),Z);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;N=e.createElement($externalize("canvas",$String));N.width=16;N.height=16;e.body.appendChild(N);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);h=N.style;h.position=$externalize("absolute",$String);i=B.NewContext(N,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}O=C.NewContext(j);N.setAttribute($externalize("tabindex",$String),1);N.style.outline=$externalize("none",$String);N.onkeydown=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyDown(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);N.onkeyup=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyUp(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);case-1:}return;}};$f.$blocking=true;return $f;};V=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n;i=$global.document;i.title=$externalize(f,$String);N.width=c*e>>0;N.height=d*e>>0;j=N.style;j.left=$externalize("calc(50% - "+D.Itoa((k=(c*e>>0)/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((l=(d*e>>0)/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);m=e;n=$ifaceNil;g=m;h=n;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}W=$ptrType(C.Context);X=$structType([]);Y=$chanType(X,false,false);Z=$funcType([],[],false);AA=$funcType([A.Object],[],false);AB=$arrayType($Bool,5);AC=$arrayType($Bool,3);AD=$ptrType(M);AD.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([K],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];M.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AB,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AC,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);G=new M.Ptr();N=null;O=W.nil;F=(a=new $Map(),b=32,a[b]={k:b,v:4},b=37,a[b]={k:b,v:2},b=39,a[b]={k:b,v:3},b=38,a[b]={k:b,v:0},b=40,a[b]={k:b,v:1},a);$r=U($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,B,C,D,E,G,A,H,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,M,W,AD,AE,AG,AH,AK,AL,AM,AN,AO,K,L,V,Z,AB,AC,AF,AI,AJ,AR;F=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];G=$packages["image/color"];A=$packages["math"];H=$packages["time"];M=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AT.zero();});W=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AZ.zero();});AD=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BB.nil;this.screen=screen_!==undefined?screen_:AU.nil;this.defaultR=defaultR_!==undefined?defaultR_:AU.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AE=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BG.nil;this.texture=texture_!==undefined?texture_:AV.nil;});AG=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AH=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AK=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AU.nil;this.pixels=pixels_!==undefined?pixels_:AX.nil;});AM=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AN=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AO=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new W.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new M.Ptr();this.Parts=Parts_!==undefined?Parts_:BC.nil;});K=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};L=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};M.Ptr.prototype.dim=function(){var a;a=this;return 5;};M.prototype.dim=function(){return this.$val.dim();};M.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};M.prototype.initialize=function(){return this.$val.initialize();};M.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};M.prototype.Element=function(a,b){return this.$val.Element(a,b);};M.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());L(a,b,c);$copy(b,c,M);};M.prototype.Concat=function(a){return this.$val.Concat(a);};M.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());K(a,b,c);$copy(b,c,M);};M.prototype.Add=function(a){return this.$val.Add(a);};M.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};M.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};M.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};M.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};M.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};M.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};V=$pkg.NewImageFromImage=function(a,b){var c,d;c=AU.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AV.nil;g=B.NewTextureFromImage(e,a,AB(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AF(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AW.nil,d];}return[new AL.Ptr(c,AX.nil),$ifaceNil];};W.Ptr.prototype.dim=function(){var a;a=this;return 3;};W.prototype.dim=function(){return this.$val.dim();};W.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};W.prototype.initialize=function(){return this.$val.initialize();};W.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};W.prototype.Element=function(a,b){return this.$val.Element(a,b);};W.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());L(a,b,c);$copy(b,c,W);};W.prototype.Concat=function(a){return this.$val.Concat(a);};W.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());K(a,b,c);$copy(b,c,W);};W.prototype.Add=function(a){return this.$val.Add(a);};W.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};W.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};W.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};W.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};W.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(Z(a));};W.prototype.Rotate=function(a){return this.$val.Rotate(a);};W.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};W.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};Z=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new W.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AB=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AC=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}j=AF(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}return[new AD.Ptr(a,k,new AE.Ptr(f,AV.nil),d),$ifaceNil];};AD.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AD.prototype.preUpdate=function(){return this.$val.preUpdate();};AD.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AD.prototype.postUpdate=function(){return this.$val.postUpdate();};AF=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AU.nil,e];}return[new AE.Ptr(d,b),$ifaceNil];};AE.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AE.prototype.size=function(){return this.$val.size();};AE.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=G.Transparent,new c.constructor.Struct(c)));};AE.prototype.Clear=function(a){return this.$val.Clear(a);};AE.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=F.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AE.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AG.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AG).prototype.Len=function(){return this.$get().Len();};AG.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Dst=function(a){return this.$get().Dst(a);};AG.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Src=function(a){return this.$get().Src(a);};AH.Ptr.prototype.Len=function(){var a;a=this;return 1;};AH.prototype.Len=function(){return this.$val.Len();};AH.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Dst=function(a){return this.$val.Dst(a);};AH.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Src=function(a){return this.$val.Src(a);};AE.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BD.nil){c=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BC.nil)){e=$subslice(new AG(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AH.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AK.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AE.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AI=function(a,b){return a/F.NextPowerOf2Int(b);};AJ=function(a,b){return a/F.NextPowerOf2Int(b);};AK.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AK.prototype.Len=function(){return this.$val.Len();};AK.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AK.prototype.Vertex=function(a){return this.$val.Vertex(a);};AK.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AI(h,n);q=AJ(i,o);r=AI(j,n);s=AJ(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AK.prototype.Texture=function(a){return this.$val.Texture(a);};AL.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AL.prototype.Size=function(){return this.$val.Size();};AL.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AX.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AL.prototype.Clear=function(){return this.$val.Clear();};AL.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AX.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AL.prototype.Fill=function(a){return this.$val.Fill(a);};AL.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;c=d.drawImage(a.inner,b);return c;};AL.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AL.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AX.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AL.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AL.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.ColorModel=function(){var a;a=this;return G.RGBAModel;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AX.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=F.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new G.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AL.prototype.At=function(a,b){return this.$val.At(a,b);};AR=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BA.nil;D.Use((function(j){var k;k=AC(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}case 1:if(!(true)){$s=2;continue;}j=H.After(new H.Duration(0,8333333));$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(k){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}k=a(new AL.Ptr(i.screen,AX.nil));if(!($interfaceIsEqual(k,$ifaceNil))){return k;}D.Use((function(l){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=$recv(j,$BLOCKING);$s=4;case 4:if(l&&l.$blocking){l=l();}l[0];$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}AS=$arrayType($Float64,5);AT=$arrayType(AS,4);AU=$ptrType(AE);AV=$ptrType(B.Texture);AW=$ptrType(AL);AX=$sliceType($Uint8);AY=$arrayType($Float64,3);AZ=$arrayType(AY,2);BA=$ptrType(AD);BB=$ptrType(C.Context);BC=$sliceType(AM);BD=$ptrType(AO);BE=$ptrType(M);BF=$ptrType(W);BG=$ptrType(B.Framebuffer);BH=$ptrType(AG);BI=$ptrType(AH);BJ=$ptrType(AK);BE.methods=[["Add","Add","",$funcType([M],[],false),-1],["Concat","Concat","",$funcType([M],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];M.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AT,""]]);BF.methods=[["Add","Add","",$funcType([W],[],false),-1],["Concat","Concat","",$funcType([W],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];W.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AZ,""]]);BA.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AD.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BB,""],["screen","screen","github.com/hajimehoshi/ebiten",AU,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AU,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AU.methods=[["Clear","Clear","",$funcType([BB],[$error],false),-1],["Fill","Fill","",$funcType([BB,G.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BB,AU,BD],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AE.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BG,""],["texture","texture","github.com/hajimehoshi/ebiten",AV,""]]);AG.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AG.init(AM);BI.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BJ.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AK.init([["parts","parts","github.com/hajimehoshi/ebiten",AN,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["At","At","",$funcType([$Int,$Int],[G.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[G.Model],false),-1],["DrawImage","DrawImage","",$funcType([AW,BD],[$error],false),-1],["Fill","Fill","",$funcType([G.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AU,BD],[$error],false),-1]];AL.init([["inner","inner","github.com/hajimehoshi/ebiten",AU,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AX,""]]);AM.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AN.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AO.init([["ImageParts","ImageParts","",AN,""],["GeoM","GeoM","",W,""],["ColorM","ColorM","",M,""],["Parts","Parts","",BC,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,AB,AC,AD,AE,AF,E,J,L,F,K,M,N,a,b,O,P,Q,R,S,T,U,V,W,X;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AE.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AE.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});J=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);E.Ptr.prototype.keyDown=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=true);};E.prototype.keyDown=function(c){return this.$val.keyDown(c);};E.Ptr.prototype.keyUp=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=false);};E.prototype.keyUp=function(c){return this.$val.keyUp(c);};E.Ptr.prototype.mouseDown=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=true;}else if(f===1){e.nilCheck,e[2]=true;}else if(f===2){e.nilCheck,e[1]=true;}};E.prototype.mouseDown=function(c){return this.$val.mouseDown(c);};E.Ptr.prototype.mouseUp=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=false;}else if(f===1){e.nilCheck,e[2]=false;}else if(f===2){e.nilCheck,e[1]=false;}};E.prototype.mouseUp=function(c){return this.$val.mouseUp(c);};E.Ptr.prototype.mouseMove=function(c,d){var e,f,g;e=this;f=c;g=d;e.cursorX=f;e.cursorY=g;};E.prototype.mouseMove=function(c,d){return this.$val.mouseMove(c,d);};O=function(){return!!!($global.document.hidden);};P=$pkg.Use=function(c){c(N);};Q=function($b){var $this=this,$args=arguments,$r,$s=0,c,d;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.requestAnimationFrame($externalize((function(){$close(c);}),AB));d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=Q($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case 2:if(!(!O())){$s=3;continue;}$r=Q($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$s=2;continue;case 3:case-1:}return;}};$f.$blocking=true;return $f;};S=$pkg.Terminate=function(){};T=$pkg.IsClosed=function(){return false;};U=$pkg.SwapBuffers=function(){};V=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.onload=$externalize((function(){$close(c);}),AB);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;e.onkeydown=$externalize((function(f){var g;g=$parseInt(f.keyCode)>>0;if(g===8){return false;}if(112<=g&&g<=123){return false;}if((g===37)&&(g===39)){return false;}return true;}),AC);M=e.createElement($externalize("canvas",$String));M.width=16;M.height=16;e.body.appendChild(M);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);e.body.onclick=$externalize((function(){M.focus();}),AB);h=M.style;h.position=$externalize("absolute",$String);i=B.NewContext(M,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}N=C.NewContext(j);M.setAttribute($externalize("tabindex",$String),1);M.style.outline=$externalize("none",$String);M.onkeydown=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyDown(m);return false;}),AC);M.onkeyup=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyUp(m);return false;}),AC);M.onmousedown=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseDown(m);return false;}),AC);M.onmouseup=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseUp(m);return false;}),AC);M.oncontextmenu=$externalize((function(l){return false;}),AC);case-1:}return;}};$f.$blocking=true;return $f;};W=function(){var c;c=$parseInt($global.window.devicePixelRatio)>>0;if(c===0){c=1;}return c;};X=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n,o,p;i=$global.document;i.title=$externalize(f,$String);g=e*W()>>0;M.width=c*g>>0;M.height=d*g>>0;j=M.style;k=c*e>>0;l=d*e>>0;j.width=$externalize(D.Itoa(k)+"px",$String);j.height=$externalize(D.Itoa(l)+"px",$String);j.left=$externalize("calc(50% - "+D.Itoa((m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((n=l/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);M.onmousemove=$externalize((function(o){var p,q,r,s,t,u,v;p=M.getBoundingClientRect();q=$parseInt(o.clientX)>>0;r=$parseInt(o.clientY)>>0;s=q;t=r;s=s-(($parseInt(p.left)>>0))>>0;t=t-(($parseInt(p.top)>>0))>>0;F.mouseMove((u=s/e,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero")),(v=t/e,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero")));}),AD);M.focus();o=g;p=$ifaceNil;g=o;h=p;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(C.Context);Z=$structType([]);AA=$chanType(Z,false,false);AB=$funcType([],[],false);AC=$funcType([A.Object],[$Bool],false);AD=$funcType([A.Object],[],false);AE=$arrayType($Bool,256);AF=$ptrType(E);AF.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([J],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseDown","mouseDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseMove","mouseMove","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int,$Int],[],false),-1],["mouseUp","mouseUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];E.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);F=new E.Ptr();M=null;N=Y.nil;K=(a=new $Map(),b=8,a[b]={k:b,v:37},b=9,a[b]={k:b,v:67},b=13,a[b]={k:b,v:44},b=16,a[b]={k:b,v:65},b=17,a[b]={k:b,v:40},b=18,a[b]={k:b,v:36},b=20,a[b]={k:b,v:38},b=27,a[b]={k:b,v:45},b=32,a[b]={k:b,v:66},b=33,a[b]={k:b,v:62},b=34,a[b]={k:b,v:61},b=35,a[b]={k:b,v:43},b=36,a[b]={k:b,v:58},b=37,a[b]={k:b,v:60},b=38,a[b]={k:b,v:68},b=39,a[b]={k:b,v:64},b=40,a[b]={k:b,v:42},b=45,a[b]={k:b,v:59},b=46,a[b]={k:b,v:41},b=48,a[b]={k:b,v:0},b=49,a[b]={k:b,v:1},b=50,a[b]={k:b,v:2},b=51,a[b]={k:b,v:3},b=52,a[b]={k:b,v:4},b=53,a[b]={k:b,v:5},b=54,a[b]={k:b,v:6},b=55,a[b]={k:b,v:7},b=56,a[b]={k:b,v:8},b=57,a[b]={k:b,v:9},b=65,a[b]={k:b,v:10},b=66,a[b]={k:b,v:11},b=67,a[b]={k:b,v:12},b=68,a[b]={k:b,v:13},b=69,a[b]={k:b,v:14},b=70,a[b]={k:b,v:15},b=71,a[b]={k:b,v:16},b=72,a[b]={k:b,v:17},b=73,a[b]={k:b,v:18},b=74,a[b]={k:b,v:19},b=75,a[b]={k:b,v:20},b=76,a[b]={k:b,v:21},b=77,a[b]={k:b,v:22},b=78,a[b]={k:b,v:23},b=79,a[b]={k:b,v:24},b=80,a[b]={k:b,v:25},b=81,a[b]={k:b,v:26},b=82,a[b]={k:b,v:27},b=83,a[b]={k:b,v:28},b=84,a[b]={k:b,v:29},b=85,a[b]={k:b,v:30},b=86,a[b]={k:b,v:31},b=87,a[b]={k:b,v:32},b=88,a[b]={k:b,v:33},b=89,a[b]={k:b,v:34},b=90,a[b]={k:b,v:35},b=112,a[b]={k:b,v:46},b=113,a[b]={k:b,v:47},b=114,a[b]={k:b,v:48},b=115,a[b]={k:b,v:49},b=116,a[b]={k:b,v:50},b=117,a[b]={k:b,v:51},b=118,a[b]={k:b,v:52},b=119,a[b]={k:b,v:53},b=120,a[b]={k:b,v:54},b=121,a[b]={k:b,v:55},b=122,a[b]={k:b,v:56},b=123,a[b]={k:b,v:57},b=188,a[b]={k:b,v:39},b=190,a[b]={k:b,v:63},a);$r=V($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,G,B,C,D,E,H,A,I,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,N,X,AE,AF,AH,AI,AL,AM,AN,AO,AP,AS,L,M,W,AA,AC,AD,AG,AJ,AK,AT;F=$packages["errors"];G=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];H=$packages["image/color"];A=$packages["math"];I=$packages["time"];N=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AV.zero();});X=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:BB.zero();});AE=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BD.nil;this.screen=screen_!==undefined?screen_:AW.nil;this.defaultR=defaultR_!==undefined?defaultR_:AW.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AF=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BI.nil;this.texture=texture_!==undefined?texture_:AX.nil;});AH=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AI=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AM=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AW.nil;this.pixels=pixels_!==undefined?pixels_:AZ.nil;});AN=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AO=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AP=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new X.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new N.Ptr();this.Parts=Parts_!==undefined?Parts_:BE.nil;});L=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};M=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};N.Ptr.prototype.dim=function(){var a;a=this;return 5;};N.prototype.dim=function(){return this.$val.dim();};N.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};N.prototype.initialize=function(){return this.$val.initialize();};N.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};N.prototype.Element=function(a,b){return this.$val.Element(a,b);};N.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());M(a,b,c);$copy(b,c,N);};N.prototype.Concat=function(a){return this.$val.Concat(a);};N.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());L(a,b,c);$copy(b,c,N);};N.prototype.Add=function(a){return this.$val.Add(a);};N.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};N.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};N.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};N.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};N.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};N.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};W=$pkg.NewImageFromImage=function(a,b){var c,d;c=AW.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AX.nil;g=B.NewTextureFromImage(e,a,AC(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AG(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AY.nil,d];}return[new AM.Ptr(c,AZ.nil),$ifaceNil];};X.Ptr.prototype.dim=function(){var a;a=this;return 3;};X.prototype.dim=function(){return this.$val.dim();};X.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};X.prototype.initialize=function(){return this.$val.initialize();};X.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};X.prototype.Element=function(a,b){return this.$val.Element(a,b);};X.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());M(a,b,c);$copy(b,c,X);};X.prototype.Concat=function(a){return this.$val.Concat(a);};X.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());L(a,b,c);$copy(b,c,X);};X.prototype.Add=function(a){return this.$val.Add(a);};X.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};X.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};X.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};X.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};X.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(AA(a));};X.prototype.Rotate=function(a){return this.$val.Rotate(a);};X.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};X.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};AA=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new X.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AC=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AD=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}j=AG(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}return[new AE.Ptr(a,k,new AF.Ptr(f,AX.nil),d),$ifaceNil];};AE.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AE.prototype.preUpdate=function(){return this.$val.preUpdate();};AE.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AE.prototype.postUpdate=function(){return this.$val.postUpdate();};AG=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AF.Ptr(d,b),$ifaceNil];};AF.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AF.prototype.size=function(){return this.$val.size();};AF.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=H.Transparent,new c.constructor.Struct(c)));};AF.prototype.Clear=function(a){return this.$val.Clear(a);};AF.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=G.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AF.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AH.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AH).prototype.Len=function(){return this.$get().Len();};AH.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Dst=function(a){return this.$get().Dst(a);};AH.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Src=function(a){return this.$get().Src(a);};AI.Ptr.prototype.Len=function(){var a;a=this;return 1;};AI.prototype.Len=function(){return this.$val.Len();};AI.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Dst=function(a){return this.$val.Dst(a);};AI.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Src=function(a){return this.$val.Src(a);};AF.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BF.nil){c=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BE.nil)){e=$subslice(new AH(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AI.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AL.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AF.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AJ=function(a,b){return a/G.NextPowerOf2Int(b);};AK=function(a,b){return a/G.NextPowerOf2Int(b);};AL.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AL.prototype.Len=function(){return this.$val.Len();};AL.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AL.prototype.Vertex=function(a){return this.$val.Vertex(a);};AL.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AJ(h,n);q=AK(i,o);r=AJ(j,n);s=AK(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AL.prototype.Texture=function(a){return this.$val.Texture(a);};AM.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AM.prototype.Size=function(){return this.$val.Size();};AM.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AZ.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AM.prototype.Clear=function(){return this.$val.Clear();};AM.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AZ.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AM.prototype.Fill=function(a){return this.$val.Fill(a);};AM.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;if(d===a){c=F.New("Image.DrawImage: image should be different from the receiver");return c;}c=d.drawImage(a.inner,b);return c;};AM.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AM.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AZ.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AM.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AM.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AM.prototype.Bounds=function(){return this.$val.Bounds();};AM.Ptr.prototype.ColorModel=function(){var a;a=this;return H.RGBAModel;};AM.prototype.ColorModel=function(){return this.$val.ColorModel();};AM.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AZ.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=G.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new H.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AM.prototype.At=function(a,b){return this.$val.At(a,b);};AT=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l,m,n,o,p;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BC.nil;D.Use((function(j){var k;k=AD(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}j=0;k=I.Now().UnixNano();case 1:if(!(true)){$s=2;continue;}$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(l){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=a(new AM.Ptr(i.screen,AZ.nil));if(!($interfaceIsEqual(l,$ifaceNil))){return l;}D.Use((function(m){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}m=I.Now().UnixNano();j=j+(1)>>0;if((n=(o=new $Int64(m.$high-k.$high,m.$low-k.$low),new I.Duration(o.$high,o.$low)),(0>31)*4294967296))>>0);k=m;j=0;}$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AU=$arrayType($Float64,5);AV=$arrayType(AU,4);AW=$ptrType(AF);AX=$ptrType(B.Texture);AY=$ptrType(AM);AZ=$sliceType($Uint8);BA=$arrayType($Float64,3);BB=$arrayType(BA,2);BC=$ptrType(AE);BD=$ptrType(C.Context);BE=$sliceType(AN);BF=$ptrType(AP);BG=$ptrType(N);BH=$ptrType(X);BI=$ptrType(B.Framebuffer);BJ=$ptrType(AH);BK=$ptrType(AI);BL=$ptrType(AL);BG.methods=[["Add","Add","",$funcType([N],[],false),-1],["Concat","Concat","",$funcType([N],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];N.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AV,""]]);BH.methods=[["Add","Add","",$funcType([X],[],false),-1],["Concat","Concat","",$funcType([X],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];X.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",BB,""]]);BC.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AE.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BD,""],["screen","screen","github.com/hajimehoshi/ebiten",AW,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AW,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["Clear","Clear","",$funcType([BD],[$error],false),-1],["Fill","Fill","",$funcType([BD,H.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BD,AW,BF],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AF.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BI,""],["texture","texture","github.com/hajimehoshi/ebiten",AX,""]]);AH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BJ.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init(AN);BK.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AI.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BL.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AL.init([["parts","parts","github.com/hajimehoshi/ebiten",AO,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AY.methods=[["At","At","",$funcType([$Int,$Int],[H.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[H.Model],false),-1],["DrawImage","DrawImage","",$funcType([AY,BF],[$error],false),-1],["Fill","Fill","",$funcType([H.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AW,BF],[$error],false),-1]];AM.init([["inner","inner","github.com/hajimehoshi/ebiten",AW,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AZ,""]]);AN.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AO.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AP.init([["ImageParts","ImageParts","",AO,""],["GeoM","GeoM","",X,""],["ColorM","ColorM","",N,""],["Parts","Parts","",BE,""]]);AS=0;}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sort"]=(function(){var $pkg={};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/flate"]=(function(){var $pkg={},E,A,B,C,D,F,BK,BL,BM,BN,BU,BV,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CS,CT,CU,CW,Y,Z,AK,AL,AM,AO,AP,AQ,AR,Q,AF,AG,AS,AW,G,AC,AD,AE,AT,AU,AV,AX,AY;E=$packages["bufio"];A=$packages["fmt"];B=$packages["io"];C=$packages["math"];D=$packages["sort"];F=$packages["strconv"];Y=$pkg.huffmanEncoder=$newType(0,$kindStruct,"flate.huffmanEncoder","huffmanEncoder","compress/flate",function(codeBits_,code_){this.$val=this;this.codeBits=codeBits_!==undefined?codeBits_:BV.nil;this.code=code_!==undefined?code_:BX.nil;});Z=$pkg.literalNode=$newType(0,$kindStruct,"flate.literalNode","literalNode","compress/flate",function(literal_,freq_){this.$val=this;this.literal=literal_!==undefined?literal_:0;this.freq=freq_!==undefined?freq_:0;});AK=$pkg.CorruptInputError=$newType(8,$kindInt64,"flate.CorruptInputError","CorruptInputError","compress/flate",null);AL=$pkg.InternalError=$newType(8,$kindString,"flate.InternalError","InternalError","compress/flate",null);AM=$pkg.ReadError=$newType(0,$kindStruct,"flate.ReadError","ReadError","compress/flate",function(Offset_,Err_){this.$val=this;this.Offset=Offset_!==undefined?Offset_:new $Int64(0,0);this.Err=Err_!==undefined?Err_:$ifaceNil;});AO=$pkg.Resetter=$newType(8,$kindInterface,"flate.Resetter","Resetter","compress/flate",null);AP=$pkg.huffmanDecoder=$newType(0,$kindStruct,"flate.huffmanDecoder","huffmanDecoder","compress/flate",function(min_,chunks_,links_,linkMask_){this.$val=this;this.min=min_!==undefined?min_:0;this.chunks=chunks_!==undefined?chunks_:CC.zero();this.links=links_!==undefined?links_:BL.nil;this.linkMask=linkMask_!==undefined?linkMask_:0;});AQ=$pkg.Reader=$newType(8,$kindInterface,"flate.Reader","Reader","compress/flate",null);AR=$pkg.decompressor=$newType(0,$kindStruct,"flate.decompressor","decompressor","compress/flate",function(r_,roffset_,woffset_,b_,nb_,h1_,h2_,bits_,codebits_,hist_,hp_,hw_,hfull_,buf_,step_,final$15_,err_,toRead_,hl_,hd_,copyLen_,copyDist_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.roffset=roffset_!==undefined?roffset_:new $Int64(0,0);this.woffset=woffset_!==undefined?woffset_:new $Int64(0,0);this.b=b_!==undefined?b_:0;this.nb=nb_!==undefined?nb_:0;this.h1=h1_!==undefined?h1_:new AP.Ptr();this.h2=h2_!==undefined?h2_:new AP.Ptr();this.bits=bits_!==undefined?bits_:CH.nil;this.codebits=codebits_!==undefined?codebits_:CJ.nil;this.hist=hist_!==undefined?hist_:CL.nil;this.hp=hp_!==undefined?hp_:0;this.hw=hw_!==undefined?hw_:0;this.hfull=hfull_!==undefined?hfull_:false;this.buf=buf_!==undefined?buf_:CM.zero();this.step=step_!==undefined?step_:$throwNilPointerError;this.final$15=final$15_!==undefined?final$15_:false;this.err=err_!==undefined?err_:$ifaceNil;this.toRead=toRead_!==undefined?toRead_:BM.nil;this.hl=hl_!==undefined?hl_:CF.nil;this.hd=hd_!==undefined?hd_:CF.nil;this.copyLen=copyLen_!==undefined?copyLen_:0;this.copyDist=copyDist_!==undefined?copyDist_:0;});G=function(a,b,c,d){var e;if(b<=c){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}while(true){if(b>=(c+d>>0)){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}e=b-c>>0;$copySlice($subslice(a,b,(b+e>>0)),$subslice(a,c,(c+e>>0)));d=d-(e)>>0;b=b+(e)>>0;}};AC=function(a){return new Y.Ptr(BV.make(a),BX.make(a));};AD=function(){var a,b,c,d,e,f;a=AC(286);b=a.codeBits;c=a.code;d=0;d=0;while(d<286){e=0;f=0;switch(0){default:if(d<144){e=d+48<<16>>>16;f=8;break;}else if(d<256){e=(d+400<<16>>>16)-144<<16>>>16;f=9;break;}else if(d<280){e=d-256<<16>>>16;f=7;break;}else{e=(d+192<<16>>>16)-280<<16>>>16;f=8;}}(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=f;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(e,f);d=d+(1)<<16>>>16;}return a;};AE=function(){var a,b,c,d;a=AC(30);b=a.codeBits;c=a.code;d=0;while(d<30){(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=5;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(d,5);d=d+(1)<<16>>>16;}return a;};AK.prototype.Error=function(){var a;a=this;return"flate: corrupt input before offset "+F.FormatInt(new $Int64(a.$high,a.$low),10);};$ptrType(AK).prototype.Error=function(){return this.$get().Error();};AL.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"flate: internal error: "+a;};$ptrType(AL).prototype.Error=function(){return new AL(this.$get()).Error();};AM.Ptr.prototype.Error=function(){var a;a=this;return"flate: read error at offset "+F.FormatInt(a.Offset,10)+": "+a.Err.Error();};AM.prototype.Error=function(){return this.$val.Error();};AP.Ptr.prototype.init=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax;b=this;if(!((b.min===0))){$copy(b,new AP.Ptr(0,CC.zero(),BL.nil,0),AP);}c=$clone(CD.zero(),CD);d=0;e=0;f=d;g=e;h=a;i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);if(j===0){i++;continue;}if((f===0)||jg){g=j;}k=c;l=j;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])+(1)>>0;i++;}if(g===0){return false;}b.min=f;m=0;n=0;if(g>9){m=(g>>>0)-9>>>0;n=(o=m,o<32?(1<>0;b.linkMask=((n-1>>0)>>>0);}p=0;q=$clone(CD.zero(),CD);r=f;while(r<=g){if(r===10){s=p>>1>>0;if(512>0));t=(s>>>0);while(t<512){w=((u=t>>>8>>>0,((u<0||u>=AW.length)?$throwRuntimeError("index out of range"):AW[u]))>>0)|(((v=(t&255)>>>0,((v<0||v>=AW.length)?$throwRuntimeError("index out of range"):AW[v]))>>0)<<8>>0);w=(w>>$min((7),31))>>0;x=t-(s>>>0)>>>0;(y=b.chunks,(w<0||w>=y.length)?$throwRuntimeError("index out of range"):y[w]=(((x<<4>>>0)+(r>>>0)>>>0)>>>0));(aa=b.links,(x<0||x>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+x]=BK.make(((z=m,z<32?(1<>0)));t=t+(1)>>>0;}}ab=((r<0||r>=c.length)?$throwRuntimeError("index out of range"):c[r]);(r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r]=p;p=p+(ab)>>0;p=(ac=(1),ac<32?(p<>0;r=r+(1)>>0;}ad=a;ae=0;while(ae=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]);if(ag===0){ae++;continue;}ah=((ag<0||ag>=q.length)?$throwRuntimeError("index out of range"):q[ag]);ai=q;aj=ag;(aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj]=((aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj])+(1)>>0;ak=(((af<<4>>0)|ag)>>>0);an=((al=ah>>8>>0,((al<0||al>=AW.length)?$throwRuntimeError("index out of range"):AW[al]))>>0)|(((am=ah&255,((am<0||am>=AW.length)?$throwRuntimeError("index out of range"):AW[am]))>>0)<<8>>0);an=(an>>$min((((16-ag>>0)>>>0)),31))>>0;if(ag<=9){ao=an;while(ao<512){(ap=b.chunks,(ao<0||ao>=ap.length)?$throwRuntimeError("index out of range"):ap[ao]=ak);ao=ao+(((aq=(ag>>>0),aq<32?(1<>0))>>0;}}else{at=(ar=b.chunks,as=an&511,((as<0||as>=ar.length)?$throwRuntimeError("index out of range"):ar[as]))>>>4>>>0;if(at>=(b.links.$length>>>0)){return false;}av=(au=b.links,((at<0||at>=au.$length)?$throwRuntimeError("index out of range"):au.$array[au.$offset+at]));an=(an>>$min((9),31))>>0;aw=an;while(aw=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]=ak;aw=aw+(((ax=((ag-9>>0)>>>0),ax<32?(1<>0))>>0;}}ae++;}return true;};AP.prototype.init=function(a){return this.$val.init(a);};AR.Ptr.prototype.nextBlock=function(){var a,b,c,d,e,f;a=this;if(a.final$15){if(!((a.hw===a.hp))){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.err=B.EOF;return;}while(a.nb<3){a.err=a.moreBits();if(!($interfaceIsEqual(a.err,$ifaceNil))){return;}}a.final$15=((a.b&1)>>>0)===1;a.b=(b=(1),b<32?(a.b>>>b):0)>>>0;c=(a.b&3)>>>0;a.b=(d=(2),d<32?(a.b>>>d):0)>>>0;a.nb=a.nb-(3)>>>0;e=c;switch(0){default:if(e===0){a.dataBlock();}else if(e===1){a.hl=Q;a.hd=CF.nil;a.huffmanBlock();}else if(e===2){a.err=a.readHuffman();if(!($interfaceIsEqual(a.err,$ifaceNil))){break;}a.hl=a.h1;a.hd=a.h2;a.huffmanBlock();}else{a.err=(f=a.roffset,new AK(f.$high,f.$low));}}};AR.prototype.nextBlock=function(){return this.$val.nextBlock();};AR.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.step(b);}};AR.prototype.Read=function(a){return this.$val.Read(a);};AR.Ptr.prototype.Close=function(){var a;a=this;if($interfaceIsEqual(a.err,B.EOF)){return $ifaceNil;}return a.err;};AR.prototype.Close=function(){return this.$val.Close();};AR.Ptr.prototype.readHuffman=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,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an;a=this;while(a.nb<14){b=a.moreBits();if(!($interfaceIsEqual(b,$ifaceNil))){return b;}}c=(((a.b&31)>>>0)>>0)+257>>0;if(c>286){return(d=a.roffset,new AK(d.$high,d.$low));}a.b=(e=(5),e<32?(a.b>>>e):0)>>>0;f=(((a.b&31)>>>0)>>0)+1>>0;a.b=(g=(5),g<32?(a.b>>>g):0)>>>0;h=(((a.b&15)>>>0)>>0)+4>>0;a.b=(i=(4),i<32?(a.b>>>i):0)>>>0;a.nb=a.nb-(14)>>>0;j=0;while(j=AS.length)?$throwRuntimeError("index out of range"):AS[j]),l.nilCheck,(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((a.b&7)>>>0)>>0));a.b=(n=(3),n<32?(a.b>>>n):0)>>>0;a.nb=a.nb-(3)>>>0;j=j+(1)>>0;}o=h;while(o<19){(p=a.codebits,q=((o<0||o>=AS.length)?$throwRuntimeError("index out of range"):AS[o]),p.nilCheck,(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=0);o=o+(1)>>0;}if(!a.h1.init($subslice(new BN(a.codebits),0))){return(r=a.roffset,new AK(r.$high,r.$low));}s=0;t=c+f>>0;u=s;v=t;while(u=z.length)?$throwRuntimeError("index out of range"):z[u]=x);u=u+(1)>>0;continue;}aa=0;ab=0;ac=0;ad=x;if(ad===16){aa=3;ab=2;if(u===0){return(ae=a.roffset,new AK(ae.$high,ae.$low));}ac=(af=a.bits,ag=u-1>>0,(af.nilCheck,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag])));}else if(ad===17){aa=3;ab=3;ac=0;}else if(ad===18){aa=11;ab=7;ac=0;}else{return new AL("unexpected length code");}while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(aj=(ab),aj<32?(a.b>>>aj):0)>>>0;a.nb=a.nb-(ab)>>>0;if((u+aa>>0)>v){return(ak=a.roffset,new AK(ak.$high,ak.$low));}al=0;while(al=am.length)?$throwRuntimeError("index out of range"):am[u]=ac);u=u+(1)>>0;al=al+(1)>>0;}}if(!a.h1.init($subslice(new BN(a.bits),0,c))||!a.h2.init($subslice(new BN(a.bits),c,(c+f>>0)))){return(an=a.roffset,new AK(an.$high,an.$low));}return $ifaceNil;};AR.prototype.readHuffman=function(){return this.$val.readHuffman();};AR.Ptr.prototype.huffmanBlock=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;a=this;while(true){b=a.huffSym(a.hl);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}e=0;f=0;if(c<256){(g=a.hist,h=a.hp,g.nilCheck,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));a.hp=a.hp+(1)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.huffmanBlock));return;}continue;}else if(c===256){a.step=$methodExpr(CE.prototype.nextBlock);return;}else if(c<265){f=c-254>>0;e=0;}else if(c<269){f=(c*2>>0)-519>>0;e=1;}else if(c<273){f=(c*4>>0)-1057>>0;e=2;}else if(c<277){f=(c*8>>0)-2149>>0;e=3;}else if(c<281){f=(c*16>>0)-4365>>0;e=4;}else if(c<285){f=(c*32>>0)-8861>>0;e=5;}else{f=258;e=0;}if(e>0){while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(j=(e),j<32?(a.b>>>j):0)>>>0;a.nb=a.nb-(e)>>>0;}k=0;if(a.hd===CF.nil){while(a.nb<5){d=a.moreBits();if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}k=((l=(((a.b&31)>>>0))<<3>>>0,((l<0||l>=AW.length)?$throwRuntimeError("index out of range"):AW[l]))>>0);a.b=(m=(5),m<32?(a.b>>>m):0)>>>0;a.nb=a.nb-(5)>>>0;}else{n=a.huffSym(a.hd);k=n[0];d=n[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}if(k<4){k=k+(1)>>0;}else if(k>=30){a.err=(o=a.roffset,new AK(o.$high,o.$low));return;}else{p=((k-2>>0)>>>0)>>>1>>>0;r=(q=p,q<32?(((k&1))<>0;while(a.nb>>0)-1>>>0))>>>0)>>0));a.b=(t=(p),t<32?(a.b>>>t):0)>>>0;a.nb=a.nb-(p)>>>0;k=(((u=((p+1>>>0)),u<32?(1<>0)+1>>0)+r>>0;}if(k>32768){a.err=new AL("bad history distance");return;}if(!a.hfull&&k>a.hp){a.err=(v=a.roffset,new AK(v.$high,v.$low));return;}w=f;x=k;a.copyLen=w;a.copyDist=x;if(a.copyHist()){return;}}};AR.prototype.huffmanBlock=function(){return this.$val.huffmanBlock();};AR.Ptr.prototype.copyHist=function(){var a,b,c,d,e;a=this;b=a.hp-a.copyDist>>0;if(b<0){b=b+(32768)>>0;}while(a.copyLen>0){c=a.copyLen;d=32768-a.hp>>0;if(c>d){c=d;}e=32768-b>>0;if(c>e){c=e;}G(new BM(a.hist),a.hp,b,c);b=b+(c)>>0;a.hp=a.hp+(c)>>0;a.copyLen=a.copyLen-(c)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.copyHuff));return true;}if(b===32768){b=0;}}return false;};AR.prototype.copyHist=function(){return this.$val.copyHist();};AR.Ptr.prototype.copyHuff=function(){var a;a=this;if(a.copyHist()){return;}a.huffmanBlock();};AR.prototype.copyHuff=function(){return this.$val.copyHuff();};AR.Ptr.prototype.dataBlock=function(){var a,b,c,d,e,f,g,h,i;a=this;a.nb=0;a.b=0;b=B.ReadFull(a.r,$subslice(new BM(a.buf),0,4));c=b[0];d=b[1];a.roffset=(e=a.roffset,f=new $Int64(0,c),new $Int64(e.$high+f.$high,e.$low+f.$low));if(!($interfaceIsEqual(d,$ifaceNil))){a.err=new AM.Ptr(a.roffset,d);return;}g=(a.buf[0]>>0)|((a.buf[1]>>0)<<8>>0);h=(a.buf[2]>>0)|((a.buf[3]>>0)<<8>>0);if(!(((h<<16>>>16)===((~g>>0)<<16>>>16)))){a.err=(i=a.roffset,new AK(i.$high,i.$low));return;}if(g===0){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.copyLen=g;a.copyData();};AR.prototype.dataBlock=function(){return this.$val.dataBlock();};AR.Ptr.prototype.copyData=function(){var a,b,c,d,e,f,g;a=this;b=a.copyLen;while(b>0){c=32768-a.hp>>0;if(c>b){c=b;}d=B.ReadFull(a.r,$subslice(new BM(a.hist),a.hp,(a.hp+c>>0)));c=d[0];e=d[1];a.roffset=(f=a.roffset,g=new $Int64(0,c),new $Int64(f.$high+g.$high,f.$low+g.$low));if(!($interfaceIsEqual(e,$ifaceNil))){a.err=new AM.Ptr(a.roffset,e);return;}b=b-(c)>>0;a.hp=a.hp+(c)>>0;if(a.hp===32768){a.copyLen=b;a.flush($methodExpr(CE.prototype.copyData));return;}}a.step=$methodExpr(CE.prototype.nextBlock);};AR.prototype.copyData=function(){return this.$val.copyData();};AR.Ptr.prototype.setDict=function(a){var b;b=this;if(a.$length>32768){a=$subslice(a,(a.$length-32768>>0));}b.hp=$copySlice(new BM(b.hist),a);if(b.hp===32768){b.hp=0;b.hfull=true;}b.hw=b.hp;};AR.prototype.setDict=function(a){return this.$val.setDict(a);};AR.Ptr.prototype.moreBits=function(){var a,b,c,d,e,f,g;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,B.EOF)){d=B.ErrUnexpectedEOF;}return d;}a.roffset=(e=a.roffset,f=new $Int64(0,1),new $Int64(e.$high+f.$high,e.$low+f.$low));a.b=(a.b|(((g=a.nb,g<32?((c>>>0)<>>0)))>>>0;a.nb=a.nb+(8)>>>0;return $ifaceNil;};AR.prototype.moreBits=function(){return this.$val.moreBits();};AR.Ptr.prototype.huffSym=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;c=(a.min>>>0);while(true){while(b.nb>>0,((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]));c=(((g&15)>>>0)>>>0);if(c>9){g=(h=(i=a.links,j=g>>>4>>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),k=(((b.b>>>9>>>0))&a.linkMask)>>>0,((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]));c=(((g&15)>>>0)>>>0);if(c===0){b.err=(l=b.roffset,new AK(l.$high,l.$low));return[0,b.err];}}if(c<=b.nb){b.b=(m=(c),m<32?(b.b>>>m):0)>>>0;b.nb=b.nb-(c)>>>0;return[((g>>>4>>>0)>>0),$ifaceNil];}}};AR.prototype.huffSym=function(a){return this.$val.huffSym(a);};AR.Ptr.prototype.flush=function(a){var b,c,d;b=this;b.toRead=$subslice(new BM(b.hist),b.hw,b.hp);b.woffset=(c=b.woffset,d=new $Int64(0,(b.hp-b.hw>>0)),new $Int64(c.$high+d.$high,c.$low+d.$low));b.hw=b.hp;if(b.hp===32768){b.hp=0;b.hw=0;b.hfull=true;}b.step=a;};AR.prototype.flush=function(a){return this.$val.flush(a);};AT=function(a){var b,c,d;b=$assertType(a,AQ,true);c=b[0];d=b[1];if(d){return c;}return E.NewReader(a);};AR.Ptr.prototype.Reset=function(a,b){var c;c=this;$copy(c,new AR.Ptr(AT(a),new $Int64(0,0),new $Int64(0,0),0,0,new AP.Ptr(),new AP.Ptr(),c.bits,c.codebits,c.hist,0,0,false,CM.zero(),$methodExpr(CE.prototype.nextBlock),false,$ifaceNil,BM.nil,CF.nil,CF.nil,0,0),AR);if(!(b===BM.nil)){c.setDict(b);}return $ifaceNil;};AR.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};AU=$pkg.NewReader=function(a){var b;b=$clone(new AR.Ptr(),AR);b.bits=CG.zero();b.codebits=CI.zero();b.r=AT(a);b.hist=CK.zero();b.step=$methodExpr(CE.prototype.nextBlock);return b;};AV=$pkg.NewReaderDict=function(a,b){var c;c=$clone(new AR.Ptr(),AR);c.r=AT(a);c.hist=CK.zero();c.bits=CG.zero();c.codebits=CI.zero();c.step=$methodExpr(CE.prototype.nextBlock);c.setDict(b);return c;};AX=function(a){var b,c;return(((b=a>>>8<<16>>>16,((b<0||b>=AW.length)?$throwRuntimeError("index out of range"):AW[b]))<<16>>>16)|(((c=(a&255)>>>0,((c<0||c>=AW.length)?$throwRuntimeError("index out of range"):AW[c]))<<16>>>16)<<8<<16>>>16))>>>0;};AY=function(a,b){var c;return AX((c=(16-b<<24>>>24),c<32?(a<>>16);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}BK=$sliceType($Uint32);BL=$sliceType(BK);BM=$sliceType($Uint8);BN=$sliceType($Int);BU=$sliceType($Int32);BV=$sliceType($Uint8);BW=$ptrType(Y);BX=$sliceType($Uint16);CB=$sliceType(Z);CC=$arrayType($Uint32,512);CD=$arrayType($Int,16);CE=$ptrType(AR);CF=$ptrType(AP);CG=$arrayType($Int,318);CH=$ptrType(CG);CI=$arrayType($Int,19);CJ=$ptrType(CI);CK=$arrayType($Uint8,32768);CL=$ptrType(CK);CM=$arrayType($Uint8,4);CS=$ptrType(AK);CT=$ptrType(AL);CU=$ptrType(AM);CW=$funcType([CE],[],false);BW.methods=[["assignEncodingAndSize","assignEncodingAndSize","compress/flate",$funcType([BU,CB],[],false),-1],["bitCounts","bitCounts","compress/flate",$funcType([CB,$Int32],[BU],false),-1],["bitLength","bitLength","compress/flate",$funcType([BU],[$Int64],false),-1],["generate","generate","compress/flate",$funcType([BU,$Int32],[],false),-1]];Y.init([["codeBits","codeBits","compress/flate",BV,""],["code","code","compress/flate",BX,""]]);Z.init([["literal","literal","compress/flate",$Uint16,""],["freq","freq","compress/flate",$Int32,""]]);AK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CS.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CT.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CU.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AM.init([["Offset","Offset","",$Int64,""],["Err","Err","",$error,""]]);AO.init([["Reset","Reset","",$funcType([B.Reader,BM],[$error],false)]]);CF.methods=[["init","init","compress/flate",$funcType([BN],[$Bool],false),-1]];AP.init([["min","min","compress/flate",$Int,""],["chunks","chunks","compress/flate",CC,""],["links","links","compress/flate",BL,""],["linkMask","linkMask","compress/flate",$Uint32,""]]);AQ.init([["Read","Read","",$funcType([BM],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);CE.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([BM],[$Int,$error],false),-1],["Reset","Reset","",$funcType([B.Reader,BM],[$error],false),-1],["copyData","copyData","compress/flate",$funcType([],[],false),-1],["copyHist","copyHist","compress/flate",$funcType([],[$Bool],false),-1],["copyHuff","copyHuff","compress/flate",$funcType([],[],false),-1],["dataBlock","dataBlock","compress/flate",$funcType([],[],false),-1],["flush","flush","compress/flate",$funcType([CW],[],false),-1],["huffSym","huffSym","compress/flate",$funcType([CF],[$Int,$error],false),-1],["huffmanBlock","huffmanBlock","compress/flate",$funcType([],[],false),-1],["moreBits","moreBits","compress/flate",$funcType([],[$error],false),-1],["nextBlock","nextBlock","compress/flate",$funcType([],[],false),-1],["readHuffman","readHuffman","compress/flate",$funcType([],[$error],false),-1],["setDict","setDict","compress/flate",$funcType([BM],[],false),-1]];AR.init([["r","r","compress/flate",AQ,""],["roffset","roffset","compress/flate",$Int64,""],["woffset","woffset","compress/flate",$Int64,""],["b","b","compress/flate",$Uint32,""],["nb","nb","compress/flate",$Uint,""],["h1","h1","compress/flate",AP,""],["h2","h2","compress/flate",AP,""],["bits","bits","compress/flate",CH,""],["codebits","codebits","compress/flate",CJ,""],["hist","hist","compress/flate",CL,""],["hp","hp","compress/flate",$Int,""],["hw","hw","compress/flate",$Int,""],["hfull","hfull","compress/flate",$Bool,""],["buf","buf","compress/flate",CM,""],["step","step","compress/flate",CW,""],["final$15","final","compress/flate",$Bool,""],["err","err","compress/flate",$error,""],["toRead","toRead","compress/flate",BM,""],["hl","hl","compress/flate",CF,""],["hd","hd","compress/flate",CF,""],["copyLen","copyLen","compress/flate",$Int,""],["copyDist","copyDist","compress/flate",$Int,""]]);Q=new AP.Ptr(7,$toNativeArray($kindUint32,[4103,1288,264,4488,4359,1800,776,3081,4231,1544,520,2569,8,2056,1032,3593,4167,1416,392,2313,4423,1928,904,3337,4295,1672,648,2825,136,2184,1160,3849,4135,1352,328,4552,4391,1864,840,3209,4263,1608,584,2697,72,2120,1096,3721,4199,1480,456,2441,4455,1992,968,3465,4327,1736,712,2953,200,2248,1224,3977,4119,1320,296,4520,4375,1832,808,3145,4247,1576,552,2633,40,2088,1064,3657,4183,1448,424,2377,4439,1960,936,3401,4311,1704,680,2889,168,2216,1192,3913,4151,1384,360,4584,4407,1896,872,3273,4279,1640,616,2761,104,2152,1128,3785,4215,1512,488,2505,4471,2024,1000,3529,4343,1768,744,3017,232,2280,1256,4041,4103,1304,280,4504,4359,1816,792,3113,4231,1560,536,2601,24,2072,1048,3625,4167,1432,408,2345,4423,1944,920,3369,4295,1688,664,2857,152,2200,1176,3881,4135,1368,344,4568,4391,1880,856,3241,4263,1624,600,2729,88,2136,1112,3753,4199,1496,472,2473,4455,2008,984,3497,4327,1752,728,2985,216,2264,1240,4009,4119,1336,312,4536,4375,1848,824,3177,4247,1592,568,2665,56,2104,1080,3689,4183,1464,440,2409,4439,1976,952,3433,4311,1720,696,2921,184,2232,1208,3945,4151,1400,376,4600,4407,1912,888,3305,4279,1656,632,2793,120,2168,1144,3817,4215,1528,504,2537,4471,2040,1016,3561,4343,1784,760,3049,248,2296,1272,4073,4103,1288,264,4488,4359,1800,776,3097,4231,1544,520,2585,8,2056,1032,3609,4167,1416,392,2329,4423,1928,904,3353,4295,1672,648,2841,136,2184,1160,3865,4135,1352,328,4552,4391,1864,840,3225,4263,1608,584,2713,72,2120,1096,3737,4199,1480,456,2457,4455,1992,968,3481,4327,1736,712,2969,200,2248,1224,3993,4119,1320,296,4520,4375,1832,808,3161,4247,1576,552,2649,40,2088,1064,3673,4183,1448,424,2393,4439,1960,936,3417,4311,1704,680,2905,168,2216,1192,3929,4151,1384,360,4584,4407,1896,872,3289,4279,1640,616,2777,104,2152,1128,3801,4215,1512,488,2521,4471,2024,1000,3545,4343,1768,744,3033,232,2280,1256,4057,4103,1304,280,4504,4359,1816,792,3129,4231,1560,536,2617,24,2072,1048,3641,4167,1432,408,2361,4423,1944,920,3385,4295,1688,664,2873,152,2200,1176,3897,4135,1368,344,4568,4391,1880,856,3257,4263,1624,600,2745,88,2136,1112,3769,4199,1496,472,2489,4455,2008,984,3513,4327,1752,728,3001,216,2264,1240,4025,4119,1336,312,4536,4375,1848,824,3193,4247,1592,568,2681,56,2104,1080,3705,4183,1464,440,2425,4439,1976,952,3449,4311,1720,696,2937,184,2232,1208,3961,4151,1400,376,4600,4407,1912,888,3321,4279,1656,632,2809,120,2168,1144,3833,4215,1528,504,2553,4471,2040,1016,3577,4343,1784,760,3065,248,2296,1272,4089]),BL.nil,0);AS=$toNativeArray($kindInt,[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);AW=$toNativeArray($kindUint8,[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255]);AF=AD();AG=AE();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["hash"]=(function(){var $pkg={},A,E,C;A=$packages["io"];C=$pkg.Hash32=$newType(8,$kindInterface,"hash.Hash32","Hash32","hash",null);$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}E=$sliceType($Uint8);C.init([["BlockSize","BlockSize","",$funcType([],[$Int],false)],["Reset","Reset","",$funcType([],[],false)],["Size","Size","",$funcType([],[$Int],false)],["Sum","Sum","",$funcType([E],[E],false)],["Sum32","Sum32","",$funcType([],[$Uint32],false)],["Write","Write","",$funcType([E],[$Int,$error],false)]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -42,14 +42,14 @@ $packages["image/png"]=(function(){var $pkg={},I,A,B,C,D,E,F,G,H,J,AI,AJ,AK,AL,A $packages["path/filepath"]=(function(){var $pkg={},G,A,B,C,D,E,F;G=$packages["bytes"];A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=G.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io/ioutil"]=(function(){var $pkg={},A,B,C,F,D,G,E,H,Y,Z,AA,R;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($emptyInterface);Z=$sliceType($Uint8);AA=$ptrType(Z);R=new E.Pool.Ptr(0,0,Y.nil,(function(){var a;a=Z.make(8192);return new AA(function(){return a;},function($v){a=$v;});}));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["path"]=(function(){var $pkg={},A,B,C;A=$packages["errors"];B=$packages["strings"];C=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J,K;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["reflect"];J=$packages["strings"];K=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["strings"];J=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color/palette"]=(function(){var $pkg={},A;A=$packages["image/color"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/lzw"]=(function(){var $pkg={},A,B,C,D,N,O,P,S,T,U,V,F,G,L,H;A=$packages["bufio"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];F=$pkg.decoder=$newType(0,$kindStruct,"lzw.decoder","decoder","compress/lzw",function(r_,bits_,nBits_,width_,read_,litWidth_,err_,clear_,eof_,hi_,overflow_,last_,suffix_,prefix_,output_,o_,toRead_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:0;this.nBits=nBits_!==undefined?nBits_:0;this.width=width_!==undefined?width_:0;this.read=read_!==undefined?read_:$throwNilPointerError;this.litWidth=litWidth_!==undefined?litWidth_:0;this.err=err_!==undefined?err_:$ifaceNil;this.clear=clear_!==undefined?clear_:0;this.eof=eof_!==undefined?eof_:0;this.hi=hi_!==undefined?hi_:0;this.overflow=overflow_!==undefined?overflow_:0;this.last=last_!==undefined?last_:0;this.suffix=suffix_!==undefined?suffix_:S.zero();this.prefix=prefix_!==undefined?prefix_:T.zero();this.output=output_!==undefined?output_:U.zero();this.o=o_!==undefined?o_:0;this.toRead=toRead_!==undefined?toRead_:N.nil;});F.Ptr.prototype.readLSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((a.bits&((((f=a.width,f<32?(1<>>0)-1>>>0)))>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits>>>h):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readLSB=function(){return this.$val.readLSB();};F.Ptr.prototype.readMSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)),e<32?((c>>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((f=((32-a.width>>>0)),f<32?(a.bits>>>f):0)>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits<>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readMSB=function(){return this.$val.readMSB();};F.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.decode();}};F.prototype.Read=function(a){return this.$val.Read(a);};F.Ptr.prototype.decode=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,y,z,aa,ab;a=this;while(true){b=a.read(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,D.EOF)){d=D.ErrUnexpectedEOF;}a.err=d;return;}if(c=e.length)?$throwRuntimeError("index out of range"):e[f]=(c<<24>>>24));a.o=a.o+(1)>>0;if(!((a.last===65535))){(g=a.suffix,h=a.hi,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));(i=a.prefix,j=a.hi,(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=a.last);}}else if(c===a.clear){a.width=1+(a.litWidth>>>0)>>>0;a.hi=a.eof;a.overflow=(k=a.width,k<32?(1<>>16;a.last=65535;continue;}else if(c===a.eof){a.flush();a.err=D.EOF;return;}else if(c<=a.hi){l=c;m=8191;n=l;o=m;if(c===a.hi){n=a.last;while(n>=a.clear){n=(p=a.prefix,((n<0||n>=p.length)?$throwRuntimeError("index out of range"):p[n]));}(q=a.output,(o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o]=(n<<24>>>24));o=o-(1)>>0;n=a.last;}while(n>=a.clear){(s=a.output,(o<0||o>=s.length)?$throwRuntimeError("index out of range"):s[o]=(r=a.suffix,((n<0||n>=r.length)?$throwRuntimeError("index out of range"):r[n])));o=o-(1)>>0;n=(t=a.prefix,((n<0||n>=t.length)?$throwRuntimeError("index out of range"):t[n]));}(u=a.output,(o<0||o>=u.length)?$throwRuntimeError("index out of range"):u[o]=(n<<24>>>24));a.o=a.o+($copySlice($subslice(new N(a.output),a.o),$subslice(new N(a.output),o)))>>0;if(!((a.last===65535))){(v=a.suffix,w=a.hi,(w<0||w>=v.length)?$throwRuntimeError("index out of range"):v[w]=(n<<24>>>24));(x=a.prefix,y=a.hi,(y<0||y>=x.length)?$throwRuntimeError("index out of range"):x[y]=a.last);}}else{a.err=B.New("lzw: invalid code");return;}z=c;aa=a.hi+1<<16>>>16;a.last=z;a.hi=aa;if(a.hi>=a.overflow){if(a.width===12){a.last=65535;}else{a.width=a.width+(1)>>>0;a.overflow=(ab=(1),ab<32?(a.overflow<>>16;}}if(a.o>=4096){a.flush();return;}}};F.prototype.decode=function(){return this.$val.decode();};F.Ptr.prototype.flush=function(){var a;a=this;a.toRead=$subslice(new N(a.output),0,a.o);a.o=0;};F.prototype.flush=function(){return this.$val.flush();};F.Ptr.prototype.Close=function(){var a;a=this;a.err=G;return $ifaceNil;};F.prototype.Close=function(){return this.$val.Close();};H=$pkg.NewReader=function(a,b,c){var d,e,f,g,h,i,j,k,l;d=new F.Ptr();e=b;if(e===0){d.read=$methodExpr(O.prototype.readLSB);}else if(e===1){d.read=$methodExpr(O.prototype.readMSB);}else{d.err=B.New("lzw: unknown order");return d;}if(c<2||8>>0)>>>0;d.clear=(i=(c>>>0),i<32?(1<>>16;j=d.clear+1<<16>>>16;k=d.clear+1<<16>>>16;d.eof=j;d.hi=k;d.overflow=(l=d.width,l<32?(1<>>16;d.last=65535;return d;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}N=$sliceType($Uint8);O=$ptrType(F);P=$sliceType($emptyInterface);S=$arrayType($Uint8,4096);T=$arrayType($Uint16,4096);U=$arrayType($Uint8,8192);V=$funcType([O],[$Uint16,$error],false);O.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([N],[$Int,$error],false),-1],["decode","decode","compress/lzw",$funcType([],[],false),-1],["flush","flush","compress/lzw",$funcType([],[],false),-1],["readLSB","readLSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1],["readMSB","readMSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1]];F.init([["r","r","compress/lzw",D.ByteReader,""],["bits","bits","compress/lzw",$Uint32,""],["nBits","nBits","compress/lzw",$Uint,""],["width","width","compress/lzw",$Uint,""],["read","read","compress/lzw",V,""],["litWidth","litWidth","compress/lzw",$Int,""],["err","err","compress/lzw",$error,""],["clear","clear","compress/lzw",$Uint16,""],["eof","eof","compress/lzw",$Uint16,""],["hi","hi","compress/lzw",$Uint16,""],["overflow","overflow","compress/lzw",$Uint16,""],["last","last","compress/lzw",$Uint16,""],["suffix","suffix","compress/lzw",S,""],["prefix","prefix","compress/lzw",T,""],["output","output","compress/lzw",U,""],["o","o","compress/lzw",$Int,""],["toRead","toRead","compress/lzw",N,""]]);G=B.New("compress/lzw: reader/writer is closed");L=B.New("lzw: out of codes");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/gif"]=(function(){var $pkg={},A,B,C,D,E,F,H,I,G,AG,AH,AI,AJ,AK,AL,AN,AO,AQ,AS,AT,M,N,O,P,J,K,L,Q,R,S,V,W;A=$packages["bufio"];B=$packages["compress/lzw"];C=$packages["errors"];D=$packages["fmt"];E=$packages["image"];F=$packages["image/color"];H=$packages["image/color/palette"];I=$packages["image/draw"];G=$packages["io"];M=$pkg.reader=$newType(8,$kindInterface,"gif.reader","reader","image/gif",null);N=$pkg.decoder=$newType(0,$kindStruct,"gif.decoder","decoder","image/gif",function(r_,vers_,width_,height_,flags_,headerFields_,backgroundIndex_,loopCount_,delayTime_,aspect_,imageFields_,transparentIndex_,hasTransparentIndex_,pixelSize_,globalColorMap_,delay_,image_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.vers=vers_!==undefined?vers_:"";this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flags=flags_!==undefined?flags_:0;this.headerFields=headerFields_!==undefined?headerFields_:0;this.backgroundIndex=backgroundIndex_!==undefined?backgroundIndex_:0;this.loopCount=loopCount_!==undefined?loopCount_:0;this.delayTime=delayTime_!==undefined?delayTime_:0;this.aspect=aspect_!==undefined?aspect_:0;this.imageFields=imageFields_!==undefined?imageFields_:0;this.transparentIndex=transparentIndex_!==undefined?transparentIndex_:0;this.hasTransparentIndex=hasTransparentIndex_!==undefined?hasTransparentIndex_:false;this.pixelSize=pixelSize_!==undefined?pixelSize_:0;this.globalColorMap=globalColorMap_!==undefined?globalColorMap_:F.Palette.nil;this.delay=delay_!==undefined?delay_:AO.nil;this.image=image_!==undefined?image_:AN.nil;this.tmp=tmp_!==undefined?tmp_:AQ.zero();});O=$pkg.blockReader=$newType(0,$kindStruct,"gif.blockReader","blockReader","image/gif",function(r_,slice_,err_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.slice=slice_!==undefined?slice_:AH.nil;this.err=err_!==undefined?err_:$ifaceNil;this.tmp=tmp_!==undefined?tmp_:AJ.zero();});P=$pkg.interlaceScan=$newType(0,$kindStruct,"gif.interlaceScan","interlaceScan","image/gif",function(skip_,start_){this.$val=this;this.skip=skip_!==undefined?skip_:0;this.start=start_!==undefined?start_:0;});O.Ptr.prototype.Read=function(a){var b,c,d,e,f;b=this;if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(a.$length===0){return[0,$ifaceNil];}if(b.slice.$length===0){c=0;d=b.r.ReadByte();c=d[0];b.err=d[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(c===0){b.err=G.EOF;return[0,b.err];}b.slice=$subslice(new AH(b.tmp),0,c);e=G.ReadFull(b.r,b.slice);b.err=e[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}}f=$copySlice(a,b.slice);b.slice=$subslice(b.slice,f);return[f,$ifaceNil];};O.prototype.Read=function(a){return this.$val.Read(a);};N.Ptr.prototype.decode=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;try{$deferFrames.push($deferred);c=this;d=$assertType(a,M,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=c.readHeaderAndScreenDescriptor();if(!($interfaceIsEqual(g,$ifaceNil))){return g;}if(b){return $ifaceNil;}if(!((((c.headerFields&128)>>>0)===0))){h=c.readColorMap();c.globalColorMap=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}}while(true){i=c.r.ReadByte();j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}l=j;if(l===33){k=c.readExtension();if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}else if(l===44){m=c.newImageFromDescriptor();n=m[0];o=m[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=!((((c.imageFields&128)>>>0)===0));if(p){q=c.readColorMap();n.Palette=q[0];o=q[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}}else{n.Palette=c.globalColorMap;}if(c.hasTransparentIndex&&(c.transparentIndex>>0)=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=(r=new F.RGBA.Ptr(0,0,0,0),new r.constructor.Struct(r)));}u=c.r.ReadByte();v=u[0];o=u[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}if(v<2||v>8){return D.Errorf("gif: pixel size in decode out of range: %d",new AI([new $Uint8(v)]));}w=new O.Ptr(c.r,AH.nil,$ifaceNil,AJ.zero());x=B.NewReader(w,0,(v>>0));$deferred.push([$methodVal(x,"Close"),[]]);y=G.ReadFull(x,n.Pix);o=y[1];if(!($interfaceIsEqual(o,$ifaceNil))){if(!($interfaceIsEqual(o,G.ErrUnexpectedEOF))){return o;}return J;}z=x.Read($subslice(new AH(c.tmp),0,1));aa=z[0];ab=z[1];if(!((aa===0))||!($interfaceIsEqual(ab,G.EOF))){if(!($interfaceIsEqual(ab,$ifaceNil))){return ab;}return K;}ac=w.Read($subslice(new AH(c.tmp),0,1));ad=ac[0];ae=ac[1];if(!((ad===0))||!($interfaceIsEqual(ae,G.EOF))){if(!($interfaceIsEqual(ae,$ifaceNil))){return ae;}return K;}if(n.Palette.$length<256){af=n.Pix;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if((ah>>0)>=n.Palette.$length){return L;}ag++;}}if(!((((c.imageFields&64)>>>0)===0))){R(n);}c.image=$append(c.image,n);c.delay=$append(c.delay,c.delayTime);c.delayTime=0;c.hasTransparentIndex=false;}else if(l===59){if(c.image.$length===0){return G.ErrUnexpectedEOF;}return $ifaceNil;}else{return D.Errorf("gif: unknown block type: 0x%.2x",new AI([new $Uint8(j)]));}}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};N.prototype.decode=function(a,b){return this.$val.decode(a,b);};N.Ptr.prototype.readHeaderAndScreenDescriptor=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,13));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}a.vers=$bytesToString($subslice(new AH(a.tmp),0,6));if(!(a.vers==="GIF87a")&&!(a.vers==="GIF89a")){return D.Errorf("gif: can't recognize format %s",new AI([new $String(a.vers)]));}a.width=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.height=(a.tmp[8]>>0)+((a.tmp[9]>>0)<<8>>0)>>0;a.headerFields=a.tmp[10];a.backgroundIndex=a.tmp[11];a.aspect=a.tmp[12];a.loopCount=-1;a.pixelSize=(((a.headerFields&7)>>>0)>>>0)+1>>>0;return $ifaceNil;};N.prototype.readHeaderAndScreenDescriptor=function(){return this.$val.readHeaderAndScreenDescriptor();};N.Ptr.prototype.readColorMap=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.pixelSize>8){return[F.Palette.nil,D.Errorf("gif: can't handle %d bits per pixel",new AI([new $Uint(a.pixelSize)]))];}c=(b=a.pixelSize,b<32?(1<>0;if(!((((a.imageFields&128)>>>0)===0))){c=(d=(((((a.imageFields&7)>>>0))+1<<24>>>24)),d<32?(1<>0;}e=3*c>>0;f=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));g=f[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[F.Palette.nil,D.Errorf("gif: short read on color map: %s",new AI([g]))];}h=F.Palette.make(c);i=0;j=h;k=0;while(k=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+l]=(m=new F.RGBA.Ptr((n=a.tmp,o=i+0>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o])),(p=a.tmp,q=i+1>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q])),(r=a.tmp,s=i+2>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s])),255),new m.constructor.Struct(m));i=i+(3)>>0;k++;}return[h,$ifaceNil];};N.prototype.readColorMap=function(){return this.$val.readColorMap();};N.Ptr.prototype.readExtension=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=0;f=c;if(f===1){e=13;}else if(f===249){return a.readGraphicControl();}else if(f===254){}else if(f===255){g=a.r.ReadByte();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}e=(h>>0);}else{return D.Errorf("gif: unknown extension 0x%.2x",new AI([new $Uint8(c)]));}if(e>0){j=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));k=j[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}if((c===255)&&$bytesToString($subslice(new AH(a.tmp),0,e))==="NETSCAPE2.0"){l=a.readBlock();m=l[0];n=l[1];if((m===0)||!($interfaceIsEqual(n,$ifaceNil))){return n;}if((m===3)&&(a.tmp[0]===1)){a.loopCount=(a.tmp[1]>>0)|((a.tmp[2]>>0)<<8>>0);}}while(true){o=a.readBlock();p=o[0];q=o[1];if((p===0)||!($interfaceIsEqual(q,$ifaceNil))){return q;}}};N.prototype.readExtension=function(){return this.$val.readExtension();};N.Ptr.prototype.readGraphicControl=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,6));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return D.Errorf("gif: can't read graphic control: %s",new AI([c]));}a.flags=a.tmp[1];a.delayTime=(a.tmp[2]>>0)|((a.tmp[3]>>0)<<8>>0);if(!((((a.flags&1)>>>0)===0))){a.transparentIndex=a.tmp[4];a.hasTransparentIndex=true;}return $ifaceNil;};N.prototype.readGraphicControl=function(){return this.$val.readGraphicControl();};N.Ptr.prototype.newImageFromDescriptor=function(){var a,b,c,d,e,f,g,h;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,9));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[AK.nil,D.Errorf("gif: can't read image descriptor: %s",new AI([c]))];}d=(a.tmp[0]>>0)+((a.tmp[1]>>0)<<8>>0)>>0;e=(a.tmp[2]>>0)+((a.tmp[3]>>0)<<8>>0)>>0;f=(a.tmp[4]>>0)+((a.tmp[5]>>0)<<8>>0)>>0;g=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.imageFields=a.tmp[8];h=$clone(E.Rect(d,e,d+f>>0,e+g>>0),E.Rectangle);if(!($equal(h,h.Intersect(E.Rect(0,0,a.width,a.height)),E.Rectangle))){return[AK.nil,C.New("gif: frame bounds larger than image bounds")];}return[E.NewPaletted(h,F.Palette.nil),$ifaceNil];};N.prototype.newImageFromDescriptor=function(){return this.$val.newImageFromDescriptor();};N.Ptr.prototype.readBlock=function(){var a,b,c,d;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if((c===0)||!($interfaceIsEqual(d,$ifaceNil))){return[0,d];}return G.ReadFull(a.r,$subslice(new AH(a.tmp),0,c));};N.prototype.readBlock=function(){return this.$val.readBlock();};R=function(a){var b,c,d,e,f,g,h,i,j;b=AL.nil;c=a.Bounds().Dx();d=a.Bounds().Dy();b=AL.make((c*d>>0));e=0;f=Q;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),P);i=h.start*c>>0;j=h.start;while(j>0)),$subslice(a.Pix,e,(e+c>>0)));e=e+(c)>>0;i=i+((c*h.skip>>0))>>0;j=j+(h.skip)>>0;}g++;}a.Pix=b;};S=$pkg.Decode=function(a){var b,c,d;b=$clone(new N.Ptr(),N);c=b.decode(a,false);if(!($interfaceIsEqual(c,$ifaceNil))){return[$ifaceNil,c];}return[(d=b.image,((0<0||0>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+0])),$ifaceNil];};V=$pkg.DecodeConfig=function(a){var b,c;b=$clone(new N.Ptr(),N);c=b.decode(a,true);if(!($interfaceIsEqual(c,$ifaceNil))){return[new E.Config.Ptr($ifaceNil,0,0),c];}return[new E.Config.Ptr(b.globalColorMap,b.width,b.height),$ifaceNil];};W=function(){E.RegisterFormat("gif","GIF8?a",S,V);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AG=$sliceType(P);AH=$sliceType($Uint8);AI=$sliceType($emptyInterface);AJ=$arrayType($Uint8,256);AK=$ptrType(E.Paletted);AL=$sliceType($Uint8);AN=$sliceType(AK);AO=$sliceType($Int);AQ=$arrayType($Uint8,1024);AS=$ptrType(N);AT=$ptrType(O);M.init([["Read","Read","",$funcType([AH],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);AS.methods=[["decode","decode","image/gif",$funcType([G.Reader,$Bool],[$error],false),-1],["newImageFromDescriptor","newImageFromDescriptor","image/gif",$funcType([],[AK,$error],false),-1],["readBlock","readBlock","image/gif",$funcType([],[$Int,$error],false),-1],["readColorMap","readColorMap","image/gif",$funcType([],[F.Palette,$error],false),-1],["readExtension","readExtension","image/gif",$funcType([],[$error],false),-1],["readGraphicControl","readGraphicControl","image/gif",$funcType([],[$error],false),-1],["readHeaderAndScreenDescriptor","readHeaderAndScreenDescriptor","image/gif",$funcType([],[$error],false),-1]];N.init([["r","r","image/gif",M,""],["vers","vers","image/gif",$String,""],["width","width","image/gif",$Int,""],["height","height","image/gif",$Int,""],["flags","flags","image/gif",$Uint8,""],["headerFields","headerFields","image/gif",$Uint8,""],["backgroundIndex","backgroundIndex","image/gif",$Uint8,""],["loopCount","loopCount","image/gif",$Int,""],["delayTime","delayTime","image/gif",$Int,""],["aspect","aspect","image/gif",$Uint8,""],["imageFields","imageFields","image/gif",$Uint8,""],["transparentIndex","transparentIndex","image/gif",$Uint8,""],["hasTransparentIndex","hasTransparentIndex","image/gif",$Bool,""],["pixelSize","pixelSize","image/gif",$Uint,""],["globalColorMap","globalColorMap","image/gif",F.Palette,""],["delay","delay","image/gif",AO,""],["image","image","image/gif",AN,""],["tmp","tmp","image/gif",AQ,""]]);AT.methods=[["Read","Read","",$funcType([AH],[$Int,$error],false),-1]];O.init([["r","r","image/gif",M,""],["slice","slice","image/gif",AH,""],["err","err","image/gif",$error,""],["tmp","tmp","image/gif",AJ,""]]);P.init([["skip","skip","image/gif",$Int,""],["start","start","image/gif",$Int,""]]);J=C.New("gif: not enough image data");K=C.New("gif: too much image data");L=C.New("gif: invalid pixel value");Q=new AG([new P.Ptr(8,0),new P.Ptr(8,4),new P.Ptr(4,2),new P.Ptr(2,1)]);W();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/ebitenutil"]=(function(){var $pkg={},L,M,N,O,A,B,F,C,G,H,I,J,D,E,K,Y,AA,AB,AG,AH,AI,AJ,U,V,X;L=$packages["bytes"];M=$packages["errors"];N=$packages["fmt"];O=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/internal/assets"];F=$packages["image"];C=$packages["image/color"];G=$packages["image/color/palette"];H=$packages["image/draw"];I=$packages["image/gif"];J=$packages["io"];D=$packages["math"];E=$packages["strings"];K=$packages["sync"];V=function(){var a,b,c,d,e,f,g,h,i,j,k;a=new AA([]);b=new AB([0,128,255]);c=0;while(c=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);e=new AB([0,128,255]);f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);h=new AB([0,128,255]);i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);a=$append(a,(k=new C.RGBA.Ptr(d,g,j,255),new k.constructor.Struct(k)));i++;}f++;}c++;}U=$subslice(new C.Palette(a.$array),a.$offset,a.$offset+a.$length);};X=$pkg.NewImageFromFile=function(a,b,$b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k,l,m;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;d=null;e=new AH(0);f=new($global.XMLHttpRequest)();f.open($externalize("GET",$String),$externalize(a,$String),$externalize(true,$Bool));f.responseType=$externalize("arraybuffer",$String);f.onload=$externalize((function(){var $deferred=[],$err=null,g,h;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);h=$parseInt(f.status)>>0;if(200<=h&&h<400){d=f.response;return;}c=M.New(N.Sprintf("http error: %d",new AI([new $Int(h)])));}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.onerror=$externalize((function(){var $deferred=[],$err=null,g;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);c=M.New("http error");}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.send();g=$recv(e,$BLOCKING);$s=1;case 1:if(g&&g.$blocking){g=g();}g[0];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}h=$assertType($internalize(new($global.Uint8Array)(d),$emptyInterface),AB);i=L.NewBuffer(h);j=F.Decode(i);k=j[0];c=j[2];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}l=A.NewImageFromImage(k,b);m=l[0];c=l[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}return[m,k,$ifaceNil];case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=L.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=M.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=N.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=O.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=15;case 15:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(A.Image);AA=$sliceType(C.Color);AB=$sliceType($Uint8);AG=$structType([]);AH=$chanType(AG,false,false);AI=$sliceType($emptyInterface);AJ=$funcType([],[],false);U=C.Palette.nil;V();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/jpeg"]=(function(){var $pkg={},D,E,B,C,A,AQ,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BF,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,G,I,K,L,M,P,Q,AB,AD,H,N,R,AC,AE,J,S,T,U,AF;D=$packages["bufio"];E=$packages["errors"];B=$packages["image"];C=$packages["image/color"];A=$packages["io"];G=$pkg.huffman=$newType(0,$kindStruct,"jpeg.huffman","huffman","image/jpeg",function(nCodes_,lut_,vals_,minCodes_,maxCodes_,valsIndices_){this.$val=this;this.nCodes=nCodes_!==undefined?nCodes_:0;this.lut=lut_!==undefined?lut_:BI.zero();this.vals=vals_!==undefined?vals_:BJ.zero();this.minCodes=minCodes_!==undefined?minCodes_:AT.zero();this.maxCodes=maxCodes_!==undefined?maxCodes_:AT.zero();this.valsIndices=valsIndices_!==undefined?valsIndices_:AT.zero();});I=$pkg.block=$newType(256,$kindArray,"jpeg.block","block","image/jpeg",null);K=$pkg.FormatError=$newType(8,$kindString,"jpeg.FormatError","FormatError","image/jpeg",null);L=$pkg.UnsupportedError=$newType(8,$kindString,"jpeg.UnsupportedError","UnsupportedError","image/jpeg",null);M=$pkg.component=$newType(0,$kindStruct,"jpeg.component","component","image/jpeg",function(h_,v_,c_,tq_){this.$val=this;this.h=h_!==undefined?h_:0;this.v=v_!==undefined?v_:0;this.c=c_!==undefined?c_:0;this.tq=tq_!==undefined?tq_:0;});P=$pkg.bits=$newType(0,$kindStruct,"jpeg.bits","bits","image/jpeg",function(a_,m_,n_){this.$val=this;this.a=a_!==undefined?a_:0;this.m=m_!==undefined?m_:0;this.n=n_!==undefined?n_:0;});Q=$pkg.decoder=$newType(0,$kindStruct,"jpeg.decoder","decoder","image/jpeg",function(r_,bits_,bytes_,width_,height_,img1_,img3_,ri_,nComp_,progressive_,eobRun_,comp_,progCoeffs_,huff_,quant_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:new P.Ptr();this.bytes=bytes_!==undefined?bytes_:new BN.Ptr();this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.img1=img1_!==undefined?img1_:AV.nil;this.img3=img3_!==undefined?img3_:AW.nil;this.ri=ri_!==undefined?ri_:0;this.nComp=nComp_!==undefined?nComp_:0;this.progressive=progressive_!==undefined?progressive_:false;this.eobRun=eobRun_!==undefined?eobRun_:0;this.comp=comp_!==undefined?comp_:BO.zero();this.progCoeffs=progCoeffs_!==undefined?progCoeffs_:BP.zero();this.huff=huff_!==undefined?huff_:BR.zero();this.quant=quant_!==undefined?quant_:BF.zero();this.tmp=tmp_!==undefined?tmp_:BS.zero();});AB=$pkg.huffmanSpec=$newType(0,$kindStruct,"jpeg.huffmanSpec","huffmanSpec","image/jpeg",function(count_,value_){this.$val=this;this.count=count_!==undefined?count_:BW.zero();this.value=value_!==undefined?value_:AS.nil;});AD=$pkg.huffmanLUT=$newType(12,$kindSlice,"jpeg.huffmanLUT","huffmanLUT","image/jpeg",null);Q.Ptr.prototype.ensureNBits=function(a){var b,c,d,e,f;b=this;while(true){c=b.readByteStuffedByte();d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,A.EOF)){return new K(H);}return e;}b.bits.a=((b.bits.a<<8>>>0)|(d>>>0))>>>0;b.bits.n=b.bits.n+(8)>>0;if(b.bits.m===0){b.bits.m=128;}else{b.bits.m=(f=(8),f<32?(b.bits.m<>>0;}if(b.bits.n>=a){break;}}return $ifaceNil;};Q.prototype.ensureNBits=function(a){return this.$val.ensureNBits(a);};Q.Ptr.prototype.receiveExtend=function(a){var b,c,d,e,f,g,h,i;b=this;if(b.bits.n<(a>>0)){c=b.ensureNBits((a>>0));if(!($interfaceIsEqual(c,$ifaceNil))){return[0,c];}}b.bits.n=b.bits.n-((a>>0))>>0;b.bits.m=(d=(a),d<32?(b.bits.m>>>d):0)>>>0;f=(e=a,e<32?(1<>0;h=(((g=(b.bits.n<<24>>>24),g<32?(b.bits.a>>>g):0)>>>0)>>0)&((f-1>>0));if(h<(f>>1>>0)){h=h+(((((i=a,i<32?(-1<>0))+1>>0))>>0;}return[h,$ifaceNil];};Q.prototype.receiveExtend=function(a){return this.$val.receiveExtend(a);};Q.Ptr.prototype.processDHT=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw;b=this;while(a>0){if(a<17){return new K("DHT has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,17));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(d>1){return new K("bad Tc value");}e=(b.tmp[0]&15)>>>0;if(e>3||!b.progressive&&e>1){return new K("bad Th value");}h=(f=(g=b.huff,((d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d])),((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e]));h.nCodes=0;i=$clone(AT.zero(),AT);j=i;k=0;while(k<16){l=k;(l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]=((m=b.tmp,n=l+1>>0,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))>>0);h.nCodes=h.nCodes+(((l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]))>>0;k++;}if(h.nCodes===0){return new K("Huffman table has zero length");}if(h.nCodes>256){return new K("Huffman table has excessive length");}a=a-(((h.nCodes>>0)+17>>0))>>0;if(a<0){return new K("DHT has wrong length");}o=b.readFull($subslice(new AU(h.vals),0,h.nCodes));if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=h.lut;q=0;while(q<256){r=q;(s=h.lut,(r<0||r>=s.length)?$throwRuntimeError("index out of range"):s[r]=0);q++;}t=0;u=0;v=t;w=u;x=0;while(x<8){w=(y=(1),y<32?(w<>>0;z=0;while(z<((x<0||x>=i.length)?$throwRuntimeError("index out of range"):i[x])){ab=(((aa=((7-x>>>0)),aa<32?(w<>>0)<<24>>>24);ad=((((ac=h.vals,((v<0||v>=ac.length)?$throwRuntimeError("index out of range"):ac[v]))<<16>>>16)<<8<<16>>>16)|((2+x>>>0)<<16>>>16))>>>0;ae=0;while(ae<((af=((7-x>>>0)),af<32?(1<>>24)){(ag=h.lut,ah=(ab|ae)>>>0,(ah<0||ah>=ag.length)?$throwRuntimeError("index out of range"):ag[ah]=ad);ae=ae+(1)<<24>>>24;}w=w+(1)>>>0;v=v+(1)>>>0;z=z+(1)>>0;}x=x+(1)>>>0;}ai=0;aj=0;ak=ai;al=aj;am=i;an=0;while(an<16){ao=an;ap=((an<0||an>=am.length)?$throwRuntimeError("index out of range"):am[an]);if(ap===0){(aq=h.minCodes,(ao<0||ao>=aq.length)?$throwRuntimeError("index out of range"):aq[ao]=-1);(ar=h.maxCodes,(ao<0||ao>=ar.length)?$throwRuntimeError("index out of range"):ar[ao]=-1);(as=h.valsIndices,(ao<0||ao>=as.length)?$throwRuntimeError("index out of range"):as[ao]=-1);}else{(at=h.minCodes,(ao<0||ao>=at.length)?$throwRuntimeError("index out of range"):at[ao]=ak);(au=h.maxCodes,(ao<0||ao>=au.length)?$throwRuntimeError("index out of range"):au[ao]=(ak+ap>>0)-1>>0);(av=h.valsIndices,(ao<0||ao>=av.length)?$throwRuntimeError("index out of range"):av[ao]=al);ak=ak+(ap)>>0;al=al+(ap)>>0;}ak=(aw=(1),aw<32?(ak<>0;an++;}}return $ifaceNil;};Q.prototype.processDHT=function(a){return this.$val.processDHT(a);};Q.Ptr.prototype.decodeHuffman=function(a){var $this=this,$args=arguments,$s=0,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s:while(true){switch($s){case 0:b=$this;if(a.nCodes===0){return[0,new K("uninitialized Huffman table")];}if(b.bits.n<8){}else{$s=2;continue;}c=b.ensureNBits(8);if(!($interfaceIsEqual(c,$ifaceNil))){}else{$s=3;continue;}if(!($interfaceIsEqual(c,new K(R)))&&!($interfaceIsEqual(c,new K(H)))){return[0,c];}b.unreadByteStuffedByte();$s=1;continue;case 3:case 2:g=(d=a.lut,e=((((f=((b.bits.n-8>>0)>>>0),f<32?(b.bits.a>>>f):0)>>>0))&255)>>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));if(!((g===0))){h=(((g&255)>>>0))-1<<16>>>16;b.bits.n=b.bits.n-((h>>0))>>0;b.bits.m=(i=(h),i<32?(b.bits.m>>>i):0)>>>0;return[((g>>>8<<16>>>16)<<24>>>24),$ifaceNil];}case 1:j=0;k=0;l=j;m=k;slowPath:while(l<16){if(b.bits.n===0){n=b.ensureNBits(1);if(!($interfaceIsEqual(n,$ifaceNil))){return[0,n];}}if(!((((b.bits.a&b.bits.m)>>>0)===0))){m=m|(1);}b.bits.n=b.bits.n-(1)>>0;b.bits.m=(o=(1),o<32?(b.bits.m>>>o):0)>>>0;if(m<=(p=a.maxCodes,((l<0||l>=p.length)?$throwRuntimeError("index out of range"):p[l]))){return[(q=a.vals,r=((s=a.valsIndices,((l<0||l>=s.length)?$throwRuntimeError("index out of range"):s[l]))+m>>0)-(t=a.minCodes,((l<0||l>=t.length)?$throwRuntimeError("index out of range"):t[l]))>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),$ifaceNil];}m=(u=(1),u<32?(m<>0;l=l+(1)>>0;}return[0,new K("bad Huffman code")];case-1:}return;}};Q.prototype.decodeHuffman=function(a){return this.$val.decodeHuffman(a);};Q.Ptr.prototype.decodeBit=function(){var a,b,c,d;a=this;if(a.bits.n===0){b=a.ensureNBits(1);if(!($interfaceIsEqual(b,$ifaceNil))){return[false,b];}}c=!((((a.bits.a&a.bits.m)>>>0)===0));a.bits.n=a.bits.n-(1)>>0;a.bits.m=(d=(1),d<32?(a.bits.m>>>d):0)>>>0;return[c,$ifaceNil];};Q.prototype.decodeBit=function(){return this.$val.decodeBit();};Q.Ptr.prototype.decodeBits=function(a){var b,c,d,e,f,g;b=this;if(b.bits.n>0)>>>0),d<32?(b.bits.a>>>d):0)>>>0;e=(e&(((((f=(a>>>0),f<32?(1<>>0))-1>>>0)))>>>0;b.bits.n=b.bits.n-(a)>>0;b.bits.m=(g=((a>>>0)),g<32?(b.bits.m>>>g):0)>>>0;return[e,$ifaceNil];};Q.prototype.decodeBits=function(a){return this.$val.decodeBits(a);};J=function(a){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,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;b=0;while(b<8){c=b*8>>0;if(((d=c+1>>0,(a.nilCheck,((d<0||d>=a.length)?$throwRuntimeError("index out of range"):a[d])))===0)&&((e=c+2>>0,(a.nilCheck,((e<0||e>=a.length)?$throwRuntimeError("index out of range"):a[e])))===0)&&((f=c+3>>0,(a.nilCheck,((f<0||f>=a.length)?$throwRuntimeError("index out of range"):a[f])))===0)&&((g=c+4>>0,(a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g])))===0)&&((h=c+5>>0,(a.nilCheck,((h<0||h>=a.length)?$throwRuntimeError("index out of range"):a[h])))===0)&&((i=c+6>>0,(a.nilCheck,((i<0||i>=a.length)?$throwRuntimeError("index out of range"):a[i])))===0)&&((j=c+7>>0,(a.nilCheck,((j<0||j>=a.length)?$throwRuntimeError("index out of range"):a[j])))===0)){l=(k=c+0>>0,(a.nilCheck,((k<0||k>=a.length)?$throwRuntimeError("index out of range"):a[k])))<<3>>0;(m=c+0>>0,a.nilCheck,(m<0||m>=a.length)?$throwRuntimeError("index out of range"):a[m]=l);(n=c+1>>0,a.nilCheck,(n<0||n>=a.length)?$throwRuntimeError("index out of range"):a[n]=l);(o=c+2>>0,a.nilCheck,(o<0||o>=a.length)?$throwRuntimeError("index out of range"):a[o]=l);(p=c+3>>0,a.nilCheck,(p<0||p>=a.length)?$throwRuntimeError("index out of range"):a[p]=l);(q=c+4>>0,a.nilCheck,(q<0||q>=a.length)?$throwRuntimeError("index out of range"):a[q]=l);(r=c+5>>0,a.nilCheck,(r<0||r>=a.length)?$throwRuntimeError("index out of range"):a[r]=l);(s=c+6>>0,a.nilCheck,(s<0||s>=a.length)?$throwRuntimeError("index out of range"):a[s]=l);(t=c+7>>0,a.nilCheck,(t<0||t>=a.length)?$throwRuntimeError("index out of range"):a[t]=l);b=b+(1)>>0;continue;}v=(((u=c+0>>0,(a.nilCheck,((u<0||u>=a.length)?$throwRuntimeError("index out of range"):a[u])))<<11>>0))+128>>0;x=(w=c+4>>0,(a.nilCheck,((w<0||w>=a.length)?$throwRuntimeError("index out of range"):a[w])))<<11>>0;z=(y=c+6>>0,(a.nilCheck,((y<0||y>=a.length)?$throwRuntimeError("index out of range"):a[y])));ab=(aa=c+2>>0,(a.nilCheck,((aa<0||aa>=a.length)?$throwRuntimeError("index out of range"):a[aa])));ad=(ac=c+1>>0,(a.nilCheck,((ac<0||ac>=a.length)?$throwRuntimeError("index out of range"):a[ac])));af=(ae=c+7>>0,(a.nilCheck,((ae<0||ae>=a.length)?$throwRuntimeError("index out of range"):a[ae])));ah=(ag=c+5>>0,(a.nilCheck,((ag<0||ag>=a.length)?$throwRuntimeError("index out of range"):a[ag])));aj=(ai=c+3>>0,(a.nilCheck,((ai<0||ai>=a.length)?$throwRuntimeError("index out of range"):a[ai])));al=(ak=(ad+af>>0),(((565>>>16<<16)*ak>>0)+(565<<16>>>16)*ak)>>0);ad=al+((((2276>>>16<<16)*ad>>0)+(2276<<16>>>16)*ad)>>0)>>0;af=al-((((3406>>>16<<16)*af>>0)+(3406<<16>>>16)*af)>>0)>>0;al=(am=(ah+aj>>0),(((2408>>>16<<16)*am>>0)+(2408<<16>>>16)*am)>>0);ah=al-((((799>>>16<<16)*ah>>0)+(799<<16>>>16)*ah)>>0)>>0;aj=al-((((4017>>>16<<16)*aj>>0)+(4017<<16>>>16)*aj)>>0)>>0;al=v+x>>0;v=v-(x)>>0;x=(an=(ab+z>>0),(((1108>>>16<<16)*an>>0)+(1108<<16>>>16)*an)>>0);z=x-((((3784>>>16<<16)*z>>0)+(3784<<16>>>16)*z)>>0)>>0;ab=x+((((1568>>>16<<16)*ab>>0)+(1568<<16>>>16)*ab)>>0)>>0;x=ad+ah>>0;ad=ad-(ah)>>0;ah=af+aj>>0;af=af-(aj)>>0;aj=al+ab>>0;al=al-(ab)>>0;ab=v+z>>0;v=v-(z)>>0;z=(((ao=(ad+af>>0),(((181>>>16<<16)*ao>>0)+(181<<16>>>16)*ao)>>0)+128>>0))>>8>>0;ad=(((ap=(ad-af>>0),(((181>>>16<<16)*ap>>0)+(181<<16>>>16)*ap)>>0)+128>>0))>>8>>0;(aq=c+0>>0,a.nilCheck,(aq<0||aq>=a.length)?$throwRuntimeError("index out of range"):a[aq]=((aj+x>>0))>>8>>0);(ar=c+1>>0,a.nilCheck,(ar<0||ar>=a.length)?$throwRuntimeError("index out of range"):a[ar]=((ab+z>>0))>>8>>0);(as=c+2>>0,a.nilCheck,(as<0||as>=a.length)?$throwRuntimeError("index out of range"):a[as]=((v+ad>>0))>>8>>0);(at=c+3>>0,a.nilCheck,(at<0||at>=a.length)?$throwRuntimeError("index out of range"):a[at]=((al+ah>>0))>>8>>0);(au=c+4>>0,a.nilCheck,(au<0||au>=a.length)?$throwRuntimeError("index out of range"):a[au]=((al-ah>>0))>>8>>0);(av=c+5>>0,a.nilCheck,(av<0||av>=a.length)?$throwRuntimeError("index out of range"):a[av]=((v-ad>>0))>>8>>0);(aw=c+6>>0,a.nilCheck,(aw<0||aw>=a.length)?$throwRuntimeError("index out of range"):a[aw]=((ab-z>>0))>>8>>0);(ax=c+7>>0,a.nilCheck,(ax<0||ax>=a.length)?$throwRuntimeError("index out of range"):a[ax]=((aj-x>>0))>>8>>0);b=b+(1)>>0;}ay=0;while(ay<8){ba=(((az=0+ay>>0,(a.nilCheck,((az<0||az>=a.length)?$throwRuntimeError("index out of range"):a[az])))<<8>>0))+8192>>0;bc=(bb=32+ay>>0,(a.nilCheck,((bb<0||bb>=a.length)?$throwRuntimeError("index out of range"):a[bb])))<<8>>0;be=(bd=48+ay>>0,(a.nilCheck,((bd<0||bd>=a.length)?$throwRuntimeError("index out of range"):a[bd])));bg=(bf=16+ay>>0,(a.nilCheck,((bf<0||bf>=a.length)?$throwRuntimeError("index out of range"):a[bf])));bi=(bh=8+ay>>0,(a.nilCheck,((bh<0||bh>=a.length)?$throwRuntimeError("index out of range"):a[bh])));bk=(bj=56+ay>>0,(a.nilCheck,((bj<0||bj>=a.length)?$throwRuntimeError("index out of range"):a[bj])));bm=(bl=40+ay>>0,(a.nilCheck,((bl<0||bl>=a.length)?$throwRuntimeError("index out of range"):a[bl])));bo=(bn=24+ay>>0,(a.nilCheck,((bn<0||bn>=a.length)?$throwRuntimeError("index out of range"):a[bn])));bq=(bp=(bi+bk>>0),(((565>>>16<<16)*bp>>0)+(565<<16>>>16)*bp)>>0)+4>>0;bi=((bq+((((2276>>>16<<16)*bi>>0)+(2276<<16>>>16)*bi)>>0)>>0))>>3>>0;bk=((bq-((((3406>>>16<<16)*bk>>0)+(3406<<16>>>16)*bk)>>0)>>0))>>3>>0;bq=(br=(bm+bo>>0),(((2408>>>16<<16)*br>>0)+(2408<<16>>>16)*br)>>0)+4>>0;bm=((bq-((((799>>>16<<16)*bm>>0)+(799<<16>>>16)*bm)>>0)>>0))>>3>>0;bo=((bq-((((4017>>>16<<16)*bo>>0)+(4017<<16>>>16)*bo)>>0)>>0))>>3>>0;bq=ba+bc>>0;ba=ba-(bc)>>0;bc=(bs=(bg+be>>0),(((1108>>>16<<16)*bs>>0)+(1108<<16>>>16)*bs)>>0)+4>>0;be=((bc-((((3784>>>16<<16)*be>>0)+(3784<<16>>>16)*be)>>0)>>0))>>3>>0;bg=((bc+((((1568>>>16<<16)*bg>>0)+(1568<<16>>>16)*bg)>>0)>>0))>>3>>0;bc=bi+bm>>0;bi=bi-(bm)>>0;bm=bk+bo>>0;bk=bk-(bo)>>0;bo=bq+bg>>0;bq=bq-(bg)>>0;bg=ba+be>>0;ba=ba-(be)>>0;be=(((bt=(bi+bk>>0),(((181>>>16<<16)*bt>>0)+(181<<16>>>16)*bt)>>0)+128>>0))>>8>>0;bi=(((bu=(bi-bk>>0),(((181>>>16<<16)*bu>>0)+(181<<16>>>16)*bu)>>0)+128>>0))>>8>>0;(bv=0+ay>>0,a.nilCheck,(bv<0||bv>=a.length)?$throwRuntimeError("index out of range"):a[bv]=((bo+bc>>0))>>14>>0);(bw=8+ay>>0,a.nilCheck,(bw<0||bw>=a.length)?$throwRuntimeError("index out of range"):a[bw]=((bg+be>>0))>>14>>0);(bx=16+ay>>0,a.nilCheck,(bx<0||bx>=a.length)?$throwRuntimeError("index out of range"):a[bx]=((ba+bi>>0))>>14>>0);(by=24+ay>>0,a.nilCheck,(by<0||by>=a.length)?$throwRuntimeError("index out of range"):a[by]=((bq+bm>>0))>>14>>0);(bz=32+ay>>0,a.nilCheck,(bz<0||bz>=a.length)?$throwRuntimeError("index out of range"):a[bz]=((bq-bm>>0))>>14>>0);(ca=40+ay>>0,a.nilCheck,(ca<0||ca>=a.length)?$throwRuntimeError("index out of range"):a[ca]=((ba-bi>>0))>>14>>0);(cb=48+ay>>0,a.nilCheck,(cb<0||cb>=a.length)?$throwRuntimeError("index out of range"):a[cb]=((bg-be>>0))>>14>>0);(cc=56+ay>>0,a.nilCheck,(cc<0||cc>=a.length)?$throwRuntimeError("index out of range"):a[cc]=((bo-bc>>0))>>14>>0);ay=ay+(1)>>0;}};K.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"invalid JPEG format: "+a;};$ptrType(K).prototype.Error=function(){return new K(this.$get()).Error();};L.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"unsupported JPEG feature: "+a;};$ptrType(L).prototype.Error=function(){return new L(this.$get()).Error();};Q.Ptr.prototype.fill=function(){var a,b,c,d,e,f,g,h,i,j;a=this;if(!((a.bytes.i===a.bytes.j))){$panic(new $String("jpeg: fill called when unread bytes exist"));}if(a.bytes.j>2){a.bytes.buf[0]=(b=a.bytes.buf,c=a.bytes.j-2>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]));a.bytes.buf[1]=(d=a.bytes.buf,e=a.bytes.j-1>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));f=2;g=2;a.bytes.i=f;a.bytes.j=g;}h=a.r.Read($subslice(new AS(a.bytes.buf),a.bytes.j));i=h[0];j=h[1];a.bytes.j=a.bytes.j+(i)>>0;if(i>0){j=$ifaceNil;}return j;};Q.prototype.fill=function(){return this.$val.fill();};Q.Ptr.prototype.unreadByteStuffedByte=function(){var a,b,c;a=this;if(a.bytes.nUnreadable===0){$panic(new $String("jpeg: unreadByteStuffedByte call cannot be fulfilled"));}a.bytes.i=a.bytes.i-(a.bytes.nUnreadable)>>0;a.bytes.nUnreadable=0;if(a.bits.n>=8){a.bits.a=(b=(8),b<32?(a.bits.a>>>b):0)>>>0;a.bits.n=a.bits.n-(8)>>0;a.bits.m=(c=(8),c<32?(a.bits.m>>>c):0)>>>0;}};Q.prototype.unreadByteStuffedByte=function(){return this.$val.unreadByteStuffedByte();};Q.Ptr.prototype.readByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i;c=this;while(c.bytes.i===c.bytes.j){b=c.fill();if(!($interfaceIsEqual(b,$ifaceNil))){d=0;e=b;a=d;b=e;return[a,b];}}a=(f=c.bytes.buf,g=c.bytes.i,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=0;h=a;i=$ifaceNil;a=h;b=i;return[a,b];};Q.prototype.readByte=function(){return this.$val.readByte();};Q.Ptr.prototype.readByteStuffedByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;c=this;if((c.bytes.i+2>>0)<=c.bytes.j){a=(d=c.bytes.buf,e=c.bytes.i,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=1;if(!((a===255))){f=a;g=b;a=f;b=g;return[a,b];}if(!(((h=c.bytes.buf,i=c.bytes.i,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]))===0))){j=0;k=new K(R);a=j;b=k;return[a,b];}c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=2;l=255;m=$ifaceNil;a=l;b=m;return[a,b];}n=c.readByte();a=n[0];b=n[1];if(!($interfaceIsEqual(b,$ifaceNil))){o=0;p=b;a=o;b=p;return[a,b];}if(!((a===255))){c.bytes.nUnreadable=1;q=a;r=$ifaceNil;a=q;b=r;return[a,b];}s=c.readByte();a=s[0];b=s[1];if(!($interfaceIsEqual(b,$ifaceNil))){c.bytes.nUnreadable=1;t=0;u=b;a=t;b=u;return[a,b];}c.bytes.nUnreadable=2;if(!((a===0))){v=0;w=new K(R);a=v;b=w;return[a,b];}x=255;y=$ifaceNil;a=x;b=y;return[a,b];};Q.prototype.readByteStuffedByte=function(){return this.$val.readByteStuffedByte();};Q.Ptr.prototype.readFull=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=$copySlice(a,$subslice(new AS(b.bytes.buf),b.bytes.i,b.bytes.j));a=$subslice(a,c);b.bytes.i=b.bytes.i+(c)>>0;if(a.$length===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.readFull=function(a){return this.$val.readFull(a);};Q.Ptr.prototype.ignore=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=b.bytes.j-b.bytes.i>>0;if(c>a){c=a;}b.bytes.i=b.bytes.i+(c)>>0;a=a-(c)>>0;if(a===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.ignore=function(a){return this.$val.ignore(a);};Q.Ptr.prototype.processSOF=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=this;c=a;if(c===9){b.nComp=1;}else if(c===15){b.nComp=3;}else{return new L("SOF has wrong length");}d=b.readFull($subslice(new AS(b.tmp),0,a));if(!($interfaceIsEqual(d,$ifaceNil))){return d;}if(!((b.tmp[0]===8))){return new L("precision");}b.height=((b.tmp[1]>>0)<<8>>0)+(b.tmp[2]>>0)>>0;b.width=((b.tmp[3]>>0)<<8>>0)+(b.tmp[4]>>0)>>0;if(!(((b.tmp[5]>>0)===b.nComp))){return new L("SOF has wrong number of image components");}e=0;while(e=h.length)?$throwRuntimeError("index out of range"):h[e])).c=(f=b.tmp,g=6+(3*e>>0)>>0,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));(k=b.comp,((e<0||e>=k.length)?$throwRuntimeError("index out of range"):k[e])).tq=(i=b.tmp,j=8+(3*e>>0)>>0,((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]));if(b.nComp===1){(l=b.comp,((e<0||e>=l.length)?$throwRuntimeError("index out of range"):l[e])).h=1;(m=b.comp,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])).v=1;e=e+(1)>>0;continue;}p=(n=b.tmp,o=7+(3*e>>0)>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o]));(q=b.comp,((e<0||e>=q.length)?$throwRuntimeError("index out of range"):q[e])).h=((p>>>4<<24>>>24)>>0);(r=b.comp,((e<0||e>=r.length)?$throwRuntimeError("index out of range"):r[e])).v=(((p&15)>>>0)>>0);if(e===0){if(!((p===17))&&!((p===33))&&!((p===34))&&!((p===18))){return new L("luma/chroma downsample ratio");}}else if(!((p===17))){return new L("luma/chroma downsample ratio");}e=e+(1)>>0;}return $ifaceNil;};Q.prototype.processSOF=function(a){return this.$val.processSOF(a);};Q.Ptr.prototype.processDQT=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;while(a>=65){c=b.readFull($subslice(new AS(b.tmp),0,65));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(!((d===0))){return new L("bad Pq value");}e=(b.tmp[0]&15)>>>0;if(e>3){return new K("bad Tq value");}f=(g=b.quant,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e]));h=0;while(h<64){i=h;(l=(m=b.quant,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])),(i<0||i>=l.length)?$throwRuntimeError("index out of range"):l[i]=((j=b.tmp,k=i+1>>0,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))>>0));h++;}a=a-(65)>>0;}if(!((a===0))){return new K("DQT has wrong length");}return $ifaceNil;};Q.prototype.processDQT=function(a){return this.$val.processDQT(a);};Q.Ptr.prototype.processDRI=function(a){var b,c;b=this;if(!((a===2))){return new K("DRI has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}b.ri=((b.tmp[0]>>0)<<8>>0)+(b.tmp[1]>>0)>>0;return $ifaceNil;};Q.prototype.processDRI=function(a){return this.$val.processDRI(a);};Q.Ptr.prototype.decode=function(a,b){var c,d,e,f,g,h,i;c=this;c.r=a;d=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}if(!((c.tmp[0]===255))||!((c.tmp[1]===216))){return[$ifaceNil,new K("missing SOI marker")];}while(true){e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}while(!((c.tmp[0]===255))){c.tmp[0]=c.tmp[1];f=c.readByte();c.tmp[1]=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}g=c.tmp[1];if(g===0){continue;}while(g===255){h=c.readByte();g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(g===217){break;}if(208<=g&&g<=215){continue;}e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}i=(((c.tmp[0]>>0)<<8>>0)+(c.tmp[1]>>0)>>0)-2>>0;if(i<0){return[$ifaceNil,new K("short segment length")];}if((g===192)||(g===194)){c.progressive=g===194;e=c.processSOF(i);if(b){return[$ifaceNil,e];}}else if(g===196){e=c.processDHT(i);}else if(g===219){e=c.processDQT(i);}else if(g===218){e=c.processSOS(i);}else if(g===221){e=c.processDRI(i);}else if(224<=g&&g<=239||(g===254)){e=c.ignore(i);}else{e=new L("unknown marker");}if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(!(c.img1===AV.nil)){return[c.img1,$ifaceNil];}if(!(c.img3===AW.nil)){return[c.img3,$ifaceNil];}return[$ifaceNil,new K("missing SOS marker")];};Q.prototype.decode=function(a,b){return this.$val.decode(a,b);};S=$pkg.Decode=function(a){var b;b=$clone(new Q.Ptr(),Q);return b.decode(a,false);};T=$pkg.DecodeConfig=function(a){var b,c,d,e;b=$clone(new Q.Ptr(),Q);c=b.decode(a,true);d=c[1];if(!($interfaceIsEqual(d,$ifaceNil))){return[new B.Config.Ptr($ifaceNil,0,0),d];}e=b.nComp;if(e===1){return[new B.Config.Ptr(C.GrayModel,b.width,b.height),$ifaceNil];}else if(e===3){return[new B.Config.Ptr(C.YCbCrModel,b.width,b.height),$ifaceNil];}return[new B.Config.Ptr($ifaceNil,0,0),new K("missing SOF marker")];};U=function(){B.RegisterFormat("jpeg","\xFF\xD8",S,T);};Q.Ptr.prototype.makeImg=function(a,b,c,d){var e,f,g,h;e=this;if(e.nComp===1){f=B.NewGray(B.Rect(0,0,8*c>>0,8*d>>0));e.img1=$assertType(f.SubImage(B.Rect(0,0,e.width,e.height)),AV);return;}g=0;if((a===1)&&(b===1)){g=0;}else if((a===1)&&(b===2)){g=3;}else if((a===2)&&(b===1)){g=1;}else if((a===2)&&(b===2)){g=2;}else{$panic(new $String("unreachable"));}h=B.NewYCbCr(B.Rect(0,0,(8*a>>0)*c>>0,(8*b>>0)*d>>0),g);e.img3=$assertType(h.SubImage(B.Rect(0,0,e.width,e.height)),AW);};Q.prototype.makeImg=function(a,b,c,d){return this.$val.makeImg(a,b,c,d);};Q.Ptr.prototype.processSOS=function(a){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,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,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es;b=this;if(b.nComp===0){return new K("missing SOF marker");}if(a<6||(4+(2*b.nComp>>0)>>0)>0);if(!((a===(4+(2*e>>0)>>0)))){return new K("SOS length inconsistent with number of components");}f=$clone(AY.zero(),AY);g=0;while(g>0)>>0,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]));k=-1;l=b.comp;m=0;while(m<3){n=m;o=$clone(((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]),M);if(j===o.c){k=n;}m++;}if(k<0){return new K("unknown component selector");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).compIndex=(k<<24>>>24);((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td=(p=b.tmp,q=2+(2*g>>0)>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]))>>>4<<24>>>24;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td>3){return new K("bad Td value");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta=((r=b.tmp,s=2+(2*g>>0)>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s]))&15)>>>0;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta>3){return new K("bad Ta value");}g=g+(1)>>0;}t=0;u=63;v=0;w=0;x=t;y=u;z=v;aa=w;if(b.progressive){x=((ab=b.tmp,ac=1+(2*e>>0)>>0,((ac<0||ac>=ab.length)?$throwRuntimeError("index out of range"):ab[ac]))>>0);y=((ad=b.tmp,ae=2+(2*e>>0)>>0,((ae<0||ae>=ad.length)?$throwRuntimeError("index out of range"):ad[ae]))>>0);z=(((af=b.tmp,ag=3+(2*e>>0)>>0,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag]))>>>4<<24>>>24)>>>0);aa=((((ah=b.tmp,ai=3+(2*e>>0)>>0,((ai<0||ai>=ah.length)?$throwRuntimeError("index out of range"):ah[ai]))&15)>>>0)>>>0);if(((x===0)&&!((y===0)))||x>y||64<=y){return new K("bad spectral selection bounds");}if(!((x===0))&&!((e===1))){return new K("progressive AC coefficients for more than one component");}if(!((z===0))&&!((z===(aa+1>>>0)))){return new K("bad successive approximation values");}}aj=b.comp[0].h;ak=b.comp[0].v;al=aj;am=ak;ao=(an=(((b.width+(8*al>>0)>>0)-1>>0))/((8*al>>0)),(an===an&&an!==1/0&&an!==-1/0)?an>>0:$throwRuntimeError("integer divide by zero"));aq=(ap=(((b.height+(8*am>>0)>>0)-1>>0))/((8*am>>0)),(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));if(b.img1===AV.nil&&b.img3===AW.nil){b.makeImg(al,am,ao,aq);}if(b.progressive){ar=0;while(ar=f.length)?$throwRuntimeError("index out of range"):f[ar]).compIndex;if((at=b.progCoeffs,((as<0||as>=at.length)?$throwRuntimeError("index out of range"):at[as]))===AZ.nil){(aw=b.progCoeffs,(as<0||as>=aw.length)?$throwRuntimeError("index out of range"):aw[as]=AZ.make((((ao*aq>>0)*(au=b.comp,((as<0||as>=au.length)?$throwRuntimeError("index out of range"):au[as])).h>>0)*(av=b.comp,((as<0||as>=av.length)?$throwRuntimeError("index out of range"):av[as])).v>>0)));}ar=ar+(1)>>0;}}$copy(b.bits,new P.Ptr(0,0,0),P);ax=0;ay=208;az=ax;ba=ay;bb=$clone(I.zero(),I);bc=$clone(BA.zero(),BA);bd=0;be=0;bf=bd;bg=be;bh=0;bi=0;while(bi=f.length)?$throwRuntimeError("index out of range"):f[bk]).compIndex;bp=(bm=b.quant,bn=(bo=b.comp,((bl<0||bl>=bo.length)?$throwRuntimeError("index out of range"):bo[bl])).tq,((bn<0||bn>=bm.length)?$throwRuntimeError("index out of range"):bm[bn]));bq=0;while(bq<((br=b.comp,((bl<0||bl>=br.length)?$throwRuntimeError("index out of range"):br[bl])).h*(bs=b.comp,((bl<0||bl>=bs.length)?$throwRuntimeError("index out of range"):bs[bl])).v>>0)){if(!((e===1))){bt=(bu=b.comp,((bl<0||bl>=bu.length)?$throwRuntimeError("index out of range"):bu[bl])).h*bj>>0;bv=(bw=b.comp,((bl<0||bl>=bw.length)?$throwRuntimeError("index out of range"):bw[bl])).v*bi>>0;bf=bt;bg=bv;if(al===1){bg=bg+(bq)>>0;}else{bf=bf+((bx=bq%2,bx===bx?bx:$throwRuntimeError("integer divide by zero")))>>0;bg=bg+((by=bq/2,(by===by&&by!==1/0&&by!==-1/0)?by>>0:$throwRuntimeError("integer divide by zero")))>>0;}}else{ca=ao*(bz=b.comp,((bl<0||bl>=bz.length)?$throwRuntimeError("index out of range"):bz[bl])).h>>0;bf=(cb=bh%ca,cb===cb?cb:$throwRuntimeError("integer divide by zero"));bg=(cc=bh/ca,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>0:$throwRuntimeError("integer divide by zero"));bh=bh+(1)>>0;if((bf*8>>0)>=b.width||(bg*8>>0)>=b.height){bq=bq+(1)>>0;continue;}}if(b.progressive){$copy(bb,(cd=(ce=b.progCoeffs,((bl<0||bl>=ce.length)?$throwRuntimeError("index out of range"):ce[bl])),cf=((bg*ao>>0)*(cg=b.comp,((bl<0||bl>=cg.length)?$throwRuntimeError("index out of range"):cg[bl])).h>>0)+bf>>0,((cf<0||cf>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+cf])),I);}else{$copy(bb,BB.zero(),I);}if(!((z===0))){ck=b.refine(bb,(ch=b.huff[1],ci=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((ci<0||ci>=ch.length)?$throwRuntimeError("index out of range"):ch[ci])),x,y,(cj=aa,cj<32?(1<>0);if(!($interfaceIsEqual(ck,$ifaceNil))){return ck;}}else{cl=x;if(cl===0){cl=cl+(1)>>0;cm=b.decodeHuffman((cn=b.huff[0],co=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).td,((co<0||co>=cn.length)?$throwRuntimeError("index out of range"):cn[co])));cp=cm[0];cq=cm[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}if(cp>16){return new L("excessive DC component");}cr=b.receiveExtend(cp);cs=cr[0];cq=cr[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}ct=bc;cu=bl;(cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu]=((cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu])+(cs)>>0;bb[0]=(cv=aa,cv<32?(((bl<0||bl>=bc.length)?$throwRuntimeError("index out of range"):bc[bl])<>0;}if(cl<=y&&b.eobRun>0){b.eobRun=b.eobRun-(1)<<16>>>16;}else{cy=(cw=b.huff[1],cx=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((cx<0||cx>=cw.length)?$throwRuntimeError("index out of range"):cw[cx]));while(cl<=y){cz=b.decodeHuffman(cy);da=cz[0];db=cz[1];if(!($interfaceIsEqual(db,$ifaceNil))){return db;}dc=da>>>4<<24>>>24;dd=(da&15)>>>0;if(!((dd===0))){cl=cl+((dc>>0))>>0;if(cl>y){break;}de=b.receiveExtend(dd);df=de[0];dg=de[1];if(!($interfaceIsEqual(dg,$ifaceNil))){return dg;}(di=((cl<0||cl>=N.length)?$throwRuntimeError("index out of range"):N[cl]),(di<0||di>=bb.length)?$throwRuntimeError("index out of range"):bb[di]=(dh=aa,dh<32?(df<>0);}else{if(!((dc===15))){b.eobRun=((dj=dc,dj<32?(1<>>16);if(!((dc===0))){dk=b.decodeBits((dc>>0));dl=dk[0];dm=dk[1];if(!($interfaceIsEqual(dm,$ifaceNil))){return dm;}b.eobRun=(b.eobRun|((dl<<16>>>16)))>>>0;}b.eobRun=b.eobRun-(1)<<16>>>16;break;}cl=cl+(15)>>0;}cl=cl+(1)>>0;}}}if(b.progressive){if(!((y===63))||!((aa===0))){$copy((dn=(dp=b.progCoeffs,((bl<0||bl>=dp.length)?$throwRuntimeError("index out of range"):dp[bl])),dq=((bg*ao>>0)*(dr=b.comp,((bl<0||bl>=dr.length)?$throwRuntimeError("index out of range"):dr[bl])).h>>0)+bf>>0,((dq<0||dq>=dn.$length)?$throwRuntimeError("index out of range"):dn.$array[dn.$offset+dq])),bb,I);bq=bq+(1)>>0;continue;}}ds=0;while(ds<64){dt=bb;du=((ds<0||ds>=N.length)?$throwRuntimeError("index out of range"):N[ds]);(du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]=(dv=((du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]),dw=(bp.nilCheck,((ds<0||ds>=bp.length)?$throwRuntimeError("index out of range"):bp[ds])),(((dv>>>16<<16)*dw>>0)+(dv<<16>>>16)*dw)>>0);ds=ds+(1)>>0;}J(bb);dx=AS.nil;dy=0;dz=dx;ea=dy;if(b.nComp===1){eb=$subslice(b.img1.Pix,(8*(((bg*b.img1.Stride>>0)+bf>>0))>>0));ec=b.img1.Stride;dz=eb;ea=ec;}else{ed=bl;if(ed===0){ee=$subslice(b.img3.Y,(8*(((bg*b.img3.YStride>>0)+bf>>0))>>0));ef=b.img3.YStride;dz=ee;ea=ef;}else if(ed===1){eg=$subslice(b.img3.Cb,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));eh=b.img3.CStride;dz=eg;ea=eh;}else if(ed===2){ei=$subslice(b.img3.Cr,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));ej=b.img3.CStride;dz=ei;ea=ej;}else{return new L("too many components");}}ek=0;while(ek<8){el=ek*8>>0;em=ek*ea>>0;en=0;while(en<8){ep=(eo=el+en>>0,((eo<0||eo>=bb.length)?$throwRuntimeError("index out of range"):bb[eo]));if(ep<-128){ep=0;}else if(ep>127){ep=255;}else{ep=ep+(128)>>0;}(eq=em+en>>0,(eq<0||eq>=dz.$length)?$throwRuntimeError("index out of range"):dz.$array[dz.$offset+eq]=(ep<<24>>>24));en=en+(1)>>0;}ek=ek+(1)>>0;}bq=bq+(1)>>0;}bk=bk+(1)>>0;}az=az+(1)>>0;if(b.ri>0&&((er=az%b.ri,er===er?er:$throwRuntimeError("integer divide by zero"))===0)&&az<(ao*aq>>0)){es=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(es,$ifaceNil))){return es;}if(!((b.tmp[0]===255))||!((b.tmp[1]===ba))){return new K("bad RST marker");}ba=ba+(1)<<24>>>24;if(ba===216){ba=208;}$copy(b.bits,new P.Ptr(0,0,0),P);$copy(bc,BA.zero(),BA);b.eobRun=0;}bj=bj+(1)>>0;}bi=bi+(1)>>0;}return $ifaceNil;};Q.prototype.processSOS=function(a){return this.$val.processSOS(a);};Q.Ptr.prototype.refine=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;f=this;if(c===0){if(!((d===0))){$panic(new $String("unreachable"));}g=f.decodeBit();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}if(h){j=a;k=0;j.nilCheck,(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(j.nilCheck,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))|(e);}return $ifaceNil;}l=c;if(f.eobRun===0){loop:while(l<=d){m=0;n=f.decodeHuffman(b);o=n[0];p=n[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}q=o>>>4<<24>>>24;r=(o&15)>>>0;s=r;if(s===0){if(!((q===15))){f.eobRun=((t=q,t<32?(1<>>16);if(!((q===0))){u=f.decodeBits((q>>0));v=u[0];w=u[1];if(!($interfaceIsEqual(w,$ifaceNil))){return w;}f.eobRun=(f.eobRun|((v<<16>>>16)))>>>0;}break loop;}}else if(s===1){m=e;x=f.decodeBit();y=x[0];z=x[1];if(!($interfaceIsEqual(z,$ifaceNil))){return z;}if(!y){m=-m;}}else{return new K("unexpected Huffman code");}aa=f.refineNonZeroes(a,l,d,(q>>0),e);l=aa[0];p=aa[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}if(l>d){return new K("too many coefficients");}if(!((m===0))){(ab=((l<0||l>=N.length)?$throwRuntimeError("index out of range"):N[l]),a.nilCheck,(ab<0||ab>=a.length)?$throwRuntimeError("index out of range"):a[ab]=m);}l=l+(1)>>0;}}if(f.eobRun>0){f.eobRun=f.eobRun-(1)<<16>>>16;ac=f.refineNonZeroes(a,l,d,-1,e);ad=ac[1];if(!($interfaceIsEqual(ad,$ifaceNil))){return ad;}}return $ifaceNil;};Q.prototype.refine=function(a,b,c,d,e){return this.$val.refine(a,b,c,d,e);};Q.Ptr.prototype.refineNonZeroes=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;f=this;while(b<=c){g=((b<0||b>=N.length)?$throwRuntimeError("index out of range"):N[b]);if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))===0){if(d===0){break;}d=d-(1)>>0;b=b+(1)>>0;continue;}h=f.decodeBit();i=h[0];j=h[1];if(!($interfaceIsEqual(j,$ifaceNil))){return[0,j];}if(!i){b=b+(1)>>0;continue;}if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))>=0){k=a;l=g;k.nilCheck,(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=(k.nilCheck,((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]))+(e)>>0;}else{m=a;n=g;m.nilCheck,(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=(m.nilCheck,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))-(e)>>0;}b=b+(1)>>0;}return[b,$ifaceNil];};Q.prototype.refineNonZeroes=function(a,b,c,d,e){return this.$val.refineNonZeroes(a,b,c,d,e);};$ptrType(AD).prototype.init=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;a=$clone(a,AB);c=0;d=a.value;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);if((f>>0)>c){c=(f>>0);}e++;}b.$set((g=BC.make((c+1>>0)),$subslice(new AD(g.$array),g.$offset,g.$offset+g.$length)));h=0;i=0;j=h;k=i;l=0;while(l<16){m=((l+1>>0)>>>0)<<24>>>0;n=0;while(n<(o=a.count,((l<0||l>=o.length)?$throwRuntimeError("index out of range"):o[l]))){(p=b.$get(),q=(r=a.value,((k<0||k>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+k])),(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(m|j)>>>0);j=j+(1)>>>0;k=k+(1)>>0;n=n+(1)<<24>>>24;}j=(s=(1),s<32?(j<>>0;l=l+(1)>>0;}};AF=function(){var a,b,c,d;a=AC;b=0;while(b<4){c=b;d=$clone(((b<0||b>=a.length)?$throwRuntimeError("index out of range"):a[b]),AB);new BD(function(){return((c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]);},function($v){(c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]=$v;},AE).init(d);b++;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AQ=$arrayType(AD,4);AS=$sliceType($Uint8);AT=$arrayType($Int32,16);AU=$sliceType($Uint8);AV=$ptrType(B.Gray);AW=$ptrType(B.YCbCr);AX=$structType([["compIndex","compIndex","image/jpeg",$Uint8,""],["td","td","image/jpeg",$Uint8,""],["ta","ta","image/jpeg",$Uint8,""]]);AY=$arrayType(AX,3);AZ=$sliceType(I);BA=$arrayType($Int32,3);BB=$arrayType($Int32,64);BC=$sliceType($Uint32);BD=$ptrType(AD);BF=$arrayType(I,4);BI=$arrayType($Uint16,256);BJ=$arrayType($Uint8,256);BK=$ptrType(K);BL=$ptrType(L);BM=$arrayType($Uint8,4096);BN=$structType([["buf","buf","image/jpeg",BM,""],["i","i","image/jpeg",$Int,""],["j","j","image/jpeg",$Int,""],["nUnreadable","nUnreadable","image/jpeg",$Int,""]]);BO=$arrayType(M,3);BP=$arrayType(AZ,3);BQ=$arrayType(G,4);BR=$arrayType(BQ,2);BS=$arrayType($Uint8,65);BT=$ptrType(G);BU=$ptrType(I);BV=$ptrType(Q);BW=$arrayType($Uint8,16);G.init([["nCodes","nCodes","image/jpeg",$Int32,""],["lut","lut","image/jpeg",BI,""],["vals","vals","image/jpeg",BJ,""],["minCodes","minCodes","image/jpeg",AT,""],["maxCodes","maxCodes","image/jpeg",AT,""],["valsIndices","valsIndices","image/jpeg",AT,""]]);I.init($Int32,64);K.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];L.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];M.init([["h","h","image/jpeg",$Int,""],["v","v","image/jpeg",$Int,""],["c","c","image/jpeg",$Uint8,""],["tq","tq","image/jpeg",$Uint8,""]]);P.init([["a","a","image/jpeg",$Uint32,""],["m","m","image/jpeg",$Uint32,""],["n","n","image/jpeg",$Int32,""]]);BV.methods=[["decode","decode","image/jpeg",$funcType([A.Reader,$Bool],[B.Image,$error],false),-1],["decodeBit","decodeBit","image/jpeg",$funcType([],[$Bool,$error],false),-1],["decodeBits","decodeBits","image/jpeg",$funcType([$Int32],[$Uint32,$error],false),-1],["decodeHuffman","decodeHuffman","image/jpeg",$funcType([BT],[$Uint8,$error],false),-1],["ensureNBits","ensureNBits","image/jpeg",$funcType([$Int32],[$error],false),-1],["fill","fill","image/jpeg",$funcType([],[$error],false),-1],["ignore","ignore","image/jpeg",$funcType([$Int],[$error],false),-1],["makeImg","makeImg","image/jpeg",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["processDHT","processDHT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDQT","processDQT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDRI","processDRI","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOF","processSOF","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOS","processSOS","image/jpeg",$funcType([$Int],[$error],false),-1],["readByte","readByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readByteStuffedByte","readByteStuffedByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readFull","readFull","image/jpeg",$funcType([AS],[$error],false),-1],["receiveExtend","receiveExtend","image/jpeg",$funcType([$Uint8],[$Int32,$error],false),-1],["refine","refine","image/jpeg",$funcType([BU,BT,$Int32,$Int32,$Int32],[$error],false),-1],["refineNonZeroes","refineNonZeroes","image/jpeg",$funcType([BU,$Int32,$Int32,$Int32,$Int32],[$Int32,$error],false),-1],["unreadByteStuffedByte","unreadByteStuffedByte","image/jpeg",$funcType([],[],false),-1]];Q.init([["r","r","image/jpeg",A.Reader,""],["bits","bits","image/jpeg",P,""],["bytes","bytes","image/jpeg",BN,""],["width","width","image/jpeg",$Int,""],["height","height","image/jpeg",$Int,""],["img1","img1","image/jpeg",AV,""],["img3","img3","image/jpeg",AW,""],["ri","ri","image/jpeg",$Int,""],["nComp","nComp","image/jpeg",$Int,""],["progressive","progressive","image/jpeg",$Bool,""],["eobRun","eobRun","image/jpeg",$Uint16,""],["comp","comp","image/jpeg",BO,""],["progCoeffs","progCoeffs","image/jpeg",BP,""],["huff","huff","image/jpeg",BR,""],["quant","quant","image/jpeg",BF,""],["tmp","tmp","image/jpeg",BS,""]]);AB.init([["count","count","image/jpeg",BW,""],["value","value","image/jpeg",AS,""]]);BD.methods=[["init","init","image/jpeg",$funcType([AB],[],false),-1]];AD.init($Uint32);AE=AQ.zero();H="short Huffman data";N=$toNativeArray($kindInt,[0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);R="missing 0xff00 sequence";AC=$toNativeArray($kindStruct,[new AB.Ptr($toNativeArray($kindUint8,[0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125]),new AS([1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250])),new AB.Ptr($toNativeArray($kindUint8,[0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119]),new AS([0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250]))]);U();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["log"]=(function(){var $pkg={},A,B,C,D,E,F,Y,Z,AA,AB,AC,G,I,H,J,S;A=$packages["fmt"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];E=$packages["sync"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger","Logger","log",function(mu_,prefix_,flag_,out_,buf_){this.$val=this;this.mu=mu_!==undefined?mu_:new E.Mutex.Ptr();this.prefix=prefix_!==undefined?prefix_:"";this.flag=flag_!==undefined?flag_:0;this.out=out_!==undefined?out_:$ifaceNil;this.buf=buf_!==undefined?buf_:Y.nil;});H=$pkg.New=function(a,b,c){return new G.Ptr(new E.Mutex.Ptr(),b,c,a,Y.nil);};J=function(a,b,c){var d,e,f,g,h;d=(b>>>0);if((d===0)&&c<=1){a.$set($append(a.$get(),48));return;}e=$clone(Z.zero(),Z);f=32;while(d>0||c>0){f=f-(1)>>0;c=c-(1)>>0;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((g=d%10,g===g?g:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24;d=(h=d/(10),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));}a.$set($appendSlice(a.$get(),$subslice(new Y(e),f)));};G.Ptr.prototype.formatHeader=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;e=this;b=$clone(b,F.Time);a.$set($appendSlice(a.$get(),new Y($stringToBytes(e.prefix))));if(!(((e.flag&7)===0))){if(!(((e.flag&1)===0))){f=b.Date();g=f[0];h=f[1];i=f[2];J(a,g,4);a.$set($append(a.$get(),47));J(a,(h>>0),2);a.$set($append(a.$get(),47));J(a,i,2);a.$set($append(a.$get(),32));}if(!(((e.flag&6)===0))){j=b.Clock();k=j[0];l=j[1];m=j[2];J(a,k,2);a.$set($append(a.$get(),58));J(a,l,2);a.$set($append(a.$get(),58));J(a,m,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(n=b.Nanosecond()/1000,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));}}if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){o=c;p=c.length-1>>0;while(p>0){if(c.charCodeAt(p)===47){o=c.substring((p+1>>0));break;}p=p-(1)>>0;}c=o;}a.$set($appendSlice(a.$get(),new Y($stringToBytes(c))));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),new Y($stringToBytes(": "))));}};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.Ptr.prototype.Output=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j;try{$deferFrames.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);c.formatHeader(new AA(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c),d,e,f);c.buf=$appendSlice(c.buf,new Y($stringToBytes(b)));if(b.length>0&&!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}i=c.out.Write(c.buf);j=i[1];return j;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.Ptr.prototype.Printf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.Ptr.prototype.Print=function(a){var b;b=this;b.Output(2,A.Sprint(a));};G.prototype.Print=function(a){return this.$val.Print(a);};G.Ptr.prototype.Println=function(a){var b;b=this;b.Output(2,A.Sprintln(a));};G.prototype.Println=function(a){return this.$val.Println(a);};G.Ptr.prototype.Fatal=function(a){var b;b=this;b.Output(2,A.Sprint(a));C.Exit(1);};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.Ptr.prototype.Fatalf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));C.Exit(1);};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.Ptr.prototype.Fatalln=function(a){var b;b=this;b.Output(2,A.Sprintln(a));C.Exit(1);};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.Ptr.prototype.Panic=function(a){var b,c;b=this;c=A.Sprint(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.Ptr.prototype.Panicf=function(a,b){var c,d;c=this;d=A.Sprintf(a,b);c.Output(2,d);$panic(new $String(d));};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.Ptr.prototype.Panicln=function(a){var b,c;b=this;c=A.Sprintln(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.Ptr.prototype.Flags=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.Ptr.prototype.SetFlags=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.Ptr.prototype.Prefix=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.Ptr.prototype.SetPrefix=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};S=$pkg.Fatal=function(a){I.Output(2,A.Sprint(a));C.Exit(1);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);Z=$arrayType($Uint8,32);AA=$ptrType(Y);AB=$sliceType($emptyInterface);AC=$ptrType(G);AC.methods=[["Fatal","Fatal","",$funcType([AB],[],true),-1],["Fatalf","Fatalf","",$funcType([$String,AB],[],true),-1],["Fatalln","Fatalln","",$funcType([AB],[],true),-1],["Flags","Flags","",$funcType([],[$Int],false),-1],["Output","Output","",$funcType([$Int,$String],[$error],false),-1],["Panic","Panic","",$funcType([AB],[],true),-1],["Panicf","Panicf","",$funcType([$String,AB],[],true),-1],["Panicln","Panicln","",$funcType([AB],[],true),-1],["Prefix","Prefix","",$funcType([],[$String],false),-1],["Print","Print","",$funcType([AB],[],true),-1],["Printf","Printf","",$funcType([$String,AB],[],true),-1],["Println","Println","",$funcType([AB],[],true),-1],["SetFlags","SetFlags","",$funcType([$Int],[],false),-1],["SetPrefix","SetPrefix","",$funcType([$String],[],false),-1],["formatHeader","formatHeader","log",$funcType([AA,F.Time,$String,$Int],[],false),-1]];G.init([["mu","mu","log",E.Mutex,""],["prefix","prefix","log",$String,""],["flag","flag","log",$Int,""],["out","out","log",B.Writer,""],["buf","buf","log",Y,""]]);I=H(C.Stderr,"",3);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/example/perspective"]=(function(){var $pkg={},A,B,C,D,I,J,K,L,F,E,G,H;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];F=$pkg.parts=$newType(0,$kindStruct,"main.parts","parts","github.com/hajimehoshi/ebiten/example/perspective",function(image_){this.$val=this;this.image=image_!==undefined?image_:I.nil;});F.Ptr.prototype.Len=function(){var a,b,c;a=$clone(this,F);b=a.image.Size();c=b[1];return c;};F.prototype.Len=function(){return this.$val.Len();};F.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r;f=$clone(this,F);g=f.image.Size();h=g[0];i=g[1];k=h+(j=(a*3>>0)/4,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0;n=(l=((m=(((i-a>>0))*3>>0)/4,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));o=n;p=a;q=n+k>>0;r=a+1>>0;b=o;c=p;d=q;e=r;return[b,c,d,e];};F.prototype.Dst=function(a){return this.$val.Dst(a);};F.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l;f=$clone(this,F);g=f.image.Size();h=g[0];i=0;j=a;k=h;l=a+1>>0;b=i;c=j;d=k;e=l;return[b,c,d,e];};F.prototype.Src=function(a){return this.$val.Src(a);};G=function(a){var b,c,d,e,f;b=new A.DrawImageOptions.Ptr(new F.Ptr(E),new A.GeoM.Ptr(),new A.ColorM.Ptr(),J.nil);c=E.Size();d=c[0];e=c[1];f=d+e*0.75;b.GeoM.Translate(-f/2,-e/2);b.GeoM.Translate(160,120);a.DrawImage(E,b);return $ifaceNil;};H=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;E=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new K([a]));}d=A.Run(G,320,240,1,"Perspective (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(d&&d.$blocking){d=d();}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new K([e]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}I=$ptrType(A.Image);J=$sliceType(A.ImagePart);K=$sliceType($emptyInterface);L=$ptrType(F);F.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];L.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];F.init([["image","image","github.com/hajimehoshi/ebiten/example/perspective",I,""]]);E=I.nil;$r=H($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/example/perspective"]=(function(){var $pkg={},A,B,C,D,I,J,K,L,F,E,G,H;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];F=$pkg.parts=$newType(0,$kindStruct,"main.parts","parts","github.com/hajimehoshi/ebiten/example/perspective",function(image_){this.$val=this;this.image=image_!==undefined?image_:I.nil;});F.Ptr.prototype.Len=function(){var a,b,c;a=$clone(this,F);b=a.image.Size();c=b[1];return c;};F.prototype.Len=function(){return this.$val.Len();};F.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r;f=$clone(this,F);g=f.image.Size();h=g[0];i=g[1];k=h+(j=(a*3>>0)/4,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0;n=(l=((m=(((i-a>>0))*3>>0)/4,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));o=n;p=a;q=n+k>>0;r=a+1>>0;b=o;c=p;d=q;e=r;return[b,c,d,e];};F.prototype.Dst=function(a){return this.$val.Dst(a);};F.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l;f=$clone(this,F);g=f.image.Size();h=g[0];i=0;j=a;k=h;l=a+1>>0;b=i;c=j;d=k;e=l;return[b,c,d,e];};F.prototype.Src=function(a){return this.$val.Src(a);};G=function(a){var b,c,d,e,f;b=new A.DrawImageOptions.Ptr(new F.Ptr(E),new A.GeoM.Ptr(),new A.ColorM.Ptr(),J.nil);c=E.Size();d=c[0];e=c[1];f=d+e*0.75;b.GeoM.Translate(-f/2,-e/2);b.GeoM.Translate(160,120);a.DrawImage(E,b);return $ifaceNil;};H=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;E=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new K([a]));}d=A.Run(G,320,240,2,"Perspective (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(d&&d.$blocking){d=d();}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new K([e]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}I=$ptrType(A.Image);J=$sliceType(A.ImagePart);K=$sliceType($emptyInterface);L=$ptrType(F);F.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];L.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];F.init([["image","image","github.com/hajimehoshi/ebiten/example/perspective",I,""]]);E=I.nil;$r=H($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $go($packages["github.com/hajimehoshi/ebiten/example/perspective"].$init, [], true); $flushConsole(); diff --git a/_docs/public/example/perspective.js.map b/_docs/public/example/perspective.js.map index c15805833..da02ad772 100644 --- a/_docs/public/example/perspective.js.map +++ b/_docs/public/example/perspective.js.map @@ -1 +1 @@ -{"version":3,"file":"perspective.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/goroot/src/errors/errors.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/sleep.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/perspective/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kBACA,A,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kBACC,A,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oBACA,A,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;8pEC/CK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iBACL,A,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uB,AACA,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uBACA,A,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIG,AAAH,+B,MACC,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,wE,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wE,AACA,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,C,AAED,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;2JCjFA,MACA,M,+BA6EA,A,WACC,a,CAED,A,WACC,a,CAED,a,yC,AAIA,0B,+BAIA,A,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,yBA2CA,S,+C,AAyBA,0C,gDAoBA,A,W,AACC,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2B,AACA,4BACC,AAAA,U,CAGD,yD,oDAIA,K,AACA,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,CAED,A,gBACC,oB,C,AAED,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,C,AAED,iBACC,iC,CAGD,oB,AACA,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACI,AAAJ,kBACC,+FACA,oO,AAF8B,AAAA,c,4FClB/B,AAOA,AACA,WACC,A,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4E,AACA,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2E,AACA,6DACC,wB,CAED,A,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCAEA,AADA,UAEA,UACA,UACA,UACA,gB,4G,gE;0NC7BA,oB,yCAQK,OACL,W;2J,AC6BA,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,O,AACL,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,CAIF,A,oGAWK,OAOL,AANA,uG,AAOA,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,e,AACA,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gB,AANiC,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLI,AAAJ,0BACA,M,0CCVK,OACL,AAIA,A,sHAEC,kG,CAED,A,uGAUK,OAMF,AALH,AAKA,mH,QACC,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OACL,AAKA,WAEA,0IAEA,A,uIACC,kG,CAED,A,sGAaK,OACL,AAQA,2H,AACA,kBACC,IACA,wD,CAGD,AAAI,oBACH,kGADuB,A,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gBACC,A,8C,CAED,2CACK,AAAJ,IACA,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,QACC,A,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,C,AAID,Q,AACC,6C,CAED,uF,AACA,kBACC,A,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,C,AAID,UACC,4E,AACA,YACC,A,oD,C,AAED,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,C,AAID,UACC,yG,AACA,wB,AACC,oD,C,AAED,gD,CAID,A,oD,sLAIA,WACA,A,QACC,A,6C,CAED,kBAGA,A,UACC,A,+C,C,AAID,UACC,A,8C,C,AAID,QACC,A,6C,CAED,kBACA,A,kBACC,A,8C,CAID,A,UACC,8C,AACA,WACC,A,8C,CAED,A,8C,C,AAID,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,YACC,A,oD,CAED,A,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,UACC,A,gC,CAED,SACA,4FACA,A,UACC,A,4B,CAKD,SACA,A,QACC,I,CAED,AAAI,AAAA,uB,AACH,4FACC,M,CAFyB,A,AAAA,YAK3B,A,QACC,I,CAED,oCACA,A,sBACC,A,gC,CAED,A,4B,6BA6CA,AACA,QACC,SACD,A,iBACC,S,AACD,kBACC,S,AACD,6BACC,S,AACD,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,S,AAJD,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACI,AAAJ,IACA,AAAI,uBACH,A,6FACC,AAAA,W,MAEA,2BACA,W,C,AALqB,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aAEA,AADA,mBAEC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,OACL,A,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,CAED,A,sC,AACC,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,aACA,A,wBACC,UACA,gDACA,A,QACC,iE,CAED,mBACA,kB,AACA,sCACC,A,4B,CAID,A,e,AACC,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0B,AACA,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,c,AACA,kBACC,Y,CAED,A,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,a,AACA,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,aACA,A,oC,0JAQK,OACL,aACA,A,yBAEC,cACA,A,0C,CAED,aACA,yGACA,A,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mBACA,A,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,aACA,A,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0B,AACC,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2BACA,A,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kB,AACA,kBACC,c,CAED,QACA,yBACA,+BACI,AAAJ,iCACC,6BACA,0I,AAFiC,AAAA,YAIlC,S,8EAeA,4BACC,W,QAGD,A,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,aACA,A,iH,CAED,A,gCACC,IACA,+BACA,WACA,K,AACA,8D,CAED,IACA,A,iD,0EAIA,AAAG,gB,gBACF,mBACA,A,iH,CAED,A,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACC,AAAI,sBACH,A,yBACC,mBACA,AAAG,sD,OACF,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,UACA,A,iB,AACC,iC,CAGD,WACA,8CAEA,6D,AACA,OACC,A,iC,CAED,0FACA,AAAI,sB,AACH,yBACC,A,mD,C,AAFsB,AAAA,YAKxB,A,iC,6GClFA,A,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sBACH,A,wBACC,0B,C,AAFsB,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfA,AAAI,oBACJ,0B,AA6BA,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sCACC,A,6B,CAID,IACG,AAAH,0E,sCACC,A,6B,CAED,A,UACC,A,qC,CAID,aACA,AAAG,4V,sCACF,A,6B,C,AAID,gHACC,AAAA,Y,CAED,A,mE,kEC3cA,AASA,AAAI,uBACJ,KAEA,2BACA,sB,AACA,sCACC,A,iC,CAKD,AAAG,gX,sCACF,A,iC,CAED,A,+I,iFAQA,YACA,6CACC,2d,AACA,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACA,AAAI,qDACJ,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,OACL,A,SACC,A,0C,CAID,0C,AACA,sCACC,A,iC,CAID,AAAI,oBAOJ,IAGA,0UACA,eACA,kDACA,6FACA,A,wC,iSAGK,O,AACL,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slBACC,A,sB,CAID,AAAG,6C,sC,AACF,a,CAED,0BACA,A,qB,8LAYK,uC,AACL,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBASA,AARA,Y,oDAYA,AAGA,wBACA,AAGA,Y,+CCuDI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,gDAqLA,0BACA,A,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2B,AACA,eACC,Y,CAED,S,mDAgBA,kC,AACA,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LA,AAAI,SACJ,qB,AACA,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,4DA4JA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2C,AACA,eACC,Y,CAED,Y,+CAiSI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,I,AACA,eACC,Y,CAED,Y,uCAMA,qBACA,A,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,AAAI,uBACJ,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAEA,AACA,iBACC,mC,AACD,uBAEC,kBACA,AAAI,sBACH,A,wBACC,AAAA,W,C,AAFsB,AAAA,YAKxB,SACD,A,4BACC,S,AACD,8B,AACC,UACC,S,CAED,S,CAGD,sBACA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,IACA,A,yCACC,AAAA,WACA,W,CAED,AAAI,6BACH,yDACA,gCACA,4FACA,AAAA,WACA,A,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,S,AACD,gBACC,4BACD,A,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,AAAI,IACA,AAAJ,eACC,sF,AADkB,AAAA,YAGnB,A,kCACC,S,CAED,AAAI,sBACH,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wDAmfA,A,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACA,AAAI,eACH,IACA,A,iB,AACC,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gBAZkB,A,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;q6FC5qBA,sBACA,0BACA,oBACA,oB,AACA,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,qKAIA,YACA,4CAAsC,U,qFACtC,gE,wEAIA,cACA,mGACA,A,kDACC,O,CAED,A,yCACC,kB,CAED,gEACC,eACA,a,AACA,8CACC,uEACA,K,C,4D,sBAMF,gCACA,WACA,eACA,S,sBCoCA,A,iBACC,a,CAED,kBACA,qB,8RAMA,AAAI,sBACI,AAAP,2BACA,WACC,A,wDACC,A,4D,AACC,2E,CAED,A,8BACC,A,2E,C,C,AAIH,iBACC,A,uBACC,A,oCACC,A,2DACC,A,2E,C,AAED,8B,AACC,iF,C,C,AAGF,oC,AACC,gF,C,CAIH,A,iB,AACC,+EACC,A,2L,C,AAGF,iB,AACC,sDACC,A,iF,CAED,A,iF,AAED,iBACC,A,yDACC,A,iF,CAED,A,iF,AAED,iBACC,A,sD,AACC,iF,C,AAGF,iBACC,A,iFAED,A,iBACC,A,iF,AAED,iBACC,A,iF,AAED,iBACC,A,sDACC,A,iF,CAGF,A,kBACC,A,uD,AACC,iF,CAGF,A,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,CAED,A,0D,AACC,gF,CAED,A,2DACC,A,gF,C,AAED,wDACC,A,gF,C,AAGF,iBACC,A,4D,AACC,gF,CAED,A,8DACC,A,gF,C,AAED,0D,AACC,gF,CAED,A,2D,AACC,gF,C,AAGF,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,CAGD,A,cACC,M,AACA,gCACC,M,CAED,sCACA,A,0E,C,C,C,AAjHyB,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,e,AACA,4BACC,a,C,CARsB,A,AAAA,YAYzB,Y,8BAIA,sHACC,A,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iDACC,A,4B,CAED,A,MACC,K,C,AAED,oC,sCAMA,IACI,AAAJ,uBACA,AAAI,eACH,AAAA,WACA,mJACA,2F,CAGD,A,QACC,I,CAED,A,MACC,iGACC,AAAA,W,C,AAED,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,CAED,A,WACC,M,CAED,KAGA,A,2BACC,sC,C,AAID,2BACC,iC,CAGD,YACA,+BACC,KACA,A,SACC,O,CAED,oF,AACD,mBAEC,KACA,AACA,aACC,gBACA,O,AACD,kBACC,+CACA,OACD,A,iBACC,gDACA,O,AACD,cACC,iDACA,O,AACD,eACC,gD,AACD,gBACC,+C,AACD,iBACC,gB,CAED,kB,AACD,mBACC,4E,AACD,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,gFACD,A,mBACC,0BACA,6C,AACD,mBACC,iBACD,A,mBACC,kBACD,A,mBACC,kB,AACD,mBACC,kBACD,A,mBAEC,qEACA,A,WACC,M,CAED,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iBACD,A,mBACC,kB,AACD,mBACC,iBACD,A,mBACC,kB,AACD,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iFAGC,A,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,C,AAGF,kB,AACC,cACC,4CACA,M,CAID,+F,AACA,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kFAOA,A,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kBACC,A,yBACC,A,0CACC,a,CAED,QACA,QACA,S,CAED,A,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAGA,AACC,IACA,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,WACC,A,sBACC,qF,CAED,M,CAED,KACI,AAAJ,MACA,YACA,+BACC,A,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mCACD,A,mBACC,mC,AACD,6BACC,2CACA,A,eACC,U,CAEF,A,mBAEC,2B,AACD,mBACC,2BACD,A,uCACC,A,mDACC,iB,CAED,2CACA,A,cACC,Q,C,AAEF,mBACC,wCACA,A,eACC,S,C,AAEF,6BACC,2CACA,A,cACC,S,CAEF,A,6BACC,2CACA,A,eACC,W,C,AAEF,6BACC,4CACA,A,iBACC,W,CAID,A,iDACC,iBACA,cACA,A,yBAEC,M,CAGD,KACA,6B,AAA2C,AAAA,cAE3C,sCACA,kB,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,OACD,A,oBACC,O,MAEA,M,C,AAEF,mB,AACC,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,0F,AACC,gEACC,iBACA,YACA,M,CAED,AAAI,gDACJ,A,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kBAEA,A,eACC,MACA,M,CAED,uG,A,+BAEA,A,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+BAEA,A,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAED,AAAI,iCACJ,2BACA,A,oCACC,2B,C,AAED,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2B,AACA,QACC,MACA,M,CAED,mD,AAED,kBAGC,sBACA,A,gBACC,MACA,M,CAED,sCACA,kB,AAED,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,CAGF,A,YACC,Y,A,sBAEA,I,CAGD,A,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uF,AACA,kCACC,SACA,qB,CAID,iBACA,qB,CAGD,A,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6E,AAcA,eACC,A,gC,CAGD,A,wEACC,A,+B,C,AAGD,6BACC,QACA,A,+B,CAGG,AAAJ,IACA,AAAI,eACH,A,gBACC,M,CAED,AAAG,kB,eACF,M,C,AAL0B,AAAA,YAQ5B,IACA,+BACC,A,gCACD,A,gBACC,A,yBACC,A,+B,C,AAEF,gBACC,A,yB,AACC,mC,CAEF,A,gB,AACC,mC,C,AAED,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,C,AAED,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,C,AAED,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kBACA,A,eACC,M,CAED,A,mE,AAEC,sD,CAED,iIATiB,AAAA,A,YAWlB,A,2D,2BCtlCA,A,0CACC,W,CAED,iFACA,A,yCACC,oC,CAED,S,yCAoBK,OACL,A,kCACC,gE,CAED,c,8FAMA,YACA,mEAQA,OACA,S,+CAMK,O,AACL,kCACC,iE,CAED,QACA,SACA,WACA,OACA,S,oFASA,yC,4BAUA,e,mDCpDK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sDACA,A,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sDACA,A,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFAgBA,AAfA,uGAqBA,iFACA,A,eACC,AAAA,W,C,AAKD,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACC,AAAG,gF,eACF,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAED,AAAJ,uBACA,KAEA,8BACA,uC,AACA,MACC,gC,CAGD,A,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WACA,AACA,8BACC,U,AACD,kDAEC,IACA,qEACD,A,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sCAGA,A,yCACC,AAAA,WACA,qEACA,gEACA,sC,AAIA,yCACC,AAAA,WACA,qEACA,iC,C,C,CAKH,A,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACA,AAAI,eACH,mCACA,kC,AACA,MACC,AAAA,WACA,iH,CAED,sCAPqB,AAAA,A,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,YACA,A,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kB,AACL,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,IACA,A,UAGC,AADA,SAGC,AAAA,WACD,A,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,Q,AACA,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACL,AAAI,IAEJ,A,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,CAGD,A,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2NAEA,A,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACF,AAAH,W,kBACC,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,CAED,A,4B,2IAoBA,A,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACQ,AAAP,uEACA,gEACC,uDACD,A,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kBACL,A,0CACC,S,CAED,iBACA,uC,kHAMK,kB,AACL,0CACC,S,CAED,iBACA,A,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,S,AACA,mDAEC,OACA,6CACA,KACA,A,QACC,oBACA,AAAA,4E,C,CAIF,AAEA,2JACC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,CAED,A,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,O,AACL,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,U,AAEA,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,C,AAGD,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mGACA,A,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,CAID,A,gOACK,AAAJ,4HACC,A,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gIACC,A,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kG,AACA,eACC,sG,AACA,eACC,A,+C,C,C,KAMH,0CACC,0GACA,A,gBACC,A,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,w9O,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kBACA,A,kBACC,2B,CAED,SACA,sCACI,AAAJ,wCACC,qH,AADgC,AAAA,YAGjC,S,uGCDK,OAEL,A,4BACC,4BAEA,iC,CAED,iBAEA,IACA,A,SACC,MACA,K,CAGD,eACA,kBAEC,A,mBACC,SACI,AAAJ,YACA,mEACA,A,sC,AACC,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,CAED,A,0B,AACC,gC,C,AAED,oC,iJCsDK,OACL,A,e,AACC,+C,CAED,A,yC,4IAeK,O,AACL,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,Q,AACD,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,O,AACL,e,AACC,0C,CAED,0BACA,A,QACC,I,C,AAED,yDACC,A,gC,CAED,A,sCACC,kC,CAED,A,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,C,AAED,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,eACC,A,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,Q,AAEA,sCACC,mC,C,AAED,4B,sIAMK,OACL,A,e,AACC,0C,CAED,mBACC,8B,AACA,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,O,AACL,eACC,A,wD,CAED,4B,AACA,6FACC,kB,CAED,A,sCACC,A,wE,CAED,A,oC,oIAKK,OACL,A,e,AACC,0C,CAED,A,+D,mHAyBK,OACL,A,eACC,uB,CAEE,AAAH,sB,sCACC,wC,CAED,iB,4EA+BA,A,QACC,I,CAED,Y,+FChOA,mC,AACA,+BACC,iB,CAED,A,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAEE,AAAH,4B,sCACC,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAEE,AAAH,2B,sCACC,2C,CAED,iB,wHAMK,OACL,A,eACC,A,2B,CAEE,AAAH,qB,sCACC,A,wB,C,AAED,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,S,AACA,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yCACC,A,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,O,AACL,uBACC,uB,CAED,AAAI,YACD,AAAH,gB,sCACC,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,e,AACC,kD,CAED,AAAI,sCACJ,uB,AACA,sCACC,A,kE,CAED,A,oD,yHAmBI,AAAJ,sCACA,eACA,A,sCACC,A,yD,CAED,A,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,C,AAED,sC,AACC,4B,CAED,e,KAED,A,4B,6HAcK,OACL,A,+BACC,4B,CAED,A,gE,0HAMK,O,AACL,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,I,AACA,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,C,AAGD,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,OACL,A,+BACC,4B,CAED,A,oE,6IAOK,OACL,A,kD,oFA8CA,gBAEA,mCACC,mB,AAD8B,AAAA,YAI3B,AAAA,AAAJ,uBACC,A,yBACC,wBACA,M,C,AAHe,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+B,AACD,oBACC,iCACD,A,mBACC,+B,AACD,oBACC,gCACD,A,oB,AAEA,oBACC,+B,CAED,A,iCACC,8B,CAED,A,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAED,AAAI,IACJ,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCACL,AACA,AAAI,uBACJ,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,SAGF,A,UACC,oEACA,AAAA,W,CAED,AACA,kEACC,A,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACA,AAAI,AAAA,uBACH,mJACA,AAAA,iB,AAFgB,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gCACC,A,YACC,A,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yBAdgB,A,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kCACA,A,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DA,AAAI,sB,AACH,iBACC,Y,CAED,A,gHACC,2G,C,AALsB,AAAA,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGA,AAAI,AAAA,uBACH,0HACA,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,IAVgB,AAAA,A,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2FAMD,A,iBACC,a,CAED,A,yGAEC,A,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,C,AAED,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAID,AAAI,qBACH,6E,AACA,SACC,AAAA,2JACA,YACA,O,C,AALuB,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACI,AAAJ,0BACC,uL,AADgC,AAAA,YAGjC,cACC,gCADe,A,AAAA,YAGhB,A,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6G,AACA,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8BACC,A,a,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,C,AAED,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,IACA,A,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kBACC,A,iB,CAED,4E,AAGA,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iFACA,A,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,IACJ,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qI,AAKA,2XAEC,A,iB,CAED,A,gB,6JAOK,OAML,AACA,AAGA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,WACD,A,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACA,AAAI,2CACH,A,+EACC,IACA,M,CAED,gCALmC,A,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAID,AAAI,uBACJ,KACA,AAAI,iBACH,iGACA,4DACA,AAAA,WACA,wFACA,M,CAEG,AAAJ,kBACC,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,Q,AACC,6CACC,yE,CAID,WACC,gCACA,gC,AACA,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGD,AAAI,0BACH,A,kHACC,aACA,M,C,AAHyB,AAAA,cAM3B,Y,kIAYA,A,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,Y,AACC,sGACC,AAAA,iB,MAEA,M,C,AAJY,AAAA,YAOd,A,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEC,AAAI,uBACJ,KACA,AAAI,qDACH,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gL,AADmB,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,c,AAEA,gBACC,qDACA,Y,CAED,A,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGA,AAAI,KACA,AAAJ,kDACC,A,sFACC,MACA,M,CAED,kCALmC,A,AAAA,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEA,AAAG,wF,gEACF,aACA,aACA,YAGA,0D,CAZ6B,A,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,C,AAED,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACJ,AAAI,SACJ,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KAEJ,AADA,iCAEC,Q,AACD,YACC,S,MAEA,S,CAED,iDAED,A,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,C,AAGD,OACC,yB,CAGD,AAAI,0BACJ,QAEA,MACA,A,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qB,AACD,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,a,AACD,4BACC,A,UACC,I,CAED,K,CAED,A,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,CAGF,A,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qBACD,A,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mB,AACD,0B,AACC,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mBACD,A,0BAEC,IACA,A,uBACC,O,C,AAKD,MACC,I,CAED,YACA,A,eACC,A,WACC,O,CAED,sD,C,AAED,WACC,O,CAED,iC,CAID,uB,0EAQA,A,8BACC,OACA,O,CAiBD,cACA,A,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,IACJ,A,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wB,AACJ,WACC,6E,MAEA,K,CAED,6E,AACA,WACC,6E,MAEA,K,CAKD,8CAIA,oDAIA,AACA,UACC,gBACA,O,AACD,YACC,oBACA,O,AACD,aACC,kBACA,O,CAjCoB,A,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,YACA,A,aACC,I,CAED,A,QACC,KACA,K,MAEA,K,CAED,eAGI,AAAJ,uBACA,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4BACD,A,gBACC,uBACD,A,gBAEC,qB,CAED,S,uCAI+B,eAE/B,A,MACC,gB,CAID,A,WACC,AAAI,IACA,AAAJ,0BACC,0G,AADgC,AAAA,YAGjC,cACC,gB,AADe,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACA,AAAI,eACH,KACA,AAAG,Y,iBACF,+F,CAED,eALqB,A,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,K,AACA,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,CAED,A,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,K,AAEA,MACC,gC,C,AAID,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,C,AAED,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGK,AAAG,uE,QAET,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iIAGA,A,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,IACA,A,WACC,wC,C,AAED,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,CAY3B,A,2BACC,gBACA,0BACA,AAf0B,0B,C,AAiB3B,M,AACC,iBACC,0BAnByB,AAoBzB,0B,C,A,gBAGD,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,MAEA,AACA,SACC,gDACA,2EACA,uE,AACD,oBACC,QACA,AAEA,gDACA,AAAI,iBACH,4E,AADoB,Y,AAFtB,kBACC,gDACA,AAAI,iBACH,4EADoB,A,Y,MAIrB,gDACA,AAAI,iBACH,4E,AADoB,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,QACC,A,cACC,a,CAED,S,C,AAED,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SACA,AACA,iBACC,A,qC,AACD,wBACC,A,6C,AACD,uBACC,A,6C,CAED,Y,yHAmBO,AAAP,kBACA,kCACC,iBACA,gB,AACD,iBACC,wCACA,A,wE,AACD,sB,AACC,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,IACD,A,kBACC,K,AACD,kBACC,KACD,A,kBACC,K,AACD,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,IACD,A,kBACC,I,AACD,iBACC,I,CAEG,AAAJ,IACA,A,eACC,iBACA,gB,CAED,AAAI,eACH,qCACA,A,QACC,iBACA,gB,CAED,c,AANkB,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,OACD,A,yEACC,gBACA,A,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mB,AANkB,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,KACD,A,iBACC,KACD,A,yB,AACC,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,W,AACA,QACC,A,0C,CAED,kBACA,A,oC,AACC,0C,CAED,0BAEA,A,WACC,A,aACC,A,0C,CAED,A,oC,CAED,A,6B,AACC,0C,CAED,A,aACC,A,0C,C,AAID,wBACC,IACA,WACC,A,oC,AACD,iBACC,wC,AACA,iDACC,A,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,C,AAED,gCAEC,A,8C,C,CAGF,A,yD,yBAKI,AAAJ,sBACC,A,wBACC,Y,CAFsB,A,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qG,AACA,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,WACC,A,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,U,AACA,kNACC,a,CAED,A,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,YACD,A,kBACC,6B,CAED,a,oCAIA,gBACI,AAAJ,oCACC,mCACA,0D,AAFgC,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sC,AAIA,wBACC,2D,C,AAED,SACC,uD,CAED,A,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qC,AAIA,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2B,AACD,iBACC,2BACD,A,yBACC,sB,AACD,iBACC,sC,AACD,iBACC,4B,AACD,iBACC,4B,AACD,mCACC,uB,AACD,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,a,AACA,2BACC,a,CAED,sD,AACA,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,a,AACA,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,aACA,A,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,e,AACJ,uBACC,+B,CAGD,AAAI,QACJ,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kB,AACC,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,M,AACJ,uBACC,wBACA,A,iCACC,qE,CAED,8G,AACA,0CACC,4D,CAED,qB,AACA,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8GACA,A,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,CAED,A,oCACC,6G,CAED,A,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,e,AACA,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,aACD,A,kBACC,8B,AACD,kBACC,AAAI,6BACH,A,oCACC,a,C,AAF4B,AAAA,c,CAM/B,Y,mJAGK,QACL,A,8CACC,0D,CAED,8GACA,A,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,Q,AACL,+CACC,c,C,AAED,gCACC,iBACA,A,qDACC,iBACA,sCACC,oC,AACD,2BACC,qCACD,A,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UAEC,AADD,KAEC,QAED,A,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,C,AAGD,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,M,AAGD,oBACC,AAAA,a,C,AAED,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGE,AAAJ,kBACC,AAAG,8H,yBACF,kF,C,AAFiB,AAAA,c,AAKnB,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACA,AAAG,a,yBACF,0F,CAED,qBALkB,A,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,cACA,A,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,c,AACD,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oB,AACD,2BACC,2C,CAED,2C,oHAGK,QACE,AAAP,gCACA,YACC,eACA,A,mBACC,8B,CAED,qBACA,sC,AAED,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,UACA,A,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oB,AACA,yBACC,yD,CAED,WACA,qBACA,8BAEA,UACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iB,AACA,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mCACD,A,kBACC,2C,AACD,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qCACD,A,kBACC,yCACD,A,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uCACC,A,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,S,AACD,kBACC,A,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uCACA,A,gCACC,iBACA,YACC,+BACD,A,kBACC,0BACD,A,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iB,AACA,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,AAED,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QAEJ,AADD,KAEC,aACA,QAED,AAAO,gCACP,Y,AACC,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mB,AACA,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sB,AACA,sCACC,A,6D,CAED,A,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,Q,AACL,mBACC,oBACA,sB,CAED,mC,kIAGK,QACL,A,mBACC,oBACA,A,qC,C,AAED,kD,qJAGK,QACL,A,mBACC,oB,AACA,iE,CAED,A,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,Q,AACL,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mB,AACD,kBACC,eACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,Q,AACL,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,Q,AACL,wBACC,mE,CAED,iBACA,8B,iIAGK,QACL,A,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,QACL,A,wBACC,uD,CAED,eACA,uB,wGAGK,Q,AACL,wBACC,wD,CAED,eACA,sB,4GAGK,Q,AACL,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,e,AACD,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wBACC,A,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,CAED,A,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oIACC,A,SACC,WACA,A,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,CAID,A,W,AAEC,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iBACA,A,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uFACA,A,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,S,AACA,eACC,6CACC,6GACA,A,oCACC,QACA,c,CAED,A,wB,AACC,uE,C,M,CAIH,A,QACC,c,CAED,A,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,QACL,A,oCACC,qE,CAED,sBACA,4B,mIAGK,QACL,A,oCACC,sE,CAED,sBACA,2C,mJ,AASA,wBACC,a,CAED,oBACA,A,2BACC,Y,CAeD,A,mBACC,oBACA,KACI,AAAJ,kCACC,8GACA,8GACA,A,8FACI,AAAH,AAAG,a,2BACF,Y,C,CAL6B,A,AAAA,cAShC,a,CAGD,8BACA,A,gBACC,a,CAED,KACA,AAAI,kCACH,8GACA,8G,AACA,+FACI,AAAA,AAAH,a,2BACC,Y,C,C,AAL6B,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4EAED,A,kBACC,eACA,eACA,A,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wI,AACC,mHACC,a,C,MAGF,Y,AAED,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,a,AAED,kBACC,oFAED,A,2BACC,8CAED,A,kBACC,iBACA,iBACA,A,+CACC,a,CAED,6CACC,6GACA,6GACA,A,gJACC,a,CAED,A,kKACC,a,C,AAED,uBACC,a,CAED,A,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,QACL,A,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,C,AAED,2BACC,qF,C,iJAOI,wC,AACL,WACC,2B,CAGD,A,2BACC,qF,C,AAED,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4D,AACD,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,SACC,A,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACF,AAAH,2D,OACC,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qC,AACD,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+B,AACD,iBACC,+BACD,A,iBACC,+BACD,A,iBACC,+BACD,A,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,QACL,A,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,K,AACJ,gCACC,U,MAEA,sF,CAED,8BACA,A,WACC,8B,CAED,WACA,sCACA,8BACA,A,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACA,AAAJ,0BACC,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,O,AAjBsB,AAAA,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,CAED,A,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,CAED,A,iCACC,8B,CAED,wD,AACA,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kC,AACD,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,cACD,A,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACA,AAAO,gCAGP,YACC,+CACD,A,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wD,AACD,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,A,oBACC,2BACA,O,CAED,iCACA,sDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACO,AAAP,gCAGA,WACC,2BACD,A,iBACC,gC,AACD,iBACC,gCACD,A,kBACC,2B,AACD,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,C,AAED,uBAEC,c,CAKD,sBACA,A,uBAEC,wB,AACA,uCACC,qE,CAED,8GACA,c,CAGD,kC,AACA,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gC,AAED,wBACC,A,WACC,S,CAED,gBACA,A,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0BACA,A,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,2BACC,aACA,2CACC,U,AACD,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,C,AAGF,kBACC,A,+CACC,oBACA,WACC,UACD,A,iBACC,U,C,C,AAIH,kB,AACC,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,CAMH,A,cACC,U,C,AAID,kHAGC,U,CAGD,A,cACC,A,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gBACA,A,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EA,AAAI,gBACH,sFACA,sFAFsB,AAAA,A,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,WACA,A,Q,AACC,uB,AACC,sC,CAED,A,M,AACC,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,OACL,A,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,OACL,A,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,OACL,A,MACC,S,MAEA,S,C,wJAMI,OAEL,A,oEACC,O,CAGG,AAAJ,gCACA,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,I,AACA,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,C,AAEF,qCACC,8CACC,AAAA,WACA,oJACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,CAID,A,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,CAGF,A,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,OACL,A,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,YACA,A,eACC,W,CAED,8CAEA,AAAI,SACJ,AAAI,eACH,A,0BACC,gB,CAED,A,kDACC,kB,CAED,AAAI,IACJ,A,eACC,kB,MAEA,uF,CAED,uEAbkB,A,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,O,AACL,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,KACJ,A,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACD,AAAJ,SACA,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iBACC,A,oBACC,4BAAe,qB,QACf,sB,C,CAMF,A,4D,AACC,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wB,AACD,kBACC,8B,AACD,iBACC,6B,AACD,0BACC,8B,AACD,kBACC,+BACD,A,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,IAtBa,AAAA,A,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,O,AAEL,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2B,AACD,iBACC,4BACD,A,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,aACA,A,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAED,AAAI,yDACH,kDACA,O,AAFiE,AAAA,YAIlE,c,iDAGK,OAAmB,I,AACxB,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2CACA,A,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0D,AACD,iBACC,UACD,A,2BACC,2D,AACD,kBACC,0DACD,A,kBACC,A,uFACC,gB,MAEA,a,C,AAEF,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mCACD,A,kBACC,qF,AACD,kBACC,A,0BACC,kB,MAEA,qF,C,AAEF,kBACC,oFACD,A,kBACC,A,uFACC,yC,MAEA,a,C,AAEF,kBACC,qF,AACD,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oB,AACD,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,C,AAEF,kBACC,e,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yBACC,A,0BACC,A,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sHACC,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,qC,KAED,A,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGD,AAAI,IACJ,WACA,mDACC,c,MAEA,aACA,O,C,AAGD,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACF,AAAH,a,sCAIC,AAAG,e,+BACF,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uBACA,A,MACC,yBACA,2B,CAED,wBACA,A,MACC,0BACA,4B,CAED,Y,4IAKK,O,AACL,MACC,0BACA,0B,CAED,A,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGD,AAAG,2C,MACF,OACA,0FACA,uDACA,cACA,S,CAID,A,0BACC,AAAG,2C,MACF,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,S,AAED,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oCAEA,A,mCACC,A,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oD,AACA,iB,AACD,kBACC,6BACA,A,iB,CAID,IACA,0CACC,e,AACD,mDACC,kB,AACD,mDACC,kBACD,A,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8B,AACD,gDACC,8B,AACD,iDACC,8B,AACD,iDACC,8BACD,A,iDACC,gB,AACD,gDACC,gC,AACD,iDACC,gC,AACD,kDACC,gCACD,A,kDACC,gC,AACD,kDACC,iBACD,A,mDACC,yD,AACD,kDACC,iBACA,uBACD,A,6CACC,4BACA,U,UAGG,AAAH,uB,MACC,A,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,I,AACvB,iBACC,A,wBACC,2F,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,iDACA,A,iBACD,A,kBACC,kBACA,A,iB,CAKD,gB,AACA,qBACC,oB,CAED,AAAG,uB,MACF,A,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UAEO,AADR,AACC,yBACA,4BACC,sB,AACD,4CACC,sBACD,A,sDACC,wB,AACD,yBACC,A,wBACC,0B,MAEA,0B,CAEF,A,yB,AACC,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0B,AACD,iBACC,A,0BACC,iHACA,A,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACA,AAAI,0BACH,A,QACC,A,0BACC,2F,MAEA,gG,C,C,AAGF,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iGACD,A,iBACC,WACA,A,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMC,AAAG,W,6FACF,AAAI,S,AACJ,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAED,AAAI,qBACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kC,AARwB,AAAA,Y,AAUzB,0BACC,iG,MAEA,gG,C,AAEF,iBACC,cAGA,A,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gBACD,A,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAKF,AAFA,kB,AACD,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,IACA,A,gBACC,4HACA,S,CAED,c,iEAWA,AAAI,sBACH,A,yBACC,iCACA,A,mBACC,A,+C,CAED,A,mD,CAN2B,A,AAAA,YAS7B,A,0C,+FAMK,O,AACL,2C,AACC,0C,CAED,iBACA,0C,AACA,iBACC,A,8C,CAED,mBACA,A,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBACD,AACC,aACC,kBACA,WACC,0B,AACD,iBACC,yB,AACD,iBACC,yB,AACD,iBACC,0B,AACD,iBACC,0B,MAEA,Q,CAba,AAAA,A,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iEACA,A,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iEACA,A,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,C,AAKH,OACC,oD,CAGD,A,SACC,4FACA,S,CAED,qDACA,WAEA,A,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,CAED,A,wBAEC,0BACA,0B,C,CAGF,kB,CAMD,A,8BACC,2FACA,mBACC,uF,AACA,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,CARqB,AAAA,A,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sBAViC,A,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,OACL,A,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uCACA,A,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,O,AACL,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6BACA,A,sCACC,A,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACC,AAAG,a,sCACF,AAAG,kD,MACF,Q,MAEA,U,C,C,QAIH,A,8BACC,K,CAED,2BACA,eACA,Y,wLAmBA,A,aACC,a,CAED,eACA,8HACC,A,WACC,a,C,AAED,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,e,AAEjB,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,C,AAED,2BACC,S,CAED,A,WACC,A,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,OACL,A,MACC,mB,CAGD,YACC,c,AACA,WACC,M,CAED,A,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wD,AACC,UACC,S,C,SAGF,S,4CAuBK,OACL,cACA,A,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gDA8SA,A,8CACC,qE,C,AAGD,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACA,AAAI,iCACH,wFAD8B,A,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8GAD6B,A,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oB,AACA,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,YACJ,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACA,AAAG,e,+CAEF,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0I,AACA,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yBACA,A,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oE,AACA,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eAEA,AADA,4B,iIAIK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACI,AAAH,O,sCACC,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2C,AACA,mGACC,AAJ2B,AAAA,oB,CAM5B,6CAN4B,A,AAAA,YAa7B,A,kBACC,iB,CAED,iCACA,qHACA,iB,6MCtEA,AACA,AAEA,mDACA,A,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAGD,AACA,iBACA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2I,AAN6B,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACC,AAAJ,eACC,uJ,AADkB,AAAA,Y,AADD,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gCACA,A,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,C,AAGD,uBACC,wD,CAID,AAAI,iBACH,gD,AACA,QACC,U,CAED,eACA,A,sCACC,QACA,O,CAED,A,QACC,O,C,AAXwC,AAAA,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,O,AACL,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGG,AAAJ,YACA,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,YACA,A,UACC,A,sC,CAED,A,cACC,A,0CACC,A,sC,CAED,A,6BAGC,iC,AACA,QACC,U,CAED,A,QACC,gHACA,kB,C,AAED,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iB,AACC,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kBACA,A,oC,gHAIK,OACL,A,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEC,AAAG,0C,SACF,yCACA,sBACA,M,CAID,A,0CACC,2BACA,QACA,cACA,M,C,AAID,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gC,AACA,4CAEC,A,gIAGC,A,YAEC,mE,CAED,AAAA,eACA,kC,CAED,A,iD,CAGD,A,kBACC,A,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACJ,AAAI,SACJ,YAEA,YACC,AAAI,YACJ,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oBACA,A,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kD,AACA,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,C,AAGD,+BACC,S,CAGD,eAEC,8BACA,qD,AACA,sC,AACC,gC,CAED,S,C,AAGD,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kDACA,A,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iB,AACA,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mE,AACA,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iBACL,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,C,AAED,qCACC,e,CAED,S,4GAIK,iBAAmB,cACxB,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,c,AACrB,cACC,Y,CAID,8E,qGAMK,iB,AACL,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,O,AACL,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,OACL,A,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,CAFmB,A,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oB,AAClC,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,CAFmB,A,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,CAFmB,A,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,OACL,A,mBACC,Y,CAED,0BACA,AAAI,qCACC,AAAJ,eACC,A,8GACC,a,CAFmB,AAAA,A,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mB,AAChC,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,OACL,A,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qB,AACpC,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,O,AACL,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+B,AAIA,cACC,kD,CAID,+BACA,uF,0IASK,OACD,AAAJ,uBACA,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,OACL,A,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+BAIA,A,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2DACA,A,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sCACC,A,UACC,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,OACD,A,6CACC,A,eACC,O,C,C,MAGI,AAAG,uC,MACT,IACA,sCACC,aACA,O,C,C,C,M,AAIF,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,OACD,A,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4C,AACC,yDACC,iB,C,CAIF,oCACA,2C,AACA,eACC,yCACA,8C,CAGG,AAAJ,uCACA,0BACA,0BACA,AAAI,0BACH,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAGD,AADA,WAEC,A,U,MAGC,8D,CAEF,A,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,CAjCoB,A,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACA,AAAI,kCACH,AAAI,eACH,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kB,AAb+B,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACA,AAAI,eACH,6HACA,6HACA,6HACA,6HAJoB,A,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mCAHkC,AAAA,A,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBACA,AACC,gBACA,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,W,AAvBa,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gBACJ,A,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,W,AAHa,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+Q,AAlB6B,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yH,AAV6B,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sG,AALqB,8C,AAJS,+B,AAYjC,gBACC,AAAI,2CACH,qCACA,oEACA,kJACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,oUACI,AAAJ,2CACC,qGACA,0VACA,yGACA,yGACA,yGACA,0GAN+B,A,oDAJD,A,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,sPACA,AAAI,wBACH,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oD,AAJS,mC,MAahC,A,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACI,AAAJ,gDACC,AAAI,2BACH,uGACA,A,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qUAlB6B,A,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oC,AACA,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACI,AAAJ,wBACC,AAAI,wDACH,S,AACA,sCACC,+B,CAED,0DACA,A,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,C,AA7BwC,qDAgC1C,2B,AAjCqB,oD,gB,AAuCtB,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACA,AAAG,sC,MACF,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMD,AAAI,8B,AACJ,MACC,0BACA,0B,CAID,iCACI,AAAJ,6BACC,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,CAGD,A,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OACC,AAlCsB,AAAA,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OAlDuB,AAmDtB,AAnDsB,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+S,AAvEwB,AAAA,cA2EzB,A,MACC,wBACA,sCACC,+G,M,C,AA/EsB,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,aACA,A,YACC,iKACA,qM,CAED,S,iIAaK,OACL,AAAG,qB,sCACF,S,CAED,6C,oIAGK,OACF,AAAH,qB,sCACC,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOG,AAAH,sC,wCACC,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,OACL,A,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0C,AACA,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8CACA,A,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;o/BCvDK,OACL,+BACA,uF,8GAGK,OACL,+BACA,wF,mFCjBA,K,gKAIA,oF,4E,6BAQA,a,gC,oKAQA,WACA,+CACC,U,MAED,gEAEA,mBACA,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCAEA,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,sGACC,gFACA,0BACA,a,uFAED,oGACC,gFACA,0BACA,W,uF,+GAKD,mBACA,gCACA,eACA,gBACA,UACA,qJACA,oJACA,A,oC,4G,gE,gE,gE,gE,soC,uH;0uGCxEA,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,gCACA,oB,AAFoB,AAAA,Y,AADC,AAAA,Y,kCASvB,U,AACA,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,IACA,AAAI,sBACH,oC,AADsB,AAAA,YAIvB,A,iBACC,qB,CAED,oBAToB,AAAA,A,Y,AADC,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,cACpB,A,mBACC,e,CAED,6BACA,SACA,a,wHAGK,O,AACL,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJAJ0B,A,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,O,AACL,mBACC,e,CAED,mJ,6HC/CA,AAAI,SACJ,AAAI,YACJ,6BACC,AAAI,SACJ,mD,AACA,sCACC,O,CAED,wB,IAED,A,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,cACrB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,OACL,A,mBACC,e,CAEG,AAAJ,eACC,sJACA,sJ,AAFwB,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,e,mHAIK,OACL,A,mBACC,e,CAED,mJ,qHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iBACD,A,gBACC,gB,CAED,iC,yCCdA,sD,AACA,sCACC,iB,CAGD,8C,AACA,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACF,AAAH,gC,sCACC,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC5CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,OACL,A,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2FACA,A,wE,kIAGK,OACL,2FACA,A,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,OACL,A,6D,4HAGK,O,AACL,eACC,uD,CAED,e,AACA,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6CACA,A,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,OACL,A,sBACC,2BACC,AAAI,YACJ,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,qSC1LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,kCAEC,qCACA,mEACA,A,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAEE,AAAH,iC,sCACC,S,CAED,mBACC,iB,AACA,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAED,gE,qB,qT,gE,gE,gE,gE,gE,gE,gE;;i5FC3DD,A,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACH,AAAI,IACJ,AAAI,IACJ,AACA,4BAEC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2FAzBwB,A,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACI,AAAJ,gBACC,qFACA,2FAF6B,A,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACA,AAAJ,gBACA,kHACC,A,UACC,a,C,AAED,iBACC,I,CAED,A,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,IACJ,A,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACJ,AAAI,gBACH,A,WAEC,U,AACA,UACC,a,CAED,4BACI,AAAJ,uBACC,4LACA,uBACA,gBACA,6GACA,qI,AAL0C,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8B,AAnBuB,AAAA,YAsBxB,mI,AACC,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACC,AAAI,oBACH,uF,AAD2C,+C,MAI5C,2G,AACA,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACI,AAAH,mB,0CACC,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,cACD,A,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,U,C,mGAII,OACL,A,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6BACA,A,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACC,AAAG,e,sCACF,S,C,CAGF,qLACA,iCACA,kB,AARsB,AAAA,YAUvB,AAAI,gBACH,oK,AADmC,AAAA,YAGpC,A,gDACC,2C,CAKD,AAAI,gCACH,gCACA,A,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,WAFoB,A,AAAA,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACA,AAAJ,IACA,AACA,UACC,2GACA,AAAA,iBACA,A,iBAEC,gDACA,O,CAED,S,AACD,kBAEC,2CACA,O,AAED,gBACC,WACA,I,AACD,gBACC,kBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,mBACA,IACD,A,gBACC,oBACA,I,AACD,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,IACJ,A,kBACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAIF,AACA,QACC,AAAA,W,AACD,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iC,AACA,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACG,AAAH,gB,QACC,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,O,AACL,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gBACA,A,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,O,AACL,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+B,AACA,sCACC,A,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACI,AAAH,e,sCACC,Y,C,CAGF,kGACA,qBACA,A,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,CAGF,A,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYA,AAAI,0BACJ,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWA,AAAI,0BACJ,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,Q,AACJ,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,e,AACA,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,CAED,A,kBACC,A,oC,CAGD,uCACA,iC,AACA,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,QACA,A,4B,CAGD,iIACA,A,8BACC,uBACA,A,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mCACA,A,MACC,yDACA,A,sCACC,S,CAED,iIACA,A,2BACC,0B,C,CAGF,A,gDACC,A,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACI,AAAJ,iBACC,UACA,AAAI,eACH,A,oBACC,wB,MAEA,6B,C,AAJiB,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uB,AACA,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACJ,AAAI,eACH,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,OACA,A,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,YAFG,AAAA,A,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6FAG1C,A,QACC,S,CAED,S,0EAGK,OACL,A,gBACC,gC,CAEE,AAAH,uD,sCACC,S,CAED,2CACA,A,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wD,AACA,aACC,mC,CAED,0C,AACA,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,AACD,gBACC,Q,AACD,gBACC,O,AACD,gBACC,Q,C,AAEF,iBACC,WACA,UACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6F,AACA,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4aADmB,A,AAAA,YAGpB,AAAI,iBAMH,2J,AANqB,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,O,AACL,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uCACD,A,wBACC,uC,AACD,sC,AACC,wBACC,mC,CAED,AAAI,eACH,wIACA,2O,AAFkB,AAAA,Y,AAIpB,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAIE,AAAH,sD,sCACC,Y,CAED,8DACA,A,6DACC,yC,CAED,cACA,0C,CAED,A,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+B,AACA,sCACC,oB,CAED,2CACA,AAAI,YACJ,A,oBACC,2C,A,0BAGA,kDACA,AAAI,eACH,2C,AACA,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACA,AAAI,mDACH,A,YACC,kC,CAED,qDAJiC,A,AAAA,YAMlC,A,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACL,AAAI,IACJ,IACA,AACC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6B,AACA,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,IACD,A,sCACC,UACA,2CACA,IACD,A,iBACC,KACA,8BACA,IACD,A,iBACC,KACA,+BACA,IACD,A,iBACC,KACA,gCACA,IACD,A,iBACC,KACA,+BACA,IACD,A,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEA,AAAI,iBAEH,6B,AACA,uCACC,qB,CAID,mBACA,mBACA,2FACA,W,AAEA,iBACC,AAAI,0BACH,mT,AADsC,AAAA,c,AAGxC,iBACC,oIACC,8M,M,AAEF,iBACK,AAAJ,iBACC,gY,AAD8B,AAAA,cAG3B,AAAJ,0BACC,mgB,AADsC,AAAA,cAGxC,A,iBACC,W,MAEA,2C,CAID,QACA,WACK,AAAJ,iBACC,+LACI,AAAJ,+BACC,wEACA,sC,AAFoC,AAAA,cAFf,A,c,AAOxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sCAFoC,A,AAAA,cAFf,A,c,AAOxB,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,uEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2JAFsB,AAAA,A,c,AAIxB,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,aANsB,A,AAAA,cAQvB,kB,AACD,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,cAWxB,A,kBACC,A,iCACC,AAAI,iBACH,A,uHACC,wI,C,AAFqB,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kB,AACD,kBACC,AAAI,iBACH,2QACA,wCAFsB,A,AAAA,c,AAIxB,kBACC,AAAI,iBACH,2QACA,2QACA,mD,AAHsB,AAAA,c,AAKxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oDAJsB,A,AAAA,c,AAMxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGACA,AACC,SACA,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,IACD,A,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACA,AAAI,+BACH,6FACA,AAAI,+BACH,kCACA,sDACA,a,AAHwC,AAAA,cAFD,A,AAAA,c,8IAUpC,OACL,eACA,+BACA,A,sCACC,A,a,CAED,A,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6D,AACA,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qB,AACC,qBACC,gB,CAED,UACA,sB,AACD,qB,AACC,qBACC,gB,CAED,sB,AACD,qBACC,A,uDACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACF,AAAH,sD,sCACC,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIA,AAAG,kB,sC,AACF,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sC,AACF,+BACC,qB,CAED,0C,CAED,kDACA,A,sBACC,M,C,AAED,qBACC,M,C,CAGE,AAAJ,YACA,OACA,+BACC,cACD,A,gBACC,eACD,A,gBACC,cACD,A,sCACC,Y,AACD,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iB,AACD,iBACC,gBACD,A,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;uc,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+B,AACA,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,Y,AACC,uBACC,yBACA,+BACA,oB,C,AAED,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sC,AACC,+BACC,qB,CAED,QACA,O,CAGD,AADA,cAGC,iGACA,AAAA,eACA,A,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,O,AACD,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wC,AACA,qBACC,A,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wC,AACD,gBACC,wC,MAEA,kCACA,S,C,AAED,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,O,AACL,0CACC,gB,CAED,A,kBACC,oB,C,AAED,wBACC,AAAI,IACJ,mCACA,A,0CACC,gB,C,AAED,UACC,YACA,gB,CAED,qCACA,AAAG,qC,0CACF,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEL,AAAG,sC,MACF,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+BACA,A,sCACC,S,CAED,IACA,WACC,AAAG,oB,sCACF,S,C,AAGF,iBACC,2C,AACA,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qEACC,A,OAEC,uD,CAED,8K,CAED,+BACA,A,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sCACF,A,+CACC,S,CAED,S,CAID,AAAG,uD,gD,AACF,uCACC,U,CAED,S,CAED,AAAG,0D,gDACF,A,uCACC,U,CAED,S,CAID,A,0BACC,iIACC,A,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iBACC,A,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uD,AACA,sCACC,S,CAED,oDACA,A,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+BACA,A,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8B,AACD,kB,AAEA,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,CAED,A,QACI,AAAH,sD,sCACC,S,C,CAMF,A,4EACC,8BACA,A,+CACC,S,CAED,A,4BACC,gD,C,CAGF,YACC,8BACA,A,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACL,AAAG,sD,sCACF,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+BACA,A,+CACC,Y,CAED,oD,sGAkBA,AAAI,SACJ,kBACA,kBACA,oBACA,IACA,4HACC,eACA,AAAI,qBACH,gEACA,WACA,uBAH4B,A,iB,KAM9B,Q,sCAMI,AAAJ,wBACA,AAAG,oB,sCACF,oB,CAED,mH,0CA4BI,AAAJ,wBACA,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACA,AAAJ,OACA,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yBACA,A,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4B,AACA,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sCACC,A,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,OACL,A,oBACI,AAAH,wB,sCACC,Y,C,CAGF,8BACA,2CACA,yBACA,sE,AACA,gBACC,4C,CAED,oB,8OAKK,OACL,WACC,A,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wBACA,A,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,KAED,A,iBACC,8C,C,AAED,iBACC,mD,CAED,+BACA,A,QACC,qC,CAEE,AAAH,mD,sCACC,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACA,AAAI,gFAMH,qDACA,wIACA,AAAI,2DACH,mG,AADgC,AAAA,oBAGjC,AAAA,YACA,AAAA,Y,AAZiC,AAAA,YAFF,A,AAAA,aAmBjC,AAAI,sBACJ,wGACC,A,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,C,AAGD,oCACC,AAAG,mB,2DACF,A,uEACC,Y,CAKD,0BACA,c,O,OAGC,AAAH,mJ,eACC,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qC,AACH,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2BAd8C,A,AAAA,YAgB/C,oC,6IAGK,O,AACL,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,OACL,A,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFAbiB,AAAA,AAcjB,oB,CAID,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6GA9DkB,A,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iHAlDkB,AAAA,A,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,O,AACL,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2BACA,A,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sBACA,A,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sCACF,A,4B,C,CAGF,iGACA,AAAA,2BACA,sB,AACA,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iBACC,A,4B,CAED,A,4G,AACC,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6BACA,A,sCACC,A,4B,C,AAED,iBACC,sBACA,A,oC,CAGD,6BACA,A,sCACC,sB,AACA,4B,CAED,sBACA,A,eACC,A,mC,CAED,A,sC,qIAKK,OAEL,A,iC,AACC,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2B,AACA,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,yBACA,A,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,C,AAGD,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAEG,AAAJ,qBACC,6KACA,8KACA,A,gBAYC,kFACA,kFAhBuB,AAiBvB,AAjBuB,oB,CAmBxB,+FACA,sGACA,kGAKA,A,UACC,A,uDACC,6C,C,A,sBAGD,6C,C,AA/BuB,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACC,AAAG,4C,sCACF,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,aAgBrB,A,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAED,AAAG,2C,sCACF,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,CAED,A,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6B,AACA,sCACC,oB,C,C,AAGF,YACC,M,CAED,A,mBAOC,S,CAKE,AAAH,2C,sCACC,oB,CAED,gDACA,A,QACC,gD,CAGD,AACA,yBACC,sBACA,kBACA,A,MACC,oB,C,AAEF,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kB,AACD,oCACC,c,MAEA,0B,CAED,A,sCACC,oB,C,CAGF,A,uBACC,yB,CAED,A,uBACC,yB,CAED,8C,kGAKI,AAAJ,wBACA,yB,8CAMA,AAAI,wBACD,AAAH,0B,sCACC,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAEG,AAAJ,IAEA,AADA,qBAEC,I,AACD,2BACC,I,AACD,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,O,AACL,gBACC,mC,CAED,A,wGACC,qC,CAEE,AAAH,2C,sCACC,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4K,AACA,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kC,AACA,kBACC,2GACA,2GACA,2HACA,wH,AACA,sCACC,8C,CAED,A,2BACC,wE,C,AAED,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACC,AAAI,iBACH,mFACA,A,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBAGC,AAFD,sBAGC,wBAKA,sBACA,KAED,AAAI,kBACC,AAAJ,kBACC,AAAI,iBACH,mFACA,kLACA,AAAI,gMA0BH,A,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,a,AACA,4CAvCuD,AAAA,AAwCtD,sB,C,CAKF,A,kBACC,qT,MAEA,sB,CAGD,A,eACI,AAAH,kN,uCACC,U,C,MAGD,K,AACA,WACC,AAAA,aAEA,yMACA,A,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,C,AAGD,sBACC,AAAA,+B,MAGA,sKACA,aACC,yCACA,A,uCACC,U,CAED,mBACA,eACA,A,gBACC,mB,AACA,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,MAEA,A,iBACC,4CACA,A,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,CAoCvB,A,kBACC,A,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIxD,AAAI,kBACH,uWAD8B,A,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6F,AACD,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACA,AAAI,iBACH,yFACA,A,YACC,K,A,iBAEA,O,MAEA,e,CAED,qH,AATkB,AAAA,c,AAHD,AAAA,cAtJqC,A,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGC,AAAG,4C,uCACF,U,CAED,A,4CACC,+B,CAED,AAAA,mB,AACA,aACC,O,CAGD,iCAEA,uBAEA,W,CA9LqB,A,AAAA,c,AADD,AAAA,cAoMvB,iB,2KAKK,OAEL,A,UACC,A,eACC,mC,CAED,8BACA,A,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,IACA,A,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wCACA,A,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8BACA,A,sCACC,S,CAED,A,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,CAED,A,QACC,sC,CAED,A,eACC,yJ,C,AA3CmB,AAAA,Y,CA+CtB,A,eACC,AAAA,+BACG,AAAH,0C,uCACC,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wFACC,A,UACC,M,CAED,AAAA,WACA,AAPmB,AAAA,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OAboB,AAcnB,AAdmB,oB,CAgBpB,A,uFACC,2K,MAEA,2K,CAnBmB,A,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wHACC,A,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,WAHkC,A,AAAA,kBAKnC,4B,AAP6B,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQA,AAAI,U,AACJ,kBACC,6BACA,O,CAID,AAAI,qBACJ,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJ,AAHuB,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wB,AACC,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,CAED,A,wBACC,iCACA,SACA,6BACA,SACA,6BACA,S,AACA,wBACC,6BACA,4G,CAED,6B,C,CAGF,A,yB,AACC,yBACC,IACA,AAAI,2B,AACH,yBACC,wBACA,M,CAH6B,A,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACA,AAAI,KACA,AAAJ,IACA,YACA,+CACA,A,yBAEC,cACI,AAAJ,QACA,mC,AACA,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;qeC3PK,iBACL,wBACA,S,oIAGK,iBACL,+BACA,mGACA,4LACA,A,0D,0HAGK,iBACL,wBACA,A,qD,oFAIA,qFAGA,yBACA,WACA,4BACA,0BACA,iBACA,iB,4JAIA,AAAI,YACJ,+GACA,A,sCACC,oB,CAED,AAAG,qG,2DACF,oB,O,0J,gE,gE,gE,qnB"} +{"version":3,"file":"perspective.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/errors/errors.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/perspective/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGG,AAAJ,YACA,yBACA,gBACA,A,mCAIA,kB,AACA,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yE,AACA,kB,AACC,qD,CAED,6J,AACA,6F,oC,0C,iHC7BK,OACL,oB,AACA,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;0NC7DA,oB,yCAQK,OACL,W;8pECKK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iBACL,A,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uB,AACA,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uBACA,A,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIA,AAAG,+B,MACF,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uC,AACA,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,wE,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIG,AAAH,+B,MACC,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,Q,AACC,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wEACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;2JCjFA,MACA,M,+BA6EA,A,WACC,a,C,AAED,WACC,a,CAED,a,yCAIA,A,0B,+B,AAIA,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,yBA2CA,S,+CAyBA,A,0C,gD,AAoBA,WACC,A,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2B,AACA,4BACC,AAAA,U,CAGD,yD,oDAIA,KACA,A,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,C,AAED,gBACC,oB,CAED,A,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,CAED,A,iBACC,iC,CAGD,oBACA,A,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACA,AAAI,kBACH,+FACA,oO,AAF8B,AAAA,c,4FClB/B,AAOA,AACA,W,AACC,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kB,AAEA,4EACC,sEACA,U,CAED,4E,AACA,4CACC,sEACA,0B,C,AAED,4CACC,O,CAGD,mFACA,SACA,iFACA,2EACA,A,6DACC,wB,CAED,A,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCACA,AACA,UACA,UACA,UACA,UACA,gB,4G,gE;2JCSA,A,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,O,AACL,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHAIC,AAHA,O,CAMD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,C,AAIF,oGAWK,OACL,AAMA,uG,AACA,uBACC,sD,CAGD,IACA,Y,AAGC,oCACC,O,CAGD,eACA,A,qHACC,wFACA,O,CAED,U,C,yJCxEI,O,AACL,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gB,AANiC,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLI,AAAJ,0BACA,M,0CCVK,OAKL,AAJA,A,sHAMC,kG,C,AAED,uGAUK,OACL,AAKA,AAAG,mH,QACF,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OAML,AALA,WAOA,0IAEA,A,uIACC,kG,CAED,A,sGAaK,OASL,AARA,2HASA,A,kBACC,IACA,wD,CAGD,AAAI,oBACH,kG,AADuB,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gBACC,A,8C,CAED,2CACC,AAAI,IACJ,uCACA,W,C,AAED,SACC,Y,A,6CAEA,wB,CAED,Y,uD,AAUA,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,QACC,A,6C,CAED,uFAGA,A,U,AACC,+C,CAID,A,U,AACC,8C,CAID,A,Q,AACC,6C,CAED,uFACA,A,kB,AACC,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,C,AAED,8C,CAID,A,Q,AACC,mD,CAED,wFACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,Y,AACC,oD,CAED,A,uBACC,A,oD,C,AAED,gD,C,AAID,QACC,A,mD,CAED,wF,AACA,oBACC,A,oD,CAID,A,UACC,yG,AACA,wBACC,A,oD,C,AAED,gD,CAID,A,oD,sLAIA,WACA,A,Q,AACC,6C,CAED,kB,AAGA,UACC,A,+C,CAID,A,U,AACC,8C,CAID,A,QACC,A,6C,CAED,kB,AACA,kBACC,A,8C,C,AAID,UACC,8CACA,A,W,AACC,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,C,AAID,UACC,4EACA,A,Y,AACC,oD,CAED,A,uB,AACC,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wB,AACC,oD,C,AAED,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,UACC,A,gC,CAED,SACA,4F,AACA,UACC,A,4B,CAKD,SACA,A,QACC,I,CAEG,AAAJ,AAAI,uBACH,A,4FACC,M,C,AAFyB,AAAA,YAK3B,A,QACC,I,CAED,oCACA,A,sBACC,A,gC,CAED,A,4B,6BA6CA,AACA,QACC,S,AACD,iBACC,S,AACD,kBACC,S,AACD,6BACC,SACD,A,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,S,AAJD,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACA,AAAI,IACA,AAAJ,uBACC,A,6FACC,AAAA,W,MAEA,2BACA,W,C,AALqB,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,O,AACL,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aAEA,AADA,mBAEC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,SACJ,A,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,OACL,A,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,a,AAEA,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gE,AACA,+BACC,M,C,AAED,sC,AACC,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,aACA,A,wBACC,UACA,gD,AACA,QACC,iE,CAED,mBACA,kB,AACA,sCACC,A,4B,CAID,A,eACC,A,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0B,AACA,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,cACA,A,kBACC,Y,C,AAED,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mB,AACA,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,a,AACA,oC,0JAQK,OACL,aACA,A,yBAEC,cACA,A,0C,CAED,aACA,yGACA,A,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mBACA,A,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,a,AACA,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0BACC,A,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2B,AACA,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kBACA,A,kBACC,c,CAED,QACA,yBACA,+BACI,AAAJ,iCACC,6BACA,0I,AAFiC,AAAA,YAIlC,S,8EAeA,4BACC,W,Q,AAGD,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,a,AACA,iH,C,AAED,gCACC,IACA,+BACA,WACA,K,AACA,8D,CAED,I,AACA,iD,0EAIA,AAAG,gB,gBACF,mB,AACA,iH,C,AAED,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACC,AAAI,sBACH,A,yBACC,mBACA,AAAG,sD,OACF,4E,MAMA,yF,CAED,M,CAZsB,A,AAAA,Y,K,kIAiCzB,UACA,A,iBACC,A,iC,CAGD,WACA,8CAEA,6D,AACA,OACC,A,iC,CAED,0FACI,AAAJ,sB,AACC,yBACC,A,mD,CAFsB,A,AAAA,Y,AAKxB,iC,6G,AClFA,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBI,AAAJ,sBACC,A,wBACC,0B,CAFsB,AAAA,A,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfI,AAAJ,oBACA,0BA6BA,A,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sC,AACC,6B,CAID,IACA,AAAG,0E,sCACF,A,6B,CAED,A,UACC,A,qC,CAID,aACG,AAAH,4V,sCACC,A,6B,CAID,A,gHACC,AAAA,Y,CAED,A,mE,kEClcI,AATJ,AASA,uBACA,KAEA,2BACA,sBACA,A,sC,AACC,iC,CAKD,AAAG,gX,sCACF,A,iC,C,AAED,+I,iFAQA,YACA,6CACC,2dACA,A,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACI,AAAJ,qDACA,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,OACL,A,SACC,A,0C,CAID,0CACA,A,sCACC,A,iC,CAID,AAAI,oBAOJ,IAGA,0UACA,eACA,kDACA,6F,AACA,wC,iSAGK,OACL,A,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slBACC,A,sB,CAIE,AAAH,6C,sCACC,A,a,CAED,0B,AACA,qB,8LAYK,uCACL,A,0BACC,uE,AACA,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAOA,AAHA,wBAIA,AAGA,Y,+CCuDA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,gDAqLA,0B,AACA,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2BACA,A,eACC,Y,CAED,S,mDAgBA,kCACA,A,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LI,AAAJ,SACA,qBACA,A,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,4DA4JA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,S,AACA,eACC,Y,CAED,Y,6DAMA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,kEACA,S,AACA,eACC,Y,CAED,Y,+CAMI,AAAJ,I,AACA,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2CACA,A,eACC,Y,CAED,Y,+CAiSA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,IACA,A,eACC,Y,CAED,Y,uCAMA,qB,AACA,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACI,AAAJ,sBACC,sF,AADyB,AAAA,YAGtB,AAAJ,uBACA,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAGA,AADA,iBAEC,mCACD,A,uBAEC,kBACI,AAAJ,sBACC,A,wBACC,AAAA,W,C,AAFsB,AAAA,YAKxB,S,AACD,4BACC,S,AACD,8B,AACC,UACC,S,CAED,S,CAGD,sBACA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,IACA,A,yCACC,AAAA,WACA,W,CAEG,AAAJ,6BACC,yDACA,gCACA,4FACA,AAAA,W,AACA,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,SACD,A,gBACC,4BACD,A,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACI,AAAJ,IACA,AAAI,eACH,sFADkB,A,AAAA,YAGnB,A,kCACC,S,CAEG,AAAJ,sBACC,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wD,AAmfA,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACI,AAAJ,eACC,IACA,A,iB,AACC,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gB,AAZkB,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;2vEC5qBA,sBACA,0BACA,oBACA,oBACA,A,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,sBCoEA,A,iBACC,a,CAED,kBACA,qB,8RAMI,AAAJ,sBACQ,AAAP,2BACA,WACC,A,wD,AACC,4D,AACC,2E,C,AAED,8BACC,A,2E,C,C,AAIH,iB,AACC,uBACC,A,oCACC,A,2D,AACC,2E,CAED,A,8BACC,A,iF,C,CAGF,A,oCACC,A,gF,C,C,AAIH,iBACC,A,+EACC,A,2L,CAGF,A,iBACC,A,sDACC,A,iF,C,AAED,iF,AAED,iBACC,A,yDACC,A,iF,C,AAED,iFAED,A,iBACC,A,sD,AACC,iF,C,AAGF,iBACC,A,iF,AAED,iB,AACC,iF,AAED,iB,AACC,iF,AAED,iBACC,A,sDACC,A,iF,C,AAGF,kBACC,A,uDACC,A,iF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8D,AACC,gF,C,AAED,0D,AACC,gF,CAED,A,2DACC,A,gF,C,AAED,wD,AACC,gF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,C,AAED,0DACC,A,gF,CAED,A,2DACC,A,gF,C,AAGF,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,CAGD,A,cACC,MACA,A,gCACC,M,CAED,sCACA,A,0E,C,C,C,AAjHyB,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,eACA,A,4BACC,a,C,C,AARsB,AAAA,YAYzB,Y,8BAIA,sH,AACC,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iD,AACC,4B,CAED,A,MACC,K,CAED,A,oC,sCAMA,IACA,AAAI,uBACJ,AAAI,eACH,AAAA,WACA,mJACA,2F,CAGD,A,QACC,I,CAED,A,MACC,iGACC,AAAA,W,CAED,A,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,C,AAED,WACC,M,CAED,KAGA,A,2BACC,sC,C,AAID,2BACC,iC,CAGD,YACA,+BACC,KACA,A,SACC,O,CAED,oF,AACD,mBAEC,KAEA,AADA,aAEC,gBACA,O,AACD,kBACC,+CACA,O,AACD,iBACC,gDACA,O,AACD,cACC,iDACA,O,AACD,eACC,gDACD,A,gBACC,+C,AACD,iBACC,gB,CAED,kBACD,A,mBACC,4EACD,A,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iBACD,A,mBACC,kB,AACD,mBACC,kBACD,A,mBACC,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,kB,AACD,mBAEC,qE,AACA,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iF,AAGC,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,C,AAGF,kB,AACC,cACC,4CACA,M,CAID,+F,AACA,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kFAOA,A,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,C,AAED,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kB,AACC,yBACC,A,0CACC,a,CAED,QACA,QACA,S,C,AAED,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAGA,AACC,IACA,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,W,AACC,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+BACC,A,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mC,AACD,mBACC,mCACD,A,6BACC,2CACA,A,eACC,U,C,AAEF,mBAEC,2B,AACD,mBACC,2B,AACD,uCACC,A,mDACC,iB,CAED,2C,AACA,cACC,Q,CAEF,A,mBACC,wCACA,A,eACC,S,CAEF,A,6BACC,2CACA,A,cACC,S,CAEF,A,6BACC,2CACA,A,eACC,W,CAEF,A,6BACC,4CACA,A,iBACC,W,C,AAID,iDACC,iBACA,cACA,A,yBAEC,M,CAGD,KACA,6B,AAA2C,AAAA,cAE3C,sCACA,kB,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,OACD,A,oBACC,O,MAEA,M,C,AAEF,mB,AACC,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,0FACC,A,gEACC,iBACA,YACA,M,CAED,AAAI,gDACJ,A,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kBAEA,A,eACC,MACA,M,CAED,uG,A,+BAEA,A,eACC,MACA,M,C,AAED,yDACC,MACA,M,CAED,+H,A,+BAEA,A,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAEG,AAAJ,iCACA,2BACA,A,oCACC,2B,CAED,A,oCACC,2B,CAED,sCACA,oBACA,YACA,A,kBACC,O,MAEA,M,CAEF,A,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mDAED,A,kBAGC,sB,AACA,gBACC,MACA,M,CAED,sCACA,kBAED,A,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,CAGF,A,YACC,Y,A,sBAEA,I,CAGD,A,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uFACA,A,kCACC,SACA,qB,CAID,iBACA,qB,CAGD,A,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,C,AAID,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6EAcA,A,eACC,A,gC,CAGD,A,wEACC,A,+B,CAGD,A,6BACC,Q,AACA,+B,CAGD,AAAI,IACJ,AAAI,e,AACH,gBACC,M,CAED,AAAG,kB,eACF,M,CAL0B,A,AAAA,YAQ5B,IACA,+BACC,A,gC,AACD,gBACC,A,yB,AACC,+B,C,AAEF,gBACC,A,yBACC,A,mC,C,AAEF,gBACC,A,mC,CAED,A,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,C,AAED,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACI,AAAJ,eACC,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kBACA,A,eACC,M,CAED,A,mEAEC,A,sD,CAED,iI,AATiB,AAAA,YAWlB,A,2D,mDC1jCK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sDACA,A,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sDACA,A,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFACA,AAeA,uGAMA,iF,AACA,eACC,AAAA,W,CAKD,A,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACC,AAAG,gF,eACF,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uC,AACA,MACC,gC,C,AAGD,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WAEA,AADA,8BAEC,U,AACD,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sCAGA,A,yCACC,AAAA,WACA,qEACA,gEACA,sCAIA,A,yCACC,AAAA,WACA,qEACA,iC,C,C,CAKH,A,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACI,AAAJ,eACC,mCACA,kC,AACA,MACC,AAAA,WACA,iH,CAED,sCAPqB,AAAA,A,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,Y,AACA,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAGA,AADA,sBAEC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,IACA,A,UAEC,AACA,SAEC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,Q,AACA,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACL,AAAI,IAEJ,A,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,CAGD,A,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2N,AAEA,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACF,AAAH,W,kBACC,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6C,AAOA,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,C,AAED,4B,2I,AAoBA,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2C,AACA,gBACC,AAAO,uEACP,gEACC,uD,AACD,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kBACL,A,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iBACA,A,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,KACA,A,QACC,oBACA,AAAA,4E,C,CAMF,AAFA,2JAGC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,I,AACA,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,CAED,A,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,C,AAED,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mG,AACA,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,CAID,A,gOACC,AAAI,4HACH,A,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gIACC,A,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kG,AACA,eACC,sG,AACA,eACC,A,+C,C,C,KAMH,0CACC,0GACA,A,gBACC,A,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,m3N,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kBACA,A,kBACC,2B,CAED,SACA,sCACA,AAAI,wCACH,qH,AADgC,AAAA,YAGjC,S,uGCDK,OAEL,A,4BACC,4BAEA,iC,CAED,iBAEA,IACA,A,SACC,MACA,K,CAGD,eACA,kB,AAEC,mBACC,SACA,AAAI,YACJ,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKF,AAAI,gBACJ,yEACA,qBACA,W,CAED,A,0BACC,A,gC,CAED,A,oC,iJCsDK,OACL,A,e,AACC,+C,CAED,A,yC,4IAeK,OACL,A,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,QACD,A,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,OACL,A,eACC,A,0C,CAED,0BACA,A,QACC,I,CAED,A,yD,AACC,gC,CAED,A,sCACC,kC,CAED,A,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,CAED,A,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,O,AACL,eACC,A,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,C,AAED,4B,sIAMK,OACL,A,e,AACC,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,OACL,A,eACC,A,wD,CAED,4BACA,A,6FACC,kB,CAED,A,sCACC,A,wE,CAED,A,oC,oIAKK,OACL,A,eACC,A,0C,CAED,A,+D,mHAyBK,O,AACL,eACC,uB,CAED,AAAG,sB,sCACF,wC,CAED,iB,4EA+BA,A,QACC,I,CAED,Y,+FChOA,mC,AACA,+BACC,iB,CAED,A,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAEE,AAAH,2B,sCACC,2C,CAED,iB,wHAMK,O,AACL,eACC,A,2B,CAED,AAAG,qB,sCACF,A,wB,CAED,A,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yCACC,A,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,O,AACL,uBACC,uB,CAEG,AAAJ,YACA,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,eACC,A,kD,CAED,AAAI,sCACJ,uBACA,A,sCACC,A,kE,CAED,A,oD,yHAmBI,AAAJ,sCACA,eACA,A,sCACC,A,yD,CAED,A,0C,4FAGK,OACL,c,AACA,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sCACC,A,4B,CAED,e,KAED,A,4B,6HAcK,OACL,A,+BACC,4B,C,AAED,gE,0HAMK,OACL,A,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,C,AAGD,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,OACL,A,+BACC,4B,CAED,A,oE,6IAOK,OACL,A,kD,oFA8CA,gBAEA,mCACC,mBAD8B,A,AAAA,YAI3B,AAAJ,AAAI,uB,AACH,yBACC,wBACA,M,CAHe,A,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+BACD,A,oBACC,iC,AACD,mBACC,+B,AACD,oBACC,gC,AACD,oB,AAEA,oBACC,+B,CAED,A,iCACC,8B,C,AAED,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAED,AAAI,IACJ,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCACL,AACA,AAAI,uBACJ,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,SAGF,A,UACC,oEACA,AAAA,W,CAGD,AADA,kEAEC,A,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,a,AACA,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACA,AAAI,AAAA,uBACH,mJACA,AAAA,iB,AAFgB,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gCACC,A,Y,AACC,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yBAdgB,A,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kC,AACA,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DI,AAAJ,sBACC,A,iBACC,Y,CAED,A,gHACC,2G,CALsB,AAAA,A,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGA,AAAI,AAAA,uBACH,0HACA,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,AAVgB,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,W,AACA,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OACL,AACA,a,AAEA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2FAMD,A,iBACC,a,CAED,A,yG,AAEC,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAID,AAAI,qBACH,6EACA,A,SACC,AAAA,2JACA,YACA,O,C,AALuB,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACA,AAAI,0BACH,uL,AADgC,AAAA,YAGjC,cACC,gC,AADe,AAAA,YAGhB,A,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6G,AACA,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8B,AACC,a,C,AAED,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,IACA,A,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kB,AACC,iB,CAED,4EAGA,A,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iF,AACA,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,IACJ,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qIAKA,A,2X,AAEC,iB,CAED,A,gB,6JAOK,OAML,AACA,AAGA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,W,AACD,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACA,AAAI,2C,AACH,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAID,AAAI,uBACJ,KACA,AAAI,iBACH,iGACA,4DACA,AAAA,WACA,wFACA,M,CAED,AAAI,kBACH,mLAD2B,A,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gCACA,A,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGD,AAAI,0BACH,A,kHACC,aACA,M,C,AAHyB,AAAA,cAM3B,Y,kI,AAYA,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,C,AAJY,AAAA,Y,AAOd,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEC,AAAI,uBACJ,KACA,AAAI,qDACH,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gL,AADmB,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,c,AAEA,gBACC,qDACA,Y,C,AAED,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGI,AAAJ,KACA,AAAI,kDACH,A,sFACC,MACA,M,CAED,kC,AALmC,AAAA,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEG,AAAH,wF,gEACC,aACA,aACA,YAGA,0D,C,AAZ6B,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACJ,AAAI,SACJ,IACA,WACC,kCACA,KACD,A,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,QACD,A,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,CAGD,A,OACC,yB,CAGG,AAAJ,0BACA,QAEA,MACA,A,MAEC,eACA,qEACI,AAAJ,wBACA,eACA,2B,AACA,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qBACD,A,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,aACD,A,4BACC,A,UACC,I,CAED,K,C,AAED,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,CAGF,A,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,M,AACA,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qBACD,A,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mB,AACD,0BACC,A,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mB,AACD,0BAEC,IACA,A,uBACC,O,C,AAKD,MACC,I,CAED,YACA,A,e,AACC,WACC,O,CAED,sD,C,AAED,WACC,O,CAED,iC,CAID,uB,0EAQA,A,8BACC,OACA,O,CAiBD,cACA,A,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,I,AACJ,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wBACJ,A,WACC,6E,MAEA,K,CAED,6E,AACA,WACC,6E,MAEA,K,CAKD,8CAIA,oDAKA,AADA,UAEC,gBACA,O,AACD,YACC,oBACA,OACD,A,aACC,kBACA,O,C,AAjCoB,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,YACA,A,aACC,I,CAED,A,QACC,KACA,K,MAEA,K,CAED,eAGA,AAAI,uBACJ,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,e,AAE/B,MACC,gB,CAID,A,WACC,AAAI,IACA,AAAJ,0BACC,0GADgC,AAAA,A,YAGjC,cACC,gBADe,A,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACI,AAAJ,eACC,KACA,AAAG,Y,iBACF,+F,CAED,e,AALqB,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,C,AAED,MACC,AAAA,WACA,oE,CAED,8C,mB,AAIA,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,KAEA,A,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,C,AAED,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGK,AAAG,uE,QAET,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iIAGA,A,MACC,AAAA,WACA,oE,C,AAGD,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,IACA,A,WACC,wC,C,AAED,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,CAY3B,A,2BACC,gBACA,0BAd0B,AAe1B,0B,CAED,A,M,AACC,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,MAEA,AACA,SACC,gDACA,2EACA,uE,AACD,oBACC,QACA,AAEA,gDACA,AAAI,iBACH,4EADoB,A,Y,AAFtB,kBACC,gDACI,AAAJ,iBACC,4E,AADoB,Y,MAIrB,gDACA,AAAI,iBACH,4EADoB,A,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,Q,AACC,cACC,a,CAED,S,C,AAED,cACC,a,C,AAED,4CACC,a,C,CAGF,Y,+CAIA,SACA,AACA,iBACC,A,qC,AACD,wB,AACC,6C,AACD,uBACC,A,6C,CAED,Y,yHAmBO,AAAP,kBACA,kCACC,iBACA,gBACD,A,iBACC,wCACA,A,wE,AACD,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,IACD,A,iBACC,I,AACD,kBACC,K,AACD,kBACC,KACD,A,kBACC,K,AACD,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,I,AACD,kBACC,I,AACD,iBACC,I,CAED,AAAI,IACJ,A,eACC,iBACA,gB,CAED,AAAI,eACH,qC,AACA,QACC,iBACA,gB,CAED,cANkB,A,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,OACD,A,yEACC,gBACA,A,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mB,AANkB,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,K,AACD,iBACC,K,AACD,yBACC,A,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,WACA,A,Q,AACC,0C,CAED,kBACA,A,oC,AACC,0C,CAED,0BAEA,A,WACC,A,aACC,A,0C,CAED,A,oC,CAED,A,6B,AACC,0C,CAED,A,aACC,A,0C,CAID,A,wBACC,IACA,WACC,A,oCACD,A,iBACC,wCACA,A,iDACC,A,oC,C,C,CAKC,AAAJ,uBACA,uHACA,kBACC,+CACA,A,uC,AACC,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,CAED,A,gCAEC,A,8C,C,CAGF,A,yD,yBAKA,AAAI,sBACH,A,wBACC,Y,C,AAFsB,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,W,AACC,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,C,AASD,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,CAED,A,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,Y,AACD,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0DAFgC,A,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,C,AAED,SACC,uD,CAED,A,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qC,AAIA,oCACC,8B,CAED,kB,AACA,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wBACD,A,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2BACD,A,iBACC,2BACD,A,yBACC,sB,AACD,iBACC,sCACD,A,iBACC,4B,AACD,iBACC,4B,AACD,mCACC,uBACD,A,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,aACA,A,2BACC,a,CAED,sDACA,A,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,a,AACA,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,aACA,A,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,eACJ,A,uBACC,+B,CAGD,AAAI,QACJ,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kBACC,A,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,MACJ,A,uBACC,wBACA,A,iCACC,qE,CAED,8GACA,A,0CACC,4D,CAED,qBACA,A,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8GACA,A,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,M,AACnB,gBACC,gD,C,AAED,oCACC,6G,CAED,A,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,aACD,A,kBACC,8BACD,A,kBACK,AAAJ,6BACC,A,oCACC,a,CAF4B,AAAA,A,c,CAM/B,Y,mJAGK,QACL,A,8CACC,0D,CAED,8GACA,A,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,QACL,A,+CACC,c,CAED,A,gCACC,iBACA,A,qDACC,iBACA,sCACC,oCACD,A,2BACC,qC,AACD,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UACA,AACC,KACA,Q,AAED,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,CAGD,A,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,C,AAED,kBACC,wE,C,MAGD,A,oBACC,AAAA,a,CAED,A,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGF,AAAI,kBACH,AAAG,8H,yBACF,kF,C,AAFiB,AAAA,cAKnB,A,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACG,AAAH,a,yBACC,0F,CAED,qBALkB,A,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,cACA,A,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,cACD,A,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oB,AACD,2BACC,2C,CAED,2C,oHAGK,QACL,AAAO,gCACP,YACC,e,AACA,mBACC,8B,CAED,qBACA,sCAED,A,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qB,AACA,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qB,AACA,0CACC,iB,CAED,8BAEA,U,AACA,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,UACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iBACA,A,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mCACD,A,kBACC,2C,AACD,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uC,AACC,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,SACD,A,kBACC,A,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uCACA,A,gCACC,iBACA,YACC,+BACD,A,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QAEJ,AADD,KAEC,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,AAED,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,C,AAGD,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAEM,AAAP,gCACA,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mB,AACA,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sBACA,A,sCACC,A,6D,CAED,A,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,4D,AACC,wE,C,MAGF,c,6HAMK,QACL,A,mBACC,oBACA,sB,CAED,mC,kIAGK,QACL,A,mBACC,oB,AACA,qC,CAED,A,kD,qJAGK,QACL,A,mBACC,oB,AACA,iE,CAED,A,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,QACL,A,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mB,AACD,kBACC,eACA,mBACD,A,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,QACL,A,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,Q,AACL,wBACC,mE,CAED,iBACA,8B,iIAGK,QACL,A,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,QACL,A,wBACC,uD,CAED,eACA,uB,wGAGK,QACL,A,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,eACD,A,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uB,AACA,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAEG,AAAJ,UACA,8CACC,8GACA,A,wBACC,A,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,C,AAED,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oIACC,A,SACC,WACA,A,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,CAID,A,WAEC,A,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,C,AAMD,yCACC,c,CAED,iB,AACA,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uF,AACA,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,S,AACA,eACC,6CACC,6GACA,A,oCACC,QACA,c,CAED,A,wBACC,A,uE,C,M,CAIH,A,QACC,c,CAED,A,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,Q,AACL,oCACC,qE,CAED,sBACA,4B,mIAGK,QACL,A,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oBACA,A,2BACC,Y,CAeD,A,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8GACA,A,8FACI,AAAH,AAAG,a,2BACF,Y,C,CAL6B,A,AAAA,cAShC,a,CAGD,8BACA,A,gBACC,a,CAED,KACA,AAAI,kCACH,8GACA,8GACA,A,+FACC,AAAG,AAAA,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4E,AAED,kBACC,eACA,e,AACA,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wIACC,A,mHACC,a,C,MAGF,Y,AAED,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,aAED,A,kBACC,oF,AAED,2BACC,8C,AAED,kBACC,iBACA,iBACA,A,+CACC,a,CAED,6CACC,6GACA,6GACA,A,gJACC,a,CAED,A,kKACC,a,CAED,A,uBACC,a,CAED,A,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,Q,AACL,6CACC,iE,C,AAED,gCACC,qB,CAED,c,wGA+DK,Q,AACL,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wCACL,A,WACC,2B,CAED,A,2BACC,qF,C,iJAOI,wCACL,A,WACC,2B,C,AAGD,2BACC,qF,CAED,A,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4DACD,A,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,SACC,A,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACL,AAAG,2D,OACF,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qCACD,A,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+B,AACD,iBACC,+BACD,A,iBACC,+B,AACD,iBACC,+B,AACD,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,QACL,A,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8BACA,A,WACC,8B,CAED,WACA,sCACA,8B,AACA,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACA,AAAJ,0BACC,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,OAjBsB,A,AAAA,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,C,AAED,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,C,AAED,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,CAED,A,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kCACD,A,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,c,AACD,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACO,AAAP,gCAGA,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gBACD,A,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wD,AACD,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,A,oBACC,2BACA,O,CAED,iCACA,sDACI,AAAJ,K,AACA,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACA,AAAO,gCAGP,WACC,2B,AACD,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,2B,AACD,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,C,AAED,uBAEC,c,CAKD,sB,AACA,uBAEC,wBACA,A,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gC,AACD,iBACC,gC,AACD,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gC,AAED,wB,AACC,WACC,S,CAED,gB,AACA,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,Q,AACL,iCACC,oB,CAED,0BACA,A,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,CAGF,A,2BACC,aACA,2CACC,UACD,A,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,CAGF,A,kBACC,A,+CACC,oBACA,WACC,UACD,A,iBACC,U,C,CAIH,A,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,CAMH,A,cACC,U,CAID,A,kHAGC,U,C,AAGD,cACC,A,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gBACA,A,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EA,AAAI,gBACH,sFACA,sF,AAFsB,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,WACA,A,QACC,A,uB,AACC,sC,CAED,A,MACC,A,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,O,AACL,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,OACL,A,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,OACL,A,MACC,S,MAEA,S,C,wJAMI,OAEL,A,oEACC,O,CAGG,AAAJ,gCACA,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,I,AACA,2BACC,SACA,sB,A,6EAEA,Q,AACA,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,C,AAEF,qCACC,8CACC,AAAA,WACA,oJACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,C,AAID,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,C,AAGF,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,C,AAGD,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,OACL,A,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,YACA,A,eACC,W,CAED,8CAEI,AAAJ,SACI,AAAJ,eACC,A,0BACC,gB,C,AAED,kDACC,kB,CAED,AAAI,IACJ,A,eACC,kB,MAEA,uF,CAED,uE,AAbkB,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,KACJ,A,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACD,AAAJ,SACA,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iBACC,A,oBACC,4BAAe,qB,QACf,sB,C,CAMF,A,4DACC,A,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wBACD,A,kBACC,8B,AACD,iBACC,6B,AACD,0BACC,8BACD,A,kBACC,+B,AACD,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,IAtBa,A,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yD,AACA,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2BACD,A,iBACC,4B,AACD,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,aACA,A,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAED,AAAI,yDACH,kDACA,OAFiE,A,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2C,AACA,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0D,AACD,iBACC,U,AACD,2BACC,2D,AACD,kBACC,0D,AACD,kBACC,A,uFACC,gB,MAEA,a,CAEF,A,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mC,AACD,kBACC,qF,AACD,kBACC,A,0BACC,kB,MAEA,qF,CAEF,A,kBACC,oF,AACD,kBACC,A,uFACC,yC,MAEA,a,CAEF,A,kBACC,qF,AACD,iBACC,qFACD,A,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kB,AACD,kBACC,iBACD,A,iBACC,iBACD,A,0BACC,iBACD,A,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oBACD,A,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,C,AAEF,kBACC,e,AACD,kBACC,mCACD,A,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yB,AACC,0BACC,A,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sH,AACC,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,qC,KAED,A,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGG,AAAJ,IACA,WACA,mDACC,c,MAEA,aACA,O,CAGD,A,0BACC,UACA,iHACA,UACA,U,AACA,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACF,AAAH,a,sCAII,AAAH,e,+BACC,2FACA,O,C,AAID,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uBACA,A,MACC,yBACA,2B,CAED,wB,AACA,MACC,0BACA,4B,CAED,Y,4IAKK,OACL,A,MACC,0BACA,0B,CAED,A,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGE,AAAH,2C,MACC,OACA,0FACA,uDACA,cACA,S,C,AAID,0BACC,AAAG,2C,MACF,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,S,AAED,wCACC,OACA,uDACA,wCACA,S,C,C,C,AAIH,iB,0OAGK,OACL,QACA,oCAEA,A,mCACC,A,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oDACA,A,iBACD,A,kBACC,6BACA,A,iB,CAID,IACA,0CACC,e,AACD,mDACC,kB,AACD,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8BACD,A,gDACC,8B,AACD,iDACC,8BACD,A,iDACC,8B,AACD,iDACC,gB,AACD,gDACC,gC,AACD,iDACC,gC,AACD,kDACC,gC,AACD,kDACC,gC,AACD,kDACC,iB,AACD,mDACC,yD,AACD,kDACC,iBACA,uB,AACD,6CACC,4BACA,U,UAGG,AAAH,uB,MACC,A,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iBACC,A,wBACC,2F,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,iDACA,A,iB,AACD,kBACC,kB,AACA,iB,CAKD,gBACA,A,qBACC,oB,CAED,AAAG,uB,MACF,A,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UAEO,AADR,AACC,yBACA,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wBACD,A,yBACC,A,wBACC,0B,MAEA,0B,CAEF,A,yBACC,A,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0B,AACD,iBACC,A,0BACC,iHACA,A,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACA,AAAI,0BACH,A,Q,AACC,0BACC,2F,MAEA,gG,C,CAGF,A,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iG,AACD,iBACC,WACA,A,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,CAEF,A,yBAMC,AAAG,W,6FACF,AAAI,SACJ,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAED,AAAI,qBACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kCARwB,A,AAAA,YAUzB,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,cAGA,A,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAGF,AAEA,kB,AADD,iCACC,kB,MAEA,iB,EAED,U,AACA,a,oIAKA,IACA,A,gBACC,4HACA,S,CAED,c,iEAWA,AAAI,sBACH,A,yBACC,iC,AACA,mB,AACC,+C,CAED,A,mD,CAN2B,A,AAAA,Y,AAS7B,0C,+FAMK,O,AACL,2CACC,A,0C,CAED,iBACA,0CACA,A,iBACC,A,8C,CAED,mBACA,A,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBACD,AACC,aACC,kBACA,WACC,0B,AACD,iBACC,yB,AACD,iBACC,yB,AACD,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iE,AACA,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iEACA,A,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,CAKH,A,OACC,oD,CAGD,A,SACC,4FACA,S,CAED,qDACA,W,AAEA,WACC,gGACA,S,C,AAED,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,CAED,A,wBAEC,0BACA,0B,C,CAGF,kB,CAMD,A,8BACC,2FACA,mBACC,uFACA,A,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,C,AARqB,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sB,AAViC,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,OACL,A,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uCACA,A,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,OACL,A,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6BACA,A,sCACC,A,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACC,AAAG,a,sCACC,AAAH,kD,MACC,Q,MAEA,U,C,C,QAIH,A,8BACC,K,CAED,2BACA,eACA,Y,wL,AAmBA,aACC,a,CAED,eACA,8HACC,A,WACC,a,CAED,A,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,eAEjB,A,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,C,AAED,2BACC,S,C,AAED,WACC,A,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,OACL,A,MACC,mB,CAGD,YACC,cACA,A,WACC,M,C,AAED,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,c,AACA,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gDA8SA,A,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACI,AAAJ,iCACC,wF,AAD8B,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8GAD6B,AAAA,A,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oB,AACA,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,Y,AACJ,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACA,AAAG,e,+CAEF,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0IACA,A,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,C,AAED,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yBACA,A,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iB,AACA,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4D,AACA,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eACA,AACA,4B,iIAGK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACI,AAAH,O,sCACC,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2CACA,A,mGACC,AAJ2B,AAAA,oB,CAM5B,6C,AAN4B,AAAA,Y,AAa7B,kBACC,iB,CAED,iCACA,qHACA,iB,6MCtEA,AACA,AAEA,mDACA,A,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAGD,AACA,iBACA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2IAN6B,AAAA,A,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACI,AAAJ,eACK,AAAJ,eACC,uJ,AADkB,AAAA,Y,AADD,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gCACA,A,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,O,AAEL,UACC,2CACA,iBACA,M,C,AAGD,uBACC,wD,CAID,AAAI,iBACH,gDACA,A,QACC,U,CAED,eACA,A,sCACC,QACA,O,CAED,A,QACC,O,C,AAXwC,AAAA,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGG,AAAJ,YACA,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,YACA,A,UACC,A,sC,CAED,A,cACC,A,0C,AACC,sC,C,AAED,6BAGC,iCACA,A,QACC,U,C,AAED,QACC,gHACA,kB,C,AAED,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iBACC,A,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kB,AACA,oC,gHAIK,OACL,A,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kB,AACA,cACC,A,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEI,AAAH,0C,SACC,yCACA,sBACA,M,C,AAID,0CACC,2BACA,QACA,cACA,M,CAID,A,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gCACA,A,4CAEC,A,gI,AAGC,YAEC,mE,CAED,AAAA,eACA,kC,CAED,A,iD,C,AAGD,kBACC,A,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGD,AAAJ,QACA,AAAI,SACJ,YAEA,YACK,AAAJ,YACA,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oB,AACA,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGE,AAAH,kD,MACC,6BACA,kD,AACA,4B,CAGE,AAAH,iD,MACC,iCACA,kDACA,A,4B,CAGD,A,+BACC,S,CAGD,eAEC,8BACA,qDACA,A,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kDACA,A,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iB,AACA,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mEACA,A,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iBACL,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,A,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,C,AAED,oBACC,gB,C,AAED,oBACC,gB,CAED,A,oBACC,gB,CAED,A,qCACC,e,CAED,S,4GAIK,iBAAmB,cACxB,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,c,AACrB,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mB,AAChC,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,O,AACL,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,OACL,A,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,O,AACL,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,O,AACL,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,OACL,A,mBACC,Y,CAED,0BACA,AAAI,qCACH,AAAI,e,AACH,8GACC,a,C,AAFmB,AAAA,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+B,AAIA,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,O,AACL,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+B,AAIA,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,OACL,A,0BACC,iB,C,AAED,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,O,AACL,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+BAIA,A,cACC,kD,CAID,+BACA,uF,0IASK,OACD,AAAJ,uBACA,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,OACL,A,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+BAIA,A,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2DACA,A,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sCACC,A,UACC,A,mCACC,IACA,sCACC,SACA,OACD,A,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6C,AACC,eACC,O,C,C,MAGI,AAAG,uC,MACT,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4CACC,A,yDACC,iB,C,CAIF,oCACA,2CACA,A,eACC,yCACA,8C,CAGG,AAAJ,uCACA,0BACA,0BACA,AAAI,0BACH,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAED,AACA,WACC,A,U,MAGC,8D,CAEF,A,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,C,AAjCoB,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACA,AAAI,kCACC,AAAJ,eACC,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kB,AAb+B,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACI,AAAJ,eACC,6HACA,6HACA,6HACA,6H,AAJoB,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mC,AAHkC,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBACA,AACC,gBACA,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,W,AAvBa,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gB,AACJ,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,WAHa,A,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+Q,AAlB6B,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEI,AAAJ,2BAEC,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yH,AAV6B,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sGALqB,A,8C,AAJS,+B,AAYjC,gBACC,AAAI,2CACH,qCACA,oEACA,kJACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0GAN+B,A,oD,AAJD,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oDAJD,A,mC,AAajC,gBACC,AAAI,2CACH,qCACA,oEACA,sPACA,AAAI,wBACH,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oD,AAJS,mC,MAahC,A,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACA,AAAI,gDACH,AAAI,2BACH,uGACA,A,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oCACA,A,4D,AACC,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACI,AAAJ,wBACC,AAAI,wDACH,SACA,A,sCACC,+B,CAED,0DACA,A,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,C,AA7BwC,qDAgC1C,2B,AAjCqB,oD,gBAuCtB,A,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACA,AAAG,sC,MACF,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMG,AAAJ,8B,AACA,MACC,0BACA,0B,CAID,iCACI,AAAJ,6BACC,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,CAGD,A,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OAjCuB,AAkCtB,AAlCsB,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sC,AAEA,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SAvEwB,AAAA,A,cA2EzB,A,MACC,wBACA,sCACC,+G,M,CA/EsB,A,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,a,AACA,YACC,iKACA,qM,CAED,S,iIAaK,OACL,AAAG,qB,sCACF,S,CAED,6C,oIAGK,OACL,AAAG,qB,sCACF,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOA,AAAG,sC,wCACF,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,O,AACL,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0CACA,A,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8CACA,A,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;0+BC/DK,OACL,4DACA,A,OACC,O,CAED,uF,kHAGK,OACL,4DACA,A,OACC,O,CAED,wF,4GAGK,OACL,uBACA,IACA,UACC,qBACD,A,gBACC,qB,AACD,gBACC,qB,C,kHAII,OACL,uBACA,IACA,UACC,sBACD,A,gBACC,sB,AACD,gBACC,sB,C,kHAII,OACL,gC,qFC5CA,mC,yBAIA,K,sJAIA,YACA,8DACC,U,QAED,gE,8MAIA,0DACA,kCACC,0D,qB,4E,6BASD,a,gC,oKAQA,YACA,+CACC,U,OAED,gEAEA,mBACA,4CACC,0BAEA,A,UACC,a,CAGD,A,mBACC,a,CAGD,A,uBAEC,a,CAED,Y,OAGD,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCACA,wCACC,U,OAGD,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,4CACC,0BACA,aACA,a,OAED,0CACC,0BACA,WACA,a,OAED,8CACC,yBACA,eACA,a,OAED,4CACC,yBACA,aACA,a,OAED,0CACC,a,O,mEAMD,gDACA,A,UACC,I,CAED,S,qEAIA,mBACA,gCAEA,WACA,eACA,gBACA,UAEA,SACA,SACA,6CACA,8CACA,8IACA,6IAEA,0DACC,4BACA,4DACA,gCACA,+BACA,uL,OAED,UAEA,A,oC,4G,gE,gE,gE,u8C,87C;swGClJA,UACA,A,qBACC,mE,CAGG,AAAJ,sBACC,AAAI,eACH,gCACA,oB,AAFoB,AAAA,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGG,AAAJ,sBACC,AAAI,eACH,IACA,AAAI,sBACH,oC,AADsB,AAAA,YAIvB,A,iBACC,qB,CAED,oB,AAToB,AAAA,YADC,AAAA,A,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,c,AACpB,mBACC,e,CAED,6BACA,SACA,a,wHAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,6HC/CI,AAAJ,SACI,AAAJ,YACA,6BACK,AAAJ,SACA,mDACA,A,sCACC,O,CAED,wB,IAED,A,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,c,AACrB,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJAFwB,A,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,gB,mHAIK,OACL,A,mBACC,e,CAED,mJ,sHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iB,AACD,gBACC,gB,CAED,iC,yCCdA,sD,AACA,sCACC,iB,CAGD,8C,AACA,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACL,AAAG,gC,sCACF,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC3CA,iD,AACA,sCACC,iB,CAED,kC,mDAGK,O,AACL,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2FACA,A,wE,kIAGK,OACL,2FACA,A,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,OACL,A,6D,4HAGK,OACL,A,eACC,uD,CAED,eACA,A,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6C,AACA,gD,oJAGK,OACL,6CACA,6B,AACA,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,UACC,A,iF,CAED,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,O,AACL,sBACC,2BACC,AAAI,YACJ,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,6SC5LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,IACA,qBACA,kCACC,mEACA,A,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAED,AAAG,iC,sCACF,S,CAED,mBACC,iBACA,A,sCACC,O,CAED,gB,IAED,A,sCACC,S,CAID,qBACA,AAAA,WACA,A,oIACC,yJAEA,IACA,I,C,qB,qT,gE,gE,gE,gE,gE,gE,gE,gE,25J;;i5F,ACrEF,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACI,AAAJ,IACA,AAAI,iBACH,AAAI,IACJ,AAAI,IACJ,AACA,4BAEC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2F,AAzBwB,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2F,AAF6B,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACA,AAAJ,gBACA,kHACC,A,UACC,a,CAED,A,iBACC,I,C,AAED,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,IACJ,A,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACJ,AAAI,gB,AACH,WAEC,UACA,A,UACC,a,CAED,4BACI,AAAJ,uBACC,4LACA,uBACA,gBACA,6GACA,qIAL0C,AAAA,A,a,CAQ5C,sEACA,mEACA,YACA,8B,AAnBuB,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACC,AAAI,oBACH,uFAD2C,A,+C,MAI5C,2GACA,A,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACC,AAAG,mB,0CACF,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,U,C,mGAII,O,AACL,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6BACA,A,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACC,AAAG,e,sCACF,S,C,CAGF,qLACA,iCACA,kBARsB,AAAA,A,YAUvB,AAAI,gBACH,oKADmC,A,AAAA,Y,AAGpC,gDACC,2C,CAKD,AAAI,gCACH,gC,AACA,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mB,AACA,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,W,AAFoB,AAAA,c,C,AAMtB,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACA,AAAJ,IACA,AACA,UACC,2GACA,AAAA,iBACA,A,iBAEC,gDACA,O,CAED,SACD,A,kBAEC,2CACA,O,AAED,gBACC,WACA,IACD,A,gBACC,kBACA,I,AACD,gBACC,mBACA,IACD,A,gBACC,mBACA,I,AACD,gBACC,oBACA,IACD,A,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,IACJ,A,kBACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAIF,AACA,QACC,AAAA,WACD,A,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iCACA,A,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,OACL,A,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gB,AACA,QACC,I,CAED,2EACA,oF,AACA,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,O,AACL,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+BACA,A,sC,AACC,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACC,AAAG,e,sCACF,Y,C,CAGF,kGACA,qBACA,A,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,CAGF,A,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYI,AAAJ,0BACA,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWI,AAAJ,0BACA,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,e,AACA,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,C,AAED,kB,AACC,oC,CAGD,uCACA,iC,AACA,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,QACA,A,4B,CAGD,iIACA,A,8BACC,uB,AACA,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mCACA,A,MACC,yDACA,A,sCACC,S,CAED,iIACA,A,2BACC,0B,C,CAGF,A,gDACC,A,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACA,AAAI,iBACH,UACA,AAAI,eACH,A,oBACC,wB,MAEA,6B,CAJiB,A,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uB,AACA,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACJ,AAAI,eACH,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,O,AACA,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,Y,AAFG,AAAA,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6FAG1C,A,QACC,S,CAED,S,0EAGK,OACL,A,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2CACA,A,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wDACA,A,aACC,mC,CAED,0CACA,A,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,OACD,A,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,AACD,gBACC,QACD,A,gBACC,O,AACD,gBACC,Q,CAEF,A,iBACC,WACA,UACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4a,AADmB,AAAA,YAGpB,AAAI,iBAMH,2J,AANqB,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,O,AACL,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uCACD,A,wBACC,uC,AACD,sCACC,A,wBACC,mC,CAED,AAAI,eACH,wIACA,2OAFkB,AAAA,A,Y,AAIpB,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAID,AAAG,sD,sCACF,Y,CAED,8D,AACA,6DACC,yC,CAED,cACA,0C,CAED,A,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+BACA,A,sCACC,oB,CAED,2CACA,AAAI,Y,AACJ,oBACC,2C,A,0BAGA,kDACA,AAAI,eACH,2CACA,A,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACA,AAAI,mDACH,A,YACC,kC,CAED,qD,AAJiC,AAAA,YAMlC,A,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACL,AAAI,IACJ,IACA,AACC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6B,AACA,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,I,AACD,iBACC,KACA,8BACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEI,AAAJ,iBAEC,6BACA,A,uCACC,qB,CAID,mBACA,mBACA,2FACA,W,AAEA,iBACK,AAAJ,0BACC,mT,AADsC,AAAA,cAGxC,A,iBACC,oIACC,8M,M,AAEF,iBACK,AAAJ,iBACC,gY,AAD8B,AAAA,cAG3B,AAAJ,0BACC,mgB,AADsC,AAAA,cAGxC,A,iBACC,W,MAEA,2C,CAID,QACA,WACC,AAAI,iBACH,+LACA,AAAI,+BACH,wEACA,sCAFoC,A,AAAA,cAFf,A,c,AAOxB,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,uEACA,sCAFoC,A,AAAA,cAFf,A,c,AAOxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2J,AAFsB,AAAA,c,AAIxB,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,a,AANsB,AAAA,cAQvB,kB,AACD,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,cAFf,A,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mB,AACA,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,cAFf,A,cAWxB,A,kB,AACC,iCACK,AAAJ,iB,AACC,uHACC,wI,CAFqB,AAAA,A,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kB,AACD,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,c,AAIxB,kBACC,AAAI,iBACH,2QACA,2QACA,mDAHsB,A,AAAA,cAKxB,A,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oDAJsB,A,AAAA,c,AAMxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGAEC,AADD,SAEC,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACI,AAAJ,+BACC,6FACI,AAAJ,+BACC,kCACA,sDACA,aAHwC,A,AAAA,c,AAFD,AAAA,c,8IAUpC,OACL,eACA,+BACA,A,sCACC,A,a,CAED,A,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,e,AACC,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,sB,AACD,qB,AACC,uDACC,gB,CAED,UACA,sB,AACD,qB,AACC,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACF,AAAH,sD,sCACC,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIG,AAAH,kB,sCACC,A,+BACC,qB,CAED,oB,CAED,wBACI,AAAH,iB,sCACC,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kDACA,A,sBACC,M,C,AAED,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,cACD,A,gBACC,eACD,A,gBACC,c,AACD,sCACC,YACD,A,iBACC,e,AACD,iBACC,gB,AACD,iBACC,iB,AACD,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;8a,gE,gE,gE,gE,gE,gE,gE,gE,gE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+B,AACA,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,Y,AACC,uBACC,yBACA,+BACA,oB,C,AAED,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sCACC,A,+BACC,qB,CAED,QACA,O,CAED,AACA,cAEC,iGACA,AAAA,eACA,A,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,SACD,A,oBACC,UACA,YACA,O,AACD,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wCACA,A,qBACC,A,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wC,AACD,gBACC,wC,MAEA,kCACA,S,CAED,A,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,OACL,A,0CACC,gB,CAED,A,kBACC,oB,CAED,A,wBACC,AAAI,IACJ,mC,AACA,0CACC,gB,CAED,A,UACC,YACA,gB,CAED,qCACG,AAAH,qC,0CACC,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEL,AAAG,sC,MACF,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+BACA,A,sCACC,S,CAED,IACA,WACC,AAAG,oB,sCACF,S,C,AAGF,iBACC,2CACA,A,sCACC,S,CAED,qCACA,A,MACC,yC,AACA,sCACC,S,C,MAGD,2B,C,AAED,qEACC,A,OAEC,uD,CAED,8K,CAED,+B,AACA,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sCACF,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAEE,AAAH,0D,gDACC,A,uCACC,U,CAED,S,CAID,A,0BACC,iIACC,A,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iBACC,A,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oD,AACA,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,O,AACL,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+BACA,A,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8B,AACD,kB,AAEA,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,CAED,A,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8BACA,A,+CACC,S,CAED,A,4BACC,gD,C,CAGF,YACC,8B,AACA,+CACC,S,C,C,kIAKG,OACF,AAAH,sD,sCACC,mE,CAED,iBACA,gD,AACA,+BACC,4BACA,2B,CAED,iB,0JAGK,OACF,AAAH,sD,sCACC,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+BACA,A,+CACC,Y,CAED,oD,sGAkBI,AAAJ,SACA,kBACA,kBACA,oBACA,IACA,4HACC,eACA,AAAI,qBACH,gEACA,WACA,uBAH4B,A,iB,KAM9B,Q,sCAMA,AAAI,wBACJ,AAAG,oB,sCACF,oB,CAED,mH,0CA4BA,AAAI,wBACJ,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yB,AACA,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sC,AACC,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,OACL,A,oBACI,AAAH,wB,sCACC,Y,C,CAGF,8BACA,2CACA,yBACA,sEACA,A,gBACC,4C,CAED,oB,8OAKK,OACL,WACC,A,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wB,AACA,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,KAED,A,iBACC,8C,CAED,A,iBACC,mD,CAED,+BACA,A,QACC,qC,CAED,AAAG,mD,sCACF,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACA,AAAI,gFAMH,qDACA,wIACA,AAAI,2DACH,mG,AADgC,AAAA,oBAGjC,AAAA,YACA,AAAA,YAZiC,AAAA,A,Y,AAFF,AAAA,aAmB7B,AAAJ,sBACA,wGACC,A,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,CAGD,A,oCACC,AAAG,mB,2DACF,A,uEACC,Y,CAKD,0BACA,c,O,OAGC,AAAH,mJ,eACC,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qC,AACH,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2C,AACA,yFACC,mR,CAED,2BAd8C,A,AAAA,YAgB/C,oC,6IAGK,OACL,A,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,O,AACL,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,AAdiB,AAAA,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6G,AA9DkB,AAAA,YAkEf,AAAJ,iBAMC,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iHAlDkB,A,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2BACA,A,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sBACA,A,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sCACF,A,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sB,AACA,iBACC,A,4B,CAED,A,4G,AACC,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6BACA,A,sCACC,A,4B,CAED,A,iBACC,sBACA,A,oC,CAGD,6BACA,A,sCACC,sBACA,A,4B,CAED,sBACA,A,eACC,A,mC,CAED,A,sC,qIAKK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,yBACA,A,QACC,I,CAED,2BACA,WACA,A,UACC,M,CAED,AAAG,W,sC,AACF,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAEG,AAAJ,qBACC,6KACA,8KACA,A,gBAYC,kFACA,kFACA,AAjBuB,AAAA,oB,CAmBxB,+FACA,sGACA,kGAKA,A,UACC,A,uDACC,6C,C,A,sBAGD,6C,C,AA/BuB,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACC,AAAG,4C,sCACF,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,a,AAgBrB,eACC,qC,CAED,iB,qHAIK,O,AACL,eACC,qC,CAED,AAAG,2C,sCACF,S,CAED,4CACA,iB,6HAIK,OACL,MAGG,AAAH,2C,sCACC,oB,CAED,A,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oC,AACA,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6BACA,A,sCACC,oB,C,CAGF,A,YACC,M,CAED,A,mBAOC,S,CAKD,AAAG,2C,sCACF,oB,CAED,gD,AACA,QACC,gD,CAGD,AACA,yBACC,sBACA,kBACA,A,MACC,oB,CAEF,A,kBACC,kBACD,A,kBACC,kB,AACD,kBACC,kBACD,A,kBACC,kBACD,A,oCACC,c,MAEA,0B,CAED,A,sCACC,oB,C,CAGF,A,uBACC,yB,CAED,A,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACD,AAAH,0B,sCACC,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IACJ,AACA,qBACC,I,AACD,2BACC,I,AACD,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,O,AACL,gBACC,mC,CAED,A,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,C,AAlBqB,AAAA,YAsCvB,kC,AACA,kBACC,2GACA,2GACA,2HACA,wHACA,A,sCACC,8C,CAED,A,2BACC,wE,CAED,A,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACC,AAAI,iBACH,mFACA,A,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBACA,AAEC,sBACA,wBAKA,sBACA,KAED,AAAI,kBACC,AAAJ,kBACC,AAAI,iBACH,mFACA,kLACA,AAAI,gM,AA0BH,eACC,0M,AACA,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,aACA,A,4CAvCuD,AAAA,AAwCtD,sB,C,CAKF,A,kBACC,qT,MAEA,sB,CAGD,A,eACI,AAAH,kN,uCACC,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yMACA,A,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,C,AAGD,sBACC,AAAA,+B,MAGA,sKACA,aACC,yC,AACA,uCACC,U,CAED,mBACA,eACA,A,gBACC,mBACA,A,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,MAEA,A,iBACC,4CACA,A,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,CA9BmB,AAAA,A,c,C,CAoCvB,A,kBACC,A,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIxD,AAAI,kBACH,uW,AAD8B,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6F,AACD,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACA,AAAI,iBACH,yFACA,A,YACC,K,A,iBAEA,O,MAEA,e,CAED,qHATkB,A,AAAA,cAHD,A,AAAA,c,AAtJqC,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGC,AAAG,4C,uCACF,U,CAED,A,4CACC,+B,CAED,AAAA,mBACA,A,aACC,O,CAGD,iCAEA,uBAEA,W,C,AA9LqB,AAAA,c,AADD,AAAA,cAoMvB,iB,2KAKK,OAEL,A,UACC,A,eACC,mC,CAED,8B,AACA,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,IACA,A,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wCACA,A,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,CAEF,A,gBACC,IACA,8BACA,A,sCACC,S,CAED,A,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,C,AAED,QACC,sC,C,AAED,eACC,yJ,C,AA3CmB,AAAA,Y,C,AA+CtB,eACC,AAAA,+BACA,AAAG,0C,uCACF,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wFACC,A,UACC,M,CAED,AAAA,WACA,AAPmB,AAAA,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OAboB,AAAA,AAcnB,oB,CAED,A,uFACC,2K,MAEA,2K,C,AAnBmB,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wH,AACC,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,W,AAHkC,AAAA,kBAKnC,4B,AAP6B,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQA,AAAI,U,AACJ,kBACC,6BACA,O,CAID,AAAI,qBACJ,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJAHuB,A,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+D,AACA,wBACC,A,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,CAED,A,wBACC,iCACA,SACA,6BACA,SACA,6BACA,SACA,A,wBACC,6BACA,4G,CAED,6B,C,CAGF,A,yBACC,A,yBACC,IACA,AAAI,2BACH,A,yBACC,wBACA,M,CAH6B,AAAA,A,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACA,AAAI,KACJ,AAAI,IACJ,YACA,+CACA,A,yBAEC,cACA,AAAI,QACJ,mC,AACA,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mD,AACA,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;qeC3PK,iBACL,wBACA,S,oIAGK,iBACL,+BACA,mGACA,4LACA,A,0D,0HAGK,iBACL,wBACA,A,qD,oFAIA,qFAGA,yBACA,WACA,4BACA,0BACA,iBACA,iB,4JAIA,AAAI,YACJ,+GACA,A,sCACC,oB,CAED,AAAG,qG,2DACF,oB,O,0J,gE,gE,gE,qnB"} diff --git a/_docs/public/example/rotate.content.html b/_docs/public/example/rotate.content.html new file mode 100644 index 000000000..ebd8db14a --- /dev/null +++ b/_docs/public/example/rotate.content.html @@ -0,0 +1,18 @@ + + + diff --git a/_docs/public/example/rotate.html b/_docs/public/example/rotate.html index ebd8db14a..e4e5a14ae 100644 --- a/_docs/public/example/rotate.html +++ b/_docs/public/example/rotate.html @@ -15,4 +15,69 @@ See the License for the specific language governing permissions and limitations under the License. --> - + + + +

rotate

+ +
package main
+
+import (
+    "github.com/hajimehoshi/ebiten"
+    "github.com/hajimehoshi/ebiten/ebitenutil"
+    _ "image/jpeg"
+    "log"
+    "math"
+)
+
+const (
+    screenWidth  = 320
+    screenHeight = 240
+)
+
+var (
+    count        int
+    gophersImage *ebiten.Image
+)
+
+func update(screen *ebiten.Image) error {
+    count++
+    w, h := gophersImage.Size()
+    op := &ebiten.DrawImageOptions{}
+    op.GeoM.Translate(-float64(w)/2, -float64(h)/2)
+    op.GeoM.Rotate(float64(count%360) * 2 * math.Pi / 360)
+    op.GeoM.Translate(screenWidth/2, screenHeight/2)
+    if err := screen.DrawImage(gophersImage, op); err != nil {
+        return err
+    }
+    return nil
+}
+
+func main() {
+    var err error
+    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
+    if err != nil {
+        log.Fatal(err)
+    }
+    if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Rotate (Ebiten Demo)"); err != nil {
+        log.Fatal(err)
+    }
+}
+
+ + +
© 2015 Hajime Hoshi
diff --git a/_docs/public/example/rotate.js b/_docs/public/example/rotate.js index 1f5d4a6cc..d221a0002 100644 --- a/_docs/public/example/rotate.js +++ b/_docs/public/example/rotate.js @@ -4,10 +4,10 @@ Error.stackTraceLimit=Infinity;var $global,$module;if(typeof window!=="undefined"){$global=window;}else if(typeof self!=="undefined"){$global=self;}else if(typeof global!=="undefined"){$global=global;$global.require=require;}else{console.log("warning: no global object found");}if(typeof module!=="undefined"){$module=module;}var $packages={},$reflect,$idCounter=0;var $keys=function(m){return m?Object.keys(m):[];};var $min=Math.min;var $mod=function(x,y){return x%y;};var $parseInt=parseInt;var $parseFloat=function(f){if(f!==undefined&&f!==null&&f.constructor===Number){return f;}return parseFloat(f);};var $flushConsole=function(){};var $mapArray=function(array,f){var newArray=new array.constructor(array.length),i;for(i=0;islice.$capacity||max>slice.$capacity){$throwRuntimeError("slice bounds out of range");}var s=new slice.constructor(slice.$array);s.$offset=slice.$offset+low;s.$length=slice.$length-low;s.$capacity=slice.$capacity-low;if(high!==undefined){s.$length=high-low;}if(max!==undefined){s.$capacity=max-low;}return s;};var $sliceToArray=function(slice){if(slice.$length===0){return[];}if(slice.$array.constructor!==Array){return slice.$array.subarray(slice.$offset,slice.$offset+slice.$length);}return slice.$array.slice(slice.$offset,slice.$offset+slice.$length);};var $decodeRune=function(str,pos){var c0=str.charCodeAt(pos);if(c0<0x80){return[c0,1];}if(c0!==c0||c0<0xC0){return[0xFFFD,1];}var c1=str.charCodeAt(pos+1);if(c1!==c1||c1<0x80||0xC0<=c1){return[0xFFFD,1];}if(c0<0xE0){var r=(c0&0x1F)<<6|(c1&0x3F);if(r<=0x7F){return[0xFFFD,1];}return[r,2];}var c2=str.charCodeAt(pos+2);if(c2!==c2||c2<0x80||0xC0<=c2){return[0xFFFD,1];}if(c0<0xF0){var r=(c0&0x0F)<<12|(c1&0x3F)<<6|(c2&0x3F);if(r<=0x7FF){return[0xFFFD,1];}if(0xD800<=r&&r<=0xDFFF){return[0xFFFD,1];}return[r,3];}var c3=str.charCodeAt(pos+3);if(c3!==c3||c3<0x80||0xC0<=c3){return[0xFFFD,1];}if(c0<0xF8){var r=(c0&0x07)<<18|(c1&0x3F)<<12|(c2&0x3F)<<6|(c3&0x3F);if(r<=0xFFFF||0x10FFFF0x10FFFF||(0xD800<=r&&r<=0xDFFF)){r=0xFFFD;}if(r<=0x7F){return String.fromCharCode(r);}if(r<=0x7FF){return String.fromCharCode(0xC0|r>>6,0x80|(r&0x3F));}if(r<=0xFFFF){return String.fromCharCode(0xE0|r>>12,0x80|(r>>6&0x3F),0x80|(r&0x3F));}return String.fromCharCode(0xF0|r>>18,0x80|(r>>12&0x3F),0x80|(r>>6&0x3F),0x80|(r&0x3F));};var $stringToBytes=function(str){var array=new Uint8Array(str.length),i;for(i=0;inewCapacity){newOffset=0;newCapacity=Math.max(newLength,slice.$capacity<1024?slice.$capacity*2:Math.floor(slice.$capacity*5/4));if(slice.$array.constructor===Array){newArray=slice.$array.slice(slice.$offset,slice.$offset+slice.$length);newArray.length=newCapacity;var zero=slice.constructor.elem.zero,i;for(i=slice.$length;i>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindUint64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>>0;this.$low=low>>>0;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$high+"$"+this.$low;};break;case $kindComplex64:case $kindComplex128:typ=function(real,imag){this.$real=real;this.$imag=imag;this.$val=this;};typ.prototype.$key=function(){return string+"$"+this.$real+"$"+this.$imag;};break;case $kindArray:typ=function(v){this.$val=v;};typ.Ptr=$newType(4,$kindPtr,"*"+string,"","",function(array){this.$get=function(){return array;};this.$set=function(v){$copy(this,v,typ);};this.$val=array;});typ.init=function(elem,len){typ.elem=elem;typ.len=len;typ.prototype.$key=function(){return string+"$"+Array.prototype.join.call($mapArray(this.$val,function(e){var key=e.$key?e.$key():String(e);return key.replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}),"$");};typ.extendReflectType=function(rt){rt.arrayType=new $reflect.arrayType.Ptr(rt,elem.reflectType(),undefined,len);};typ.Ptr.init(typ);Object.defineProperty(typ.Ptr.nil,"nilCheck",{get:$throwNilPointerError});};break;case $kindChan:typ=function(capacity){this.$val=this;this.$capacity=capacity;this.$buffer=[];this.$sendQueue=[];this.$recvQueue=[];this.$closed=false;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem,sendOnly,recvOnly){typ.elem=elem;typ.sendOnly=sendOnly;typ.recvOnly=recvOnly;typ.nil=new typ(0);typ.nil.$sendQueue=typ.nil.$recvQueue={length:0,push:function(){},shift:function(){return undefined;},indexOf:function(){return-1;}};typ.extendReflectType=function(rt){rt.chanType=new $reflect.chanType.Ptr(rt,elem.reflectType(),sendOnly?$reflect.SendDir:(recvOnly?$reflect.RecvDir:$reflect.BothDir));};};break;case $kindFunc:typ=function(v){this.$val=v;};typ.init=function(params,results,variadic){typ.params=params;typ.results=results;typ.variadic=variadic;typ.extendReflectType=function(rt){var typeSlice=($sliceType($ptrType($reflect.rtype.Ptr)));rt.funcType=new $reflect.funcType.Ptr(rt,variadic,new typeSlice($mapArray(params,function(p){return p.reflectType();})),new typeSlice($mapArray(results,function(p){return p.reflectType();})));};};break;case $kindInterface:typ={implementedBy:{},missingMethodFor:{}};typ.init=function(methods){typ.methods=methods;typ.extendReflectType=function(rt){var imethods=$mapArray(methods,function(m){return new $reflect.imethod.Ptr($newStringPtr(m[1]),$newStringPtr(m[2]),m[3].reflectType());});var methodSlice=($sliceType($ptrType($reflect.imethod.Ptr)));rt.interfaceType=new $reflect.interfaceType.Ptr(rt,new methodSlice(imethods));};};break;case $kindMap:typ=function(v){this.$val=v;};typ.init=function(key,elem){typ.key=key;typ.elem=elem;typ.extendReflectType=function(rt){rt.mapType=new $reflect.mapType.Ptr(rt,key.reflectType(),elem.reflectType(),undefined,undefined);};};break;case $kindPtr:typ=constructor||function(getter,setter,target){this.$get=getter;this.$set=setter;this.$target=target;this.$val=this;};typ.prototype.$key=function(){if(this.$id===undefined){$idCounter++;this.$id=$idCounter;}return String(this.$id);};typ.init=function(elem){typ.nil=new typ($throwNilPointerError,$throwNilPointerError);typ.extendReflectType=function(rt){rt.ptrType=new $reflect.ptrType.Ptr(rt,elem.reflectType());};};break;case $kindSlice:var nativeArray;typ=function(array){if(array.constructor!==nativeArray){array=new nativeArray(array);}this.$array=array;this.$offset=0;this.$length=array.length;this.$capacity=array.length;this.$val=this;};typ.make=function(length,capacity){capacity=capacity||length;var array=new nativeArray(capacity),i;if(nativeArray===Array){for(i=0;i1){string+=" ("+$mapArray(results,function(r){return r.string;}).join(", ")+")";}var typ=$funcTypes[string];if(typ===undefined){typ=$newType(4,$kindFunc,string,"","",null);typ.init(params,results,variadic);$funcTypes[string]=typ;}return typ;};var $interfaceTypes={};var $interfaceType=function(methods){var string="interface {}";if(methods.length!==0){string="interface { "+$mapArray(methods,function(m){return(m[2]!==""?m[2]+".":"")+m[1]+m[3].string.substr(4);}).join("; ")+" }";}var typ=$interfaceTypes[string];if(typ===undefined){typ=$newType(8,$kindInterface,string,"","",null);typ.init(methods);$interfaceTypes[string]=typ;}return typ;};var $emptyInterface=$interfaceType([]);var $ifaceNil={$key:function(){return"nil";}};var $error=$newType(8,$kindInterface,"error","error","",null);$error.init([["Error","Error","",$funcType([],[$String],false)]]);var $Map=function(){};(function(){var names=Object.getOwnPropertyNames(Object.prototype),i;for(i=0;i>>(32-y),(x.$low<>>0);}if(y<64){return new x.constructor(x.$low<<(y-32),0);}return new x.constructor(0,0);};var $shiftRightInt64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(x.$high>>31,(x.$high>>(y-32))>>>0);}if(x.$high<0){return new x.constructor(-1,4294967295);}return new x.constructor(0,0);};var $shiftRightUint64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(0,x.$high>>>(y-32));}return new x.constructor(0,0);};var $mul64=function(x,y){var high=0,low=0,i;if((y.$low&1)!==0){high=x.$high;low=x.$low;}for(i=1;i<32;i++){if((y.$low&1<>>(32-i);low+=(x.$low<>>0;}}for(i=0;i<32;i++){if((y.$high&1<yHigh)||(xHigh===yHigh&&xLow>yLow))){yHigh=(yHigh<<1|yLow>>>31)>>>0;yLow=(yLow<<1)>>>0;n++;}for(i=0;i<=n;i++){high=high<<1|low>>>31;low=(low<<1)>>>0;if((xHigh>yHigh)||(xHigh===yHigh&&xLow>=yLow)){xHigh=xHigh-yHigh;xLow=xLow-yLow;if(xLow<0){xHigh--;xLow+=4294967296;}low++;if(low===4294967296){high++;low=0;}}yLow=(yLow>>>1|yHigh<<(32-1))>>>0;yHigh=yHigh>>>1;}if(returnRemainder){return new x.constructor(xHigh*rs,xLow*rs);}return new x.constructor(high*s,low*s);};var $divComplex=function(n,d){var ninf=n.$real===1/0||n.$real===-1/0||n.$imag===1/0||n.$imag===-1/0;var dinf=d.$real===1/0||d.$real===-1/0||d.$imag===1/0||d.$imag===-1/0;var nnan=!ninf&&(n.$real!==n.$real||n.$imag!==n.$imag);var dnan=!dinf&&(d.$real!==d.$real||d.$imag!==d.$imag);if(nnan||dnan){return new n.constructor(0/0,0/0);}if(ninf&&!dinf){return new n.constructor(1/0,1/0);}if(!ninf&&dinf){return new n.constructor(0,0);}if(d.$real===0&&d.$imag===0){if(n.$real===0&&n.$imag===0){return new n.constructor(0/0,0/0);}return new n.constructor(1/0,1/0);}var a=Math.abs(d.$real);var b=Math.abs(d.$imag);if(a<=b){var ratio=d.$real/d.$imag;var denom=d.$real*ratio+d.$imag;return new n.constructor((n.$real*ratio+n.$imag)/denom,(n.$imag*ratio-n.$real)/denom);}var ratio=d.$imag/d.$real;var denom=d.$imag*ratio+d.$real;return new n.constructor((n.$imag*ratio+n.$real)/denom,(n.$imag-n.$real*ratio)/denom);};var $stackDepthOffset=0;var $getStackDepth=function(){var err=new Error();if(err.stack===undefined){return undefined;}return $stackDepthOffset+err.stack.split("\n").length;};var $deferFrames=[],$skippedDeferFrames=0,$jumpToDefer=false,$panicStackDepth=null,$panicValue;var $callDeferred=function(deferred,jsErr){if($skippedDeferFrames!==0){$skippedDeferFrames--;throw jsErr;}if($jumpToDefer){$jumpToDefer=false;throw jsErr;}if(jsErr){var newErr=null;try{$deferFrames.push(deferred);$panic(new $packages["github.com/gopherjs/gopherjs/js"].Error.Ptr(jsErr));}catch(err){newErr=err;}$deferFrames.pop();$callDeferred(deferred,newErr);return;}$stackDepthOffset--;var outerPanicStackDepth=$panicStackDepth;var outerPanicValue=$panicValue;var localPanicValue=$curGoroutine.panicStack.pop();if(localPanicValue!==undefined){$panicStackDepth=$getStackDepth();$panicValue=localPanicValue;}var call,localSkippedDeferFrames=0;try{while(true){if(deferred===null){deferred=$deferFrames[$deferFrames.length-1-localSkippedDeferFrames];if(deferred===undefined){var msg;if(localPanicValue.constructor===$String){msg=localPanicValue.$val;}else if(localPanicValue.Error!==undefined){msg=localPanicValue.Error();}else if(localPanicValue.String!==undefined){msg=localPanicValue.String();}else{msg=localPanicValue;}var e=new Error(msg);if(localPanicValue.Stack!==undefined){e.stack=localPanicValue.Stack();e.stack=msg+e.stack.substr(e.stack.indexOf("\n"));}throw e;}}var call=deferred.pop();if(call===undefined){if(localPanicValue!==undefined){localSkippedDeferFrames++;deferred=null;continue;}return;}var r=call[0].apply(undefined,call[1]);if(r&&r.$blocking){deferred.push([r,[]]);}if(localPanicValue!==undefined&&$panicStackDepth===null){throw null;}}}finally{$skippedDeferFrames+=localSkippedDeferFrames;if($curGoroutine.asleep){deferred.push(call);$jumpToDefer=true;}if(localPanicValue!==undefined){if($panicStackDepth!==null){$curGoroutine.panicStack.push(localPanicValue);}$panicStackDepth=outerPanicStackDepth;$panicValue=outerPanicValue;}$stackDepthOffset++;}};var $panic=function(value){$curGoroutine.panicStack.push(value);$callDeferred(null,null);};var $recover=function(){if($panicStackDepth===null||($panicStackDepth!==undefined&&$panicStackDepth!==$getStackDepth()-2)){return $ifaceNil;}$panicStackDepth=null;return $panicValue;};var $throw=function(err){throw err;};var $throwRuntimeError;var $BLOCKING=new Object();var $nonblockingCall=function(){$panic(new $packages["runtime"].NotSupportedError.Ptr("non-blocking call to blocking function, see https://github.com/gopherjs/gopherjs#goroutines"));};var $dummyGoroutine={asleep:false,exit:false,panicStack:[]};var $curGoroutine=$dummyGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=true;var $go=function(fun,args,direct){$totalGoroutines++;$awakeGoroutines++;args.push($BLOCKING);var goroutine=function(){var rescheduled=false;try{$curGoroutine=goroutine;$skippedDeferFrames=0;$jumpToDefer=false;var r=fun.apply(undefined,args);if(r&&r.$blocking){fun=r;args=[];$schedule(goroutine,direct);rescheduled=true;return;}goroutine.exit=true;}catch(err){if(!$curGoroutine.asleep){goroutine.exit=true;throw err;}}finally{$curGoroutine=$dummyGoroutine;if(goroutine.exit&&!rescheduled){$totalGoroutines--;goroutine.asleep=true;}if(goroutine.asleep&&!rescheduled){$awakeGoroutines--;if($awakeGoroutines===0&&$totalGoroutines!==0&&$checkForDeadlock){console.error("fatal error: all goroutines are asleep - deadlock!");}}}};goroutine.asleep=false;goroutine.exit=false;goroutine.panicStack=[];$schedule(goroutine,direct);};var $scheduled=[],$schedulerLoopActive=false;var $schedule=function(goroutine,direct){if(goroutine.asleep){goroutine.asleep=false;$awakeGoroutines++;}if(direct){goroutine();return;}$scheduled.push(goroutine);if(!$schedulerLoopActive){$schedulerLoopActive=true;setTimeout(function(){while(true){var r=$scheduled.shift();if(r===undefined){$schedulerLoopActive=false;break;}r();};},0);}};var $send=function(chan,value){if(chan.$closed){$throwRuntimeError("send on closed channel");}var queuedRecv=chan.$recvQueue.shift();if(queuedRecv!==undefined){queuedRecv([value,true]);return;}if(chan.$buffer.length>24;case $kindInt16:return parseInt(v)<<16>>16;case $kindInt32:return parseInt(v)>>0;case $kindUint:return parseInt(v);case $kindUint8:return parseInt(v)<<24>>>24;case $kindUint16:return parseInt(v)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(v)>>>0;case $kindInt64:case $kindUint64:return new t(0,v);case $kindFloat32:case $kindFloat64:return parseFloat(v);case $kindArray:if(v.length!==t.len){$throwRuntimeError("got array with wrong size from JavaScript native");}return $mapArray(v,function(e){return $internalize(e,t.elem);});case $kindFunc:return function(){var args=[],i;for(i=0;i>0)];if(f===undefined){g=0;h="";i=0;j=false;b=g;c=h;d=i;e=j;return[b,c,d,e];}k=f.substring(($parseInt(f.indexOf($externalize("(",$String)))>>0)+1>>0,$parseInt(f.indexOf($externalize(")",$String)))>>0).split($externalize(":",$String));l=0;m=$internalize(k[0],$String);n=$parseInt(k[1])>>0;o=true;b=l;c=m;d=n;e=o;return[b,c,d,e];};P=$pkg.SetFinalizer=function(a,b){};X.Ptr.prototype.RuntimeError=function(){};X.prototype.RuntimeError=function(){return this.$val.RuntimeError();};X.Ptr.prototype.Error=function(){var a,b;a=this;b=a.interfaceString;if(b===""){b="interface";}if(a.concreteString===""){return"interface conversion: "+b+" is nil, not "+a.assertedString;}if(a.missingMethod===""){return"interface conversion: "+b+" is "+a.concreteString+", not "+a.assertedString;}return"interface conversion: "+a.concreteString+" is not "+a.assertedString+": missing method "+a.missingMethod;};X.prototype.Error=function(){return this.$val.Error();};Z.prototype.RuntimeError=function(){var a;a=this.$val!==undefined?this.$val:this;};$ptrType(Z).prototype.RuntimeError=function(){return new Z(this.$get()).RuntimeError();};Z.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"runtime error: "+a;};$ptrType(Z).prototype.Error=function(){return new Z(this.$get()).Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}AN=$ptrType(C);AR=$ptrType(X);AS=$ptrType(Z);AN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];C.init([["Feature","Feature","",$String,""]]);AR.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];X.init([["interfaceString","interfaceString","runtime",$String,""],["concreteString","concreteString","runtime",$String,""],["assertedString","assertedString","runtime",$String,""],["missingMethod","missingMethod","runtime",$String,""]]);Z.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];AS.methods=[["Error","Error","",$funcType([],[$String],false),-1],["RuntimeError","RuntimeError","",$funcType([],[],false),-1]];D();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color"]=(function(){var $pkg={},Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,A,B,C,D,E,F,G,H,I,J,L,U,X,K,M,N,O,P,Q,R,S,T,V,W,Y;A=$pkg.Color=$newType(8,$kindInterface,"color.Color","Color","image/color",null);B=$pkg.RGBA=$newType(0,$kindStruct,"color.RGBA","RGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});C=$pkg.RGBA64=$newType(0,$kindStruct,"color.RGBA64","RGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});D=$pkg.NRGBA=$newType(0,$kindStruct,"color.NRGBA","NRGBA","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});E=$pkg.NRGBA64=$newType(0,$kindStruct,"color.NRGBA64","NRGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;this.R=R_!==undefined?R_:0;this.G=G_!==undefined?G_:0;this.B=B_!==undefined?B_:0;this.A=A_!==undefined?A_:0;});F=$pkg.Alpha=$newType(0,$kindStruct,"color.Alpha","Alpha","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});G=$pkg.Alpha16=$newType(0,$kindStruct,"color.Alpha16","Alpha16","image/color",function(A_){this.$val=this;this.A=A_!==undefined?A_:0;});H=$pkg.Gray=$newType(0,$kindStruct,"color.Gray","Gray","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});I=$pkg.Gray16=$newType(0,$kindStruct,"color.Gray16","Gray16","image/color",function(Y_){this.$val=this;this.Y=Y_!==undefined?Y_:0;});J=$pkg.Model=$newType(8,$kindInterface,"color.Model","Model","image/color",null);L=$pkg.modelFunc=$newType(0,$kindStruct,"color.modelFunc","modelFunc","image/color",function(f_){this.$val=this;this.f=f_!==undefined?f_:$throwNilPointerError;});U=$pkg.Palette=$newType(12,$kindSlice,"color.Palette","Palette","image/color",null);X=$pkg.YCbCr=$newType(0,$kindStruct,"color.YCbCr","YCbCr","image/color",function(Y_,Cb_,Cr_){this.$val=this;this.Y=Y_!==undefined?Y_:0;this.Cb=Cb_!==undefined?Cb_:0;this.Cr=Cr_!==undefined?Cr_:0;});B.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e;e=$clone(this,B);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};B.prototype.RGBA=function(){return this.$val.RGBA();};C.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,C);f=(e.R>>>0);g=(e.G>>>0);h=(e.B>>>0);i=(e.A>>>0);a=f;b=g;c=h;d=i;return[a,b,c,d];};C.prototype.RGBA=function(){return this.$val.RGBA();};D.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,D);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(255),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(255),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(255),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};D.prototype.RGBA=function(){return this.$val.RGBA();};E.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j,k;e=$clone(this,E);a=(e.R>>>0);a=(f=(e.A>>>0),(((a>>>16<<16)*f>>>0)+(a<<16>>>16)*f)>>>0);a=(g=a/(65535),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(h=(e.A>>>0),(((b>>>16<<16)*h>>>0)+(b<<16>>>16)*h)>>>0);b=(i=b/(65535),(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(j=(e.A>>>0),(((c>>>16<<16)*j>>>0)+(c<<16>>>16)*j)>>>0);c=(k=c/(65535),(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);return[a,b,c,d];};E.prototype.RGBA=function(){return this.$val.RGBA();};F.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,F);d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};F.prototype.RGBA=function(){return this.$val.RGBA();};G.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i;e=$clone(this,G);d=(e.A>>>0);f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};G.prototype.RGBA=function(){return this.$val.RGBA();};H.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,H);f=(e.Y>>>0);f=(f|((f<<8>>>0)))>>>0;g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};H.prototype.RGBA=function(){return this.$val.RGBA();};I.Ptr.prototype.RGBA=function(){var a=0,b=0,c=0,d=0,e,f,g,h,i,j;e=$clone(this,I);f=(e.Y>>>0);g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};I.prototype.RGBA=function(){return this.$val.RGBA();};K=$pkg.ModelFunc=function(a){return new L.Ptr(a);};L.Ptr.prototype.Convert=function(a){var b;b=this;return b.f(a);};L.prototype.Convert=function(a){return this.$val.Convert(a);};M=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,B,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new B.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new i.constructor.Struct(i));};N=function(a){var b,c,d,e,f,g,h,i;b=$assertType(a,C,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];return(i=new C.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new i.constructor.Struct(i));};O=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,D,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),255),new i.constructor.Struct(i));}if(h===0){return(j=new D.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new D.Ptr(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24)),new n.constructor.Struct(n));};P=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;b=$assertType(a,E,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=d[3];if(h===65535){return(i=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),65535),new i.constructor.Struct(i));}if(h===0){return(j=new E.Ptr(0,0,0,0),new j.constructor.Struct(j));}e=(k=(((((e>>>16<<16)*65535>>>0)+(e<<16>>>16)*65535)>>>0))/h,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));f=(l=(((((f>>>16<<16)*65535>>>0)+(f<<16>>>16)*65535)>>>0))/h,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(((((g>>>16<<16)*65535>>>0)+(g<<16>>>16)*65535)>>>0))/h,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));return(n=new E.Ptr((e<<16>>>16),(f<<16>>>16),(g<<16>>>16),(h<<16>>>16)),new n.constructor.Struct(n));};Q=function(a){var b,c,d,e,f;b=$assertType(a,F,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new F.Ptr(((e>>>8>>>0)<<24>>>24)),new f.constructor.Struct(f));};R=function(a){var b,c,d,e,f;b=$assertType(a,G,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[3];return(f=new G.Ptr((e<<16>>>16)),new f.constructor.Struct(f));};S=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,H,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new H.Ptr(((i>>>8>>>0)<<24>>>24)),new j.constructor.Struct(j));};T=function(a){var b,c,d,e,f,g,h,i,j;b=$assertType(a,I,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];i=(h=((((((((299>>>16<<16)*e>>>0)+(299<<16>>>16)*e)>>>0)+((((587>>>16<<16)*f>>>0)+(587<<16>>>16)*f)>>>0)>>>0)+((((114>>>16<<16)*g>>>0)+(114<<16>>>16)*g)>>>0)>>>0)+500>>>0))/1000,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));return(j=new I.Ptr((i<<16>>>16)),new j.constructor.Struct(j));};U.prototype.Convert=function(a){var b,c;b=this;if(b.$length===0){return $ifaceNil;}return(c=b.Index(a),((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]));};$ptrType(U).prototype.Convert=function(a){return this.$get().Convert(a);};U.prototype.Index=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;b=this;c=a.RGBA();d=c[0];e=c[1];f=c[2];g=0;h=4294967295;i=g;j=h;k=b;l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);o=n.RGBA();p=o[0];q=o[1];r=o[2];s=(((d>>0)-(p>>0)>>0))>>1>>0;t=(((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0);s=(((e>>0)-(q>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;s=(((f>>0)-(r>>0)>>0))>>1>>0;t=t+((((((s>>>16<<16)*s>>0)+(s<<16>>>16)*s)>>0)>>>0))>>>0;if(t>0);e=(b>>0);f=(c>>0);g=(((((19595*d>>0)+(38470*e>>0)>>0)+(7471*f>>0)>>0)+32768>>0))>>16>>0;h=(((((-11056*d>>0)-(21712*e>>0)>>0)+(32768*f>>0)>>0)+8421376>>0))>>16>>0;i=(((((32768*d>>0)-(27440*e>>0)>>0)-(5328*f>>0)>>0)+8421376>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};W=$pkg.YCbCrToRGB=function(a,b,c){var d,e,f,g,h,i;d=((a>>0)<<16>>0)+32768>>0;e=(b>>0)-128>>0;f=(c>>0)-128>>0;g=((d+(91881*f>>0)>>0))>>16>>0;h=(((d-(22554*e>>0)>>0)-(46802*f>>0)>>0))>>16>>0;i=((d+(116130*e>>0)>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};X.Ptr.prototype.RGBA=function(){var a,b,c,d,e,f,g,h;a=$clone(this,X);b=W(a.Y,a.Cb,a.Cr);c=b[0];d=b[1];e=b[2];return[(f=(c>>>0),(((f>>>16<<16)*257>>>0)+(f<<16>>>16)*257)>>>0),(g=(d>>>0),(((g>>>16<<16)*257>>>0)+(g<<16>>>16)*257)>>>0),(h=(e>>>0),(((h>>>16<<16)*257>>>0)+(h<<16>>>16)*257)>>>0),65535];};X.prototype.RGBA=function(){return this.$val.RGBA();};Y=function(a){var b,c,d,e,f,g,h,i,j,k,l;b=$assertType(a,X,true);c=b[1];if(c){return a;}d=a.RGBA();e=d[0];f=d[1];g=d[2];h=V(((e>>>8>>>0)<<24>>>24),((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24));i=h[0];j=h[1];k=h[2];return(l=new X.Ptr(i,j,k),new l.constructor.Struct(l));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:Z=$ptrType(B);AA=$ptrType(C);AB=$ptrType(D);AC=$ptrType(E);AD=$ptrType(F);AE=$ptrType(G);AF=$ptrType(H);AG=$ptrType(I);AH=$ptrType(L);AI=$funcType([A],[A],false);AJ=$ptrType(U);AK=$ptrType(X);A.init([["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)]]);B.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];Z.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];B.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);C.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AA.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];C.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);D.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AB.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];D.init([["R","R","",$Uint8,""],["G","G","",$Uint8,""],["B","B","",$Uint8,""],["A","A","",$Uint8,""]]);E.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AC.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];E.init([["R","R","",$Uint16,""],["G","G","",$Uint16,""],["B","B","",$Uint16,""],["A","A","",$Uint16,""]]);F.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AD.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];F.init([["A","A","",$Uint8,""]]);G.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AE.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];G.init([["A","A","",$Uint16,""]]);H.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AF.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];H.init([["Y","Y","",$Uint8,""]]);I.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AG.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];I.init([["Y","Y","",$Uint16,""]]);J.init([["Convert","Convert","",$funcType([A],[A],false)]]);AH.methods=[["Convert","Convert","",$funcType([A],[A],false),-1]];L.init([["f","f","image/color",AI,""]]);U.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];AJ.methods=[["Convert","Convert","",$funcType([A],[A],false),-1],["Index","Index","",$funcType([A],[$Int],false),-1]];U.init(A);X.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AK.methods=[["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];X.init([["Y","Y","",$Uint8,""],["Cb","Cb","",$Uint8,""],["Cr","Cr","",$Uint8,""]]);$pkg.RGBAModel=K(M);$pkg.RGBA64Model=K(N);$pkg.NRGBAModel=K(O);$pkg.NRGBA64Model=K(P);$pkg.AlphaModel=K(Q);$pkg.Alpha16Model=K(R);$pkg.GrayModel=K(S);$pkg.Gray16Model=K(T);$pkg.Black=new I.Ptr(0);$pkg.White=new I.Ptr(65535);$pkg.Transparent=new G.Ptr(0);$pkg.Opaque=new G.Ptr(65535);$pkg.YCbCrModel=K(Y);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["math"]=(function(){var $pkg={},A,FG,B,C,D,E,F,EN,ER,ES,G,X,Y,Z,AI,AN,AR,AS,AT,EP,EV;A=$packages["github.com/gopherjs/gopherjs/js"];G=function(){AR(0);AS(0);};X=$pkg.IsInf=function(ao,ap){if(ao===D){return ap>=0;}if(ao===E){return ap<=0;}return false;};Y=$pkg.IsNaN=function(ao){var ap=false;ap=!((ao===ao));return ap;};Z=$pkg.Ldexp=function(ao,ap){if(ao===0){return ao;}if(ap>=1024){return ao*$parseFloat(B.pow(2,1023))*$parseFloat(B.pow(2,ap-1023>>0));}if(ap<=-1024){return ao*$parseFloat(B.pow(2,-1023))*$parseFloat(B.pow(2,ap+1023>>0));}return ao*$parseFloat(B.pow(2,ap));};AI=$pkg.NaN=function(){return F;};AN=$pkg.Sincos=function(ao){var ap=0,aq=0,ar;ar=EV(ao);ap=ar[0];aq=ar[1];return[ap,aq];};AR=$pkg.Float32bits=function(ao){var ap,aq,ar;if(ao===0){if(1/ao===E){return 2147483648;}return 0;}if(!(ao===ao)){return 2143289344;}ap=0;if(ao<0){ap=2147483648;ao=-ao;}aq=150;while(ao>=1.6777216e+07){ao=ao/(2);aq=aq+(1)>>>0;if(aq===255){if(ao>=8.388608e+06){ao=D;}break;}}while(ao<8.388608e+06){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}ar=$parseFloat($mod(ao,2));if((ar>0.5&&ar<1)||ar>=1.5){ao=ao+(1);}return(((ap|(aq<<23>>>0))>>>0)|(((ao>>0)&~8388608)))>>>0;};AS=$pkg.Float32frombits=function(ao){var ap,aq,ar;ap=1;if(!((((ao&2147483648)>>>0)===0))){ap=-1;}aq=(((ao>>>23>>>0))&255)>>>0;ar=(ao&8388607)>>>0;if(aq===255){if(ar===0){return ap/0;}return F;}if(!((aq===0))){ar=ar+(8388608)>>>0;}if(aq===0){aq=1;}return Z(ar,((aq>>0)-127>>0)-23>>0)*ap;};AT=$pkg.Float64bits=function(ao){var ap,aq,ar,as,at,au;if(ao===0){if(1/ao===E){return new $Uint64(2147483648,0);}return new $Uint64(0,0);}if(!((ao===ao))){return new $Uint64(2146959360,1);}ap=new $Uint64(0,0);if(ao<0){ap=new $Uint64(2147483648,0);ao=-ao;}aq=1075;while(ao>=9.007199254740992e+15){ao=ao/(2);aq=aq+(1)>>>0;if(aq===2047){break;}}while(ao<4.503599627370496e+15){aq=aq-(1)>>>0;if(aq===0){break;}ao=ao*(2);}return(ar=(as=$shiftLeft64(new $Uint64(0,aq),52),new $Uint64(ap.$high|as.$high,(ap.$low|as.$low)>>>0)),at=(au=new $Uint64(0,ao),new $Uint64(au.$high&~1048576,(au.$low&~0)>>>0)),new $Uint64(ar.$high|at.$high,(ar.$low|at.$low)>>>0));};EP=function(){var ao,ap,aq,ar;EN[0]=1;EN[1]=10;ao=2;while(ao<70){aq=(ap=ao/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));(ao<0||ao>=EN.length)?$throwRuntimeError("index out of range"):EN[ao]=((aq<0||aq>=EN.length)?$throwRuntimeError("index out of range"):EN[aq])*(ar=ao-aq>>0,((ar<0||ar>=EN.length)?$throwRuntimeError("index out of range"):EN[ar]));ao=ao+(1)>>0;}};EV=function(ao){var ap=0,aq=0,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk;if(ao===0){ar=ao;as=1;ap=ar;aq=as;return[ap,aq];}else if(Y(ao)||X(ao,0)){at=AI();au=AI();ap=at;aq=au;return[ap,aq];}av=false;aw=false;ax=av;ay=aw;if(ao<0){ao=-ao;ax=true;}az=new $Int64(0,ao*1.2732395447351625);ba=$flatten64(az);if((bb=new $Int64(az.$high&0,(az.$low&1)>>>0),(bb.$high===0&&bb.$low===1))){az=(bc=new $Int64(0,1),new $Int64(az.$high+bc.$high,az.$low+bc.$low));ba=ba+(1);}az=(bd=new $Int64(0,7),new $Int64(az.$high&bd.$high,(az.$low&bd.$low)>>>0));if((az.$high>0||(az.$high===0&&az.$low>3))){az=(be=new $Int64(0,4),new $Int64(az.$high-be.$high,az.$low-be.$low));bf=!ax;bg=!ay;ax=bf;ay=bg;}if((az.$high>0||(az.$high===0&&az.$low>1))){ay=!ay;}bh=((ao-ba*0.7853981256484985)-ba*3.774894707930798e-08)-ba*2.6951514290790595e-15;bi=bh*bh;aq=1-0.5*bi+bi*bi*((((((ES[0]*bi)+ES[1])*bi+ES[2])*bi+ES[3])*bi+ES[4])*bi+ES[5]);ap=bh+bh*bi*((((((ER[0]*bi)+ER[1])*bi+ER[2])*bi+ER[3])*bi+ER[4])*bi+ER[5]);if((az.$high===0&&az.$low===1)||(az.$high===0&&az.$low===2)){bj=aq;bk=ap;ap=bj;aq=bk;}if(ay){aq=-aq;}if(ax){ap=-ap;}return[ap,aq];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}FG=$arrayType($Float64,70);EN=FG.zero();B=$global.Math;C=0;D=1/C;E=-1/C;F=0/C;ER=$toNativeArray($kindFloat64,[1.5896230157654656e-10,-2.5050747762857807e-08,2.7557313621385722e-06,-0.0001984126982958954,0.008333333333322118,-0.1666666666666663]);ES=$toNativeArray($kindFloat64,[-1.1358536521387682e-11,2.087570084197473e-09,-2.755731417929674e-07,2.4801587288851704e-05,-0.0013888888888873056,0.041666666666666595]);G();EP();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal"]=(function(){var $pkg={},A,B,C,D;A=$packages["image/color"];B=$packages["math"];C=$pkg.NextPowerOf2Int=function(a){a=a-(1)>>0;a=a|(((a>>1>>0)));a=a|(((a>>2>>0)));a=a|(((a>>4>>0)));a=a|(((a>>8>>0)));a=a|(((a>>16>>0)));return a+1>>0;};D=$pkg.RGBA=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=a.RGBA();g=f[0];h=f[1];i=f[2];j=f[3];b=g/65535;c=h/65535;d=i/65535;e=j/65535;return[b,c,d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["errors"]=(function(){var $pkg={},C,B,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;this.s=s_!==undefined?s_:"";});A=$pkg.New=function(a){return new B.Ptr(a);};B.Ptr.prototype.Error=function(){var a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:C=$ptrType(B);C.methods=[["Error","Error","",$funcType([],[$String],false),-1]];B.init([["s","s","errors",$String,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync/atomic"]=(function(){var $pkg={},A,H,N,U,Y,AA;A=$packages["github.com/gopherjs/gopherjs/js"];H=$pkg.CompareAndSwapInt32=function(ad,ae,af){if(ad.$get()===ae){ad.$set(af);return true;}return false;};N=$pkg.AddInt32=function(ad,ae){var af;af=ad.$get()+ae>>0;ad.$set(af);return af;};U=$pkg.LoadUint32=function(ad){return ad.$get();};Y=$pkg.StoreInt32=function(ad,ae){ad.$set(ae);};AA=$pkg.StoreUint32=function(ad,ae){ad.$set(ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sync"]=(function(){var $pkg={},B,A,AJ,AK,AM,AN,AP,AS,AT,AV,AW,AX,AY,AZ,BA,C,I,J,K,L,AC,AG,AH,O,D,E,M,P,Q,X,AA,AB,AF;B=$packages["runtime"];A=$packages["sync/atomic"];C=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool","Pool","sync",function(local_,localSize_,store_,New_){this.$val=this;this.local=local_!==undefined?local_:0;this.localSize=localSize_!==undefined?localSize_:0;this.store=store_!==undefined?store_:AS.nil;this.New=New_!==undefined?New_:$throwNilPointerError;});I=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex","Mutex","sync",function(state_,sema_){this.$val=this;this.state=state_!==undefined?state_:0;this.sema=sema_!==undefined?sema_:0;});J=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker","Locker","sync",null);K=$pkg.Once=$newType(0,$kindStruct,"sync.Once","Once","sync",function(m_,done_){this.$val=this;this.m=m_!==undefined?m_:new I.Ptr();this.done=done_!==undefined?done_:0;});L=$pkg.poolLocal=$newType(0,$kindStruct,"sync.poolLocal","poolLocal","sync",function(private$0_,shared_,Mutex_,pad_){this.$val=this;this.private$0=private$0_!==undefined?private$0_:$ifaceNil;this.shared=shared_!==undefined?shared_:AS.nil;this.Mutex=Mutex_!==undefined?Mutex_:new I.Ptr();this.pad=pad_!==undefined?pad_:AY.zero();});AC=$pkg.syncSema=$newType(0,$kindStruct,"sync.syncSema","syncSema","sync",function(lock_,head_,tail_){this.$val=this;this.lock=lock_!==undefined?lock_:0;this.head=head_!==undefined?head_:0;this.tail=tail_!==undefined?tail_:0;});AG=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex","RWMutex","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});AH=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker","rlocker","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;this.w=w_!==undefined?w_:new I.Ptr();this.writerSem=writerSem_!==undefined?writerSem_:0;this.readerSem=readerSem_!==undefined?readerSem_:0;this.readerCount=readerCount_!==undefined?readerCount_:0;this.readerWait=readerWait_!==undefined?readerWait_:0;});C.Ptr.prototype.Get=function(){var d,e,f,g;d=this;if(d.store.$length===0){if(!(d.New===$throwNilPointerError)){return d.New();}return $ifaceNil;}g=(e=d.store,f=d.store.$length-1>>0,((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]));d.store=$subslice(d.store,0,(d.store.$length-1>>0));return g;};C.prototype.Get=function(){return this.$val.Get();};C.Ptr.prototype.Put=function(d){var e;e=this;if($interfaceIsEqual(d,$ifaceNil)){return;}e.store=$append(e.store,d);};C.prototype.Put=function(d){return this.$val.Put(d);};D=function(d){};E=function(d){};I.Ptr.prototype.Lock=function(){var d,e,f,g;d=this;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),0,1)){return;}e=false;while(true){f=d.state;g=f|1;if(!(((f&1)===0))){g=f+4>>0;}if(e){g=g&~(2);}if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,g)){if((f&1)===0){break;}AA(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));e=true;}}};I.prototype.Lock=function(){return this.$val.Lock();};I.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),-1);if((((e+1>>0))&1)===0){$panic(new $String("sync: unlock of unlocked mutex"));}f=e;while(true){if(((f>>2>>0)===0)||!(((f&3)===0))){return;}e=((f-4>>0))|2;if(A.CompareAndSwapInt32(new AN(function(){return this.$target.state;},function($v){this.$target.state=$v;},d),f,e)){AB(new AM(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},d));return;}f=d.state;}};I.prototype.Unlock=function(){return this.$val.Unlock();};K.Ptr.prototype.Do=function(d){var $deferred=[],$err=null,e;try{$deferFrames.push($deferred);e=this;if(A.LoadUint32(new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e))===1){return;}e.m.Lock();$deferred.push([$methodVal(e.m,"Unlock"),[]]);if(e.done===0){$deferred.push([A.StoreUint32,[new AM(function(){return this.$target.done;},function($v){this.$target.done=$v;},e),1]]);d();}}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};K.prototype.Do=function(d){return this.$val.Do(d);};M=function(){var d,e,f,g,h,i,j,k,l,m;d=O;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);(f<0||f>=O.$length)?$throwRuntimeError("index out of range"):O.$array[O.$offset+f]=AJ.nil;h=0;while(h<(g.localSize>>0)){i=Q(g.local,h);i.private$0=$ifaceNil;j=i.shared;k=0;while(k=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+l]=$ifaceNil);k++;}i.shared=AS.nil;h=h+(1)>>0;}g.local=0;g.localSize=0;e++;}O=new AK([]);};P=function(){D(M);};Q=function(d,e){var f;return(f=d,(f.nilCheck,((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e])));};X=function(){};AA=function(){$panic("Native function not implemented: sync.runtime_Semacquire");};AB=function(){$panic("Native function not implemented: sync.runtime_Semrelease");};AF=function(){var d;d=$clone(new AC.Ptr(),AC);E(12);};AG.Ptr.prototype.RLock=function(){var d;d=this;if(A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1)<0){AA(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));}};AG.prototype.RLock=function(){return this.$val.RLock();};AG.Ptr.prototype.RUnlock=function(){var d,e;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1);if(e<0){if(((e+1>>0)===0)||((e+1>>0)===-1073741824)){X();$panic(new $String("sync: RUnlock of unlocked RWMutex"));}if(A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),-1)===0){AB(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}}};AG.prototype.RUnlock=function(){return this.$val.RUnlock();};AG.Ptr.prototype.Lock=function(){var d,e;d=this;d.w.Lock();e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),-1073741824)+1073741824>>0;if(!((e===0))&&!((A.AddInt32(new AN(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},d),e)===0))){AA(new AM(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},d));}};AG.prototype.Lock=function(){return this.$val.Lock();};AG.Ptr.prototype.Unlock=function(){var d,e,f;d=this;e=A.AddInt32(new AN(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},d),1073741824);if(e>=1073741824){X();$panic(new $String("sync: Unlock of unlocked RWMutex"));}f=0;while(f<(e>>0)){AB(new AM(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},d));f=f+(1)>>0;}d.w.Unlock();};AG.prototype.Unlock=function(){return this.$val.Unlock();};AG.Ptr.prototype.RLocker=function(){var d;d=this;return $clone(d,AH);};AG.prototype.RLocker=function(){return this.$val.RLocker();};AH.Ptr.prototype.Lock=function(){var d;d=this;$clone(d,AG).RLock();};AH.prototype.Lock=function(){return this.$val.Lock();};AH.Ptr.prototype.Unlock=function(){var d;d=this;$clone(d,AG).RUnlock();};AH.prototype.Unlock=function(){return this.$val.Unlock();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}AJ=$ptrType(C);AK=$sliceType(AJ);AM=$ptrType($Uint32);AN=$ptrType($Int32);AP=$ptrType(L);AS=$sliceType($emptyInterface);AT=$funcType([],[$emptyInterface],false);AV=$ptrType(I);AW=$funcType([],[],false);AX=$ptrType(K);AY=$arrayType($Uint8,128);AZ=$ptrType(AG);BA=$ptrType(AH);AJ.methods=[["Get","Get","",$funcType([],[$emptyInterface],false),-1],["Put","Put","",$funcType([$emptyInterface],[],false),-1],["getSlow","getSlow","sync",$funcType([],[$emptyInterface],false),-1],["pin","pin","sync",$funcType([],[AP],false),-1],["pinSlow","pinSlow","sync",$funcType([],[AP],false),-1]];C.init([["local","local","sync",$UnsafePointer,""],["localSize","localSize","sync",$Uintptr,""],["store","store","sync",AS,""],["New","New","",AT,""]]);AV.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];I.init([["state","state","sync",$Int32,""],["sema","sema","sync",$Uint32,""]]);J.init([["Lock","Lock","",$funcType([],[],false)],["Unlock","Unlock","",$funcType([],[],false)]]);AX.methods=[["Do","Do","",$funcType([AW],[],false),-1]];K.init([["m","m","sync",I,""],["done","done","sync",$Uint32,""]]);AP.methods=[["Lock","Lock","",$funcType([],[],false),2],["Unlock","Unlock","",$funcType([],[],false),2]];L.init([["private$0","private","sync",$emptyInterface,""],["shared","shared","sync",AS,""],["Mutex","","",I,""],["pad","pad","sync",AY,""]]);AC.init([["lock","lock","sync",$Uintptr,""],["head","head","sync",$UnsafePointer,""],["tail","tail","sync",$UnsafePointer,""]]);AZ.methods=[["Lock","Lock","",$funcType([],[],false),-1],["RLock","RLock","",$funcType([],[],false),-1],["RLocker","RLocker","",$funcType([],[J],false),-1],["RUnlock","RUnlock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AG.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);BA.methods=[["Lock","Lock","",$funcType([],[],false),-1],["Unlock","Unlock","",$funcType([],[],false),-1]];AH.init([["w","w","sync",I,""],["writerSem","writerSem","sync",$Uint32,""],["readerSem","readerSem","sync",$Uint32,""],["readerCount","readerCount","sync",$Int32,""],["readerWait","readerWait","sync",$Int32,""]]);O=AK.nil;P();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io"]=(function(){var $pkg={},B,A,C,AW,E,F,J,P,Q,T,W,AI,AJ,AA,AB;B=$packages["errors"];A=$packages["runtime"];C=$packages["sync"];E=$pkg.Reader=$newType(8,$kindInterface,"io.Reader","Reader","io",null);F=$pkg.Writer=$newType(8,$kindInterface,"io.Writer","Writer","io",null);J=$pkg.ReadCloser=$newType(8,$kindInterface,"io.ReadCloser","ReadCloser","io",null);P=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom","ReaderFrom","io",null);Q=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo","WriterTo","io",null);T=$pkg.ByteReader=$newType(8,$kindInterface,"io.ByteReader","ByteReader","io",null);W=$pkg.RuneReader=$newType(8,$kindInterface,"io.RuneReader","RuneReader","io",null);AA=$pkg.ReadAtLeast=function(b,c,d){var e=0,f=$ifaceNil,g,h,i,j;if(c.$length>0;}if(e>=d){f=$ifaceNil;}else if(e>0&&$interfaceIsEqual(f,$pkg.EOF)){f=$pkg.ErrUnexpectedEOF;}return[e,f];};AB=$pkg.ReadFull=function(b,c){var d=0,e=$ifaceNil,f;f=AA(b,c,c.$length);d=f[0];e=f[1];return[d,e];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}AW=$sliceType($Uint8);E.init([["Read","Read","",$funcType([AW],[$Int,$error],false)]]);F.init([["Write","Write","",$funcType([AW],[$Int,$error],false)]]);J.init([["Close","Close","",$funcType([],[$error],false)],["Read","Read","",$funcType([AW],[$Int,$error],false)]]);P.init([["ReadFrom","ReadFrom","",$funcType([E],[$Int64,$error],false)]]);Q.init([["WriteTo","WriteTo","",$funcType([F],[$Int64,$error],false)]]);T.init([["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);W.init([["ReadRune","ReadRune","",$funcType([],[$Int32,$Int,$error],false)]]);$pkg.ErrShortWrite=B.New("short write");$pkg.ErrShortBuffer=B.New("short buffer");$pkg.EOF=B.New("EOF");$pkg.ErrUnexpectedEOF=B.New("unexpected EOF");$pkg.ErrNoProgress=B.New("multiple Read calls return no data or error");AI=B.New("Seek: invalid whence");AJ=B.New("Seek: invalid offset");$pkg.ErrClosedPipe=B.New("io: read/write on closed pipe");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -17,7 +17,7 @@ $packages["bytes"]=(function(){var $pkg={},A,B,D,C,BJ,BK,BL,BM,H,I,E,J,K;A=$pack $packages["syscall"]=(function(){var $pkg={},A,E,B,D,C,MD,ME,MF,ML,MS,MT,MZ,NE,NG,NH,NK,NX,NY,NZ,OA,OF,OG,OI,OK,EQ,ER,KF,KI,KO,KW,F,G,N,O,P,AP,AQ,AR,AS,DT,FS,H,I,J,K,L,Q,R,S,V,AU,AW,CQ,CR,CT,CY,DO,DY,DZ,ET,EU,GM,HA,HE,HF,HH,HI,HL,HN,HO,HP,II,IT,IU,IV,JA,JY,JZ,KA;A=$packages["bytes"];E=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["runtime"];C=$packages["sync"];EQ=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper","mmapper","syscall",function(Mutex_,active_,mmap_,munmap_){this.$val=this;this.Mutex=Mutex_!==undefined?Mutex_:new C.Mutex.Ptr();this.active=active_!==undefined?active_:false;this.mmap=mmap_!==undefined?mmap_:$throwNilPointerError;this.munmap=munmap_!==undefined?munmap_:$throwNilPointerError;});ER=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno","Errno","syscall",null);KF=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int","_C_int","syscall",null);KI=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec","Timespec","syscall",function(Sec_,Nsec_){this.$val=this;this.Sec=Sec_!==undefined?Sec_:new $Int64(0,0);this.Nsec=Nsec_!==undefined?Nsec_:new $Int64(0,0);});KO=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t","Stat_t","syscall",function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;this.Dev=Dev_!==undefined?Dev_:0;this.Mode=Mode_!==undefined?Mode_:0;this.Nlink=Nlink_!==undefined?Nlink_:0;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Uid=Uid_!==undefined?Uid_:0;this.Gid=Gid_!==undefined?Gid_:0;this.Rdev=Rdev_!==undefined?Rdev_:0;this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:NG.zero();this.Atimespec=Atimespec_!==undefined?Atimespec_:new KI.Ptr();this.Mtimespec=Mtimespec_!==undefined?Mtimespec_:new KI.Ptr();this.Ctimespec=Ctimespec_!==undefined?Ctimespec_:new KI.Ptr();this.Birthtimespec=Birthtimespec_!==undefined?Birthtimespec_:new KI.Ptr();this.Size=Size_!==undefined?Size_:new $Int64(0,0);this.Blocks=Blocks_!==undefined?Blocks_:new $Int64(0,0);this.Blksize=Blksize_!==undefined?Blksize_:0;this.Flags=Flags_!==undefined?Flags_:0;this.Gen=Gen_!==undefined?Gen_:0;this.Lspare=Lspare_!==undefined?Lspare_:0;this.Qspare=Qspare_!==undefined?Qspare_:OG.zero();});KW=$pkg.Dirent=$newType(0,$kindStruct,"syscall.Dirent","Dirent","syscall",function(Ino_,Seekoff_,Reclen_,Namlen_,Type_,Name_,Pad_cgo_0_){this.$val=this;this.Ino=Ino_!==undefined?Ino_:new $Uint64(0,0);this.Seekoff=Seekoff_!==undefined?Seekoff_:new $Uint64(0,0);this.Reclen=Reclen_!==undefined?Reclen_:0;this.Namlen=Namlen_!==undefined?Namlen_:0;this.Type=Type_!==undefined?Type_:0;this.Name=Name_!==undefined?Name_:OI.zero();this.Pad_cgo_0=Pad_cgo_0_!==undefined?Pad_cgo_0_:OK.zero();});H=function(){$flushConsole=(function(){if(!((G.$length===0))){$global.console.log($externalize($bytesToString(G),$String));G=MD.nil;}});};I=function(){if(!F){console.log("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md");}F=true;};J=function(i){var j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=A.IndexByte(G,10);if(k===-1){break;}$global.console.log($externalize($bytesToString($subslice(G,0,k)),$String));G=$subslice(G,(k+1>>0));}};K=function(i){};L=function(){var i,j,k,l,m,n;i=$global.process;if(i===undefined){return ME.nil;}j=i.env;k=$global.Object.keys(j);l=ME.make($parseInt(k.length));m=0;while(m<$parseInt(k.length)){n=$internalize(k[m],$String);(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String);m=m+(1)>>0;}return l;};Q=function(i){var $deferred=[],$err=null,j;try{$deferFrames.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(N===null){if(O){return null;}O=true;j=$global.require;if(j===undefined){$panic(new $String(""));}N=j($externalize("syscall",$String));}return N[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};R=$pkg.Syscall=function(i,j,k,l){var m=0,n=0,o=0,p,q,r,s,t,u,v,w,x,y,z,aa,ab;p=Q("Syscall");if(!(p===null)){q=p(i,j,k,l);r=(($parseInt(q[0])>>0)>>>0);s=(($parseInt(q[1])>>0)>>>0);t=(($parseInt(q[2])>>0)>>>0);m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=MD.make($parseInt(u.length));v.$array=u;J(v);w=($parseInt(u.length)>>>0);x=0;y=0;m=w;n=x;o=y;return[m,n,o];}I();z=(P>>>0);aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};S=$pkg.Syscall6=function(i,j,k,l,m,n,o){var p=0,q=0,r=0,s,t,u,v,w,x,y,z;s=Q("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=(($parseInt(t[0])>>0)>>>0);v=(($parseInt(t[1])>>0)>>>0);w=(($parseInt(t[2])>>0)>>>0);p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=(P>>>0);y=0;z=13;p=x;q=y;r=z;return[p,q,r];};V=$pkg.BytePtrFromString=function(i){var j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=new MD($stringToBytes(i));l=0;while(l=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(n===0){return[MF.nil,new ER(22)];}j[m]=n;l++;}j[i.length]=0;return[j,$ifaceNil];};AU=function(){var i,j,k,l,m,n,o,p,q,r;AR=new $Map();i=AS;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=0;while(m=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+k]="";}break;}m=m+(1)>>0;}j++;}};AW=$pkg.Getenv=function(i){var j="",k=false,$deferred=[],$err=null,l,m,n,o,p,q,r,s,t,u,v,w,x,y;try{$deferFrames.push($deferred);AP.Do(AU);if(i.length===0){l="";m=false;j=l;k=m;return[j,k];}AQ.RLock();$deferred.push([$methodVal(AQ,"RUnlock"),[]]);n=(o=AR[i],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;return[j,k];}t=((p<0||p>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+p]);u=0;while(u>0));w=true;j=v;k=w;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;return[j,k];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[j,k];}};CQ=function(i){if(i<0){return"-"+CR((-i>>>0));}return CR((i>>>0));};CR=function(i){var j,k,l,m;j=$clone(MZ.zero(),MZ);k=31;while(i>=10){(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((i+48>>>0)<<24>>>24);return $bytesToString($subslice(new MD(j),k));};CT=$pkg.ByteSliceFromString=function(i){var j,k;j=0;while(j>0;}k=MD.make((i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};KI.Ptr.prototype.Unix=function(){var i=new $Int64(0,0),j=new $Int64(0,0),k,l,m;k=this;l=k.Sec;m=k.Nsec;i=l;j=m;return[i,j];};KI.prototype.Unix=function(){return this.$val.Unix();};KI.Ptr.prototype.Nano=function(){var i,j,k;i=this;return(j=$mul64(i.Sec,new $Int64(0,1000000000)),k=i.Nsec,new $Int64(j.$high+k.$high,j.$low+k.$low));};KI.prototype.Nano=function(){return this.$val.Nano();};CY=$pkg.ReadDirent=function(i,j){var k=0,l=$ifaceNil,m,n;m=new Uint8Array(8);n=HP(i,j,m);k=n[0];l=n[1];if(true&&($interfaceIsEqual(l,new ER(22))||$interfaceIsEqual(l,new ER(2)))){l=$ifaceNil;}return[k,l];};DO=$pkg.Sysctl=function(i){var j="",k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=DY(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=GM(m,MF.nil,new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){q="";r=k;j=q;k=r;return[j,k];}if(p===0){s="";t=$ifaceNil;j=s;k=t;return[j,k];}u=MD.make(p);k=GM(m,new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},u),new MT(function(){return p;},function($v){p=$v;}),MF.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){v="";w=k;j=v;k=w;return[j,k];}if(p>0&&((x=p-1>>>0,((x<0||x>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+x]))===0)){p=p-(1)>>>0;}y=$bytesToString($subslice(u,0,p));z=$ifaceNil;j=y;k=z;return[j,k];};DY=function(i){var j=MS.nil,k=$ifaceNil,l,m,n,o,p,q,r,s,t,u,v,w;l=$clone(NH.zero(),NH);m=48;n=$sliceToArray(new NE(l));o=CT(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=MS.nil;r=k;j=q;k=r;return[j,k];}k=GM(new MS([0,3]),n,new MT(function(){return m;},function($v){m=$v;}),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),(i.length>>>0));if(!($interfaceIsEqual(k,$ifaceNil))){s=MS.nil;t=k;j=s;k=t;return[j,k];}u=$subslice(new MS(l),0,(v=m/4,(v===v&&v!==1/0&&v!==-1/0)?v>>>0:$throwRuntimeError("integer divide by zero")));w=$ifaceNil;j=u;k=w;return[j,k];};DZ=$pkg.ParseDirent=function(i,j,k){var l=0,m=0,n=ME.nil,o,p,q,r,s,t,u,v,w,x,y;o=i.$length;while(!((j===0))&&i.$length>0){p=[undefined];p[0]=(q=$sliceToArray(i),r=new KW.Ptr(),s=new DataView(q.buffer,q.byteOffset),r.Ino=new $Uint64(s.getUint32(4,true),s.getUint32(0,true)),r.Seekoff=new $Uint64(s.getUint32(12,true),s.getUint32(8,true)),r.Reclen=s.getUint16(16,true),r.Namlen=s.getUint16(18,true),r.Type=s.getUint8(20,true),r.Name=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+21,q.buffer.byteLength)),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+1045,q.buffer.byteLength)),r);if(p[0].Reclen===0){i=MD.nil;break;}i=$subslice(i,p[0].Reclen);if((t=p[0].Ino,(t.$high===0&&t.$low===0))){continue;}u=$sliceToArray(new NE(p[0].Name));v=$bytesToString($subslice(new MD(u),0,p[0].Namlen));if(v==="."||v===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,v);}w=o-i.$length>>0;x=m;y=k;l=w;m=x;n=y;return[l,m,n];};EQ.Ptr.prototype.Mmap=function(i,j,k,l,m){var n=MD.nil,o=$ifaceNil,$deferred=[],$err=null,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;try{$deferFrames.push($deferred);p=this;if(k<=0){q=MD.nil;r=new ER(22);n=q;o=r;return[n,o];}s=p.mmap(0,(k>>>0),l,m,i,j);t=s[0];u=s[1];if(!($interfaceIsEqual(u,$ifaceNil))){v=MD.nil;w=u;n=v;o=w;return[n,o];}x=new NK.Ptr(t,k,k);y=x;ab=new MF(function(){return(aa=y.$capacity-1>>0,((aa<0||aa>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+aa]));},function($v){(z=y.$capacity-1>>0,(z<0||z>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+z]=$v);},y);p.Mutex.Lock();$deferred.push([$methodVal(p.Mutex,"Unlock"),[]]);ac=ab;(p.active||$throwRuntimeError("assignment to entry in nil map"))[ac.$key()]={k:ac,v:y};ad=y;ae=$ifaceNil;n=ad;o=ae;return[n,o];}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return[n,o];}};EQ.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EQ.Ptr.prototype.Munmap=function(i){var j=$ifaceNil,$deferred=[],$err=null,k,l,m,n,o,p,q;try{$deferFrames.push($deferred);k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new ER(22);return j;}n=new MF(function(){return(m=i.$capacity-1>>0,((m<0||m>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+m]));},function($v){(l=i.$capacity-1>>0,(l<0||l>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+l]=$v);},i);k.Mutex.Lock();$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);p=(o=k.active[n.$key()],o!==undefined?o.v:MD.nil);if(p===MD.nil||!($pointerIsEqual(new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},p),new MF(function(){return((0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]);},function($v){(0<0||0>=this.$target.$length)?$throwRuntimeError("index out of range"):this.$target.$array[this.$target.$offset+0]=$v;},i)))){j=new ER(22);return j;}q=k.munmap($sliceToArray(p),(p.$length>>>0));if(!($interfaceIsEqual(q,$ifaceNil))){j=q;return j;}delete k.active[n.$key()];j=$ifaceNil;return j;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);return j;}};EQ.prototype.Munmap=function(i){return this.$val.Munmap(i);};ER.prototype.Error=function(){var i,j;i=this.$val!==undefined?this.$val:this;if(0<=(i>>0)&&(i>>0)<106){j=((i<0||i>=FS.length)?$throwRuntimeError("index out of range"):FS[i]);if(!(j==="")){return j;}}return"errno "+CQ((i>>0));};$ptrType(ER).prototype.Error=function(){return new ER(this.$get()).Error();};ER.prototype.Temporary=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===4)||(i===24)||(i===54)||(i===53)||new ER(i).Timeout();};$ptrType(ER).prototype.Temporary=function(){return new ER(this.$get()).Temporary();};ER.prototype.Timeout=function(){var i;i=this.$val!==undefined?this.$val:this;return(i===35)||(i===35)||(i===60);};$ptrType(ER).prototype.Timeout=function(){return new ER(this.$get()).Timeout();};ET=$pkg.Read=function(i,j){var k=0,l=$ifaceNil,m;m=IV(i,j);k=m[0];l=m[1];return[k,l];};EU=$pkg.Write=function(i,j){var k=0,l=$ifaceNil,m;m=JY(i,j);k=m[0];l=m[1];return[k,l];};GM=function(i,j,k,l,m){var n=$ifaceNil,o,p,q;o=0;if(i.$length>0){o=$sliceToArray(i);}else{o=new Uint8Array(0);}p=S(202,o,(i.$length>>>0),j,k,l,m);q=p[2];if(!((q===0))){n=new ER(q);}return n;};HA=$pkg.Close=function(i){var j=$ifaceNil,k,l;k=R(6,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HE=$pkg.Exit=function(i){R(1,(i>>>0),0,0);return;};HF=$pkg.Fchdir=function(i){var j=$ifaceNil,k,l;k=R(13,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HH=$pkg.Fchmod=function(i,j){var k=$ifaceNil,l,m;l=R(124,(i>>>0),(j>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HI=$pkg.Fchown=function(i,j,k){var l=$ifaceNil,m,n;m=R(123,(i>>>0),(j>>>0),(k>>>0));n=m[2];if(!((n===0))){l=new ER(n);}return l;};HL=$pkg.Fstat=function(i,j){var k=$ifaceNil,l,m,n,o,p;m=new Uint8Array(144);l=R(339,(i>>>0),m,0);p=l[2];n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));if(!((p===0))){k=new ER(p);}return k;};HN=$pkg.Fsync=function(i){var j=$ifaceNil,k,l;k=R(95,(i>>>0),0,0);l=k[2];if(!((l===0))){j=new ER(l);}return j;};HO=$pkg.Ftruncate=function(i,j){var k=$ifaceNil,l,m;l=R(201,(i>>>0),(j.$low>>>0),0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};HP=$pkg.Getdirentries=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(344,(i>>>0),n,(j.$length>>>0),k,0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};II=$pkg.Lstat=function(i,j){var k=$ifaceNil,l,m,n,o,p,q,r;l=MF.nil;m=V(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=R(340,l,o,0);r=n[2];p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));K(l);if(!((r===0))){k=new ER(r);}return k;};IT=$pkg.Pread=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(153,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IU=$pkg.Pwrite=function(i,j,k){var l=0,m=$ifaceNil,n,o,p,q;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(154,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=new ER(q);}return[l,m];};IV=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(3,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JA=$pkg.Seek=function(i,j,k){var l=new $Int64(0,0),m=$ifaceNil,n,o,p;n=R(199,(i>>>0),(j.$low>>>0),(k>>>0));o=n[0];p=n[2];l=new $Int64(0,o.constructor===Number?o:1);if(!((p===0))){m=new ER(p);}return[l,m];};JY=function(i,j){var k=0,l=$ifaceNil,m,n,o,p;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(4,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=new ER(p);}return[k,l];};JZ=function(i,j,k,l,m,n){var o=0,p=$ifaceNil,q,r,s;q=S(197,i,j,(k>>>0),(l>>>0),(m>>>0),(n.$low>>>0));r=q[0];s=q[2];o=r;if(!((s===0))){p=new ER(s);}return[o,p];};KA=function(i,j){var k=$ifaceNil,l,m;l=R(73,i,j,0);m=l[2];if(!((m===0))){k=new ER(m);}return k;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}MD=$sliceType($Uint8);ME=$sliceType($String);MF=$ptrType($Uint8);ML=$ptrType(ER);MS=$sliceType(KF);MT=$ptrType($Uintptr);MZ=$arrayType($Uint8,32);NE=$sliceType($Uint8);NG=$arrayType($Uint8,4);NH=$arrayType(KF,14);NK=$structType([["addr","addr","syscall",$Uintptr,""],["len","len","syscall",$Int,""],["cap","cap","syscall",$Int,""]]);NX=$ptrType(EQ);NY=$mapType(MF,MD);NZ=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);OA=$funcType([$Uintptr,$Uintptr],[$error],false);OF=$ptrType(KI);OG=$arrayType($Int64,2);OI=$arrayType($Int8,1024);OK=$arrayType($Uint8,3);NX.methods=[["Lock","Lock","",$funcType([],[],false),0],["Mmap","Mmap","",$funcType([$Int,$Int64,$Int,$Int,$Int],[MD,$error],false),-1],["Munmap","Munmap","",$funcType([MD],[$error],false),-1],["Unlock","Unlock","",$funcType([],[],false),0]];EQ.init([["Mutex","","",C.Mutex,""],["active","active","syscall",NY,""],["mmap","mmap","syscall",NZ,""],["munmap","munmap","syscall",OA,""]]);ER.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];ML.methods=[["Error","Error","",$funcType([],[$String],false),-1],["Temporary","Temporary","",$funcType([],[$Bool],false),-1],["Timeout","Timeout","",$funcType([],[$Bool],false),-1]];OF.methods=[["Nano","Nano","",$funcType([],[$Int64],false),-1],["Unix","Unix","",$funcType([],[$Int64,$Int64],false),-1]];KI.init([["Sec","Sec","",$Int64,""],["Nsec","Nsec","",$Int64,""]]);KO.init([["Dev","Dev","",$Int32,""],["Mode","Mode","",$Uint16,""],["Nlink","Nlink","",$Uint16,""],["Ino","Ino","",$Uint64,""],["Uid","Uid","",$Uint32,""],["Gid","Gid","",$Uint32,""],["Rdev","Rdev","",$Int32,""],["Pad_cgo_0","Pad_cgo_0","",NG,""],["Atimespec","Atimespec","",KI,""],["Mtimespec","Mtimespec","",KI,""],["Ctimespec","Ctimespec","",KI,""],["Birthtimespec","Birthtimespec","",KI,""],["Size","Size","",$Int64,""],["Blocks","Blocks","",$Int64,""],["Blksize","Blksize","",$Int32,""],["Flags","Flags","",$Uint32,""],["Gen","Gen","",$Uint32,""],["Lspare","Lspare","",$Int32,""],["Qspare","Qspare","",OG,""]]);KW.init([["Ino","Ino","",$Uint64,""],["Seekoff","Seekoff","",$Uint64,""],["Reclen","Reclen","",$Uint16,""],["Namlen","Namlen","",$Uint16,""],["Type","Type","",$Uint8,""],["Name","Name","",OI,""],["Pad_cgo_0","Pad_cgo_0","",OK,""]]);G=MD.nil;N=null;AP=new C.Once.Ptr();AQ=new C.RWMutex.Ptr();AR=false;F=false;O=false;P=-1;AS=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;FS=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by 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","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","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 family","address already in use","can't 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","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);DT=new EQ.Ptr(new C.Mutex.Ptr(),new $Map(),JZ,KA);H();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},I,J,D;D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once","Once","github.com/gopherjs/gopherjs/nosync",function(doing_,done_){this.$val=this;this.doing=doing_!==undefined?doing_:false;this.done=done_!==undefined?done_:false;});D.Ptr.prototype.Do=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;if(b.done){return;}if(b.doing){$panic(new $String("nosync: Do called within f"));}b.doing=true;$deferred.push([(function(){b.doing=false;b.done=true;}),[]]);a();}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};D.prototype.Do=function(a){return this.$val.Do(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:I=$funcType([],[],false);J=$ptrType(D);J.methods=[["Do","Do","",$funcType([I],[],false),-1]];D.init([["doing","doing","github.com/gopherjs/gopherjs/nosync",$Bool,""],["done","done","github.com/gopherjs/gopherjs/nosync",$Bool,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strings"]=(function(){var $pkg={},B,A,C,E,D,BY,F,AB,AD,AH,BU;B=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];E=$packages["unicode"];D=$packages["unicode/utf8"];F=$pkg.IndexByte=function(b,c){return $parseInt(b.indexOf($global.String.fromCharCode(c)))>>0;};AB=function(b){var c,d,e,f,g,h,i,j,k;c=0;d=0;while(d>>16<<16)*16777619>>>0)+(c<<16>>>16)*16777619)>>>0)+(b.charCodeAt(d)>>>0)>>>0;d=d+(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.length;while(i>0){if(!(((i&1)===0))){g=(j=h,(((g>>>16<<16)*j>>>0)+(g<<16>>>16)*j)>>>0);}h=(k=h,(((h>>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);i=(i>>$min((1),31))>>0;}return[c,g];};AD=$pkg.Count=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;d=0;if(c.length===0){return D.RuneCountInString(b)+1>>0;}else if(c.length===1){e=c.charCodeAt(0);f=0;while(f>0;}f=f+(1)>>0;}return d;}else if(c.length>b.length){return 0;}else if(c.length===b.length){if(c===b){return 1;}return 0;}g=AB(c);h=g[0];i=g[1];j=0;k=0;while(k>>16<<16)*16777619>>>0)+(j<<16>>>16)*16777619)>>>0)+(b.charCodeAt(k)>>>0)>>>0;k=k+(1)>>0;}l=0;if((j===h)&&b.substring(0,c.length)===c){d=d+(1)>>0;l=c.length;}m=c.length;while(m>>16<<16)*n>>>0)+(j<<16>>>16)*n)>>>0);j=j+((b.charCodeAt(m)>>>0))>>>0;j=j-((o=(b.charCodeAt((m-c.length>>0))>>>0),(((i>>>16<<16)*o>>>0)+(i<<16>>>16)*o)>>>0))>>>0;m=m+(1)>>0;if((j===h)&&l<=(m-c.length>>0)&&b.substring((m-c.length>>0),m)===c){d=d+(1)>>0;l=m;}}return d;};AH=$pkg.Index=function(b,c){var d,e,f,g,h,i,j,k,l;d=c.length;if(d===0){return 0;}else if(d===1){return F(b,c.charCodeAt(0));}else if(d===b.length){if(c===b){return 0;}return-1;}else if(d>b.length){return-1;}e=AB(c);f=e[0];g=e[1];h=0;i=0;while(i>>16<<16)*16777619>>>0)+(h<<16>>>16)*16777619)>>>0)+(b.charCodeAt(i)>>>0)>>>0;i=i+(1)>>0;}if((h===f)&&b.substring(0,d)===c){return 0;}j=d;while(j>>16<<16)*k>>>0)+(h<<16>>>16)*k)>>>0);h=h+((b.charCodeAt(j)>>>0))>>>0;h=h-((l=(b.charCodeAt((j-d>>0))>>>0),(((g>>>16<<16)*l>>>0)+(g<<16>>>16)*l)>>>0))>>>0;j=j+(1)>>0;if((h===f)&&b.substring((j-d>>0),j)===c){return j-d>>0;}}return-1;};BU=$pkg.Replace=function(b,c,d,e){var f,g,h,i,j,k,l,m;if(c===d||(e===0)){return b;}f=AD(b,c);if(f===0){return b;}else if(e<0||f>0))>>0)>>0));h=0;i=0;j=0;while(j0){l=D.DecodeRuneInString(b.substring(i));m=l[1];k=k+(m)>>0;}}else{k=k+(AH(b.substring(i),c))>>0;}h=h+($copyString($subslice(g,h),b.substring(i,k)))>>0;h=h+($copyString($subslice(g,h),d))>>0;i=k+c.length>>0;j=j+(1)>>0;}h=h+($copyString($subslice(g,h),b.substring(i)))>>0;return $bytesToString($subslice(g,0,h));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}BY=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DM,DN,DO,DQ,DR,DS,DT,G,AB,AS,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,K,L,M,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,AR,AT,AU,AV,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];G=$pkg.runtimeTimer=$newType(0,$kindStruct,"time.runtimeTimer","runtimeTimer","time",function(i_,when_,period_,f_,arg_,timeout_,active_){this.$val=this;this.i=i_!==undefined?i_:0;this.when=when_!==undefined?when_:new $Int64(0,0);this.period=period_!==undefined?period_:new $Int64(0,0);this.f=f_!==undefined?f_:$throwNilPointerError;this.arg=arg_!==undefined?arg_:$ifaceNil;this.timeout=timeout_!==undefined?timeout_:null;this.active=active_!==undefined?active_:false;});AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});AS=$pkg.Timer=$newType(0,$kindStruct,"time.Timer","Timer","time",function(C_,r_){this.$val=this;this.C=C_!==undefined?C_:DJ.nil;this.r=r_!==undefined?r_:new G.Ptr();});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};K=$pkg.Sleep=function(k,$b){var $this=this,$args=arguments,$r,$s=0,l,m,n;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:l=new DB(0);$global.setTimeout($externalize((function(){$close(l);}),DC),((m=$div64(k,new BN(0,1000000),false),m.$low+((m.$high>>31)*4294967296))>>0));n=$recv(l,$BLOCKING);$s=1;case 1:if(n&&n.$blocking){n=n();}n[0];case-1:}return;}};$f.$blocking=true;return $f;};L=function(k){var 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=$global.setTimeout($externalize((function(){var o,p,q;k.active=false;k.f(k.arg,0);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);}}),DC),$externalize(new $Int64(n.$high+0,n.$low+1),$Int64));};M=function(k){var l;$global.clearTimeout(k.timeout);l=k.active;k.active=false;return l;};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};AR=function(k){var 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;};AS.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);};AS.prototype.Stop=function(){return this.$val.Stop();};AT=$pkg.NewTimer=function(k){var l,m;l=new DI(1);m=new AS.Ptr(l,new G.Ptr(0,AR(k),new $Int64(0,0),AU,l,null,false));L(m.r);return m;};AS.Ptr.prototype.Reset=function(k){var l,m,n;l=this;if(l.r.f===$throwNilPointerError){$panic(new $String("time: Reset called on uninitialized Timer"));}m=AR(k);n=M(l.r);l.r.when=m;L(l.r);return n;};AS.prototype.Reset=function(k){return this.$val.Reset(k);};AU=function(k,l){var m;m=$select([[$assertType(k,DI),BU()],[]]);};AV=$pkg.After=function(k){return AT(k).C;};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DA=$structType([]);DB=$chanType(DA,false,false);DC=$funcType([],[],false);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DI=$chanType(BG,false,false);DJ=$chanType(BG,false,true);DM=$funcType([$emptyInterface,$Uintptr],[],false);DN=$ptrType(AB);DO=$ptrType(AS);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);G.init([["i","i","time",$Int32,""],["when","when","time",$Int64,""],["period","period","time",$Int64,""],["f","f","time",DM,""],["arg","arg","time",$emptyInterface,""],["timeout","timeout","time",B.Object,""],["active","active","time",$Bool,""]]);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);DO.methods=[["Reset","Reset","",$funcType([BN],[$Bool],false),-1],["Stop","Stop","",$funcType([],[$Bool],false),-1]];AS.init([["C","C","",DJ,""],["r","r","time",G,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["time"]=(function(){var $pkg={},C,B,E,F,A,D,CW,CX,CY,CZ,DD,DE,DF,DG,DH,DN,DQ,DR,DS,DT,AB,BG,BH,BJ,BN,CA,CB,CC,N,Q,R,S,T,X,AA,AN,BI,BK,BS,CD,CE,CF,CH,CL,CS,j,H,I,J,O,P,U,V,W,Y,Z,AC,AD,AE,AF,AG,AH,AJ,AK,AL,AM,AO,BL,BM,BO,BP,BR,BU,BV,BW,BX,BY,BZ,CG;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];F=$packages["runtime"];A=$packages["strings"];D=$packages["syscall"];AB=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;this.Layout=Layout_!==undefined?Layout_:"";this.Value=Value_!==undefined?Value_:"";this.LayoutElem=LayoutElem_!==undefined?LayoutElem_:"";this.ValueElem=ValueElem_!==undefined?ValueElem_:"";this.Message=Message_!==undefined?Message_:"";});BG=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;this.sec=sec_!==undefined?sec_:new $Int64(0,0);this.nsec=nsec_!==undefined?nsec_:0;this.loc=loc_!==undefined?loc_:DH.nil;});BH=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BJ=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BN=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CA=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;this.name=name_!==undefined?name_:"";this.zone=zone_!==undefined?zone_:CX.nil;this.tx=tx_!==undefined?tx_:CY.nil;this.cacheStart=cacheStart_!==undefined?cacheStart_:new $Int64(0,0);this.cacheEnd=cacheEnd_!==undefined?cacheEnd_:new $Int64(0,0);this.cacheZone=cacheZone_!==undefined?cacheZone_:CZ.nil;});CB=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;this.name=name_!==undefined?name_:"";this.offset=offset_!==undefined?offset_:0;this.isDST=isDST_!==undefined?isDST_:false;});CC=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;this.when=when_!==undefined?when_:new $Int64(0,0);this.index=index_!==undefined?index_:0;this.isstd=isstd_!==undefined?isstd_:false;this.isutc=isutc_!==undefined?isutc_:false;});H=function(){var k,l,m,n;k=new($global.Date)();l=$internalize(k,$String);m=A.IndexByte(l,40);n=A.IndexByte(l,41);if((m===-1)||(n===-1)){CE.name="UTC";return;}CE.name=l.substring((m+1>>0),n);CE.zone=new CX([new CB.Ptr(CE.name,($parseInt(k.getTimezoneOffset())>>0)*-60>>0,false)]);};I=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};J=function(){var k=new $Int64(0,0),l=0,m,n,o,p;m=I();n=$div64(m,new $Int64(0,1000000000),false);o=((p=$div64(m,new $Int64(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0);k=n;l=o;return[k,l];};O=function(k){var l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};P=function(k){var l="",m=0,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,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;o=0;while(o>0);q=p;if(q===74){if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="January"){r=k.substring(0,o);s=257;t=k.substring((o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!O(k.substring((o+3>>0)))){u=k.substring(0,o);v=258;w=k.substring((o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===77){if(k.length>=(o+3>>0)){if(k.substring(o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Monday"){x=k.substring(0,o);y=261;z=k.substring((o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!O(k.substring((o+3>>0)))){aa=k.substring(0,o);ab=262;ac=k.substring((o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if(k.substring(o,(o+3>>0))==="MST"){ad=k.substring(0,o);ae=21;af=k.substring((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=k.substring(0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=N.length)?$throwRuntimeError("index out of range"):N[ai]));aj=k.substring((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=k.substring(0,o);al=522;am=k.substring((o+2>>0));l=ak;m=al;n=am;return[l,m,n];}an=k.substring(0,o);ao=259;ap=k.substring((o+1>>0));l=an;m=ao;n=ap;return[l,m,n];}else if(q===50){if(k.length>=(o+4>>0)&&k.substring(o,(o+4>>0))==="2006"){aq=k.substring(0,o);ar=273;as=k.substring((o+4>>0));l=aq;m=ar;n=as;return[l,m,n];}at=k.substring(0,o);au=263;av=k.substring((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)){aw=k.substring(0,o);ax=264;ay=k.substring((o+2>>0));l=aw;m=ax;n=ay;return[l,m,n];}}else if(q===51){az=k.substring(0,o);ba=523;bb=k.substring((o+1>>0));l=az;m=ba;n=bb;return[l,m,n];}else if(q===52){bc=k.substring(0,o);bd=525;be=k.substring((o+1>>0));l=bc;m=bd;n=be;return[l,m,n];}else if(q===53){bf=k.substring(0,o);bg=527;bh=k.substring((o+1>>0));l=bf;m=bg;n=bh;return[l,m,n];}else if(q===80){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){bi=k.substring(0,o);bj=531;bk=k.substring((o+2>>0));l=bi;m=bj;n=bk;return[l,m,n];}}else if(q===112){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bl=k.substring(0,o);bm=532;bn=k.substring((o+2>>0));l=bl;m=bm;n=bn;return[l,m,n];}}else if(q===45){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="-070000"){bo=k.substring(0,o);bp=27;bq=k.substring((o+7>>0));l=bo;m=bp;n=bq;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="-07:00:00"){br=k.substring(0,o);bs=30;bt=k.substring((o+9>>0));l=br;m=bs;n=bt;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="-0700"){bu=k.substring(0,o);bv=26;bw=k.substring((o+5>>0));l=bu;m=bv;n=bw;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="-07:00"){bx=k.substring(0,o);by=29;bz=k.substring((o+6>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+3>>0)&&k.substring(o,(o+3>>0))==="-07"){ca=k.substring(0,o);cb=28;cc=k.substring((o+3>>0));l=ca;m=cb;n=cc;return[l,m,n];}}else if(q===90){if(k.length>=(o+7>>0)&&k.substring(o,(o+7>>0))==="Z070000"){cd=k.substring(0,o);ce=23;cf=k.substring((o+7>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+9>>0)&&k.substring(o,(o+9>>0))==="Z07:00:00"){cg=k.substring(0,o);ch=25;ci=k.substring((o+9>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+5>>0)&&k.substring(o,(o+5>>0))==="Z0700"){cj=k.substring(0,o);ck=22;cl=k.substring((o+5>>0));l=cj;m=ck;n=cl;return[l,m,n];}if(k.length>=(o+6>>0)&&k.substring(o,(o+6>>0))==="Z07:00"){cm=k.substring(0,o);cn=24;co=k.substring((o+6>>0));l=cm;m=cn;n=co;return[l,m,n];}}else if(q===46){if((o+1>>0)>0))===48)||(k.charCodeAt((o+1>>0))===57))){cp=k.charCodeAt((o+1>>0));cq=o+1>>0;while(cq>0;}if(!AD(k,cq)){cr=31;if(k.charCodeAt((o+1>>0))===57){cr=32;}cr=cr|((((cq-((o+1>>0))>>0))<<16>>0));cs=k.substring(0,o);ct=cr;cu=k.substring(cq);l=cs;m=ct;n=cu;return[l,m,n];}}}o=o+(1)>>0;}cv=k;cw=0;cx="";l=cv;m=cw;n=cx;return[l,m,n];};U=function(k,l){var m,n,o;m=0;while(m>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};V=function(k,l){var m,n,o,p;m=k;n=0;while(n=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);if(l.length>=p.length&&U(l.substring(0,p.length),p)){return[o,l.substring(p.length),$ifaceNil];}n++;}return[-1,l,AA];};W=function(k,l,m){var n,o,p,q,r,s;if(l<10){if(!((m===0))){k=$append(k,m);}return $append(k,((48+l>>>0)<<24>>>24));}if(l<100){k=$append(k,((48+(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));k=$append(k,((48+(o=l%10,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0)<<24>>>24));return k;}p=$clone(DD.zero(),DD);q=32;if(l===0){return $append(k,48);}while(l>=10){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24);l=(s=l/(10),(s===s&&s!==1/0&&s!==-1/0)?s>>>0:$throwRuntimeError("integer divide by zero"));}q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=((l+48>>>0)<<24>>>24);return $appendSlice(k,$subslice(new DE(p),q));};Y=function(k){var l=0,m=$ifaceNil,n,o,p,q,r,s,t,u;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=k.substring(1);}o=AO(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=X;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};Z=function(k,l,m,n){var o,p,q,r,s,t;o=l;p=$clone(DF.zero(),DF);q=9;while(q>0){q=q-(1)>>0;(q<0||q>=p.length)?$throwRuntimeError("index out of range"):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(m>0&&((t=m-1>>0,((t<0||t>=p.length)?$throwRuntimeError("index out of range"):p[t]))===48)){m=m-(1)>>0;}if(m===0){return k;}}k=$append(k,46);return $appendSlice(k,$subslice(new DE(p),0,m));};BG.Ptr.prototype.String=function(){var k;k=$clone(this,BG);return k.Format("2006-01-02 15:04:05.999999999 -0700 MST");};BG.prototype.String=function(){return this.$val.String();};BG.Ptr.prototype.Format=function(k){var l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay;l=$clone(this,BG);m=l.locabs();n=m[0];o=m[1];p=m[2];q=-1;r=0;s=0;t=-1;u=0;v=0;w=DE.nil;x=$clone(DG.zero(),DG);y=k.length+10>>0;if(y<=64){w=$subslice(new DE(x),0,0);}else{w=DE.make(0,y);}while(!(k==="")){z=P(k);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){w=$appendSlice(w,new DE($stringToBytes(aa)));}if(ab===0){break;}k=ac;if(q<0&&!(((ab&256)===0))){ad=BR(p,true);q=ad[0];r=ad[1];s=ad[2];}if(t<0&&!(((ab&512)===0))){ae=BM(p);t=ae[0];u=ae[1];v=ae[2];}af=ab&65535;switch(0){default:if(af===274){ag=q;if(ag<0){ag=-ag;}w=W(w,((ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===273){ai=q;if(q<=-1000){w=$append(w,45);ai=-ai;}else if(q<=-100){w=$appendSlice(w,new DE($stringToBytes("-0")));ai=-ai;}else if(q<=-10){w=$appendSlice(w,new DE($stringToBytes("-00")));ai=-ai;}else if(q<0){w=$appendSlice(w,new DE($stringToBytes("-000")));ai=-ai;}else if(q<10){w=$appendSlice(w,new DE($stringToBytes("000")));}else if(q<100){w=$appendSlice(w,new DE($stringToBytes("00")));}else if(q<1000){w=$append(w,48);}w=W(w,(ai>>>0),0);}else if(af===258){w=$appendSlice(w,new DE($stringToBytes(new BH(r).String().substring(0,3))));}else if(af===257){aj=new BH(r).String();w=$appendSlice(w,new DE($stringToBytes(aj)));}else if(af===259){w=W(w,(r>>>0),0);}else if(af===260){w=W(w,(r>>>0),48);}else if(af===262){w=$appendSlice(w,new DE($stringToBytes(new BJ(BL(p)).String().substring(0,3))));}else if(af===261){ak=new BJ(BL(p)).String();w=$appendSlice(w,new DE($stringToBytes(ak)));}else if(af===263){w=W(w,(s>>>0),0);}else if(af===264){w=W(w,(s>>>0),32);}else if(af===265){w=W(w,(s>>>0),48);}else if(af===522){w=W(w,(t>>>0),48);}else if(af===523){am=(al=t%12,al===al?al:$throwRuntimeError("integer divide by zero"));if(am===0){am=12;}w=W(w,(am>>>0),0);}else if(af===524){ao=(an=t%12,an===an?an:$throwRuntimeError("integer divide by zero"));if(ao===0){ao=12;}w=W(w,(ao>>>0),48);}else if(af===525){w=W(w,(u>>>0),0);}else if(af===526){w=W(w,(u>>>0),48);}else if(af===527){w=W(w,(v>>>0),0);}else if(af===528){w=W(w,(v>>>0),48);}else if(af===531){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("PM")));}else{w=$appendSlice(w,new DE($stringToBytes("AM")));}}else if(af===532){if(t>=12){w=$appendSlice(w,new DE($stringToBytes("pm")));}else{w=$appendSlice(w,new DE($stringToBytes("am")));}}else if(af===22||af===24||af===23||af===25||af===26||af===29||af===27||af===30){if((o===0)&&((ab===22)||(ab===24)||(ab===23)||(ab===25))){w=$append(w,90);break;}aq=(ap=o/60,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));ar=o;if(aq<0){w=$append(w,45);aq=-aq;ar=-ar;}else{w=$append(w,43);}w=W(w,((as=aq/60,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===24)||(ab===29)||(ab===25)||(ab===30)){w=$append(w,58);}w=W(w,((at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero"))>>>0),48);if((ab===23)||(ab===27)||(ab===30)||(ab===25)){if((ab===30)||(ab===25)){w=$append(w,58);}w=W(w,((au=ar%60,au===au?au:$throwRuntimeError("integer divide by zero"))>>>0),48);}}else if(af===21){if(!(n==="")){w=$appendSlice(w,new DE($stringToBytes(n)));break;}aw=(av=o/60,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"));if(aw<0){w=$append(w,45);aw=-aw;}else{w=$append(w,43);}w=W(w,((ax=aw/60,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>>0),48);w=W(w,((ay=aw%60,ay===ay?ay:$throwRuntimeError("integer divide by zero"))>>>0),48);}else if(af===31||af===32){w=Z(w,(l.Nanosecond()>>>0),ab>>16>>0,(ab&65535)===32);}}}return $bytesToString(w);};BG.prototype.Format=function(k){return this.$val.Format(k);};AC=function(k){return"\""+k+"\"";};AB.Ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+AC(k.Value)+" as "+AC(k.Layout)+": cannot parse "+AC(k.ValueElem)+" as "+AC(k.LayoutElem);}return"parsing time "+AC(k.Value)+k.Message;};AB.prototype.Error=function(){return this.$val.Error();};AD=function(k,l){var m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};AE=function(k,l){if(!AD(k,0)){return[0,k,AA];}if(!AD(k,1)){if(l){return[0,k,AA];}return[((k.charCodeAt(0)-48<<24>>>24)>>0),k.substring(1),$ifaceNil];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)*10>>0)+((k.charCodeAt(1)-48<<24>>>24)>>0)>>0,k.substring(2),$ifaceNil];};AF=function(k){while(k.length>0&&(k.charCodeAt(0)===32)){k=k.substring(1);}return k;};AG=function(k,l){while(l.length>0){if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,AA];}l=AF(l);k=AF(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,AA];}l=l.substring(1);k=k.substring(1);}return[k,$ifaceNil];};AH=$pkg.Parse=function(k,l){return AJ(k,l,$pkg.UTC,$pkg.Local);};AJ=function(k,l,m,n){var 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,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;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=DH.nil;ad=-1;ae="";while(true){af=$ifaceNil;ag=P(k);ah=ag[0];ai=ag[1];aj=ag[2];ak=k.substring(ah.length,(k.length-aj.length>>0));al=AG(l,ah);l=al[0];af=al[1];if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ah,l,"")];}if(ai===0){if(!((l.length===0))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,"",l,": extra text: "+l)];}break;}k=aj;am="";an=ai&65535;switch(0){default:if(an===274){if(l.length<2){af=AA;break;}ao=l.substring(0,2);ap=l.substring(2);am=ao;l=ap;aq=Y(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||!AD(l,0)){af=AA;break;}ar=l.substring(0,4);as=l.substring(4);am=ar;l=as;at=Y(am);v=at[0];af=at[1];}else if(an===258){au=V(S,l);w=au[0];l=au[1];af=au[2];}else if(an===257){av=V(T,l);w=av[0];l=av[1];af=av[2];}else if(an===259||an===260){aw=AE(l,ai===260);w=aw[0];l=aw[1];af=aw[2];if(w<=0||120&&(l.charCodeAt(0)===32)){l=l.substring(1);}az=AE(l,ai===265);x=az[0];l=az[1];af=az[2];if(x<0||31=2&&(l.charCodeAt(0)===46)&&AD(l,1)){be=P(k);ai=be[1];ai=ai&(65535);if((ai===31)||(ai===32)){break;}bf=2;while(bf>0;}bg=AM(l,bf);ab=bg[0];s=bg[1];af=bg[2];l=l.substring(bf);}}else if(an===531){if(l.length<2){af=AA;break;}bh=l.substring(0,2);bi=l.substring(2);am=bh;l=bi;bj=am;if(bj==="PM"){u=true;}else if(bj==="AM"){t=true;}else{af=AA;}}else if(an===532){if(l.length<2){af=AA;break;}bk=l.substring(0,2);bl=l.substring(2);am=bk;l=bl;bm=am;if(bm==="pm"){u=true;}else if(bm==="am"){t=true;}else{af=AA;}}else if(an===22||an===24||an===23||an===25||an===26||an===28||an===29||an===27||an===30){if(((ai===22)||(ai===24))&&l.length>=1&&(l.charCodeAt(0)===90)){l=l.substring(1);ac=$pkg.UTC;break;}bn="";bo="";bp="";bq="";br=bn;bs=bo;bt=bp;bu=bq;if((ai===24)||(ai===29)){if(l.length<6){af=AA;break;}if(!((l.charCodeAt(3)===58))){af=AA;break;}bv=l.substring(0,1);bw=l.substring(1,3);bx=l.substring(4,6);by="00";bz=l.substring(6);br=bv;bs=bw;bt=bx;bu=by;l=bz;}else if(ai===28){if(l.length<3){af=AA;break;}ca=l.substring(0,1);cb=l.substring(1,3);cc="00";cd="00";ce=l.substring(3);br=ca;bs=cb;bt=cc;bu=cd;l=ce;}else if((ai===25)||(ai===30)){if(l.length<9){af=AA;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){af=AA;break;}cf=l.substring(0,1);cg=l.substring(1,3);ch=l.substring(4,6);ci=l.substring(7,9);cj=l.substring(9);br=cf;bs=cg;bt=ch;bu=ci;l=cj;}else if((ai===23)||(ai===27)){if(l.length<7){af=AA;break;}ck=l.substring(0,1);cl=l.substring(1,3);cm=l.substring(3,5);cn=l.substring(5,7);co=l.substring(7);br=ck;bs=cl;bt=cm;bu=cn;l=co;}else{if(l.length<5){af=AA;break;}cp=l.substring(0,1);cq=l.substring(1,3);cr=l.substring(3,5);cs="00";ct=l.substring(5);br=cp;bs=cq;bt=cr;bu=cs;l=ct;}cu=0;cv=0;cw=0;cx=cu;cy=cv;cz=cw;da=Y(bs);cx=da[0];af=da[1];if($interfaceIsEqual(af,$ifaceNil)){db=Y(bt);cy=db[0];af=db[1];}if($interfaceIsEqual(af,$ifaceNil)){dc=Y(bu);cz=dc[0];af=dc[1];}ad=((((cx*60>>0)+cy>>0))*60>>0)+cz>>0;dd=br.charCodeAt(0);if(dd===43){}else if(dd===45){ad=-ad;}else{af=AA;}}else if(an===21){if(l.length>=3&&l.substring(0,3)==="UTC"){ac=$pkg.UTC;l=l.substring(3);break;}de=AK(l);df=de[0];dg=de[1];if(!dg){af=AA;break;}dh=l.substring(0,df);di=l.substring(df);ae=dh;l=di;}else if(an===31){dj=1+((ai>>16>>0))>>0;if(l.length>0)>0))&&l.charCodeAt((dl+1>>0))<=57){dl=dl+(1)>>0;}dm=AM(l,1+dl>>0);ab=dm[0];s=dm[1];af=dm[2];l=l.substring((1+dl>>0));}}if(!(s==="")){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,": "+s+" out of range")];}if(!($interfaceIsEqual(af,$ifaceNil))){return[new BG.Ptr(new $Int64(0,0),0,DH.nil),new AB.Ptr(q,r,ak,l,"")];}}if(u&&y<12){y=y+(12)>>0;}else if(t&&(y===12)){y=0;}if(!(ac===DH.nil)){return[BY(v,(w>>0),x,y,z,aa,ab,ac),$ifaceNil];}if(!((ad===-1))){dn=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dn.sec=(dp=dn.sec,dq=new $Int64(0,ad),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dr=n.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));dt=dr[0];du=dr[1];if((du===ad)&&(ae===""||dt===ae)){dn.loc=n;return[dn,$ifaceNil];}dn.loc=CG(ae,ad);return[dn,$ifaceNil];}if(!(ae==="")){dv=$clone(BY(v,(w>>0),x,y,z,aa,ab,$pkg.UTC),BG);dw=n.lookupName(ae,(dx=dv.sec,new $Int64(dx.$high+-15,dx.$low+2288912640)));dy=dw[0];dz=dw[2];if(dz){dv.sec=(ea=dv.sec,eb=new $Int64(0,dy),new $Int64(ea.$high-eb.$high,ea.$low-eb.$low));dv.loc=n;return[dv,$ifaceNil];}if(ae.length>3&&ae.substring(0,3)==="GMT"){ec=Y(ae.substring(3));dy=ec[0];dy=dy*(3600)>>0;}dv.loc=CG(ae,dy);return[dv,$ifaceNil];}return[BY(v,(w>>0),x,y,z,aa,ab,m),$ifaceNil];};AK=function(k){var l=0,m=false,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&(k.substring(0,4)==="ChST"||k.substring(0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if(k.substring(0,3)==="GMT"){l=AL(k);r=l;s=true;l=r;m=s;return[l,m];}t=0;t=0;while(t<6){if(t>=k.length){break;}u=k.charCodeAt(t);if(u<65||90>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){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];};AL=function(k){var l,m,n,o,p;k=k.substring(3);if(k.length===0){return 3;}l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 3;}m=AO(k.substring(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>0)-o.length>>0;};AM=function(k,l){var m=0,n="",o=$ifaceNil,p,q,r;if(!((k.charCodeAt(0)===46))){o=AA;return[m,n,o];}p=Y(k.substring(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(r>0;r=r+(1)>>0;}return[m,n,o];};AO=function(k){var l=new $Int64(0,0),m="",n=$ifaceNil,o,p,q,r,s,t,u,v,w,x,y;o=0;while(o57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>=3435973835))){q=new $Int64(0,0);r="";s=AN;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));o=o+(1)>>0;}w=l;x=k.substring(o);y=$ifaceNil;l=w;m=x;n=y;return[l,m,n];};BG.Ptr.prototype.After=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>n.$high||(m.$high===n.$high&&m.$low>n.$low)))||(o=l.sec,p=k.sec,(o.$high===p.$high&&o.$low===p.$low))&&l.nsec>k.nsec;};BG.prototype.After=function(k){return this.$val.After(k);};BG.Ptr.prototype.Before=function(k){var l,m,n,o,p;l=$clone(this,BG);k=$clone(k,BG);return(m=l.sec,n=k.sec,(m.$high>0,((l<0||l>=BI.length)?$throwRuntimeError("index out of range"):BI[l]));};$ptrType(BH).prototype.String=function(){return new BH(this.$get()).String();};BJ.prototype.String=function(){var k;k=this.$val!==undefined?this.$val:this;return((k<0||k>=BK.length)?$throwRuntimeError("index out of range"):BK[k]);};$ptrType(BJ).prototype.String=function(){return new BJ(this.$get()).String();};BG.Ptr.prototype.IsZero=function(){var k,l;k=$clone(this,BG);return(l=k.sec,(l.$high===0&&l.$low===0))&&(k.nsec===0);};BG.prototype.IsZero=function(){return this.$val.IsZero();};BG.Ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u;k=$clone(this,BG);l=k.loc;if(l===DH.nil||l===CE){l=l.get();}n=(m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640));if(!(l===CD)){if(!(l.cacheZone===CZ.nil)&&(o=l.cacheStart,(o.$high>0)/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0);};BG.Ptr.prototype.ISOWeek=function(){var k=0,l=0,m,n,o,p,q,r,s,t,u,v,w,x;m=$clone(this,BG);n=m.date(true);k=n[0];o=n[1];p=n[2];q=n[3];s=(r=((m.Weekday()+6>>0)>>0)%7,r===r?r:$throwRuntimeError("integer divide by zero"));l=(t=(((q-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-q>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){l=l+(1)>>0;}if(l===0){k=k-(1)>>0;l=52;if((v===4)||((v===5)&&BW(k))){l=l+(1)>>0;}}if((o===12)&&p>=29&&s<3){x=(w=(((s+31>>0)-p>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){k=k+(1)>>0;l=1;}}return[k,l];};BG.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BG.Ptr.prototype.Clock=function(){var k=0,l=0,m=0,n,o;n=$clone(this,BG);o=BM(n.abs());k=o[0];l=o[1];m=o[2];return[k,l,m];};BG.prototype.Clock=function(){return this.$val.Clock();};BM=function(k){var l=0,m=0,n=0,o,p;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-((l*3600>>0))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-((m*60>>0))>>0;return[l,m,n];};BG.Ptr.prototype.Hour=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,86400),true).$low>>0)/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Hour=function(){return this.$val.Hour();};BG.Ptr.prototype.Minute=function(){var k,l;k=$clone(this,BG);return(l=($div64(k.abs(),new $Uint64(0,3600),true).$low>>0)/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));};BG.prototype.Minute=function(){return this.$val.Minute();};BG.Ptr.prototype.Second=function(){var k;k=$clone(this,BG);return($div64(k.abs(),new $Uint64(0,60),true).$low>>0);};BG.prototype.Second=function(){return this.$val.Second();};BG.Ptr.prototype.Nanosecond=function(){var k;k=$clone(this,BG);return(k.nsec>>0);};BG.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BG.Ptr.prototype.YearDay=function(){var k,l,m;k=$clone(this,BG);l=k.date(false);m=l[3];return m+1>>0;};BG.prototype.YearDay=function(){return this.$val.YearDay();};BN.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=$clone(DD.zero(),DD);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"):l[m]=115;m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=110;}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new DE(l),m),"\xC2\xB5");}else{p=6;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=109;}q=BO($subslice(new DE(l),0,m),n,p);m=q[0];n=q[1];m=BP($subslice(new DE(l),0,m),n);}else{m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=115;r=BO($subslice(new DE(l),0,m),n,9);m=r[0];n=r[1];m=BP($subslice(new DE(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"):l[m]=109;m=BP($subslice(new DE(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"):l[m]=104;m=BP($subslice(new DE(l),0,m),n);}}}if(o){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=45;}return $bytesToString($subslice(new DE(l),m));};$ptrType(BN).prototype.String=function(){return this.$get().String();};BO=function(k,l,m){var n=0,o=new $Uint64(0,0),p,q,r,s,t,u;p=k.$length;q=false;r=0;while(r>0;(p<0||p>=k.$length)?$throwRuntimeError("index out of range"):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"):k.$array[k.$offset+p]=46;}t=p;u=l;n=t;o=u;return[n,o];};BP=function(k,l){var 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"):k.$array[k.$offset+m]=48;}else{while((l.$high>0||(l.$high===0&&l.$low>0))){m=m-(1)>>0;(m<0||m>=k.$length)?$throwRuntimeError("index out of range"):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;};BN.prototype.Nanoseconds=function(){var k;k=this;return new $Int64(k.$high,k.$low);};$ptrType(BN).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BN.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new BN(0,1000000000),false);m=$div64(k,new BN(0,1000000000),true);return $flatten64(l)+$flatten64(m)*1e-09;};$ptrType(BN).prototype.Seconds=function(){return this.$get().Seconds();};BN.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new BN(13,4165425152),false);m=$div64(k,new BN(13,4165425152),true);return $flatten64(l)+$flatten64(m)*1.6666666666666667e-11;};$ptrType(BN).prototype.Minutes=function(){return this.$get().Minutes();};BN.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new BN(838,817405952),false);m=$div64(k,new BN(838,817405952),true);return $flatten64(l)+$flatten64(m)*2.777777777777778e-13;};$ptrType(BN).prototype.Hours=function(){return this.$get().Hours();};BG.Ptr.prototype.Add=function(k){var l,m,n,o,p,q,r,s,t,u;l=$clone(this,BG);l.sec=(m=l.sec,n=(o=$div64(k,new BN(0,1000000000),false),new $Int64(o.$high,o.$low)),new $Int64(m.$high+n.$high,m.$low+n.$low));q=l.nsec+((p=$div64(k,new BN(0,1000000000),true),p.$low+((p.$high>>31)*4294967296))>>0)>>0;if(q>=1000000000){l.sec=(r=l.sec,s=new $Int64(0,1),new $Int64(r.$high+s.$high,r.$low+s.$low));q=q-(1000000000)>>0;}else if(q<0){l.sec=(t=l.sec,u=new $Int64(0,1),new $Int64(t.$high-u.$high,t.$low-u.$low));q=q+(1000000000)>>0;}l.nsec=q;return l;};BG.prototype.Add=function(k){return this.$val.Add(k);};BG.Ptr.prototype.Sub=function(k){var l,m,n,o,p,q,r;l=$clone(this,BG);k=$clone(k,BG);r=(m=$mul64((n=(o=l.sec,p=k.sec,new $Int64(o.$high-p.$high,o.$low-p.$low)),new BN(n.$high,n.$low)),new BN(0,1000000000)),q=new BN(0,(l.nsec-k.nsec>>0)),new BN(m.$high+q.$high,m.$low+q.$low));if(k.Add(r).Equal(l)){return r;}else if(l.Before(k)){return new BN(-2147483648,0);}else{return new BN(2147483647,4294967295);}};BG.prototype.Sub=function(k){return this.$val.Sub(k);};BG.Ptr.prototype.AddDate=function(k,l,m){var n,o,p,q,r,s,t,u,v;n=$clone(this,BG);o=n.Date();p=o[0];q=o[1];r=o[2];s=n.Clock();t=s[0];u=s[1];v=s[2];return BY(p+k>>0,q+(l>>0)>>0,r+m>>0,t,u,v,(n.nsec>>0),n.loc);};BG.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};BG.Ptr.prototype.date=function(k){var l=0,m=0,n=0,o=0,p,q;p=$clone(this,BG);q=BR(p.abs(),k);l=q[0];m=q[1];n=q[2];o=q[3];return[l,m,n,o];};BG.prototype.date=function(k){return this.$val.date(k);};BR=function(k,l){var m=0,n=0,o=0,p=0,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;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(BW(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>=BS.length)?$throwRuntimeError("index out of range"):BS[af]))>>0);ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=(((n<0||n>=BS.length)?$throwRuntimeError("index out of range"):BS[n])>>0);}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BU=$pkg.Now=function(){var k,l,m;k=J();l=k[0];m=k[1];return new BG.Ptr(new $Int64(l.$high+14,l.$low+2006054656),m,$pkg.Local);};BG.Ptr.prototype.UTC=function(){var k;k=$clone(this,BG);k.loc=$pkg.UTC;return k;};BG.prototype.UTC=function(){return this.$val.UTC();};BG.Ptr.prototype.Local=function(){var k;k=$clone(this,BG);k.loc=$pkg.Local;return k;};BG.prototype.Local=function(){return this.$val.Local();};BG.Ptr.prototype.In=function(k){var l;l=$clone(this,BG);if(k===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.loc=k;return l;};BG.prototype.In=function(k){return this.$val.In(k);};BG.Ptr.prototype.Location=function(){var k,l;k=$clone(this,BG);l=k.loc;if(l===DH.nil){l=$pkg.UTC;}return l;};BG.prototype.Location=function(){return this.$val.Location();};BG.Ptr.prototype.Zone=function(){var k="",l=0,m,n,o;m=$clone(this,BG);n=m.loc.lookup((o=m.sec,new $Int64(o.$high+-15,o.$low+2288912640)));k=n[0];l=n[1];return[k,l];};BG.prototype.Zone=function(){return this.$val.Zone();};BG.Ptr.prototype.Unix=function(){var k,l;k=$clone(this,BG);return(l=k.sec,new $Int64(l.$high+-15,l.$low+2288912640));};BG.prototype.Unix=function(){return this.$val.Unix();};BG.Ptr.prototype.UnixNano=function(){var k,l,m,n;k=$clone(this,BG);return(l=$mul64(((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640))),new $Int64(0,1000000000)),n=new $Int64(0,k.nsec),new $Int64(l.$high+n.$high,l.$low+n.$low));};BG.prototype.UnixNano=function(){return this.$val.UnixNano();};BG.Ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q;k=$clone(this,BG);l=0;if(k.Location()===CD){l=-1;}else{m=k.Zone();n=m[1];if(!(((o=n%60,o===o?o:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}n=(p=n/(60),(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));if(n<-32768||(n===-1)||n>32767){return[DE.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=(n<<16>>16);}q=new DE([1,($shiftRightInt64(k.sec,56).$low<<24>>>24),($shiftRightInt64(k.sec,48).$low<<24>>>24),($shiftRightInt64(k.sec,40).$low<<24>>>24),($shiftRightInt64(k.sec,32).$low<<24>>>24),($shiftRightInt64(k.sec,24).$low<<24>>>24),($shiftRightInt64(k.sec,16).$low<<24>>>24),($shiftRightInt64(k.sec,8).$low<<24>>>24),(k.sec.$low<<24>>>24),((k.nsec>>24>>0)<<24>>>24),((k.nsec>>16>>0)<<24>>>24),((k.nsec>>8>>0)<<24>>>24),(k.nsec<<24>>>24),((l>>8<<16>>16)<<24>>>24),(l<<24>>>24)]);return[q,$ifaceNil];};BG.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BG.Ptr.prototype.UnmarshalBinary=function(k){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;l=this;m=k;if(m.$length===0){return C.New("Time.UnmarshalBinary: no data");}if(!((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])===1))){return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);l.sec=(n=(o=(p=(q=(r=(s=(t=new $Int64(0,((7<0||7>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+7])),u=$shiftLeft64(new $Int64(0,((6<0||6>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+6])),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,((5<0||5>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+5])),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,((4<0||4>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+4])),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64(new $Int64(0,((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64(new $Int64(0,((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);l.nsec=(((((3<0||3>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+3])>>0)|((((2<0||2>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+2])>>0)<<8>>0))|((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])>>0)<<16>>0))|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])>>0)<<24>>0);m=$subslice(m,4);ab=(((((1<0||1>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+1])<<16>>16)|((((0<0||0>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])<<16>>16)<<8<<16>>16))>>0)*60>>0;if(ab===-60){l.loc=CD;}else{ac=$pkg.Local.lookup((ad=l.sec,new $Int64(ad.$high+-15,ad.$low+2288912640)));ae=ac[1];if(ab===ae){l.loc=$pkg.Local;}else{l.loc=CG("",ab);}}return $ifaceNil;};BG.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};BG.Ptr.prototype.GobEncode=function(){var k;k=$clone(this,BG);return k.MarshalBinary();};BG.prototype.GobEncode=function(){return this.$val.GobEncode();};BG.Ptr.prototype.GobDecode=function(k){var l;l=this;return l.UnmarshalBinary(k);};BG.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};BG.Ptr.prototype.MarshalJSON=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("\"2006-01-02T15:04:05.999999999Z07:00\""))),$ifaceNil];};BG.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BG.Ptr.prototype.UnmarshalJSON=function(k){var l=$ifaceNil,m,n;m=this;n=AH("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};BG.Ptr.prototype.MarshalText=function(){var k,l;k=$clone(this,BG);l=k.Year();if(l<0||l>=10000){return[DE.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}return[new DE($stringToBytes(k.Format("2006-01-02T15:04:05.999999999Z07:00"))),$ifaceNil];};BG.prototype.MarshalText=function(){return this.$val.MarshalText();};BG.Ptr.prototype.UnmarshalText=function(k){var l=$ifaceNil,m,n;m=this;n=AH("2006-01-02T15:04:05Z07:00",$bytesToString(k));$copy(m,n[0],BG);l=n[1];return l;};BG.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BV=$pkg.Unix=function(k,l){var 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 new BG.Ptr(new $Int64(k.$high+14,k.$low+2006054656),((l.$low+((l.$high>>31)*4294967296))>>0),$pkg.Local);};BW=function(k){var 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));};BX=function(k,l,m){var n=0,o=0,p,q,r,s,t,u;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+((q*m>>0))>>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-((s*m>>0))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BY=$pkg.Date=function(k,l,m,n,o,p,q,r){var s,t,u,v,w,x,y,z,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;if(r===DH.nil){$panic(new $String("time: missing Location in call to Date"));}s=(l>>0)-1>>0;t=BX(k,s,12);k=t[0];s=t[1];l=(s>>0)+1>>0;u=BX(p,q,1000000000);p=u[0];q=u[1];v=BX(o,p,60);o=v[0];p=v[1];w=BX(n,o,60);n=w[0];o=w[1];x=BX(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>=BS.length)?$throwRuntimeError("index out of range"):BS[ak]))),new $Uint64(ad.$high+aj.$high,ad.$low+aj.$low));if(BW(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,(((n*3600>>0)+(o*60>>0)>>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));ar=r.lookup(aq);as=ar[1];at=ar[3];au=ar[4];if(!((as===0))){aw=(av=new $Int64(0,as),new $Int64(aq.$high-av.$high,aq.$low-av.$low));if((aw.$highau.$high||(aw.$high===au.$high&&aw.$low>=au.$low))){ay=r.lookup(au);as=ay[1];}aq=(az=new $Int64(0,as),new $Int64(aq.$high-az.$high,aq.$low-az.$low));}return new BG.Ptr(new $Int64(aq.$high+14,aq.$low+2006054656),(q>>0),r);};BG.Ptr.prototype.Truncate=function(k){var l,m,n;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];return l.Add(new BN(-n.$high,-n.$low));};BG.prototype.Truncate=function(k){return this.$val.Truncate(k);};BG.Ptr.prototype.Round=function(k){var l,m,n,o;l=$clone(this,BG);if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BZ(l,k);n=m[1];if((o=new BN(n.$high+n.$high,n.$low+n.$low),(o.$high>0;k.sec=(s=k.sec,t=new $Int64(0,1),new $Int64(s.$high-t.$high,s.$low-t.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(u=$div64(new BN(0,1000000000),(new BN(l.$high+l.$high,l.$low+l.$low)),true),(u.$high===0&&u.$low===0))){m=((w=p/((l.$low+((l.$high>>31)*4294967296))>>0),(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;n=new BN(0,(x=p%((l.$low+((l.$high>>31)*4294967296))>>0),x===x?x:$throwRuntimeError("integer divide by zero")));}else if((v=$div64(l,new BN(0,1000000000),true),(v.$high===0&&v.$low===0))){z=(y=$div64(l,new BN(0,1000000000),false),new $Int64(y.$high,y.$low));m=((aa=$div64(k.sec,z,false),aa.$low+((aa.$high>>31)*4294967296))>>0)&1;n=(ab=$mul64((ac=$div64(k.sec,z,true),new BN(ac.$high,ac.$low)),new BN(0,1000000000)),ad=new BN(0,p),new BN(ab.$high+ad.$high,ab.$low+ad.$low));}else{af=(ae=k.sec,new $Uint64(ae.$high,ae.$low));ag=$mul64(($shiftRightUint64(af,32)),new $Uint64(0,1000000000));ah=$shiftRightUint64(ag,32);ai=$shiftLeft64(ag,32);ag=$mul64(new $Uint64(af.$high&0,(af.$low&4294967295)>>>0),new $Uint64(0,1000000000));aj=ai;ak=new $Uint64(ai.$high+ag.$high,ai.$low+ag.$low);al=aj;ai=ak;if((ai.$highar.$high||(ah.$high===ar.$high&&ah.$low>ar.$low))||(ah.$high===ar.$high&&ah.$low===ar.$low)&&(ai.$high>at.$high||(ai.$high===at.$high&&ai.$low>=at.$low))){m=1;au=ai;av=new $Uint64(ai.$high-at.$high,ai.$low-at.$low);al=au;ai=av;if((ai.$high>al.$high||(ai.$high===al.$high&&ai.$low>al.$low))){ah=(aw=new $Uint64(0,1),new $Uint64(ah.$high-aw.$high,ah.$low-aw.$low));}ah=(ax=ar,new $Uint64(ah.$high-ax.$high,ah.$low-ax.$low));}if((ar.$high===0&&ar.$low===0)&&(ay=new $Uint64(l.$high,l.$low),(at.$high===ay.$high&&at.$low===ay.$low))){break;}at=$shiftRightUint64(at,(1));at=(az=$shiftLeft64((new $Uint64(ar.$high&0,(ar.$low&1)>>>0)),63),new $Uint64(at.$high|az.$high,(at.$low|az.$low)>>>0));ar=$shiftRightUint64(ar,(1));}n=new BN(ai.$high,ai.$low);}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new BN(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CA.Ptr.prototype.get=function(){var k;k=this;if(k===DH.nil){return CD;}if(k===CE){CF.Do(H);}return k;};CA.prototype.get=function(){return this.$val.get();};CA.Ptr.prototype.String=function(){var k;k=this;return k.get().name;};CA.prototype.String=function(){return this.$val.String();};CG=$pkg.FixedZone=function(k,l){var m,n;m=new CA.Ptr(k,new CX([new CB.Ptr(k,l,false)]),new CY([new CC.Ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),CZ.nil);m.cacheZone=(n=m.zone,((0<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0]));return m;};CA.Ptr.prototype.lookup=function(k){var l="",m=0,n=false,o=new $Int64(0,0),p=new $Int64(0,0),q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai;q=this;q=q.get();if(q.zone.$length===0){l="UTC";m=0;n=false;o=new $Int64(-2147483648,0);p=new $Int64(2147483647,4294967295);return[l,m,n,o,p];}r=q.cacheZone;if(!(r===CZ.nil)&&(s=q.cacheStart,(s.$high=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+0])).when,(k.$high=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]));l=y.name;m=y.offset;n=y.isDST;o=new $Int64(-2147483648,0);if(q.tx.$length>0){p=(z=q.tx,((0<0||0>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+0])).when;}else{p=new $Int64(2147483647,4294967295);}return[l,m,n,o,p];}aa=q.tx;p=new $Int64(2147483647,4294967295);ab=0;ac=aa.$length;while((ac-ab>>0)>1){ae=ab+(ad=((ac-ab>>0))/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))>>0;af=((ae<0||ae>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ae]).when;if((k.$high=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).index,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]));l=ai.name;m=ai.offset;n=ai.isDST;o=((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]).when;return[l,m,n,o,p];};CA.prototype.lookup=function(k){return this.$val.lookup(k);};CA.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<0||0>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])).isDST){p=((o=k.tx,((0<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0])).index>>0)-1>>0;while(p>=0){if(!(q=k.zone,((p<0||p>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(s=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};CA.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CA.Ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(m=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]),CC);if(n.index===0){return true;}m++;}return false;};CA.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CA.Ptr.prototype.lookupName=function(k,l){var m=0,n=false,o=false,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak;p=this;p=p.get();q=p.zone;r=0;while(r=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+s]));if(u.name===k){v=p.lookup((w=new $Int64(0,u.offset),new $Int64(l.$high-w.$high,l.$low-w.$low)));x=v[0];y=v[1];z=v[2];if(x===u.name){aa=y;ab=z;ac=true;m=aa;n=ab;o=ac;return[m,n,o];}}r++;}ad=p.zone;ae=0;while(ae=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===k){ai=ah.offset;aj=ah.isDST;ak=true;m=ai;n=aj;o=ak;return[m,n,o];}ae++;}return[m,n,o];};CA.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=C.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}CW=$sliceType($String);CX=$sliceType(CB);CY=$sliceType(CC);CZ=$ptrType(CB);DD=$arrayType($Uint8,32);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CA);DN=$ptrType(AB);DQ=$ptrType(BG);DR=$ptrType(BH);DS=$ptrType(BJ);DT=$ptrType(BN);DN.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AB.init([["Layout","Layout","",$String,""],["Value","Value","",$String,""],["LayoutElem","LayoutElem","",$String,""],["ValueElem","ValueElem","",$String,""],["Message","Message","",$String,""]]);BG.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];DQ.methods=[["Add","Add","",$funcType([BN],[BG],false),-1],["AddDate","AddDate","",$funcType([$Int,$Int,$Int],[BG],false),-1],["After","After","",$funcType([BG],[$Bool],false),-1],["Before","Before","",$funcType([BG],[$Bool],false),-1],["Clock","Clock","",$funcType([],[$Int,$Int,$Int],false),-1],["Date","Date","",$funcType([],[$Int,BH,$Int],false),-1],["Day","Day","",$funcType([],[$Int],false),-1],["Equal","Equal","",$funcType([BG],[$Bool],false),-1],["Format","Format","",$funcType([$String],[$String],false),-1],["GobDecode","GobDecode","",$funcType([DE],[$error],false),-1],["GobEncode","GobEncode","",$funcType([],[DE,$error],false),-1],["Hour","Hour","",$funcType([],[$Int],false),-1],["ISOWeek","ISOWeek","",$funcType([],[$Int,$Int],false),-1],["In","In","",$funcType([DH],[BG],false),-1],["IsZero","IsZero","",$funcType([],[$Bool],false),-1],["Local","Local","",$funcType([],[BG],false),-1],["Location","Location","",$funcType([],[DH],false),-1],["MarshalBinary","MarshalBinary","",$funcType([],[DE,$error],false),-1],["MarshalJSON","MarshalJSON","",$funcType([],[DE,$error],false),-1],["MarshalText","MarshalText","",$funcType([],[DE,$error],false),-1],["Minute","Minute","",$funcType([],[$Int],false),-1],["Month","Month","",$funcType([],[BH],false),-1],["Nanosecond","Nanosecond","",$funcType([],[$Int],false),-1],["Round","Round","",$funcType([BN],[BG],false),-1],["Second","Second","",$funcType([],[$Int],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([BG],[BN],false),-1],["Truncate","Truncate","",$funcType([BN],[BG],false),-1],["UTC","UTC","",$funcType([],[BG],false),-1],["Unix","Unix","",$funcType([],[$Int64],false),-1],["UnixNano","UnixNano","",$funcType([],[$Int64],false),-1],["UnmarshalBinary","UnmarshalBinary","",$funcType([DE],[$error],false),-1],["UnmarshalJSON","UnmarshalJSON","",$funcType([DE],[$error],false),-1],["UnmarshalText","UnmarshalText","",$funcType([DE],[$error],false),-1],["Weekday","Weekday","",$funcType([],[BJ],false),-1],["Year","Year","",$funcType([],[$Int],false),-1],["YearDay","YearDay","",$funcType([],[$Int],false),-1],["Zone","Zone","",$funcType([],[$String,$Int],false),-1],["abs","abs","time",$funcType([],[$Uint64],false),-1],["date","date","time",$funcType([$Bool],[$Int,BH,$Int,$Int],false),-1],["locabs","locabs","time",$funcType([],[$String,$Int,$Uint64],false),-1]];BG.init([["sec","sec","time",$Int64,""],["nsec","nsec","time",$Int32,""],["loc","loc","time",DH,""]]);BH.methods=[["String","String","",$funcType([],[$String],false),-1]];DR.methods=[["String","String","",$funcType([],[$String],false),-1]];BJ.methods=[["String","String","",$funcType([],[$String],false),-1]];DS.methods=[["String","String","",$funcType([],[$String],false),-1]];BN.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DT.methods=[["Hours","Hours","",$funcType([],[$Float64],false),-1],["Minutes","Minutes","",$funcType([],[$Float64],false),-1],["Nanoseconds","Nanoseconds","",$funcType([],[$Int64],false),-1],["Seconds","Seconds","",$funcType([],[$Float64],false),-1],["String","String","",$funcType([],[$String],false),-1]];DH.methods=[["String","String","",$funcType([],[$String],false),-1],["firstZoneUsed","firstZoneUsed","time",$funcType([],[$Bool],false),-1],["get","get","time",$funcType([],[DH],false),-1],["lookup","lookup","time",$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false),-1],["lookupFirstZone","lookupFirstZone","time",$funcType([],[$Int],false),-1],["lookupName","lookupName","time",$funcType([$String,$Int64],[$Int,$Bool,$Bool],false),-1]];CA.init([["name","name","time",$String,""],["zone","zone","time",CX,""],["tx","tx","time",CY,""],["cacheStart","cacheStart","time",$Int64,""],["cacheEnd","cacheEnd","time",$Int64,""],["cacheZone","cacheZone","time",CZ,""]]);CB.init([["name","name","time",$String,""],["offset","offset","time",$Int,""],["isDST","isDST","time",$Bool,""]]);CC.init([["when","when","time",$Int64,""],["index","index","time",$Uint8,""],["isstd","isstd","time",$Bool,""],["isutc","isutc","time",$Bool,""]]);CE=new CA.Ptr();CF=new E.Once.Ptr();N=$toNativeArray($kindInt,[260,265,524,526,528,274]);Q=new CW(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);R=new CW(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);S=new CW(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);T=new CW(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);X=C.New("time: invalid number");AA=C.New("bad value for field");AN=C.New("time: bad [0-9]*");BI=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BK=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BS=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CD=new CA.Ptr("UTC",CX.nil,CY.nil,new $Int64(0,0),new $Int64(0,0),CZ.nil);$pkg.UTC=CD;$pkg.Local=CE;j=D.Getenv("ZONEINFO");CH=j[0];CL=C.New("malformed time zone information");CS=new CW(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",F.GOROOT()+"/lib/time/zoneinfo.zip"]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["os"]=(function(){var $pkg={},E,A,B,F,H,G,C,D,CX,CY,CZ,DB,DC,DD,DE,DK,DQ,DR,DS,DW,DX,DZ,W,X,AQ,BG,BH,BJ,CS,CT,CV,AO,AV,BV,CP,I,Y,AA,AD,AX,AY,BB,BI,BK,BN,BQ,BX,BY,CD,CJ,CL,CM,CQ;E=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["io"];F=$packages["runtime"];H=$packages["sync"];G=$packages["sync/atomic"];C=$packages["syscall"];D=$packages["time"];W=$pkg.PathError=$newType(0,$kindStruct,"os.PathError","PathError","os",function(Op_,Path_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Path=Path_!==undefined?Path_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});X=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError","SyscallError","os",function(Syscall_,Err_){this.$val=this;this.Syscall=Syscall_!==undefined?Syscall_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});AQ=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError","LinkError","os",function(Op_,Old_,New_,Err_){this.$val=this;this.Op=Op_!==undefined?Op_:"";this.Old=Old_!==undefined?Old_:"";this.New=New_!==undefined?New_:"";this.Err=Err_!==undefined?Err_:$ifaceNil;});BG=$pkg.File=$newType(0,$kindStruct,"os.File","File","os",function(file_){this.$val=this;this.file=file_!==undefined?file_:DQ.nil;});BH=$pkg.file=$newType(0,$kindStruct,"os.file","file","os",function(fd_,name_,dirinfo_,nepipe_){this.$val=this;this.fd=fd_!==undefined?fd_:0;this.name=name_!==undefined?name_:"";this.dirinfo=dirinfo_!==undefined?dirinfo_:CY.nil;this.nepipe=nepipe_!==undefined?nepipe_:0;});BJ=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo","dirInfo","os",function(buf_,nbuf_,bufp_){this.$val=this;this.buf=buf_!==undefined?buf_:CZ.nil;this.nbuf=nbuf_!==undefined?nbuf_:0;this.bufp=bufp_!==undefined?bufp_:0;});CS=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo","FileInfo","os",null);CT=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode","FileMode","os",null);CV=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat","fileStat","os",function(name_,size_,mode_,modTime_,sys_){this.$val=this;this.name=name_!==undefined?name_:"";this.size=size_!==undefined?size_:new $Int64(0,0);this.mode=mode_!==undefined?mode_:0;this.modTime=modTime_!==undefined?modTime_:new D.Time.Ptr();this.sys=sys_!==undefined?sys_:$ifaceNil;});I=function(){var b,c,d,e;b=$global.process;if(b===undefined){return new CX(["browser"]);}c=b.argv;d=CX.make(($parseInt(c.length)-1>>0));e=0;while(e<($parseInt(c.length)-1>>0)){(e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=$internalize(c[(e+1>>0)],$String);e=e+(1)>>0;}return d;};BG.Ptr.prototype.readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=this;if(e.file.dirinfo===CY.nil){e.file.dirinfo=new BJ.Ptr();e.file.dirinfo.buf=CZ.make(4096);}f=e.file.dirinfo;g=b;if(g<=0){g=100;b=-1;}c=CX.make(0,g);while(!((b===0))){if(f.bufp>=f.nbuf){f.bufp=0;h=$ifaceNil;j=C.ReadDirent(e.file.fd,f.buf);i=AX(j[0],j[1]);f.nbuf=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){k=c;l=Y("readdirent",h);c=k;d=l;return[c,d];}if(f.nbuf<=0){break;}}m=0;n=0;o=m;p=n;q=C.ParseDirent($subslice(f.buf,f.bufp,f.nbuf),b,c);o=q[0];p=q[1];c=q[2];f.bufp=f.bufp+(o)>>0;b=b-(p)>>0;}if(b>=0&&(c.$length===0)){r=c;s=B.EOF;c=r;d=s;return[c,d];}t=c;u=$ifaceNil;c=t;d=u;return[c,d];};BG.prototype.readdirnames=function(b){return this.$val.readdirnames(b);};BG.Ptr.prototype.Readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=DB.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdir(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdir=function(b){return this.$val.Readdir(b);};BG.Ptr.prototype.Readdirnames=function(b){var c=CX.nil,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=CX.nil;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.readdirnames(b);c=h[0];d=h[1];return[c,d];};BG.prototype.Readdirnames=function(b){return this.$val.Readdirnames(b);};W.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Path+": "+b.Err.Error();};W.prototype.Error=function(){return this.$val.Error();};X.Ptr.prototype.Error=function(){var b;b=this;return b.Syscall+": "+b.Err.Error();};X.prototype.Error=function(){return this.$val.Error();};Y=$pkg.NewSyscallError=function(b,c){if($interfaceIsEqual(c,$ifaceNil)){return $ifaceNil;}return new X.Ptr(b,c);};AA=$pkg.IsNotExist=function(b){return AD(b);};AD=function(b){var c,d;d=b;if(d===$ifaceNil){c=d;return false;}else if($assertType(d,DD,true)[1]){c=d.$val;b=c.Err;}else if($assertType(d,DE,true)[1]){c=d.$val;b=c.Err;}return $interfaceIsEqual(b,new C.Errno(2))||$interfaceIsEqual(b,$pkg.ErrNotExist);};BG.Ptr.prototype.Name=function(){var b;b=this;return b.file.name;};BG.prototype.Name=function(){return this.$val.Name();};AQ.Ptr.prototype.Error=function(){var b;b=this;return b.Op+" "+b.Old+" "+b.New+": "+b.Err.Error();};AQ.prototype.Error=function(){return this.$val.Error();};BG.Ptr.prototype.Read=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l,m;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.read(b);c=h[0];i=h[1];if(c<0){c=0;}if((c===0)&&b.$length>0&&$interfaceIsEqual(i,$ifaceNil)){j=0;k=B.EOF;c=j;d=k;return[c,d];}if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("read",e.file.name,i);}l=c;m=d;c=l;d=m;return[c,d];};BG.prototype.Read=function(b){return this.$val.Read(b);};BG.Ptr.prototype.ReadAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l,m,n;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pread(b,c);j=i[0];k=i[1];if((j===0)&&$interfaceIsEqual(k,$ifaceNil)){l=d;m=B.EOF;d=l;e=m;return[d,e];}if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("read",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(n=new $Int64(0,j),new $Int64(c.$high+n.$high,c.$low+n.$low));}return[d,e];};BG.prototype.ReadAt=function(b,c){return this.$val.ReadAt(b,c);};BG.Ptr.prototype.Write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.write(b);c=h[0];i=h[1];if(c<0){c=0;}if(!((c===b.$length))){d=B.ErrShortWrite;}BK(e,i);if(!($interfaceIsEqual(i,$ifaceNil))){d=new W.Ptr("write",e.file.name,i);}j=c;k=d;c=j;d=k;return[c,d];};BG.prototype.Write=function(b){return this.$val.Write(b);};BG.Ptr.prototype.WriteAt=function(b,c){var d=0,e=$ifaceNil,f,g,h,i,j,k,l;f=this;if(f===DC.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}while(b.$length>0){i=f.pwrite(b,c);j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){e=new W.Ptr("write",f.file.name,k);break;}d=d+(j)>>0;b=$subslice(b,j);c=(l=new $Int64(0,j),new $Int64(c.$high+l.$high,c.$low+l.$low));}return[d,e];};BG.prototype.WriteAt=function(b,c){return this.$val.WriteAt(b,c);};BG.Ptr.prototype.Seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g,h,i,j,k,l,m,n,o;f=this;if(f===DC.nil){g=new $Int64(0,0);h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.seek(b,c);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&!(f.file.dirinfo===CY.nil)&&!((j.$high===0&&j.$low===0))){k=new C.Errno(21);}if(!($interfaceIsEqual(k,$ifaceNil))){l=new $Int64(0,0);m=new W.Ptr("seek",f.file.name,k);d=l;e=m;return[d,e];}n=j;o=$ifaceNil;d=n;e=o;return[d,e];};BG.prototype.Seek=function(b,c){return this.$val.Seek(b,c);};BG.Ptr.prototype.WriteString=function(b){var c=0,d=$ifaceNil,e,f,g,h;e=this;if(e===DC.nil){f=0;g=$pkg.ErrInvalid;c=f;d=g;return[c,d];}h=e.Write(new CZ($stringToBytes(b)));c=h[0];d=h[1];return[c,d];};BG.prototype.WriteString=function(b){return this.$val.WriteString(b);};BG.Ptr.prototype.Chdir=function(){var b,c;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}c=C.Fchdir(b.file.fd);if(!($interfaceIsEqual(c,$ifaceNil))){return new W.Ptr("chdir",b.file.name,c);}return $ifaceNil;};BG.prototype.Chdir=function(){return this.$val.Chdir();};AX=function(b,c){if(b<0){b=0;}return[b,c];};AY=function(){$panic("Native function not implemented: os.sigpipe");};BB=function(b){var c=0;c=(c|((new CT(b).Perm()>>>0)))>>>0;if(!((((b&8388608)>>>0)===0))){c=(c|(2048))>>>0;}if(!((((b&4194304)>>>0)===0))){c=(c|(1024))>>>0;}if(!((((b&1048576)>>>0)===0))){c=(c|(512))>>>0;}return c;};BG.Ptr.prototype.Chmod=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Fchmod(c.file.fd,BB(b));if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("chmod",c.file.name,d);}return $ifaceNil;};BG.prototype.Chmod=function(b){return this.$val.Chmod(b);};BG.Ptr.prototype.Chown=function(b,c){var d,e;d=this;if(d===DC.nil){return $pkg.ErrInvalid;}e=C.Fchown(d.file.fd,b,c);if(!($interfaceIsEqual(e,$ifaceNil))){return new W.Ptr("chown",d.file.name,e);}return $ifaceNil;};BG.prototype.Chown=function(b,c){return this.$val.Chown(b,c);};BG.Ptr.prototype.Truncate=function(b){var c,d;c=this;if(c===DC.nil){return $pkg.ErrInvalid;}d=C.Ftruncate(c.file.fd,b);if(!($interfaceIsEqual(d,$ifaceNil))){return new W.Ptr("truncate",c.file.name,d);}return $ifaceNil;};BG.prototype.Truncate=function(b){return this.$val.Truncate(b);};BG.Ptr.prototype.Sync=function(){var b=$ifaceNil,c,d;c=this;if(c===DC.nil){b=$pkg.ErrInvalid;return b;}d=C.Fsync(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){b=Y("fsync",d);return b;}b=$ifaceNil;return b;};BG.prototype.Sync=function(){return this.$val.Sync();};BG.Ptr.prototype.Fd=function(){var b;b=this;if(b===DC.nil){return 4294967295;}return(b.file.fd>>>0);};BG.prototype.Fd=function(){return this.$val.Fd();};BI=$pkg.NewFile=function(b,c){var d,e;d=(b>>0);if(d<0){return DC.nil;}e=new BG.Ptr(new BH.Ptr(d,c,CY.nil,0));F.SetFinalizer(e.file,new DR($methodExpr(DQ.prototype.close)));return e;};BK=function(b,c){if($interfaceIsEqual(c,new C.Errno(32))){if(G.AddInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),1)>=10){AY();}}else{G.StoreInt32(new DS(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},b),0);}};BG.Ptr.prototype.Close=function(){var b;b=this;if(b===DC.nil){return $pkg.ErrInvalid;}return b.file.close();};BG.prototype.Close=function(){return this.$val.Close();};BH.Ptr.prototype.close=function(){var b,c,d;b=this;if(b===DQ.nil||b.fd<0){return new C.Errno(22);}c=$ifaceNil;d=C.Close(b.fd);if(!($interfaceIsEqual(d,$ifaceNil))){c=new W.Ptr("close",b.name,d);}b.fd=-1;F.SetFinalizer(b,$ifaceNil);return c;};BH.prototype.close=function(){return this.$val.close();};BG.Ptr.prototype.Stat=function(){var b=$ifaceNil,c=$ifaceNil,d,e,f,g,h,i,j,k;d=this;if(d===DC.nil){e=$ifaceNil;f=$pkg.ErrInvalid;b=e;c=f;return[b,c];}g=$clone(new C.Stat_t.Ptr(),C.Stat_t);c=C.Fstat(d.file.fd,g);if(!($interfaceIsEqual(c,$ifaceNil))){h=$ifaceNil;i=new W.Ptr("stat",d.file.name,c);b=h;c=i;return[b,c];}j=CL(g,d.file.name);k=$ifaceNil;b=j;c=k;return[b,c];};BG.prototype.Stat=function(){return this.$val.Stat();};BN=$pkg.Lstat=function(b){var c=$ifaceNil,d=$ifaceNil,e,f,g,h,i;e=$clone(new C.Stat_t.Ptr(),C.Stat_t);d=C.Lstat(b,e);if(!($interfaceIsEqual(d,$ifaceNil))){f=$ifaceNil;g=new W.Ptr("lstat",b,d);c=f;d=g;return[c,d];}h=CL(e,b);i=$ifaceNil;c=h;d=i;return[c,d];};BG.Ptr.prototype.readdir=function(b){var c=DB.nil,d=$ifaceNil,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=this;f=e.file.name;if(f===""){f=".";}g=e.Readdirnames(b);h=g[0];d=g[1];c=DB.make(0,h.$length);i=h;j=0;while(j=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);l=AV(f+"/"+k);m=l[0];n=l[1];if(AA(n)){j++;continue;}if(!($interfaceIsEqual(n,$ifaceNil))){o=c;p=n;c=o;d=p;return[c,d];}c=$append(c,m);j++;}q=c;r=d;c=q;d=r;return[c,d];};BG.prototype.readdir=function(b){return this.$val.readdir(b);};BG.Ptr.prototype.read=function(b){var c=0,d=$ifaceNil,e,f,g;e=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}g=C.Read(e.file.fd,b);f=AX(g[0],g[1]);c=f[0];d=f[1];return[c,d];};BG.prototype.read=function(b){return this.$val.read(b);};BG.Ptr.prototype.pread=function(b,c){var d=0,e=$ifaceNil,f,g,h;f=this;if(true&&b.$length>1073741824){b=$subslice(b,0,1073741824);}h=C.Pread(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pread=function(b,c){return this.$val.pread(b,c);};BG.Ptr.prototype.write=function(b){var c=0,d=$ifaceNil,e,f,g,h,i,j,k,l;e=this;while(true){f=b;if(true&&f.$length>1073741824){f=$subslice(f,0,1073741824);}h=C.Write(e.file.fd,f);g=AX(h[0],h[1]);i=g[0];j=g[1];c=c+(i)>>0;if(01073741824){b=$subslice(b,0,1073741824);}h=C.Pwrite(f.file.fd,b,c);g=AX(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BG.prototype.pwrite=function(b,c){return this.$val.pwrite(b,c);};BG.Ptr.prototype.seek=function(b,c){var d=new $Int64(0,0),e=$ifaceNil,f,g;f=this;g=C.Seek(f.file.fd,b,c);d=g[0];e=g[1];return[d,e];};BG.prototype.seek=function(b,c){return this.$val.seek(b,c);};BQ=function(b){var c;c=b.length-1>>0;while(c>0&&(b.charCodeAt(c)===47)){b=b.substring(0,c);c=c-(1)>>0;}c=c-(1)>>0;while(c>=0){if(b.charCodeAt(c)===47){b=b.substring((c+1>>0));break;}c=c-(1)>>0;}return b;};BX=function(){BV=BY;};BY=function(b){return!($interfaceIsEqual(b,new C.Errno(45)));};CD=function(){$pkg.Args=I();};CJ=$pkg.Exit=function(b){C.Exit(b);};CL=function(b,c){var d,e;d=new CV.Ptr(BQ(c),b.Size,0,$clone(CM(b.Mtimespec),D.Time),b);d.mode=(((b.Mode&511)>>>0)>>>0);e=(b.Mode&61440)>>>0;if(e===24576||e===57344){d.mode=(d.mode|(67108864))>>>0;}else if(e===8192){d.mode=(d.mode|(69206016))>>>0;}else if(e===16384){d.mode=(d.mode|(2147483648))>>>0;}else if(e===4096){d.mode=(d.mode|(33554432))>>>0;}else if(e===40960){d.mode=(d.mode|(134217728))>>>0;}else if(e===32768){}else if(e===49152){d.mode=(d.mode|(16777216))>>>0;}if(!((((b.Mode&1024)>>>0)===0))){d.mode=(d.mode|(4194304))>>>0;}if(!((((b.Mode&2048)>>>0)===0))){d.mode=(d.mode|(8388608))>>>0;}if(!((((b.Mode&512)>>>0)===0))){d.mode=(d.mode|(1048576))>>>0;}return d;};CM=function(b){b=$clone(b,C.Timespec);return D.Unix(b.Sec,b.Nsec);};CQ=function(){var b,c,d,e,f,g,h;b=C.Sysctl("kern.osrelease");c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}e=0;f=c;g=0;while(g2||(e===2)&&c.charCodeAt(0)>=49&&c.charCodeAt(1)>=49){CP=true;}};CT.prototype.String=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=this.$val!==undefined?this.$val:this;c=$clone(DK.zero(),DK);d=0;e="dalTLDpSugct";f=0;while(f>0)>>>0),j<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(i<<24>>>24);d=d+(1)>>0;}f+=g[1];}if(d===0){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;d=d+(1)>>0;}k="rwxrwxrwx";l=0;while(l>0)>>>0),p<32?(1<>>0)))>>>0)===0))){(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(o<<24>>>24);}else{(d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=45;}d=d+(1)>>0;l+=m[1];}return $bytesToString($subslice(new CZ(c),0,d));};$ptrType(CT).prototype.String=function(){return new CT(this.$get()).String();};CT.prototype.IsDir=function(){var b;b=this.$val!==undefined?this.$val:this;return!((((b&2147483648)>>>0)===0));};$ptrType(CT).prototype.IsDir=function(){return new CT(this.$get()).IsDir();};CT.prototype.IsRegular=function(){var b;b=this.$val!==undefined?this.$val:this;return((b&2399141888)>>>0)===0;};$ptrType(CT).prototype.IsRegular=function(){return new CT(this.$get()).IsRegular();};CT.prototype.Perm=function(){var b;b=this.$val!==undefined?this.$val:this;return(b&511)>>>0;};$ptrType(CT).prototype.Perm=function(){return new CT(this.$get()).Perm();};CV.Ptr.prototype.Name=function(){var b;b=this;return b.name;};CV.prototype.Name=function(){return this.$val.Name();};CV.Ptr.prototype.IsDir=function(){var b;b=this;return new CT(b.Mode()).IsDir();};CV.prototype.IsDir=function(){return this.$val.IsDir();};CV.Ptr.prototype.Size=function(){var b;b=this;return b.size;};CV.prototype.Size=function(){return this.$val.Size();};CV.Ptr.prototype.Mode=function(){var b;b=this;return b.mode;};CV.prototype.Mode=function(){return this.$val.Mode();};CV.Ptr.prototype.ModTime=function(){var b;b=this;return b.modTime;};CV.prototype.ModTime=function(){return this.$val.ModTime();};CV.Ptr.prototype.Sys=function(){var b;b=this;return b.sys;};CV.prototype.Sys=function(){return this.$val.Sys();};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}CX=$sliceType($String);CY=$ptrType(BJ);CZ=$sliceType($Uint8);DB=$sliceType(CS);DC=$ptrType(BG);DD=$ptrType(W);DE=$ptrType(AQ);DK=$arrayType($Uint8,32);DQ=$ptrType(BH);DR=$funcType([DQ],[$error],false);DS=$ptrType($Int32);DW=$ptrType(CV);DX=$ptrType(X);DZ=$ptrType(CT);DD.methods=[["Error","Error","",$funcType([],[$String],false),-1]];W.init([["Op","Op","",$String,""],["Path","Path","",$String,""],["Err","Err","",$error,""]]);DX.methods=[["Error","Error","",$funcType([],[$String],false),-1]];X.init([["Syscall","Syscall","",$String,""],["Err","Err","",$error,""]]);DE.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AQ.init([["Op","Op","",$String,""],["Old","Old","",$String,""],["New","New","",$String,""],["Err","Err","",$error,""]]);BG.methods=[["close","close","os",$funcType([],[$error],false),0]];DC.methods=[["Chdir","Chdir","",$funcType([],[$error],false),-1],["Chmod","Chmod","",$funcType([CT],[$error],false),-1],["Chown","Chown","",$funcType([$Int,$Int],[$error],false),-1],["Close","Close","",$funcType([],[$error],false),-1],["Fd","Fd","",$funcType([],[$Uintptr],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Read","Read","",$funcType([CZ],[$Int,$error],false),-1],["ReadAt","ReadAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["Readdir","Readdir","",$funcType([$Int],[DB,$error],false),-1],["Readdirnames","Readdirnames","",$funcType([$Int],[CX,$error],false),-1],["Seek","Seek","",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["Stat","Stat","",$funcType([],[CS,$error],false),-1],["Sync","Sync","",$funcType([],[$error],false),-1],["Truncate","Truncate","",$funcType([$Int64],[$error],false),-1],["Write","Write","",$funcType([CZ],[$Int,$error],false),-1],["WriteAt","WriteAt","",$funcType([CZ,$Int64],[$Int,$error],false),-1],["WriteString","WriteString","",$funcType([$String],[$Int,$error],false),-1],["close","close","os",$funcType([],[$error],false),0],["pread","pread","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["pwrite","pwrite","os",$funcType([CZ,$Int64],[$Int,$error],false),-1],["read","read","os",$funcType([CZ],[$Int,$error],false),-1],["readdir","readdir","os",$funcType([$Int],[DB,$error],false),-1],["readdirnames","readdirnames","os",$funcType([$Int],[CX,$error],false),-1],["seek","seek","os",$funcType([$Int64,$Int],[$Int64,$error],false),-1],["write","write","os",$funcType([CZ],[$Int,$error],false),-1]];BG.init([["file","","os",DQ,""]]);DQ.methods=[["close","close","os",$funcType([],[$error],false),-1]];BH.init([["fd","fd","os",$Int,""],["name","name","os",$String,""],["dirinfo","dirinfo","os",CY,""],["nepipe","nepipe","os",$Int32,""]]);BJ.init([["buf","buf","os",CZ,""],["nbuf","nbuf","os",$Int,""],["bufp","bufp","os",$Int,""]]);CS.init([["IsDir","IsDir","",$funcType([],[$Bool],false)],["ModTime","ModTime","",$funcType([],[D.Time],false)],["Mode","Mode","",$funcType([],[CT],false)],["Name","Name","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Int64],false)],["Sys","Sys","",$funcType([],[$emptyInterface],false)]]);CT.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DZ.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["IsRegular","IsRegular","",$funcType([],[$Bool],false),-1],["Perm","Perm","",$funcType([],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1]];DW.methods=[["IsDir","IsDir","",$funcType([],[$Bool],false),-1],["ModTime","ModTime","",$funcType([],[D.Time],false),-1],["Mode","Mode","",$funcType([],[CT],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Int64],false),-1],["Sys","Sys","",$funcType([],[$emptyInterface],false),-1]];CV.init([["name","name","os",$String,""],["size","size","os",$Int64,""],["mode","mode","os",CT,""],["modTime","modTime","os",D.Time,""],["sys","sys","os",$emptyInterface,""]]);$pkg.Args=CX.nil;CP=false;$pkg.ErrInvalid=E.New("invalid argument");$pkg.ErrPermission=E.New("permission denied");$pkg.ErrExist=E.New("file already exists");$pkg.ErrNotExist=E.New("file does not exist");AO=E.New("os: process already finished");$pkg.Stdin=BI((C.Stdin>>>0),"/dev/stdin");$pkg.Stdout=BI((C.Stdout>>>0),"/dev/stdout");$pkg.Stderr=BI((C.Stderr>>>0),"/dev/stderr");BV=(function(b){return true;});AV=BN;BX();CD();CQ();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["strconv"]=(function(){var $pkg={},B,A,C,CI,CJ,CK,CL,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,Z,AD,AI,AP,AY,G,AE,AJ,AK,AL,AQ,AR,BD,BE,BF,BG,BM,AA,AB,AC,AF,AG,AH,AM,AN,AO,AT,AU,AV,AW,AX,AZ,BA,BB,BC,BI,BJ,BN,BO,BP,BR,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];Z=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal","decimal","strconv",function(d_,nd_,dp_,neg_,trunc_){this.$val=this;this.d=d_!==undefined?d_:CU.zero();this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;this.trunc=trunc_!==undefined?trunc_:false;});AD=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat","leftCheat","strconv",function(delta_,cutoff_){this.$val=this;this.delta=delta_!==undefined?delta_:0;this.cutoff=cutoff_!==undefined?cutoff_:"";});AI=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat","extFloat","strconv",function(mant_,exp_,neg_){this.$val=this;this.mant=mant_!==undefined?mant_:new $Uint64(0,0);this.exp=exp_!==undefined?exp_:0;this.neg=neg_!==undefined?neg_:false;});AP=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo","floatInfo","strconv",function(mantbits_,expbits_,bias_){this.$val=this;this.mantbits=mantbits_!==undefined?mantbits_:0;this.expbits=expbits_!==undefined?expbits_:0;this.bias=bias_!==undefined?bias_:0;});AY=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice","decimalSlice","strconv",function(d_,nd_,dp_,neg_){this.$val=this;this.d=d_!==undefined?d_:CL.nil;this.nd=nd_!==undefined?nd_:0;this.dp=dp_!==undefined?dp_:0;this.neg=neg_!==undefined?neg_:false;});Z.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=CL.make(b);d=0;if(a.nd===0){return"0";}else if(a.dp<=0){(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=48;d=d+(1)>>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+(AA($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;}else if(a.dp>0;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46;d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new CL(a.d),0,a.nd)))>>0;d=d+(AA($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return $bytesToString($subslice(c,0,d));};Z.prototype.String=function(){return this.$val.String();};AA=function(a){var b,c,d;b=a;c=0;while(c=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+d]=48;c++;}return a.$length;};AB=function(a){var b,c;while(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]))===48)){a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Z.Ptr.prototype.Assign=function(a){var b,c,d,e,f,g,h;b=this;c=$clone(CN.zero(),CN);d=0;while((a.$high>0||(a.$high===0&&a.$low>0))){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"):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(d>=0){(g=b.d,h=b.nd,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AB(b);};Z.prototype.Assign=function(a){return this.$val.Assign(a);};AC=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=0;d=0;e=0;while(((e>>$min(b,31))>>0)===0){if(c>=a.nd){if(e===0){a.nd=0;return;}while(((e>>$min(b,31))>>0)===0){e=e*10>>0;c=c+(1)>>0;}break;}g=((f=a.d,((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))>>0);e=((e*10>>0)+g>>0)-48>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;while(c=h.length)?$throwRuntimeError("index out of range"):h[c]))>>0);j=(e>>$min(b,31))>>0;e=e-(((k=b,k<32?(j<>0))>>0;(l=a.d,(d<0||d>=l.length)?$throwRuntimeError("index out of range"):l[d]=((j+48>>0)<<24>>>24));d=d+(1)>>0;e=((e*10>>0)+i>>0)-48>>0;c=c+(1)>>0;}while(e>0){m=(e>>$min(b,31))>>0;e=e-(((n=b,n<32?(m<>0))>>0;if(d<800){(o=a.d,(d<0||d>=o.length)?$throwRuntimeError("index out of range"):o[d]=((m+48>>0)<<24>>>24));d=d+(1)>>0;}else if(m>0){a.trunc=true;}e=e*10>>0;}a.nd=d;AB(a);};AF=function(a,b){var c;c=0;while(c=a.$length){return true;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])>0;}return false;};AG=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).delta;if(AF($subslice(new CL(a.d),0,a.nd),((b<0||b>=AE.$length)?$throwRuntimeError("index out of range"):AE.$array[AE.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(d>=0){f=f+(((g=b,g<32?(((((h=a.d,((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]))>>0)-48>>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"):l[e]=((k+48>>0)<<24>>>24));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(f>0){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"):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;AB(a);};Z.Ptr.prototype.Shift=function(a){var b;b=this;if(b.nd===0){}else if(a>0){while(a>27){AG(b,27);a=a-(27)>>0;}AG(b,(a>>>0));}else if(a<0){while(a<-27){AC(b,27);a=a+(27)>>0;}AC(b,(-a>>>0));}};Z.prototype.Shift=function(a){return this.$val.Shift(a);};AH=function(a,b){var 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"):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"):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"):g[b]))>=53;};Z.Ptr.prototype.Round=function(a){var b;b=this;if(a<0||a>=b.nd){return;}if(AH(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Z.prototype.Round=function(a){return this.$val.Round(a);};Z.Ptr.prototype.RoundDown=function(a){var b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AB(b);};Z.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Z.Ptr.prototype.RoundUp=function(a){var b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(c>=0){e=(d=b.d,((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));if(e<57){f=b.d;g=c;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(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;};Z.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Z.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(b=f.length)?$throwRuntimeError("index out of range"):f[b]))-48<<24>>>24)),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(b>0;}if(AH(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Z.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AI.Ptr.prototype.AssignComputeBounds=function(a,b,c,d){var e=new AI.Ptr(),f=new AI.Ptr(),g,h,i,j,k,l,m,n,o;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,AI);j=$clone(g,AI);$copy(e,i,AI);$copy(f,j,AI);return[e,f];}k=b-d.bias>>0;$copy(f,new AI.Ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg),AI);if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){$copy(e,new AI.Ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg),AI);}else{$copy(e,new AI.Ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg),AI);}return[e,f];};AI.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AI.Ptr.prototype.Normalize=function(){var a=0,b,c,d,e,f,g,h,i,j,k,l,m,n;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;};AI.prototype.Normalize=function(){return this.$val.Normalize();};AI.Ptr.prototype.Multiply=function(a){var 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;a=$clone(a,AI);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;};AI.prototype.Multiply=function(a){return this.$val.Multiply(a);};AI.Ptr.prototype.AssignDecimal=function(a,b,c,d,e){var f=false,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae;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>=AL.length)?$throwRuntimeError("index out of range"):AL[n])),(a.$high=AL.length)?$throwRuntimeError("index out of range"):AL[l])));g.Normalize();}else{g.Normalize();g.Multiply(((l<0||l>=AJ.length)?$throwRuntimeError("index out of range"):AJ[l]));h=h+(4)>>0;}g.Multiply(((j<0||j>=AK.length)?$throwRuntimeError("index out of range"):AK[j]));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<>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>0))*28>>0)/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>=AK.length)?$throwRuntimeError("index out of range"):AK[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(((g<0||g>=AK.length)?$throwRuntimeError("index out of range"):AK[g]));i=-((-348+(g*8>>0)>>0));j=g;a=i;b=j;return[a,b];};AI.prototype.frexp10=function(){return this.$val.frexp10();};AM=function(a,b,c){var d=0,e,f;e=c.frexp10();d=e[0];f=e[1];a.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));b.Multiply(((f<0||f>=AK.length)?$throwRuntimeError("index out of range"):AK[f]));return d;};AI.Ptr.prototype.FixedDecimal=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,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,an,ao,ap;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(r<20){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>=AL.length)?$throwRuntimeError("index out of range"):AL[v]));h=(w=h/((o.$low>>>0)),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-((x=(o.$low>>>0),(((h>>>16<<16)*x>>>0)+(h<<16>>>16)*x)>>>0))>>>0;}else{u=0;}y=$clone(CO.zero(),CO);z=32;aa=h;while(aa>0){ac=(ab=aa/10,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"));aa=aa-(((((10>>>16<<16)*ac>>>0)+(10<<16>>>16)*ac)>>>0))>>>0;z=z-(1)>>0;(z<0||z>=y.length)?$throwRuntimeError("index out of range"):y[z]=((aa+48>>>0)<<24>>>24);aa=ac;}ad=z;while(ad<32){(ae=a.d,af=ad-z>>0,(af<0||af>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+af]=((ad<0||ad>=y.length)?$throwRuntimeError("index out of range"):y[ad]));ad=ad+(1)>>0;}ag=32-z>>0;a.nd=ag;a.dp=n+f>>0;m=m-(ag)>>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(m>0){k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ah=$mul64(new $Uint64(0,2),l),ai=$shiftLeft64(new $Uint64(0,1),g),(ah.$high>ai.$high||(ah.$high===ai.$high&&ah.$low>ai.$low)))){return false;}aj=$shiftRightUint64(k,g);(ak=a.d,(ag<0||ag>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+ag]=(new $Uint64(aj.$high+0,aj.$low+48).$low<<24>>>24));k=(al=$shiftLeft64(aj,g),new $Uint64(k.$high-al.$high,k.$low-al.$low));ag=ag+(1)>>0;m=m-(1)>>0;}a.nd=ag;}an=AN(a,(am=$shiftLeft64(new $Uint64(0,u),g),new $Uint64(am.$high|k.$high,(am.$low|k.$low)>>>0)),o,g,l);if(!an){return false;}ao=a.nd-1>>0;while(ao>=0){if(!(((ap=a.d,((ao<0||ao>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+ao]))===48))){a.nd=ao+1>>0;break;}ao=ao-(1)>>0;}return true;};AI.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AN=function(a,b,c,d,e){var 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<h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(m>=0){if((n=a.d,((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):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<0||0>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+0]=49);a.nd=1;a.dp=a.dp+(1)>>0;}else{p=a.d;q=m;(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q])+(1)<<24>>>24;}return true;}return false;};AI.Ptr.prototype.ShortestDecimal=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;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,AI)&&$equal(b,c,AI)){f=$clone(CN.zero(),CN);g=23;h=d.mant;while((h.$high>0||(h.$high===0&&h.$low>0))){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"):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(l=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?$throwRuntimeError("index out of range"):f[m])));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))===48)){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=AM(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(al<20){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(ao>0)-1>>0,((ap<0||ap>=AL.length)?$throwRuntimeError("index out of range"):AL[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"):at.$array[at.$offset+ao]=((as+48>>>0)<<24>>>24));y=y-((au=(aq.$low>>>0),(((as>>>16<<16)*au>>>0)+(as<<16>>>16)*au)>>>0))>>>0;aw=(av=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(av.$high+ab.$high,av.$low+ab.$low));if((aw.$high>0;a.dp=ai+s>>0;a.neg=d.neg;return AO(a,aw,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;ax=0;ay=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ay=$mul64(ay,(new $Uint64(0,10)));ax=($shiftRightUint64(ab,x).$low>>0);(az=a.d,ba=a.nd,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=((ax+48>>0)<<24>>>24));a.nd=a.nd+(1)>>0;ab=(bb=$shiftLeft64(new $Uint64(0,ax),x),new $Uint64(ab.$high-bb.$high,ab.$low-bb.$low));if((bc=$mul64(ae,ay),(ab.$high>0;(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])-(1)<<24>>>24;b=(m=e,new $Uint64(b.$high+m.$high,b.$low+m.$low));}if((n=new $Uint64(b.$high+e.$high,b.$low+e.$low),o=(p=(q=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+q.$high,c.$low+q.$low)),new $Uint64(p.$high+f.$high,p.$low+f.$low)),(n.$highr.$high||(b.$high===r.$high&&b.$low>r.$low)))){return false;}if((a.nd===1)&&((s=a.d,((0<0||0>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AT=$pkg.AppendFloat=function(a,b,c,d,e){return AU(a,b,c,d,e);};AU=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af;f=new $Uint64(0,0);g=CP.nil;h=e;if(h===32){f=new $Uint64(0,A.Float32bits(b));g=AQ;}else if(h===64){f=A.Float64bits(b);g=AR;}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<>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<>0)-1>>0)){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,new CL($stringToBytes(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 BB(a,j,o,l,g);}if(!G){return AV(a,d,c,j,o,l,g);}t=$clone(new AY.Ptr(),AY);u=false;v=d<0;if(v){w=new AI.Ptr();x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AI);z=$clone(x[1],AI);aa=$clone(CO.zero(),CO);t.d=new CL(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AV(a,d,c,j,o,l,g);}ab=c;if(ab===101||ab===69){d=t.nd-1>>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=$clone(CN.zero(),CN);t.d=new CL(ae);af=new AI.Ptr(o,l-(g.mantbits>>0)>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AV(a,d,c,j,o,l,g);}return AW(a,v,j,t,d,c);};AV=function(a,b,c,d,e,f,g){var h,i,j,k,l;h=new Z.Ptr();h.Assign(e);h.Shift(f-(g.mantbits>>0)>>0);i=$clone(new AY.Ptr(),AY);j=b<0;if(j){AX(h,e,f,g);$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);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);}$copy(i,new AY.Ptr(new CL(h.d),h.nd,h.dp,false),AY);}return AW(a,j,d,i,b,c);};AW=function(a,b,c,d,e,f){var g,h,i;d=$clone(d,AY);g=f;if(g===101||g===69){return AZ(a,c,d,e,f);}else if(g===102){return BA(a,c,d,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 AZ(a,c,d,e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return BA(a,c,d,BC(e-d.dp>>0,0));}return $append(a,37,f);};AX=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&(332*((a.dp-a.nd>>0))>>0)>=(100*((c-(d.mantbits>>0)>>0))>>0)){return;}f=new Z.Ptr();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 Z.Ptr();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(p=w.length)?$throwRuntimeError("index out of range"):w[p]));}else{t=48;}u=(x=a.d,((p<0||p>=x.length)?$throwRuntimeError("index out of range"):x[p]));if(p=y.length)?$throwRuntimeError("index out of range"):y[p]));}else{v=48;}z=!((t===u))||(o&&(t===u)&&((p+1>>0)===l.nd));aa=!((u===v))&&(o||(u+1<<24>>>24)>0)>0);return;}else if(z){a.RoundDown(p+1>>0);return;}else if(aa){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AZ=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;c=$clone(c,AY);if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,((0<0||0>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=((c.nd+d>>0)+1>>0)-BC(c.nd,d+1>>0)>>0;while(h=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])));h=h+(1)>>0;}while(h<=d){a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);k=c.dp-1>>0;if(c.nd===0){k=0;}if(k<0){f=45;k=-k;}else{f=43;}a=$append(a,f);l=$clone(CQ.zero(),CQ);m=3;while(k>=10){m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((n=k%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);k=(o=k/(10),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));}m=m-(1)>>0;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((k+48>>0)<<24>>>24);p=m;if(p===0){a=$append(a,l[0],l[1],l[2]);}else if(p===1){a=$append(a,l[1],l[2]);}else if(p===2){a=$append(a,48,l[2]);}return a;};BA=function(a,b,c,d){var e,f,g,h,i,j;c=$clone(c,AY);if(b){a=$append(a,45);}if(c.dp>0){e=0;e=0;while(e=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+e])));e=e+(1)>>0;}while(e>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);g=0;while(g>0;if(0<=i&&i=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]));}a=$append(a,h);g=g+(1)>>0;}}return a;};BB=function(a,b,c,d,e){var f,g,h,i,j,k,l;f=$clone(CR.zero(),CR);g=50;d=d-((e.mantbits>>0))>>0;h=43;if(d<0){h=45;d=-d;}i=0;while(d>0||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(((j=d%10,j===j?j:$throwRuntimeError("integer divide by zero"))+48>>0)<<24>>>24);d=(k=d/(10),(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));}g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=h;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=112;i=0;while((c.$high>0||(c.$high===0&&c.$low>0))||i<1){i=i+(1)>>0;g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((l=$div64(c,new $Uint64(0,10),true),new $Uint64(l.$high+0,l.$low+48)).$low<<24>>>24);c=$div64(c,(new $Uint64(0,10)),false);}if(b){g=g-(1)>>0;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=45;}return $appendSlice(a,$subslice(new CL(f),g));};BC=function(a,b){if(a>b){return a;}return b;};BI=$pkg.FormatInt=function(a,b){var c,d;c=BN(CL.nil,new $Uint64(a.$high,a.$low),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};BJ=$pkg.Itoa=function(a){return BI(new $Int64(0,a),10);};BN=function(a,b,c,d,e){var f=CL.nil,g="",h,i,j,k,l,m,n,o,p,q,r,s,t;if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=$clone(CS.zero(),CS);i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){while((b.$high>0||(b.$high===0&&b.$low>=100))){i=i-(2)>>0;j=$div64(b,new $Uint64(0,100),false);l=((k=$mul64(j,new $Uint64(0,100)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0);(m=i+1>>0,(m<0||m>=h.length)?$throwRuntimeError("index out of range"):h[m]="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789".charCodeAt(l));(n=i+0>>0,(n<0||n>=h.length)?$throwRuntimeError("index out of range"):h[n]="0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999".charCodeAt(l));b=j;}if((b.$high>0||(b.$high===0&&b.$low>=10))){i=i-(1)>>0;o=$div64(b,new $Uint64(0,10),false);(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((p=$mul64(o,new $Uint64(0,10)),new $Uint64(b.$high-p.$high,b.$low-p.$low)).$low>>>0));b=o;}}else{q=((c<0||c>=BM.length)?$throwRuntimeError("index out of range"):BM[c]);if(q>0){r=new $Uint64(0,c);s=(r.$low>>>0)-1>>>0;while((b.$high>r.$high||(b.$high===r.$high&&b.$low>=r.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((b.$low>>>0)&s)>>>0));b=$shiftRightUint64(b,(q));}}else{t=new $Uint64(0,c);while((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low))){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(($div64(b,t,true).$low>>>0));b=$div64(b,(t),false);}}}i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0));if(d){i=i-(1)>>0;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=45;}if(e){f=$appendSlice(a,$subslice(new CL(h),i));return[f,g];}g=$bytesToString($subslice(new CL(h),i));return[f,g];};BO=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=$clone(CT.zero(),CT);f=CL.make(0,(e=(3*a.length>>0)/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")));f=$append(f,b);g=0;while(a.length>0){h=(a.charCodeAt(0)>>0);g=1;if(h>=128){i=C.DecodeRuneInString(a);h=i[0];g=i[1];}if((g===1)&&(h===65533)){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));a=a.substring(g);continue;}if((h===(b>>0))||(h===92)){f=$append(f,92);f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}if(c){if(h<128&&CE(h)){f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}}else if(CE(h)){j=C.EncodeRune(new CL(d),h);f=$appendSlice(f,$subslice(new CL(d),0,j));a=a.substring(g);continue;}k=h;if(k===7){f=$appendSlice(f,new CL($stringToBytes("\\a")));}else if(k===8){f=$appendSlice(f,new CL($stringToBytes("\\b")));}else if(k===12){f=$appendSlice(f,new CL($stringToBytes("\\f")));}else if(k===10){f=$appendSlice(f,new CL($stringToBytes("\\n")));}else if(k===13){f=$appendSlice(f,new CL($stringToBytes("\\r")));}else if(k===9){f=$appendSlice(f,new CL($stringToBytes("\\t")));}else if(k===11){f=$appendSlice(f,new CL($stringToBytes("\\v")));}else{if(h<32){f=$appendSlice(f,new CL($stringToBytes("\\x")));f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));}else if(h>1114111){h=65533;f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else if(h<65536){f=$appendSlice(f,new CL($stringToBytes("\\u")));l=12;while(l>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else{f=$appendSlice(f,new CL($stringToBytes("\\U")));m=28;while(m>=0){f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((m>>>0),31))>>0)&15)));m=m-(4)>>0;}}}a=a.substring(g);}f=$append(f,b);return $bytesToString(f);};BP=$pkg.Quote=function(a){return BO(a,34,false);};BR=$pkg.QuoteToASCII=function(a){return BO(a,34,true);};BT=$pkg.QuoteRune=function(a){return BO($encodeRune(a),39,false);};BU=$pkg.AppendQuoteRune=function(a,b){return $appendSlice(a,new CL($stringToBytes(BT(b))));};BV=$pkg.QuoteRuneToASCII=function(a){return BO($encodeRune(a),39,true);};BW=$pkg.AppendQuoteRuneToASCII=function(a,b){return $appendSlice(a,new CL($stringToBytes(BV(b))));};BX=$pkg.CanBackquote=function(a){var b,c,d;while(a.length>0){b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=a.substring(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;};BY=function(a){var b=0,c=false,d,e,f,g,h,i,j;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];};BZ=$pkg.UnquoteChar=function(a,b){var c=0,d=false,e="",f=$ifaceNil,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;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=a.substring(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=a.substring(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=a.substring(2);t=s;switch(0){default: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>0)|z;x=x+(1)>>0;}a=a.substring(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(ac<2){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=a.substring(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];};CA=$pkg.Unquote=function(a){var b="",c=$ifaceNil,d,e,f,g,h,i,j,k,l,m,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,an;d=a.length;if(d<2){e="";f=$pkg.ErrSyntax;b=e;c=f;return[b,c];}g=a.charCodeAt(0);if(!((g===a.charCodeAt((d-1>>0))))){h="";i=$pkg.ErrSyntax;b=h;c=i;return[b,c];}a=a.substring(1,(d-1>>0));if(g===96){if(CB(a,96)){j="";k=$pkg.ErrSyntax;b=j;c=k;return[b,c];}l=a;m=$ifaceNil;b=l;c=m;return[b,c];}if(!((g===34))&&!((g===39))){n="";o=$pkg.ErrSyntax;b=n;c=o;return[b,c];}if(CB(a,10)){p="";q=$pkg.ErrSyntax;b=p;c=q;return[b,c];}if(!CB(a,92)&&!CB(a,g)){r=g;if(r===34){s=a;t=$ifaceNil;b=s;c=t;return[b,c];}else if(r===39){u=C.DecodeRuneInString(a);v=u[0];w=u[1];if((w===a.length)&&(!((v===65533))||!((w===1)))){x=a;y=$ifaceNil;b=x;c=y;return[b,c];}}}z=$clone(CT.zero(),CT);ab=CL.make(0,(aa=(3*a.length>>0)/2,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>0:$throwRuntimeError("integer divide by zero")));while(a.length>0){ac=BZ(a,g);ad=ac[0];ae=ac[1];af=ac[2];ag=ac[3];if(!($interfaceIsEqual(ag,$ifaceNil))){ah="";ai=ag;b=ah;c=ai;return[b,c];}a=af;if(ad<128||!ae){ab=$append(ab,(ad<<24>>>24));}else{aj=C.EncodeRune(new CL(z),ad);ab=$appendSlice(ab,$subslice(new CL(z),0,aj));}if((g===39)&&!((a.length===0))){ak="";al=$pkg.ErrSyntax;b=ak;c=al;return[b,c];}}am=$bytesToString(ab);an=$ifaceNil;b=am;c=an;return[b,c];};CB=function(a,b){var c;c=0;while(c>0;}return false;};CC=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CD=function(a,b){var c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(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"):a.$array[a.$offset+h])>0;}else{f=h;}}return e;};CE=$pkg.IsPrint=function(a){var 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=CC(f,e);if(h>=f.$length||e<(i=h&~1,((i<0||i>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]))=g.$length||!((((k<0||k>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+k])===e));}l=(a>>>0);m=BF;n=BG;o=l;p=m;q=n;r=CD(p,o);if(r>=p.$length||o<(s=r&~1,((s<0||s>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+t]))=131072){return true;}a=a-(65536)>>0;u=CC(q,(a<<16>>>16));return u>=q.$length||!((((u<0||u>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+u])===(a<<16>>>16)));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}CI=$sliceType(AD);CJ=$sliceType($Uint16);CK=$sliceType($Uint32);CL=$sliceType($Uint8);CN=$arrayType($Uint8,24);CO=$arrayType($Uint8,32);CP=$ptrType(AP);CQ=$arrayType($Uint8,3);CR=$arrayType($Uint8,50);CS=$arrayType($Uint8,65);CT=$arrayType($Uint8,4);CU=$arrayType($Uint8,800);CV=$ptrType(Z);CW=$ptrType(AY);CX=$ptrType(AI);CV.methods=[["Assign","Assign","",$funcType([$Uint64],[],false),-1],["Round","Round","",$funcType([$Int],[],false),-1],["RoundDown","RoundDown","",$funcType([$Int],[],false),-1],["RoundUp","RoundUp","",$funcType([$Int],[],false),-1],["RoundedInteger","RoundedInteger","",$funcType([],[$Uint64],false),-1],["Shift","Shift","",$funcType([$Int],[],false),-1],["String","String","",$funcType([],[$String],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["set","set","strconv",$funcType([$String],[$Bool],false),-1]];Z.init([["d","d","strconv",CU,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""],["trunc","trunc","strconv",$Bool,""]]);AD.init([["delta","delta","strconv",$Int,""],["cutoff","cutoff","strconv",$String,""]]);CX.methods=[["AssignComputeBounds","AssignComputeBounds","",$funcType([$Uint64,$Int,$Bool,CP],[AI,AI],false),-1],["AssignDecimal","AssignDecimal","",$funcType([$Uint64,$Int,$Bool,$Bool,CP],[$Bool],false),-1],["FixedDecimal","FixedDecimal","",$funcType([CW,$Int],[$Bool],false),-1],["Multiply","Multiply","",$funcType([AI],[],false),-1],["Normalize","Normalize","",$funcType([],[$Uint],false),-1],["ShortestDecimal","ShortestDecimal","",$funcType([CW,CX,CX],[$Bool],false),-1],["floatBits","floatBits","strconv",$funcType([CP],[$Uint64,$Bool],false),-1],["frexp10","frexp10","strconv",$funcType([],[$Int,$Int],false),-1]];AI.init([["mant","mant","strconv",$Uint64,""],["exp","exp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);AP.init([["mantbits","mantbits","strconv",$Uint,""],["expbits","expbits","strconv",$Uint,""],["bias","bias","strconv",$Int,""]]);AY.init([["d","d","strconv",CL,""],["nd","nd","strconv",$Int,""],["dp","dp","strconv",$Int,""],["neg","neg","strconv",$Bool,""]]);G=true;$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AE=new CI([new AD.Ptr(0,""),new AD.Ptr(1,"5"),new AD.Ptr(1,"25"),new AD.Ptr(1,"125"),new AD.Ptr(2,"625"),new AD.Ptr(2,"3125"),new AD.Ptr(2,"15625"),new AD.Ptr(3,"78125"),new AD.Ptr(3,"390625"),new AD.Ptr(3,"1953125"),new AD.Ptr(4,"9765625"),new AD.Ptr(4,"48828125"),new AD.Ptr(4,"244140625"),new AD.Ptr(4,"1220703125"),new AD.Ptr(5,"6103515625"),new AD.Ptr(5,"30517578125"),new AD.Ptr(5,"152587890625"),new AD.Ptr(6,"762939453125"),new AD.Ptr(6,"3814697265625"),new AD.Ptr(6,"19073486328125"),new AD.Ptr(7,"95367431640625"),new AD.Ptr(7,"476837158203125"),new AD.Ptr(7,"2384185791015625"),new AD.Ptr(7,"11920928955078125"),new AD.Ptr(8,"59604644775390625"),new AD.Ptr(8,"298023223876953125"),new AD.Ptr(8,"1490116119384765625"),new AD.Ptr(9,"7450580596923828125")]);AJ=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(2147483648,0),-63,false),new AI.Ptr(new $Uint64(2684354560,0),-60,false),new AI.Ptr(new $Uint64(3355443200,0),-57,false),new AI.Ptr(new $Uint64(4194304000,0),-54,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3276800000,0),-47,false),new AI.Ptr(new $Uint64(4096000000,0),-44,false),new AI.Ptr(new $Uint64(2560000000,0),-40,false)]);AK=$toNativeArray($kindStruct,[new AI.Ptr(new $Uint64(4203730336,136053384),-1220,false),new AI.Ptr(new $Uint64(3132023167,2722021238),-1193,false),new AI.Ptr(new $Uint64(2333539104,810921078),-1166,false),new AI.Ptr(new $Uint64(3477244234,1573795306),-1140,false),new AI.Ptr(new $Uint64(2590748842,1432697645),-1113,false),new AI.Ptr(new $Uint64(3860516611,1025131999),-1087,false),new AI.Ptr(new $Uint64(2876309015,3348809418),-1060,false),new AI.Ptr(new $Uint64(4286034428,3200048207),-1034,false),new AI.Ptr(new $Uint64(3193344495,1097586188),-1007,false),new AI.Ptr(new $Uint64(2379227053,2424306748),-980,false),new AI.Ptr(new $Uint64(3545324584,827693699),-954,false),new AI.Ptr(new $Uint64(2641472655,2913388981),-927,false),new AI.Ptr(new $Uint64(3936100983,602835915),-901,false),new AI.Ptr(new $Uint64(2932623761,1081627501),-874,false),new AI.Ptr(new $Uint64(2184974969,1572261463),-847,false),new AI.Ptr(new $Uint64(3255866422,1308317239),-821,false),new AI.Ptr(new $Uint64(2425809519,944281679),-794,false),new AI.Ptr(new $Uint64(3614737867,629291719),-768,false),new AI.Ptr(new $Uint64(2693189581,2545915892),-741,false),new AI.Ptr(new $Uint64(4013165208,388672741),-715,false),new AI.Ptr(new $Uint64(2990041083,708162190),-688,false),new AI.Ptr(new $Uint64(2227754207,3536207675),-661,false),new AI.Ptr(new $Uint64(3319612455,450088378),-635,false),new AI.Ptr(new $Uint64(2473304014,3139815830),-608,false),new AI.Ptr(new $Uint64(3685510180,2103616900),-582,false),new AI.Ptr(new $Uint64(2745919064,224385782),-555,false),new AI.Ptr(new $Uint64(4091738259,3737383206),-529,false),new AI.Ptr(new $Uint64(3048582568,2868871352),-502,false),new AI.Ptr(new $Uint64(2271371013,1820084875),-475,false),new AI.Ptr(new $Uint64(3384606560,885076051),-449,false),new AI.Ptr(new $Uint64(2521728396,2444895829),-422,false),new AI.Ptr(new $Uint64(3757668132,1881767613),-396,false),new AI.Ptr(new $Uint64(2799680927,3102062735),-369,false),new AI.Ptr(new $Uint64(4171849679,2289335700),-343,false),new AI.Ptr(new $Uint64(3108270227,2410191823),-316,false),new AI.Ptr(new $Uint64(2315841784,3205436779),-289,false),new AI.Ptr(new $Uint64(3450873173,1697722806),-263,false),new AI.Ptr(new $Uint64(2571100870,3497754540),-236,false),new AI.Ptr(new $Uint64(3831238852,707476230),-210,false),new AI.Ptr(new $Uint64(2854495385,1769181907),-183,false),new AI.Ptr(new $Uint64(4253529586,2197867022),-157,false),new AI.Ptr(new $Uint64(3169126500,2450594539),-130,false),new AI.Ptr(new $Uint64(2361183241,1867548876),-103,false),new AI.Ptr(new $Uint64(3518437208,3793315116),-77,false),new AI.Ptr(new $Uint64(2621440000,0),-50,false),new AI.Ptr(new $Uint64(3906250000,0),-24,false),new AI.Ptr(new $Uint64(2910383045,2892103680),3,false),new AI.Ptr(new $Uint64(2168404344,4170451332),30,false),new AI.Ptr(new $Uint64(3231174267,3372684723),56,false),new AI.Ptr(new $Uint64(2407412430,2078956656),83,false),new AI.Ptr(new $Uint64(3587324068,2884206696),109,false),new AI.Ptr(new $Uint64(2672764710,395977285),136,false),new AI.Ptr(new $Uint64(3982729777,3569679143),162,false),new AI.Ptr(new $Uint64(2967364920,2361961896),189,false),new AI.Ptr(new $Uint64(2210859150,447440347),216,false),new AI.Ptr(new $Uint64(3294436857,1114709402),242,false),new AI.Ptr(new $Uint64(2454546732,2786846552),269,false),new AI.Ptr(new $Uint64(3657559652,443583978),295,false),new AI.Ptr(new $Uint64(2725094297,2599384906),322,false),new AI.Ptr(new $Uint64(4060706939,3028118405),348,false),new AI.Ptr(new $Uint64(3025462433,2044532855),375,false),new AI.Ptr(new $Uint64(2254145170,1536935362),402,false),new AI.Ptr(new $Uint64(3358938053,3365297469),428,false),new AI.Ptr(new $Uint64(2502603868,4204241075),455,false),new AI.Ptr(new $Uint64(3729170365,2577424355),481,false),new AI.Ptr(new $Uint64(2778448436,3677981733),508,false),new AI.Ptr(new $Uint64(4140210802,2744688476),534,false),new AI.Ptr(new $Uint64(3084697427,1424604878),561,false),new AI.Ptr(new $Uint64(2298278679,4062331362),588,false),new AI.Ptr(new $Uint64(3424702107,3546052773),614,false),new AI.Ptr(new $Uint64(2551601907,2065781727),641,false),new AI.Ptr(new $Uint64(3802183132,2535403578),667,false),new AI.Ptr(new $Uint64(2832847187,1558426518),694,false),new AI.Ptr(new $Uint64(4221271257,2762425404),720,false),new AI.Ptr(new $Uint64(3145092172,2812560400),747,false),new AI.Ptr(new $Uint64(2343276271,3057687578),774,false),new AI.Ptr(new $Uint64(3491753744,2790753324),800,false),new AI.Ptr(new $Uint64(2601559269,3918606633),827,false),new AI.Ptr(new $Uint64(3876625403,2711358621),853,false),new AI.Ptr(new $Uint64(2888311001,1648096297),880,false),new AI.Ptr(new $Uint64(2151959390,2057817989),907,false),new AI.Ptr(new $Uint64(3206669376,61660461),933,false),new AI.Ptr(new $Uint64(2389154863,1581580175),960,false),new AI.Ptr(new $Uint64(3560118173,2626467905),986,false),new AI.Ptr(new $Uint64(2652494738,3034782633),1013,false),new AI.Ptr(new $Uint64(3952525166,3135207385),1039,false),new AI.Ptr(new $Uint64(2944860731,2616258155),1066,false)]);AL=$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)]);AQ=new AP.Ptr(23,8,-127);AR=new AP.Ptr(52,11,-1023);BD=new CJ([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,2226,2276,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,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,3161,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3406,3415,3415,3424,3427,3430,3445,3449,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,5108,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,7295,7360,7367,7376,7417,7424,7669,7676,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8381,8400,8432,8448,8585,8592,9210,9216,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11842,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40908,40960,42124,42128,42182,42192,42539,42560,42743,42752,42925,42928,42929,42999,43051,43056,43065,43072,43127,43136,43204,43214,43225,43232,43259,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43871,43876,43877,43968,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,65069,65072,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CJ([173,907,909,930,1328,1376,1416,1424,1757,2111,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,3200,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,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42654,42895,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CK([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65932,65936,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,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67840,67867,67871,67897,67903,67903,67968,68023,68030,68031,68096,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,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70088,70093,70093,70096,70106,70113,70132,70144,70205,70320,70378,70384,70393,70401,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70487,70487,70493,70499,70502,70508,70512,70516,70784,70855,70864,70873,71040,71093,71096,71113,71168,71236,71248,71257,71296,71351,71360,71369,71840,71922,71935,71935,72384,72440,73728,74648,74752,74868,77824,78894,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119261,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,120831,124928,125124,125127,125142,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,127386,127462,127490,127504,127546,127552,127560,127568,127569,127744,127788,127792,127869,127872,127950,127956,127991,128000,128330,128336,128578,128581,128719,128736,128748,128752,128755,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,131072,173782,173824,177972,177984,178205,194560,195101,917760,917999]);BG=new CJ([12,39,59,62,926,2057,2102,2134,2564,2580,2584,4285,4405,4626,4868,4905,4913,4916,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,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,62719,62842,62884]);BM=$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;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["reflect"]=(function(){var $pkg={},B,E,A,C,D,FF,FG,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GE,GF,GG,GH,GI,GJ,GO,GQ,GR,GS,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HF,HG,HH,HI,AF,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BS,BT,BU,CT,CU,CX,CZ,F,BR,DG,G,H,I,J,K,L,M,N,O,P,T,U,V,W,Y,AC,AD,AE,AG,AH,AI,AJ,AK,AM,AN,AO,AP,AQ,BW,BY,BZ,CA,CL,CQ,DH,DZ,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW;B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["math"];A=$packages["runtime"];C=$packages["strconv"];D=$packages["sync"];AF=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter","mapIter","reflect",function(t_,m_,keys_,i_){this.$val=this;this.t=t_!==undefined?t_:$ifaceNil;this.m=m_!==undefined?m_:null;this.keys=keys_!==undefined?keys_:null;this.i=i_!==undefined?i_:0;});AZ=$pkg.Type=$newType(8,$kindInterface,"reflect.Type","Type","reflect",null);BA=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind","Kind","reflect",null);BB=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype","rtype","reflect",function(size_,hash_,_$2_,align_,fieldAlign_,kind_,alg_,gc_,string_,uncommonType_,ptrToThis_,zero_){this.$val=this;this.size=size_!==undefined?size_:0;this.hash=hash_!==undefined?hash_:0;this._$2=_$2_!==undefined?_$2_:0;this.align=align_!==undefined?align_:0;this.fieldAlign=fieldAlign_!==undefined?fieldAlign_:0;this.kind=kind_!==undefined?kind_:0;this.alg=alg_!==undefined?alg_:FP.nil;this.gc=gc_!==undefined?gc_:FQ.zero();this.string=string_!==undefined?string_:FR.nil;this.uncommonType=uncommonType_!==undefined?uncommonType_:FS.nil;this.ptrToThis=ptrToThis_!==undefined?ptrToThis_:FF.nil;this.zero=zero_!==undefined?zero_:0;});BC=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg","typeAlg","reflect",function(hash_,equal_){this.$val=this;this.hash=hash_!==undefined?hash_:$throwNilPointerError;this.equal=equal_!==undefined?equal_:$throwNilPointerError;});BD=$pkg.method=$newType(0,$kindStruct,"reflect.method","method","reflect",function(name_,pkgPath_,mtyp_,typ_,ifn_,tfn_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.mtyp=mtyp_!==undefined?mtyp_:FF.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.ifn=ifn_!==undefined?ifn_:0;this.tfn=tfn_!==undefined?tfn_:0;});BE=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType","uncommonType","reflect",function(name_,pkgPath_,methods_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.methods=methods_!==undefined?methods_:FT.nil;});BF=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir","ChanDir","reflect",null);BG=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType","arrayType","reflect",function(rtype_,elem_,slice_,len_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.slice=slice_!==undefined?slice_:FF.nil;this.len=len_!==undefined?len_:0;});BH=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType","chanType","reflect",function(rtype_,elem_,dir_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;this.dir=dir_!==undefined?dir_:0;});BI=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType","funcType","reflect",function(rtype_,dotdotdot_,in$2_,out_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.dotdotdot=dotdotdot_!==undefined?dotdotdot_:false;this.in$2=in$2_!==undefined?in$2_:FU.nil;this.out=out_!==undefined?out_:FU.nil;});BJ=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod","imethod","reflect",function(name_,pkgPath_,typ_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;});BK=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType","interfaceType","reflect",function(rtype_,methods_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.methods=methods_!==undefined?methods_:FV.nil;});BL=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType","mapType","reflect",function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.key=key_!==undefined?key_:FF.nil;this.elem=elem_!==undefined?elem_:FF.nil;this.bucket=bucket_!==undefined?bucket_:FF.nil;this.hmap=hmap_!==undefined?hmap_:FF.nil;this.keysize=keysize_!==undefined?keysize_:0;this.indirectkey=indirectkey_!==undefined?indirectkey_:0;this.valuesize=valuesize_!==undefined?valuesize_:0;this.indirectvalue=indirectvalue_!==undefined?indirectvalue_:0;this.bucketsize=bucketsize_!==undefined?bucketsize_:0;});BM=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType","ptrType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BN=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType","sliceType","reflect",function(rtype_,elem_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.elem=elem_!==undefined?elem_:FF.nil;});BO=$pkg.structField=$newType(0,$kindStruct,"reflect.structField","structField","reflect",function(name_,pkgPath_,typ_,tag_,offset_){this.$val=this;this.name=name_!==undefined?name_:FR.nil;this.pkgPath=pkgPath_!==undefined?pkgPath_:FR.nil;this.typ=typ_!==undefined?typ_:FF.nil;this.tag=tag_!==undefined?tag_:FR.nil;this.offset=offset_!==undefined?offset_:0;});BP=$pkg.structType=$newType(0,$kindStruct,"reflect.structType","structType","reflect",function(rtype_,fields_){this.$val=this;this.rtype=rtype_!==undefined?rtype_:new BB.Ptr();this.fields=fields_!==undefined?fields_:FW.nil;});BQ=$pkg.Method=$newType(0,$kindStruct,"reflect.Method","Method","reflect",function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Func=Func_!==undefined?Func_:new CT.Ptr();this.Index=Index_!==undefined?Index_:0;});BS=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField","StructField","reflect",function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;this.Name=Name_!==undefined?Name_:"";this.PkgPath=PkgPath_!==undefined?PkgPath_:"";this.Type=Type_!==undefined?Type_:$ifaceNil;this.Tag=Tag_!==undefined?Tag_:"";this.Offset=Offset_!==undefined?Offset_:0;this.Index=Index_!==undefined?Index_:GH.nil;this.Anonymous=Anonymous_!==undefined?Anonymous_:false;});BT=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag","StructTag","reflect",null);BU=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan","fieldScan","reflect",function(typ_,index_){this.$val=this;this.typ=typ_!==undefined?typ_:GJ.nil;this.index=index_!==undefined?index_:GH.nil;});CT=$pkg.Value=$newType(0,$kindStruct,"reflect.Value","Value","reflect",function(typ_,ptr_,flag_){this.$val=this;this.typ=typ_!==undefined?typ_:FF.nil;this.ptr=ptr_!==undefined?ptr_:0;this.flag=flag_!==undefined?flag_:0;});CU=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag","flag","reflect",null);CX=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError","ValueError","reflect",function(Method_,Kind_){this.$val=this;this.Method=Method_!==undefined?Method_:"";this.Kind=Kind_!==undefined?Kind_:0;});CZ=$pkg.nonEmptyInterface=$newType(0,$kindStruct,"reflect.nonEmptyInterface","nonEmptyInterface","reflect",function(itab_,word_){this.$val=this;this.itab=itab_!==undefined?itab_:GA.nil;this.word=word_!==undefined?word_:0;});G=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar;ad=(function(ad){});ad((ae=new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0),new ae.constructor.Struct(ae)));ad((af=new BE.Ptr(FR.nil,FR.nil,FT.nil),new af.constructor.Struct(af)));ad((ag=new BD.Ptr(FR.nil,FR.nil,FF.nil,FF.nil,0,0),new ag.constructor.Struct(ag)));ad((ah=new BG.Ptr(new BB.Ptr(),FF.nil,FF.nil,0),new ah.constructor.Struct(ah)));ad((ai=new BH.Ptr(new BB.Ptr(),FF.nil,0),new ai.constructor.Struct(ai)));ad((aj=new BI.Ptr(new BB.Ptr(),false,FU.nil,FU.nil),new aj.constructor.Struct(aj)));ad((ak=new BK.Ptr(new BB.Ptr(),FV.nil),new ak.constructor.Struct(ak)));ad((al=new BL.Ptr(new BB.Ptr(),FF.nil,FF.nil,FF.nil,FF.nil,0,0,0,0,0),new al.constructor.Struct(al)));ad((am=new BM.Ptr(new BB.Ptr(),FF.nil),new am.constructor.Struct(am)));ad((an=new BN.Ptr(new BB.Ptr(),FF.nil),new an.constructor.Struct(an)));ad((ao=new BP.Ptr(new BB.Ptr(),FW.nil),new ao.constructor.Struct(ao)));ad((ap=new BJ.Ptr(FR.nil,FR.nil,FF.nil),new ap.constructor.Struct(ap)));ad((aq=new BO.Ptr(FR.nil,FR.nil,FF.nil,FR.nil,0),new aq.constructor.Struct(aq)));ar=$pkg;ar.RecvDir=1;ar.SendDir=2;ar.BothDir=3;$reflect=ar;F=true;DG=$assertType(O(new $Uint8(0)),FF);};H=function(ad){return ad.jsType;};I=function(ad){return ad.reflectType();};J=function(ad){var ae;ae=ad.Kind();if(ae===1||ae===2||ae===3||ae===4||ae===5||ae===7||ae===8||ae===9||ae===10||ae===12||ae===13||ae===14||ae===17||ae===21||ae===19||ae===24||ae===25){return true;}else if(ae===22){return ad.Elem().Kind()===17;}return false;};K=function(ad,ae,af){var ag,ah,ai;ag=H(af).fields;ah=0;while(ah<$parseInt(ag.length)){ai=$internalize(ag[ah][0],$String);ad[$externalize(ai,$String)]=ae[$externalize(ai,$String)];ah=ah+(1)>>0;}};L=function(ad,ae,af){var ag;ag=ad.common();if((ad.Kind()===17)||(ad.Kind()===25)||(ad.Kind()===22)){return new CT.Ptr(ag,ae,(af|(ad.Kind()>>>0))>>>0);}return new CT.Ptr(ag,$newDataPointer(ae,H(ag.ptrTo())),(((af|(ad.Kind()>>>0))>>>0)|64)>>>0);};M=$pkg.MakeSlice=function(ad,ae,af){if(!((ad.Kind()===23))){$panic(new $String("reflect.MakeSlice of non-slice type"));}if(ae<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(af<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ae>af){$panic(new $String("reflect.MakeSlice: len > cap"));}return L(ad,H(ad).make(ae,af,(function(){return H(ad.Elem()).zero();})),0);};N=function(){return I($packages[$externalize("github.com/gopherjs/gopherjs/js",$String)].Object);};O=$pkg.TypeOf=function(ad){var ae;if(!F){return new BB.Ptr(0,0,0,0,0,0,FP.nil,FQ.zero(),FR.nil,FS.nil,FF.nil,0);}if($interfaceIsEqual(ad,$ifaceNil)){return $ifaceNil;}ae=ad.constructor;if(ae.kind===undefined){return N();}return I(ae);};P=$pkg.ValueOf=function(ad){var ae;if($interfaceIsEqual(ad,$ifaceNil)){return new CT.Ptr(FF.nil,0,0);}ae=ad.constructor;if(ae.kind===undefined){return new CT.Ptr(N(),ad,20);}return L(I(ae),ad.$val,0);};BB.Ptr.prototype.ptrTo=function(){var ad;ad=this;return I($ptrType(H(ad)));};BB.prototype.ptrTo=function(){return this.$val.ptrTo();};T=$pkg.SliceOf=function(ad){return I($sliceType(H(ad)));};U=$pkg.Zero=function(ad){return L(ad,H(ad).zero(),0);};V=function(ad){var ae;ae=ad.Kind();if(ae===25){return new(H(ad).Ptr)();}else if(ae===17){return H(ad).zero();}else{return $newDataPointer(H(ad).zero(),H(ad.ptrTo()));}};W=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.Kind();if(ai===3){ah.$set((ae.$low<<24>>24));}else if(ai===4){ah.$set((ae.$low<<16>>16));}else if(ai===2||ai===5){ah.$set((ae.$low>>0));}else if(ai===6){ah.$set(new $Int64(ae.$high,ae.$low));}else if(ai===8){ah.$set((ae.$low<<24>>>24));}else if(ai===9){ah.$set((ae.$low<<16>>>16));}else if(ai===7||ai===10||ai===12){ah.$set((ae.$low>>>0));}else if(ai===11){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};Y=function(ad,ae,af){ad.$set(ae.$get());};AC=function(ad,ae,af){var ag,ah;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}ah=ae[$externalize($internalize(ag,$String),$String)];if(ah===undefined){return 0;}return $newDataPointer(ah.v,H(BW(ad.Elem())));};AD=function(ad,ae,af,ag){var ah,ai,aj,ak,al,am;ah=af.$get();ai=ah;if(!(ai.$key===undefined)){ai=ai.$key();}aj=ag.$get();ak=ad.Elem();if(ak.Kind()===25){al=H(ak).zero();K(al,aj,ak);aj=al;}am=new($global.Object)();am.k=ah;am.v=aj;ae[$externalize($internalize(ai,$String),$String)]=am;};AE=function(ad,ae,af){var ag;ag=af.$get();if(!(ag.$key===undefined)){ag=ag.$key();}delete ae[$externalize($internalize(ag,$String),$String)];};AG=function(ad,ae){return new AF.Ptr(ad,ae,$keys(ae),0);};AH=function(ad){var ae,af;ae=ad;af=ae.keys[ae.i];return $newDataPointer(ae.m[$externalize($internalize(af,$String),$String)].k,H(BW(ae.t.Key())));};AI=function(ad){var ae;ae=ad;ae.i=ae.i+(1)>>0;};AJ=function(ad){return $parseInt($keys(ad).length);};AK=function(ad,ae){var af,ag,ah,ai,aj;ad=ad;af=ad.object();if(af===H(ad.typ).nil){return L(ae,H(ae).nil,ad.flag);}ag=null;ah=ae.Kind();ai=ah;switch(0){default:if(ai===18){ag=new(H(ae))();}else if(ai===23){aj=new(H(ae))(af.$array);aj.$offset=af.$offset;aj.$length=af.$length;aj.$capacity=af.$capacity;ag=$newDataPointer(aj,H(BW(ae)));}else if(ai===22){if(ae.Elem().Kind()===25){if($interfaceIsEqual(ae.Elem(),ad.typ.Elem())){ag=af;break;}ag=new(H(ae))();K(ag,af,ae.Elem());break;}ag=new(H(ae))(af.$get,af.$set);}else if(ai===25){ag=new(H(ae).Ptr)();K(ag,af,ae);}else if(ai===17||ai===19||ai===20||ai===21||ai===24){ag=ad.ptr;}else{$panic(new CX.Ptr("reflect.Convert",ah));}}return new CT.Ptr(ae.common(),ag,(((ad.flag&96)>>>0)|(ae.Kind()>>>0))>>>0);};AM=function(ad,ae,af){var ag=FF.nil,ah=FF.nil,ai=0,aj,ak,al,am,an,ao,ap,aq,ar;ae=ae;aj="";if(ae.typ.Kind()===20){ak=ae.typ.interfaceType;if(af<0||af>=ak.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}am=(al=ak.methods,((af<0||af>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+af]));if(!($pointerIsEqual(am.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}an=$clone(ae.ptr,CZ);if(an.itab===GA.nil){$panic(new $String("reflect: "+ad+" of method on nil interface value"));}ah=am.typ;aj=am.name.$get();}else{ao=ae.typ.uncommonType.uncommon();if(ao===FS.nil||af<0||af>=ao.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}aq=(ap=ao.methods,((af<0||af>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+af]));if(!($pointerIsEqual(aq.pkgPath,FR.nil))){$panic(new $String("reflect: "+ad+" of unexported method"));}ah=aq.mtyp;aj=$internalize(H(ae.typ).methods[af][0],$String);}ar=ae.object();if(J(ae.typ)){ar=new(H(ae.typ))(ar);}ai=ar[$externalize(aj,$String)];return[ag,ah,ai];};AN=function(ad,ae){ad=ad;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.Interface",0));}if(ae&&!((((ad.flag&32)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((ad.flag&256)>>>0)===0))){ad=AQ("Interface",ad);}if(J(ad.typ)){return new(H(ad.typ))(ad.object());}return ad.object();};AO=function(ad,ae,af){af.$set(ae);};AP=function(){return"?FIXME?";};AQ=function(ad,ae){var af,ag,ah,ai;ae=ae;if(((ae.flag&256)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}af=AM(ad,ae,(ae.flag>>0)>>9>>0);ag=af[2];ah=ae.object();if(J(ae.typ)){ah=new(H(ae.typ))(ah);}ai=(function(){return ag.apply(ah,$externalize(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),GB));});return new CT.Ptr(ae.Type().common(),ai,(((ae.flag&32)>>>0)|19)>>>0);};BB.Ptr.prototype.pointers=function(){var ad,ae;ad=this;ae=ad.Kind();if(ae===22||ae===21||ae===18||ae===19||ae===25||ae===17){return true;}else{return false;}};BB.prototype.pointers=function(){return this.$val.pointers();};BB.Ptr.prototype.Comparable=function(){var ad,ae,af;ad=this;ae=ad.Kind();if(ae===19||ae===23||ae===21){return false;}else if(ae===17){return ad.Elem().Comparable();}else if(ae===25){af=0;while(af>0;}}return true;};BB.prototype.Comparable=function(){return this.$val.Comparable();};BE.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah,ai,aj,ak,al;af=this;if(af===FS.nil||ad<0||ad>=af.methods.$length){$panic(new $String("reflect: Method index out of range"));}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}ai=19;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();ai=(ai|(32))>>>0;}aj=ah.typ;ae.Type=aj;ak=$internalize(af.jsType.methods[ad][0],$String);al=(function(al){return al[$externalize(ak,$String)].apply(al,$externalize($subslice(new($sliceType(B.Object))($global.Array.prototype.slice.call(arguments,[])),1),GB));});ae.Func=new CT.Ptr(aj,al,ai);ae.Index=ad;return ae;};BE.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.object=function(){var ad,ae,af,ag;ad=this;if((ad.typ.Kind()===17)||(ad.typ.Kind()===25)){return ad.ptr;}if(!((((ad.flag&64)>>>0)===0))){ae=ad.ptr.$get();if(!(ae===$ifaceNil)&&!(ae.constructor===H(ad.typ))){af=ad.typ.Kind();switch(0){default:if(af===11||af===6){ae=new(H(ad.typ))(ae.$high,ae.$low);}else if(af===15||af===16){ae=new(H(ad.typ))(ae.$real,ae.$imag);}else if(af===23){if(ae===ae.constructor.nil){ae=H(ad.typ).nil;break;}ag=new(H(ad.typ))(ae.$array);ag.$offset=ae.$offset;ag.$length=ae.$length;ag.$capacity=ae.$capacity;ae=ag;}}}return ae;}return ad.ptr;};CT.prototype.object=function(){return this.$val.object();};CT.Ptr.prototype.call=function(ad,ae){var 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;af=this;ag=af.typ;ah=0;ai=null;if(!((((af.flag&256)>>>0)===0))){aj=AM(ad,af,(af.flag>>0)>>9>>0);ag=aj[1];ah=aj[2];ai=af.object();if(J(af.typ)){ai=new(H(af.typ))(ai);}}else{ah=af.object();}if(ah===0){$panic(new $String("reflect.Value.Call: call of nil function"));}ak=ad==="CallSlice";al=ag.NumIn();if(ak){if(!ag.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ae.$lengthal){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(ag.IsVariadic()){al=al-(1)>>0;}if(ae.$lengthal){$panic(new $String("reflect: Call with too many input arguments"));}}am=ae;an=0;while(an=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);if(ao.Kind()===0){$panic(new $String("reflect: "+ad+" using zero Value argument"));}an++;}ap=0;while(ap=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ap]).Type();ar=ag.In(ap);as=aq;at=ar;if(!as.AssignableTo(at)){$panic(new $String("reflect: "+ad+" using "+as.String()+" as type "+at.String()));}ap=ap+(1)>>0;}if(!ak&&ag.IsVariadic()){au=ae.$length-al>>0;av=M(ag.In(al),au,au);aw=ag.In(al).Elem();ax=0;while(ax>0,((ay<0||ay>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ay]));ba=az.Type();if(!ba.AssignableTo(aw)){$panic(new $String("reflect: cannot use "+ba.String()+" as type "+aw.String()+" in "+ad));}av.Index(ax).Set(az);ax=ax+(1)>>0;}bb=ae;ae=FX.make((al+1>>0));$copySlice($subslice(ae,0,al),bb);(al<0||al>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+al]=av;}bc=ae.$length;if(!((bc===ag.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bd=ag.NumOut();be=new($global.Array)(ag.NumIn());bf=ae;bg=0;while(bg=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bg]);be[bh]=bi.assignTo("reflect.Value.Call",ag.In(bh).common(),0).object();bg++;}bj=ah.apply(ai,be);bk=bd;if(bk===0){return FX.nil;}else if(bk===1){return new FX([$clone(L(ag.Out(0),bj,0),CT)]);}else{bl=FX.make(bd);bm=bl;bn=0;while(bn=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bo]=L(ag.Out(bo),bj[bo],0);bn++;}return bl;}};CT.prototype.call=function(ad,ae){return this.$val.call(ad,ae);};CT.Ptr.prototype.Cap=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17){return ad.typ.Len();}else if(af===18||af===23){return $parseInt(ad.object().$capacity)>>0;}$panic(new CX.Ptr("reflect.Value.Cap",ae));};CT.prototype.Cap=function(){return this.$val.Cap();};CT.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj,ak;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===20){ag=ad.object();if(ag===$ifaceNil){return new CT.Ptr(FF.nil,0,0);}ah=I(ag.constructor);return L(ah,ag.$val,(ad.flag&32)>>>0);}else if(af===22){if(ad.IsNil()){return new CT.Ptr(FF.nil,0,0);}ai=ad.object();aj=ad.typ.ptrType;ak=(((((ad.flag&32)>>>0)|64)>>>0)|128)>>>0;ak=(ak|((aj.elem.Kind()>>>0)))>>>0;return new CT.Ptr(aj.elem,ai,ak);}else{$panic(new CX.Ptr("reflect.Value.Elem",ae));}};CT.prototype.Elem=function(){return this.$val.Elem();};CT.Ptr.prototype.Field=function(ad){var ae,af,ag,ah,ai,aj,ak,al;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.structType;if(ad<0||ad>=af.fields.$length){$panic(new $String("reflect: Field index out of range"));}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ai=$internalize(H(ae.typ).fields[ad][0],$String);aj=ah.typ;ak=(ae.flag&224)>>>0;if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ak=(ak|(32))>>>0;}ak=(ak|((aj.Kind()>>>0)))>>>0;al=ae.ptr;if(!((((ak&64)>>>0)===0))&&!((aj.Kind()===17))&&!((aj.Kind()===25))){return new CT.Ptr(aj,new(H(BW(aj)))((function(){return al[$externalize(ai,$String)];}),(function(am){al[$externalize(ai,$String)]=am;})),ak);}return L(aj,al[$externalize(ai,$String)],ak);};CT.prototype.Field=function(ad){return this.$val.Field(ad);};CT.Ptr.prototype.Index=function(ad){var ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===17){ah=ae.typ.arrayType;if(ad<0||ad>(ah.len>>0)){$panic(new $String("reflect: array index out of range"));}ai=ah.elem;aj=(ae.flag&224)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;ak=ae.ptr;if(!((((aj&64)>>>0)===0))&&!((ai.Kind()===17))&&!((ai.Kind()===25))){return new CT.Ptr(ai,new(H(BW(ai)))((function(){return ak[ad];}),(function(al){ak[ad]=al;})),aj);}return L(ai,ak[ad],aj);}else if(ag===23){al=ae.object();if(ad<0||ad>=($parseInt(al.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}am=ae.typ.sliceType;an=am.elem;ao=(192|((ae.flag&32)>>>0))>>>0;ao=(ao|((an.Kind()>>>0)))>>>0;ad=ad+(($parseInt(al.$offset)>>0))>>0;ap=al.$array;if(!((((ao&64)>>>0)===0))&&!((an.Kind()===17))&&!((an.Kind()===25))){return new CT.Ptr(an,new(H(BW(an)))((function(){return ap[ad];}),(function(aq){ap[ad]=aq;})),ao);}return L(an,ap[ad],ao);}else if(ag===24){aq=ae.ptr.$get();if(ad<0||ad>=aq.length){$panic(new $String("reflect: string index out of range"));}ar=(((ae.flag&32)>>>0)|8)>>>0;as=aq.charCodeAt(ad);return new CT.Ptr(DG,new GC(function(){return as;},function($v){as=$v;}),(ar|64)>>>0);}else{$panic(new CX.Ptr("reflect.Value.Index",af));}};CT.prototype.Index=function(ad){return this.$val.Index(ad);};CT.Ptr.prototype.IsNil=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===22||af===23){return ad.object()===H(ad.typ).nil;}else if(af===19){return ad.object()===$throwNilPointerError;}else if(af===21){return ad.object()===false;}else if(af===20){return ad.object()===$ifaceNil;}else{$panic(new CX.Ptr("reflect.Value.IsNil",ae));}};CT.prototype.IsNil=function(){return this.$val.IsNil();};CT.Ptr.prototype.Len=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===17||af===24){return $parseInt(ad.object().length);}else if(af===23){return $parseInt(ad.object().$length)>>0;}else if(af===18){return $parseInt(ad.object().$buffer.length)>>0;}else if(af===21){return $parseInt($keys(ad.object()).length);}else{$panic(new CX.Ptr("reflect.Value.Len",ae));}};CT.prototype.Len=function(){return this.$val.Len();};CT.Ptr.prototype.Pointer=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===18||af===21||af===22||af===26){if(ad.IsNil()){return 0;}return ad.object();}else if(af===19){if(ad.IsNil()){return 0;}return 1;}else if(af===23){if(ad.IsNil()){return 0;}return ad.object().$array;}else{$panic(new CX.Ptr("reflect.Value.Pointer",ae));}};CT.prototype.Pointer=function(){return this.$val.Pointer();};CT.Ptr.prototype.Set=function(ad){var ae,af;ae=this;ad=ad;new CU(ae.flag).mustBeAssignable();new CU(ad.flag).mustBeExported();ad=ad.assignTo("reflect.Set",ae.typ,0);if(!((((ae.flag&64)>>>0)===0))){af=ae.typ.Kind();if(af===17){$copy(ae.ptr,ad.ptr,H(ae.typ));}else if(af===20){ae.ptr.$set(AN(ad,false));}else if(af===25){K(ae.ptr,ad.ptr,ae.typ);}else{ae.ptr.$set(ad.object());}return;}ae.ptr=ad.ptr;};CT.prototype.Set=function(ad){return this.$val.Set(ad);};CT.Ptr.prototype.SetCap=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<($parseInt(af.$length)>>0)||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=af.$length;ag.$capacity=ad;ae.ptr.$set(ag);};CT.prototype.SetCap=function(ad){return this.$val.SetCap(ad);};CT.Ptr.prototype.SetLen=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);af=ae.ptr.$get();if(ad<0||ad>($parseInt(af.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}ag=new(H(ae.typ))(af.$array);ag.$offset=af.$offset;ag.$length=ad;ag.$capacity=af.$capacity;ae.ptr.$set(ag);};CT.prototype.SetLen=function(ad){return this.$val.SetLen(ad);};CT.Ptr.prototype.Slice=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am;af=this;ag=0;ah=$ifaceNil;ai=null;aj=new CU(af.flag).kind();ak=aj;if(ak===17){if(((af.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}al=af.typ.arrayType;ag=(al.len>>0);ah=T(al.elem);ai=new(H(ah))(af.object());}else if(ak===23){ah=af.typ;ai=af.object();ag=$parseInt(ai.$capacity)>>0;}else if(ak===24){am=af.ptr.$get();if(ad<0||aeam.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}return P(new $String(am.substring(ad,ae)));}else{$panic(new CX.Ptr("reflect.Value.Slice",aj));}if(ad<0||aeag){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}return L(ah,$subslice(ai,ad,ae),(af.flag&32)>>>0);};CT.prototype.Slice=function(ad,ae){return this.$val.Slice(ad,ae);};CT.Ptr.prototype.Slice3=function(ad,ae,af){var ag,ah,ai,aj,ak,al,am;ag=this;ah=0;ai=$ifaceNil;aj=null;ak=new CU(ag.flag).kind();al=ak;if(al===17){if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}am=ag.typ.arrayType;ah=(am.len>>0);ai=T(am.elem);aj=new(H(ai))(ag.object());}else if(al===23){ai=ag.typ;aj=ag.object();ah=$parseInt(aj.$capacity)>>0;}else{$panic(new CX.Ptr("reflect.Value.Slice3",ak));}if(ad<0||aeah){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}return L(ai,$subslice(aj,ad,ae,af),(ag.flag&32)>>>0);};CT.prototype.Slice3=function(ad,ae,af){return this.$val.Slice3(ad,ae,af);};CT.Ptr.prototype.Close=function(){var ad;ad=this;new CU(ad.flag).mustBe(18);new CU(ad.flag).mustBeExported();$close(ad.object());};CT.prototype.Close=function(){return this.$val.Close();};CT.Ptr.prototype.TrySend=function(ad){var ae,af,ag;ae=this;ad=ad;new CU(ae.flag).mustBe(18);new CU(ae.flag).mustBeExported();af=ae.typ.chanType;if(((af.dir>>0)&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new CU(ad.flag).mustBeExported();ag=ae.object();if(!!!(ag.$closed)&&($parseInt(ag.$recvQueue.length)===0)&&($parseInt(ag.$buffer.length)===($parseInt(ag.$capacity)>>0))){return false;}ad=ad.assignTo("reflect.Value.Send",af.elem,0);$send(ag,ad.object());return true;};CT.prototype.TrySend=function(ad){return this.$val.TrySend(ad);};CT.Ptr.prototype.Send=function(ad){var ae;ae=this;ad=ad;$panic(new A.NotSupportedError.Ptr("reflect.Value.Send, use reflect.Value.TrySend is possible"));};CT.prototype.Send=function(ad){return this.$val.Send(ad);};CT.Ptr.prototype.TryRecv=function(){var ad=new CT.Ptr(),ae=false,af,ag,ah,ai,aj,ak,al;af=this;new CU(af.flag).mustBe(18);new CU(af.flag).mustBeExported();ag=af.typ.chanType;if(((ag.dir>>0)&1)===0){$panic(new $String("reflect: recv on send-only channel"));}ah=$recv(af.object());if(ah.constructor===$global.Function){ai=new CT.Ptr(FF.nil,0,0);aj=false;ad=ai;ae=aj;return[ad,ae];}ak=L(ag.elem,ah[0],0);al=!!(ah[1]);ad=ak;ae=al;return[ad,ae];};CT.prototype.TryRecv=function(){return this.$val.TryRecv();};CT.Ptr.prototype.Recv=function(){var ad=new CT.Ptr(),ae=false,af;af=this;$panic(new A.NotSupportedError.Ptr("reflect.Value.Recv, use reflect.Value.TryRecv is possible"));};CT.prototype.Recv=function(){return this.$val.Recv();};BA.prototype.String=function(){var ad;ad=this.$val!==undefined?this.$val:this;if((ad>>0)=BR.$length)?$throwRuntimeError("index out of range"):BR.$array[BR.$offset+ad]);}return"kind"+C.Itoa((ad>>0));};$ptrType(BA).prototype.String=function(){return new BA(this.$get()).String();};BE.Ptr.prototype.uncommon=function(){var ad;ad=this;return ad;};BE.prototype.uncommon=function(){return this.$val.uncommon();};BE.Ptr.prototype.PkgPath=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.pkgPath,FR.nil)){return"";}return ad.pkgPath.$get();};BE.prototype.PkgPath=function(){return this.$val.PkgPath();};BE.Ptr.prototype.Name=function(){var ad;ad=this;if(ad===FS.nil||$pointerIsEqual(ad.name,FR.nil)){return"";}return ad.name.$get();};BE.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.String=function(){var ad;ad=this;return ad.string.$get();};BB.prototype.String=function(){return this.$val.String();};BB.Ptr.prototype.Size=function(){var ad;ad=this;return ad.size;};BB.prototype.Size=function(){return this.$val.Size();};BB.Ptr.prototype.Bits=function(){var ad,ae;ad=this;if(ad===FF.nil){$panic(new $String("reflect: Bits of nil Type"));}ae=ad.Kind();if(ae<2||ae>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+ad.String()));}return(ad.size>>0)*8>>0;};BB.prototype.Bits=function(){return this.$val.Bits();};BB.Ptr.prototype.Align=function(){var ad;ad=this;return(ad.align>>0);};BB.prototype.Align=function(){return this.$val.Align();};BB.Ptr.prototype.FieldAlign=function(){var ad;ad=this;return(ad.fieldAlign>>0);};BB.prototype.FieldAlign=function(){return this.$val.FieldAlign();};BB.Ptr.prototype.Kind=function(){var ad;ad=this;return(((ad.kind&31)>>>0)>>>0);};BB.prototype.Kind=function(){return this.$val.Kind();};BB.Ptr.prototype.common=function(){var ad;ad=this;return ad;};BB.prototype.common=function(){return this.$val.common();};BE.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad===FS.nil){return 0;}return ad.methods.$length;};BE.prototype.NumMethod=function(){return this.$val.NumMethod();};BE.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===FS.nil){return[ae,af];}ah=GE.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(!($pointerIsEqual(ah.name,FR.nil))&&ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BE.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.NumMethod=function(){var ad,ae;ad=this;if(ad.Kind()===20){ae=ad.interfaceType;return ae.NumMethod();}return ad.uncommonType.NumMethod();};BB.prototype.NumMethod=function(){return this.$val.NumMethod();};BB.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag;af=this;if(af.Kind()===20){ag=af.interfaceType;$copy(ae,ag.Method(ad),BQ);return ae;}$copy(ae,af.uncommonType.Method(ad),BQ);return ae;};BB.prototype.Method=function(ad){return this.$val.Method(ad);};BB.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj;ag=this;if(ag.Kind()===20){ah=ag.interfaceType;ai=ah.MethodByName(ad);$copy(ae,ai[0],BQ);af=ai[1];return[ae,af];}aj=ag.uncommonType.MethodByName(ad);$copy(ae,aj[0],BQ);af=aj[1];return[ae,af];};BB.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BB.Ptr.prototype.PkgPath=function(){var ad;ad=this;return ad.uncommonType.PkgPath();};BB.prototype.PkgPath=function(){return this.$val.PkgPath();};BB.Ptr.prototype.Name=function(){var ad;ad=this;return ad.uncommonType.Name();};BB.prototype.Name=function(){return this.$val.Name();};BB.Ptr.prototype.ChanDir=function(){var ad,ae;ad=this;if(!((ad.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}ae=ad.chanType;return(ae.dir>>0);};BB.prototype.ChanDir=function(){return this.$val.ChanDir();};BB.Ptr.prototype.IsVariadic=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}ae=ad.funcType;return ae.dotdotdot;};BB.prototype.IsVariadic=function(){return this.$val.IsVariadic();};BB.Ptr.prototype.Elem=function(){var ad,ae,af,ag,ah,ai,aj;ad=this;ae=ad.Kind();if(ae===17){af=ad.arrayType;return CL(af.elem);}else if(ae===18){ag=ad.chanType;return CL(ag.elem);}else if(ae===21){ah=ad.mapType;return CL(ah.elem);}else if(ae===22){ai=ad.ptrType;return CL(ai.elem);}else if(ae===23){aj=ad.sliceType;return CL(aj.elem);}$panic(new $String("reflect: Elem of invalid type"));};BB.prototype.Elem=function(){return this.$val.Elem();};BB.Ptr.prototype.Field=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}af=ae.structType;return af.Field(ad);};BB.prototype.Field=function(ad){return this.$val.Field(ad);};BB.Ptr.prototype.FieldByIndex=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}af=ae.structType;return af.FieldByIndex(ad);};BB.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BB.Ptr.prototype.FieldByName=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}af=ae.structType;return af.FieldByName(ad);};BB.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BB.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af;ae=this;if(!((ae.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}af=ae.structType;return af.FieldByNameFunc(ad);};BB.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BB.Ptr.prototype.In=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}af=ae.funcType;return CL((ag=af.in$2,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.In=function(ad){return this.$val.In(ad);};BB.Ptr.prototype.Key=function(){var ad,ae;ad=this;if(!((ad.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}ae=ad.mapType;return CL(ae.key);};BB.prototype.Key=function(){return this.$val.Key();};BB.Ptr.prototype.Len=function(){var ad,ae;ad=this;if(!((ad.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}ae=ad.arrayType;return(ae.len>>0);};BB.prototype.Len=function(){return this.$val.Len();};BB.Ptr.prototype.NumField=function(){var ad,ae;ad=this;if(!((ad.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}ae=ad.structType;return ae.fields.$length;};BB.prototype.NumField=function(){return this.$val.NumField();};BB.Ptr.prototype.NumIn=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}ae=ad.funcType;return ae.in$2.$length;};BB.prototype.NumIn=function(){return this.$val.NumIn();};BB.Ptr.prototype.NumOut=function(){var ad,ae;ad=this;if(!((ad.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}ae=ad.funcType;return ae.out.$length;};BB.prototype.NumOut=function(){return this.$val.NumOut();};BB.Ptr.prototype.Out=function(ad){var ae,af,ag;ae=this;if(!((ae.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}af=ae.funcType;return CL((ag=af.out,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad])));};BB.prototype.Out=function(ad){return this.$val.Out(ad);};BF.prototype.String=function(){var ad,ae;ad=this.$val!==undefined?this.$val:this;ae=ad;if(ae===2){return"chan<-";}else if(ae===1){return"<-chan";}else if(ae===3){return"chan";}return"ChanDir"+C.Itoa((ad>>0));};$ptrType(BF).prototype.String=function(){return new BF(this.$get()).String();};BK.Ptr.prototype.Method=function(ad){var ae=new BQ.Ptr(),af,ag,ah;af=this;if(ad<0||ad>=af.methods.$length){return ae;}ah=(ag=af.methods,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Name=ah.name.$get();if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}ae.Type=CL(ah.typ);ae.Index=ad;return ae;};BK.prototype.Method=function(ad){return this.$val.Method(ad);};BK.Ptr.prototype.NumMethod=function(){var ad;ad=this;return ad.methods.$length;};BK.prototype.NumMethod=function(){return this.$val.NumMethod();};BK.Ptr.prototype.MethodByName=function(ad){var ae=new BQ.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an;ag=this;if(ag===GF.nil){return[ae,af];}ah=GG.nil;ai=ag.methods;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if(ah.name.$get()===ad){am=$clone(ag.Method(ak),BQ);an=true;$copy(ae,am,BQ);af=an;return[ae,af];}aj++;}return[ae,af];};BK.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};BT.prototype.Get=function(ad){var ae,af,ag,ah,ai,aj;ae=this.$val!==undefined?this.$val:this;while(!(ae==="")){af=0;while(af>0;}ae=ae.substring(af);if(ae===""){break;}af=0;while(af>0;}if((af+1>>0)>=ae.length||!((ae.charCodeAt(af)===58))||!((ae.charCodeAt((af+1>>0))===34))){break;}ag=ae.substring(0,af);ae=ae.substring((af+1>>0));af=1;while(af>0;}af=af+(1)>>0;}if(af>=ae.length){break;}ah=ae.substring(0,(af+1>>0));ae=ae.substring((af+1>>0));if(ad===ag){ai=C.Unquote(ah);aj=ai[0];return aj;}}return"";};$ptrType(BT).prototype.Get=function(ad){return new BT(this.$get()).Get(ad);};BP.Ptr.prototype.Field=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai;af=this;if(ad<0||ad>=af.fields.$length){return ae;}ah=(ag=af.fields,((ad<0||ad>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ad]));ae.Type=CL(ah.typ);if(!($pointerIsEqual(ah.name,FR.nil))){ae.Name=ah.name.$get();}else{ai=ae.Type;if(ai.Kind()===22){ai=ai.Elem();}ae.Name=ai.Name();ae.Anonymous=true;}if(!($pointerIsEqual(ah.pkgPath,FR.nil))){ae.PkgPath=ah.pkgPath.$get();}if(!($pointerIsEqual(ah.tag,FR.nil))){ae.Tag=ah.tag.$get();}ae.Offset=ah.offset;ae.Index=new GH([ad]);return ae;};BP.prototype.Field=function(ad){return this.$val.Field(ad);};BP.Ptr.prototype.FieldByIndex=function(ad){var ae=new BS.Ptr(),af,ag,ah,ai,aj,ak;af=this;ae.Type=CL(af.rtype);ag=ad;ah=0;while(ah=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]);if(ai>0){ak=ae.Type;if((ak.Kind()===22)&&(ak.Elem().Kind()===25)){ak=ak.Elem();}ae.Type=ak;}$copy(ae,ae.Type.Field(aj),BS);ah++;}return ae;};BP.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};BP.Ptr.prototype.FieldByNameFunc=function(ad){var ae=new BS.Ptr(),af=false,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;ag=this;ah=new GI([]);ai=new GI([new BU.Ptr(ag,GH.nil)]);aj=false;ak=(al=new $Map(),al);while(ai.$length>0){an=ai;ao=$subslice(ah,0,0);ah=an;ai=ao;ap=aj;aj=false;aq=ah;ar=0;while(ar=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]),BU);at=as.typ;if((au=ak[at.$key()],au!==undefined?au.v:false)){ar++;continue;}av=at;(ak||$throwRuntimeError("assignment to entry in nil map"))[av.$key()]={k:av,v:true};aw=at.fields;ax=0;while(ax=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ay]));bb="";bc=FF.nil;if(!($pointerIsEqual(ba.name,FR.nil))){bb=ba.name.$get();}else{bc=ba.typ;if(bc.Kind()===22){bc=bc.Elem().common();}bb=bc.Name();}if(ad(bb)){if((bd=ap[at.$key()],bd!==undefined?bd.v:0)>1||af){be=new BS.Ptr("","",$ifaceNil,"",0,GH.nil,false);bf=false;$copy(ae,be,BS);af=bf;return[ae,af];}$copy(ae,at.Field(ay),BS);ae.Index=GH.nil;ae.Index=$appendSlice(ae.Index,as.index);ae.Index=$append(ae.Index,ay);af=true;ax++;continue;}if(af||bc===FF.nil||!((bc.Kind()===25))){ax++;continue;}bg=bc.structType;if((bh=aj[bg.$key()],bh!==undefined?bh.v:0)>0){bi=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bi.$key()]={k:bi,v:2};ax++;continue;}if(aj===false){aj=(bj=new $Map(),bj);}bl=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bl.$key()]={k:bl,v:1};if((bm=ap[at.$key()],bm!==undefined?bm.v:0)>1){bn=bg;(aj||$throwRuntimeError("assignment to entry in nil map"))[bn.$key()]={k:bn,v:2};}bo=GH.nil;bo=$appendSlice(bo,as.index);bo=$append(bo,ay);ai=$append(ai,new BU.Ptr(bg,bo));ax++;}ar++;}if(af){break;}}return[ae,af];};BP.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};BP.Ptr.prototype.FieldByName=function(ad){var ae=new BS.Ptr(),af=false,ag,ah,ai,aj,ak,al,am,an,ao,ap;ag=this;ah=false;if(!(ad==="")){ai=ag.fields;aj=0;while(aj=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ak]));if($pointerIsEqual(am.name,FR.nil)){ah=true;aj++;continue;}if(am.name.$get()===ad){an=$clone(ag.Field(ak),BS);ao=true;$copy(ae,an,BS);af=ao;return[ae,af];}aj++;}}if(!ah){return[ae,af];}ap=ag.FieldByNameFunc((function(aq){return aq===ad;}));$copy(ae,ap[0],BS);af=ap[1];return[ae,af];};BP.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};BW=$pkg.PtrTo=function(ad){return $assertType(ad,FF).ptrTo();};BB.Ptr.prototype.Implements=function(ad){var ae;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}if(!((ad.Kind()===20))){$panic(new $String("reflect: non-interface type passed to Type.Implements"));}return BY($assertType(ad,FF),ae);};BB.prototype.Implements=function(ad){return this.$val.Implements(ad);};BB.Ptr.prototype.AssignableTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}af=$assertType(ad,FF);return BZ(af,ae)||BY(af,ae);};BB.prototype.AssignableTo=function(ad){return this.$val.AssignableTo(ad);};BB.Ptr.prototype.ConvertibleTo=function(ad){var ae,af;ae=this;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}af=$assertType(ad,FF);return!(EB(af,ae)===$throwNilPointerError);};BB.prototype.ConvertibleTo=function(ad){return this.$val.ConvertibleTo(ad);};BY=function(ad,ae){var af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at;if(!((ad.Kind()===20))){return false;}af=ad.interfaceType;if(af.methods.$length===0){return true;}if(ae.Kind()===20){ag=ae.interfaceType;ah=0;ai=0;while(ai=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ah]));am=(al=ag.methods,((ai<0||ai>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+ai]));if($pointerIsEqual(am.name,ak.name)&&$pointerIsEqual(am.pkgPath,ak.pkgPath)&&am.typ===ak.typ){ah=ah+(1)>>0;if(ah>=af.methods.$length){return true;}}ai=ai+(1)>>0;}return false;}an=ae.uncommonType.uncommon();if(an===FS.nil){return false;}ao=0;ap=0;while(ap=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ao]));at=(as=an.methods,((ap<0||ap>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ap]));if($pointerIsEqual(at.name,ar.name)&&$pointerIsEqual(at.pkgPath,ar.pkgPath)&&at.mtyp===ar.typ){ao=ao+(1)>>0;if(ao>=af.methods.$length){return true;}}ap=ap+(1)>>0;}return false;};BZ=function(ad,ae){if(ad===ae){return true;}if(!(ad.Name()==="")&&!(ae.Name()==="")||!((ad.Kind()===ae.Kind()))){return false;}return CA(ad,ae);};CA=function(ad,ae){var 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;if(ad===ae){return true;}af=ad.Kind();if(!((af===ae.Kind()))){return false;}if(1<=af&&af<=16||(af===24)||(af===26)){return true;}ag=af;if(ag===17){return $interfaceIsEqual(ad.Elem(),ae.Elem())&&(ad.Len()===ae.Len());}else if(ag===18){if((ae.ChanDir()===3)&&$interfaceIsEqual(ad.Elem(),ae.Elem())){return true;}return(ae.ChanDir()===ad.ChanDir())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===19){ah=ad.funcType;ai=ae.funcType;if(!(ah.dotdotdot===ai.dotdotdot)||!((ah.in$2.$length===ai.in$2.$length))||!((ah.out.$length===ai.out.$length))){return false;}aj=ah.in$2;ak=0;while(ak=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(!(am===(an=ai.in$2,((al<0||al>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+al])))){return false;}ak++;}ao=ah.out;ap=0;while(ap=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+ap]);if(!(ar===(as=ai.out,((aq<0||aq>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+aq])))){return false;}ap++;}return true;}else if(ag===20){at=ad.interfaceType;au=ae.interfaceType;if((at.methods.$length===0)&&(au.methods.$length===0)){return true;}return false;}else if(ag===21){return $interfaceIsEqual(ad.Key(),ae.Key())&&$interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===22||ag===23){return $interfaceIsEqual(ad.Elem(),ae.Elem());}else if(ag===25){av=ad.structType;aw=ae.structType;if(!((av.fields.$length===aw.fields.$length))){return false;}ax=av.fields;ay=0;while(ay=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+az]));bd=(bc=aw.fields,((az<0||az>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+az]));if(!($pointerIsEqual(bb.name,bd.name))&&($pointerIsEqual(bb.name,FR.nil)||$pointerIsEqual(bd.name,FR.nil)||!(bb.name.$get()===bd.name.$get()))){return false;}if(!($pointerIsEqual(bb.pkgPath,bd.pkgPath))&&($pointerIsEqual(bb.pkgPath,FR.nil)||$pointerIsEqual(bd.pkgPath,FR.nil)||!(bb.pkgPath.$get()===bd.pkgPath.$get()))){return false;}if(!(bb.typ===bd.typ)){return false;}if(!($pointerIsEqual(bb.tag,bd.tag))&&($pointerIsEqual(bb.tag,FR.nil)||$pointerIsEqual(bd.tag,FR.nil)||!(bb.tag.$get()===bd.tag.$get()))){return false;}if(!((bb.offset===bd.offset))){return false;}ay++;}return true;}return false;};CL=function(ad){if(ad===FF.nil){return $ifaceNil;}return ad;};CQ=function(ad){return((ad.kind&32)>>>0)===0;};CU.prototype.kind=function(){var ad;ad=this.$val!==undefined?this.$val:this;return(((ad&31)>>>0)>>>0);};$ptrType(CU).prototype.kind=function(){return new CU(this.$get()).kind();};CT.Ptr.prototype.pointer=function(){var ad;ad=this;if(!((ad.typ.size===4))||!ad.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((ad.flag&64)>>>0)===0))){return ad.ptr.$get();}return ad.ptr;};CT.prototype.pointer=function(){return this.$val.pointer();};CX.Ptr.prototype.Error=function(){var ad;ad=this;if(ad.Kind===0){return"reflect: call of "+ad.Method+" on zero Value";}return"reflect: call of "+ad.Method+" on "+new BA(ad.Kind).String()+" Value";};CX.prototype.Error=function(){return this.$val.Error();};CU.prototype.mustBe=function(ad){var ae;ae=this.$val!==undefined?this.$val:this;if(!((new CU(ae).kind()===ad))){$panic(new CX.Ptr(AP(),new CU(ae).kind()));}};$ptrType(CU).prototype.mustBe=function(ad){return new CU(this.$get()).mustBe(ad);};CU.prototype.mustBeExported=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}};$ptrType(CU).prototype.mustBeExported=function(){return new CU(this.$get()).mustBeExported();};CU.prototype.mustBeAssignable=function(){var ad;ad=this.$val!==undefined?this.$val:this;if(ad===0){$panic(new CX.Ptr(AP(),0));}if(!((((ad&32)>>>0)===0))){$panic(new $String("reflect: "+AP()+" using value obtained using unexported field"));}if(((ad&128)>>>0)===0){$panic(new $String("reflect: "+AP()+" using unaddressable value"));}};$ptrType(CU).prototype.mustBeAssignable=function(){return new CU(this.$get()).mustBeAssignable();};CT.Ptr.prototype.Addr=function(){var ad;ad=this;if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new CT.Ptr(ad.typ.ptrTo(),ad.ptr,((((ad.flag&32)>>>0))|22)>>>0);};CT.prototype.Addr=function(){return this.$val.Addr();};CT.Ptr.prototype.Bool=function(){var ad;ad=this;new CU(ad.flag).mustBe(1);return ad.ptr.$get();};CT.prototype.Bool=function(){return this.$val.Bool();};CT.Ptr.prototype.Bytes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.Bytes of non-byte slice"));}return ad.ptr.$get();};CT.prototype.Bytes=function(){return this.$val.Bytes();};CT.Ptr.prototype.runes=function(){var ad;ad=this;new CU(ad.flag).mustBe(23);if(!((ad.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.Bytes of non-rune slice"));}return ad.ptr.$get();};CT.prototype.runes=function(){return this.$val.runes();};CT.Ptr.prototype.CanAddr=function(){var ad;ad=this;return!((((ad.flag&128)>>>0)===0));};CT.prototype.CanAddr=function(){return this.$val.CanAddr();};CT.Ptr.prototype.CanSet=function(){var ad;ad=this;return((ad.flag&160)>>>0)===128;};CT.prototype.CanSet=function(){return this.$val.CanSet();};CT.Ptr.prototype.Call=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("Call",ad);};CT.prototype.Call=function(ad){return this.$val.Call(ad);};CT.Ptr.prototype.CallSlice=function(ad){var ae;ae=this;new CU(ae.flag).mustBe(19);new CU(ae.flag).mustBeExported();return ae.call("CallSlice",ad);};CT.prototype.CallSlice=function(ad){return this.$val.CallSlice(ad);};CT.Ptr.prototype.Complex=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===15){return(ag=ad.ptr.$get(),new $Complex128(ag.$real,ag.$imag));}else if(af===16){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Complex",new CU(ad.flag).kind()));};CT.prototype.Complex=function(){return this.$val.Complex();};CT.Ptr.prototype.FieldByIndex=function(ad){var ae,af,ag,ah,ai;ae=this;if(ad.$length===1){return ae.Field(((0<0||0>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+0]));}new CU(ae.flag).mustBe(25);af=ad;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if(ah>0){if((ae.Kind()===22)&&(ae.typ.Elem().Kind()===25)){if(ae.IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ae=ae.Elem();}}ae=ae.Field(ai);ag++;}return ae;};CT.prototype.FieldByIndex=function(ad){return this.$val.FieldByIndex(ad);};CT.Ptr.prototype.FieldByName=function(ad){var ae,af,ag,ah;ae=this;new CU(ae.flag).mustBe(25);af=ae.typ.FieldByName(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByName=function(ad){return this.$val.FieldByName(ad);};CT.Ptr.prototype.FieldByNameFunc=function(ad){var ae,af,ag,ah;ae=this;af=ae.typ.FieldByNameFunc(ad);ag=$clone(af[0],BS);ah=af[1];if(ah){return ae.FieldByIndex(ag.Index);}return new CT.Ptr(FF.nil,0,0);};CT.prototype.FieldByNameFunc=function(ad){return this.$val.FieldByNameFunc(ad);};CT.Ptr.prototype.Float=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===13){return $coerceFloat32(ad.ptr.$get());}else if(af===14){return ad.ptr.$get();}$panic(new CX.Ptr("reflect.Value.Float",new CU(ad.flag).kind()));};CT.prototype.Float=function(){return this.$val.Float();};CT.Ptr.prototype.Int=function(){var ad,ae,af,ag;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===2){return new $Int64(0,af.$get());}else if(ag===3){return new $Int64(0,af.$get());}else if(ag===4){return new $Int64(0,af.$get());}else if(ag===5){return new $Int64(0,af.$get());}else if(ag===6){return af.$get();}$panic(new CX.Ptr("reflect.Value.Int",new CU(ad.flag).kind()));};CT.prototype.Int=function(){return this.$val.Int();};CT.Ptr.prototype.CanInterface=function(){var ad;ad=this;if(ad.flag===0){$panic(new CX.Ptr("reflect.Value.CanInterface",0));}return((ad.flag&32)>>>0)===0;};CT.prototype.CanInterface=function(){return this.$val.CanInterface();};CT.Ptr.prototype.Interface=function(){var ad=$ifaceNil,ae;ae=this;ad=AN(ae,true);return ad;};CT.prototype.Interface=function(){return this.$val.Interface();};CT.Ptr.prototype.InterfaceData=function(){var ad;ad=this;new CU(ad.flag).mustBe(20);return ad.ptr;};CT.prototype.InterfaceData=function(){return this.$val.InterfaceData();};CT.Ptr.prototype.IsValid=function(){var ad;ad=this;return!((ad.flag===0));};CT.prototype.IsValid=function(){return this.$val.IsValid();};CT.Ptr.prototype.Kind=function(){var ad;ad=this;return new CU(ad.flag).kind();};CT.prototype.Kind=function(){return this.$val.Kind();};CT.Ptr.prototype.MapIndex=function(ad){var ae,af,ag,ah,ai,aj,ak;ae=this;ad=ad;new CU(ae.flag).mustBe(21);af=ae.typ.mapType;ad=ad.assignTo("reflect.Value.MapIndex",af.key,0);ag=0;if(!((((ad.flag&64)>>>0)===0))){ag=ad.ptr;}else{ag=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}ah=AC(ae.typ,ae.pointer(),ag);if(ah===0){return new CT.Ptr(FF.nil,0,0);}ai=af.elem;aj=((((ae.flag|ad.flag)>>>0))&32)>>>0;aj=(aj|((ai.Kind()>>>0)))>>>0;if(CQ(ai)){ak=V(ai);Y(ak,ah,ai.size);return new CT.Ptr(ai,ak,(aj|64)>>>0);}else{return new CT.Ptr(ai,ah.$get(),aj);}};CT.prototype.MapIndex=function(ad){return this.$val.MapIndex(ad);};CT.Ptr.prototype.MapKeys=function(){var ad,ae,af,ag,ah,ai,aj,ak,al,am,an;ad=this;new CU(ad.flag).mustBe(21);ae=ad.typ.mapType;af=ae.key;ag=(((ad.flag&32)>>>0)|(af.Kind()>>>0))>>>0;ah=ad.pointer();ai=0;if(!(ah===0)){ai=AJ(ah);}aj=AG(ad.typ,ah);ak=FX.make(ai);al=0;al=0;while(al=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,an,(ag|64)>>>0);}else{(al<0||al>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]=new CT.Ptr(af,am.$get(),ag);}AI(aj);al=al+(1)>>0;}return $subslice(ak,0,al);};CT.prototype.MapKeys=function(){return this.$val.MapKeys();};CT.Ptr.prototype.Method=function(ad){var ae,af;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.Method",0));}if(!((((ae.flag&256)>>>0)===0))||(ad>>>0)>=(ae.typ.NumMethod()>>>0)){$panic(new $String("reflect: Method index out of range"));}if((ae.typ.Kind()===20)&&ae.IsNil()){$panic(new $String("reflect: Method on nil interface value"));}af=(ae.flag&96)>>>0;af=(af|(19))>>>0;af=(af|(((((ad>>>0)<<9>>>0)|256)>>>0)))>>>0;return new CT.Ptr(ae.typ,ae.ptr,af);};CT.prototype.Method=function(ad){return this.$val.Method(ad);};CT.Ptr.prototype.NumMethod=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.NumMethod",0));}if(!((((ad.flag&256)>>>0)===0))){return 0;}return ad.typ.NumMethod();};CT.prototype.NumMethod=function(){return this.$val.NumMethod();};CT.Ptr.prototype.MethodByName=function(ad){var ae,af,ag,ah;ae=this;if(ae.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.MethodByName",0));}if(!((((ae.flag&256)>>>0)===0))){return new CT.Ptr(FF.nil,0,0);}af=ae.typ.MethodByName(ad);ag=$clone(af[0],BQ);ah=af[1];if(!ah){return new CT.Ptr(FF.nil,0,0);}return ae.Method(ag.Index);};CT.prototype.MethodByName=function(ad){return this.$val.MethodByName(ad);};CT.Ptr.prototype.NumField=function(){var ad,ae;ad=this;new CU(ad.flag).mustBe(25);ae=ad.typ.structType;return ae.fields.$length;};CT.prototype.NumField=function(){return this.$val.NumField();};CT.Ptr.prototype.OverflowComplex=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===15){return DH(ad.$real)||DH(ad.$imag);}else if(ag===16){return false;}$panic(new CX.Ptr("reflect.Value.OverflowComplex",new CU(ae.flag).kind()));};CT.prototype.OverflowComplex=function(ad){return this.$val.OverflowComplex(ad);};CT.Ptr.prototype.OverflowFloat=function(ad){var ae,af,ag;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===13){return DH(ad);}else if(ag===14){return false;}$panic(new CX.Ptr("reflect.Value.OverflowFloat",new CU(ae.flag).kind()));};CT.prototype.OverflowFloat=function(ad){return this.$val.OverflowFloat(ad);};DH=function(ad){if(ad<0){ad=-ad;}return 3.4028234663852886e+38>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightInt64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowInt",new CU(ae.flag).kind()));};CT.prototype.OverflowInt=function(ad){return this.$val.OverflowInt(ad);};CT.Ptr.prototype.OverflowUint=function(ad){var ae,af,ag,ah,ai,aj;ae=this;af=new CU(ae.flag).kind();ag=af;if(ag===7||ag===12||ag===8||ag===9||ag===10||ag===11){ai=(ah=ae.typ.size,(((ah>>>16<<16)*8>>>0)+(ah<<16>>>16)*8)>>>0);aj=$shiftRightUint64(($shiftLeft64(ad,((64-ai>>>0)))),((64-ai>>>0)));return!((ad.$high===aj.$high&&ad.$low===aj.$low));}$panic(new CX.Ptr("reflect.Value.OverflowUint",new CU(ae.flag).kind()));};CT.prototype.OverflowUint=function(ad){return this.$val.OverflowUint(ad);};CT.Ptr.prototype.SetBool=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(1);ae.ptr.$set(ad);};CT.prototype.SetBool=function(ad){return this.$val.SetBool(ad);};CT.Ptr.prototype.SetBytes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===8))){$panic(new $String("reflect.Value.SetBytes of non-byte slice"));}ae.ptr.$set(ad);};CT.prototype.SetBytes=function(ad){return this.$val.SetBytes(ad);};CT.Ptr.prototype.setRunes=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(23);if(!((ae.typ.Elem().Kind()===5))){$panic(new $String("reflect.Value.setRunes of non-rune slice"));}ae.ptr.$set(ad);};CT.prototype.setRunes=function(ad){return this.$val.setRunes(ad);};CT.Ptr.prototype.SetComplex=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===15){ae.ptr.$set(new $Complex64(ad.$real,ad.$imag));}else if(ag===16){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetComplex",new CU(ae.flag).kind()));}};CT.prototype.SetComplex=function(ad){return this.$val.SetComplex(ad);};CT.Ptr.prototype.SetFloat=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===13){ae.ptr.$set(ad);}else if(ag===14){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetFloat",new CU(ae.flag).kind()));}};CT.prototype.SetFloat=function(ad){return this.$val.SetFloat(ad);};CT.Ptr.prototype.SetInt=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===2){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===3){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<24>>24));}else if(ag===4){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))<<16>>16));}else if(ag===5){ae.ptr.$set(((ad.$low+((ad.$high>>31)*4294967296))>>0));}else if(ag===6){ae.ptr.$set(ad);}else{$panic(new CX.Ptr("reflect.Value.SetInt",new CU(ae.flag).kind()));}};CT.prototype.SetInt=function(ad){return this.$val.SetInt(ad);};CT.Ptr.prototype.SetMapIndex=function(ad,ae){var af,ag,ah,ai;af=this;ae=ae;ad=ad;new CU(af.flag).mustBe(21);new CU(af.flag).mustBeExported();new CU(ad.flag).mustBeExported();ag=af.typ.mapType;ad=ad.assignTo("reflect.Value.SetMapIndex",ag.key,0);ah=0;if(!((((ad.flag&64)>>>0)===0))){ah=ad.ptr;}else{ah=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ad);}if(ae.typ===FF.nil){AE(af.typ,af.pointer(),ah);return;}new CU(ae.flag).mustBeExported();ae=ae.assignTo("reflect.Value.SetMapIndex",ag.elem,0);ai=0;if(!((((ae.flag&64)>>>0)===0))){ai=ae.ptr;}else{ai=new GO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ae);}AD(af.typ,af.pointer(),ah,ai);};CT.prototype.SetMapIndex=function(ad,ae){return this.$val.SetMapIndex(ad,ae);};CT.Ptr.prototype.SetUint=function(ad){var ae,af,ag;ae=this;new CU(ae.flag).mustBeAssignable();af=new CU(ae.flag).kind();ag=af;if(ag===7){ae.ptr.$set((ad.$low>>>0));}else if(ag===8){ae.ptr.$set((ad.$low<<24>>>24));}else if(ag===9){ae.ptr.$set((ad.$low<<16>>>16));}else if(ag===10){ae.ptr.$set((ad.$low>>>0));}else if(ag===11){ae.ptr.$set(ad);}else if(ag===12){ae.ptr.$set((ad.$low>>>0));}else{$panic(new CX.Ptr("reflect.Value.SetUint",new CU(ae.flag).kind()));}};CT.prototype.SetUint=function(ad){return this.$val.SetUint(ad);};CT.Ptr.prototype.SetPointer=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(26);ae.ptr.$set(ad);};CT.prototype.SetPointer=function(ad){return this.$val.SetPointer(ad);};CT.Ptr.prototype.SetString=function(ad){var ae;ae=this;new CU(ae.flag).mustBeAssignable();new CU(ae.flag).mustBe(24);ae.ptr.$set(ad);};CT.prototype.SetString=function(ad){return this.$val.SetString(ad);};CT.Ptr.prototype.String=function(){var ad,ae,af;ad=this;ae=new CU(ad.flag).kind();af=ae;if(af===0){return"";}else if(af===24){return ad.ptr.$get();}return"<"+ad.Type().String()+" Value>";};CT.prototype.String=function(){return this.$val.String();};CT.Ptr.prototype.Type=function(){var ad,ae,af,ag,ah,ai,aj,ak,al;ad=this;ae=ad.flag;if(ae===0){$panic(new CX.Ptr("reflect.Value.Type",0));}if(((ae&256)>>>0)===0){return ad.typ;}af=(ad.flag>>0)>>9>>0;if(ad.typ.Kind()===20){ag=ad.typ.interfaceType;if((af>>>0)>=(ag.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}ai=(ah=ag.methods,((af<0||af>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+af]));return ai.typ;}aj=ad.typ.uncommonType.uncommon();if(aj===FS.nil||(af>>>0)>=(aj.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}al=(ak=aj.methods,((af<0||af>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+af]));return al.mtyp;};CT.prototype.Type=function(){return this.$val.Type();};CT.Ptr.prototype.Uint=function(){var ad,ae,af,ag,ah;ad=this;ae=new CU(ad.flag).kind();af=ad.ptr;ag=ae;if(ag===7){return new $Uint64(0,af.$get());}else if(ag===8){return new $Uint64(0,af.$get());}else if(ag===9){return new $Uint64(0,af.$get());}else if(ag===10){return new $Uint64(0,af.$get());}else if(ag===11){return af.$get();}else if(ag===12){return(ah=af.$get(),new $Uint64(0,ah.constructor===Number?ah:1));}$panic(new CX.Ptr("reflect.Value.Uint",new CU(ad.flag).kind()));};CT.prototype.Uint=function(){return this.$val.Uint();};CT.Ptr.prototype.UnsafeAddr=function(){var ad;ad=this;if(ad.typ===FF.nil){$panic(new CX.Ptr("reflect.Value.UnsafeAddr",0));}if(((ad.flag&128)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return ad.ptr;};CT.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};DZ=$pkg.New=function(ad){var ae,af;if($interfaceIsEqual(ad,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ae=V($assertType(ad,FF));af=22;return new CT.Ptr(ad.common().ptrTo(),ae,af);};CT.Ptr.prototype.assignTo=function(ad,ae,af){var ag,ah,ai;ag=this;if(!((((ag.flag&256)>>>0)===0))){ag=AQ(ad,ag);}if(BZ(ae,ag.typ)){ag.typ=ae;ah=(ag.flag&224)>>>0;ah=(ah|((ae.Kind()>>>0)))>>>0;return new CT.Ptr(ae,ag.ptr,ah);}else if(BY(ae,ag.typ)){if(af===0){af=V(ae);}ai=AN(ag,false);if(ae.NumMethod()===0){af.$set(ai);}else{AO(ae,ai,af);}return new CT.Ptr(ae,af,84);}$panic(new $String(ad+": value of type "+ag.typ.String()+" is not assignable to type "+ae.String()));};CT.prototype.assignTo=function(ad,ae,af){return this.$val.assignTo(ad,ae,af);};CT.Ptr.prototype.Convert=function(ad){var ae,af;ae=this;if(!((((ae.flag&256)>>>0)===0))){ae=AQ("Convert",ae);}af=EB(ad.common(),ae.typ);if(af===$throwNilPointerError){$panic(new $String("reflect.Value.Convert: value of type "+ae.typ.String()+" cannot be converted to type "+ad.String()));}return af(ae,ad);};CT.prototype.Convert=function(ad){return this.$val.Convert(ad);};EB=function(ad,ae){var af,ag,ah,ai,aj,ak,al;af=ae.Kind();if(af===2||af===3||af===4||af===5||af===6){ag=ad.Kind();if(ag===2||ag===3||ag===4||ag===5||ag===6||ag===7||ag===8||ag===9||ag===10||ag===11||ag===12){return EH;}else if(ag===13||ag===14){return EL;}else if(ag===24){return EP;}}else if(af===7||af===8||af===9||af===10||af===11||af===12){ah=ad.Kind();if(ah===2||ah===3||ah===4||ah===5||ah===6||ah===7||ah===8||ah===9||ah===10||ah===11||ah===12){return EI;}else if(ah===13||ah===14){return EM;}else if(ah===24){return EQ;}}else if(af===13||af===14){ai=ad.Kind();if(ai===2||ai===3||ai===4||ai===5||ai===6){return EJ;}else if(ai===7||ai===8||ai===9||ai===10||ai===11||ai===12){return EK;}else if(ai===13||ai===14){return EN;}}else if(af===15||af===16){aj=ad.Kind();if(aj===15||aj===16){return EO;}}else if(af===24){if((ad.Kind()===23)&&ad.Elem().PkgPath()===""){ak=ad.Elem().Kind();if(ak===8){return ES;}else if(ak===5){return EU;}}}else if(af===23){if((ad.Kind()===24)&&ae.Elem().PkgPath()===""){al=ae.Elem().Kind();if(al===8){return ER;}else if(al===5){return ET;}}}if(CA(ad,ae)){return AK;}if((ad.Kind()===22)&&ad.Name()===""&&(ae.Kind()===22)&&ae.Name()===""&&CA(ad.Elem().common(),ae.Elem().common())){return AK;}if(BY(ad,ae)){if(ae.Kind()===20){return EW;}return EV;}return $throwNilPointerError;};EC=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===4){ah.$set(ae);}else if(ai===8){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};ED=function(ad,ae,af){var ag,ah,ai;ag=af.common();ah=V(ag);ai=ag.size;if(ai===8){ah.$set(new $Complex64(ae.$real,ae.$imag));}else if(ai===16){ah.$set(ae);}return new CT.Ptr(ag,ah,(((ad|64)>>>0)|(ag.Kind()>>>0))>>>0);};EE=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetString(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EF=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.SetBytes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EG=function(ad,ae,af){var ag;ag=DZ(af).Elem();ag.setRunes(ae);ag.flag=((ag.flag&~128)|ad)>>>0;return ag;};EH=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=ad.Int(),new $Uint64(af.$high,af.$low)),ae);};EI=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,ad.Uint(),ae);};EJ=function(ad,ae){var af;ad=ad;return W((ad.flag&32)>>>0,(af=new $Int64(0,ad.Float()),new $Uint64(af.$high,af.$low)),ae);};EK=function(ad,ae){ad=ad;return W((ad.flag&32)>>>0,new $Uint64(0,ad.Float()),ae);};EL=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Int()),ae);};EM=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,$flatten64(ad.Uint()),ae);};EN=function(ad,ae){ad=ad;return EC((ad.flag&32)>>>0,ad.Float(),ae);};EO=function(ad,ae){ad=ad;return ED((ad.flag&32)>>>0,ad.Complex(),ae);};EP=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Int().$low),ae);};EQ=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$encodeRune(ad.Uint().$low),ae);};ER=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$bytesToString(ad.Bytes()),ae);};ES=function(ad,ae){ad=ad;return EF((ad.flag&32)>>>0,new GQ($stringToBytes(ad.String())),ae);};ET=function(ad,ae){ad=ad;return EE((ad.flag&32)>>>0,$runesToString(ad.runes()),ae);};EU=function(ad,ae){ad=ad;return EG((ad.flag&32)>>>0,new GR($stringToRunes(ad.String())),ae);};EV=function(ad,ae){var af,ag;ad=ad;af=V(ae.common());ag=AN(ad,false);if(ae.NumMethod()===0){af.$set(ag);}else{AO($assertType(ae,FF),ag,af);}return new CT.Ptr(ae.common(),af,(((((ad.flag&32)>>>0)|64)>>>0)|20)>>>0);};EW=function(ad,ae){var af;ad=ad;if(ad.IsNil()){af=U(ae);af.flag=(af.flag|(((ad.flag&32)>>>0)))>>>0;return af;}return EV(ad.Elem(),ae);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=B.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}FF=$ptrType(BB);FG=$ptrType(BM);FO=$sliceType($String);FP=$ptrType(BC);FQ=$arrayType($UnsafePointer,2);FR=$ptrType($String);FS=$ptrType(BE);FT=$sliceType(BD);FU=$sliceType(FF);FV=$sliceType(BJ);FW=$sliceType(BO);FX=$sliceType(CT);FY=$arrayType($UnsafePointer,100000);FZ=$structType([["ityp","ityp","reflect",FF,""],["typ","typ","reflect",FF,""],["link","link","reflect",$UnsafePointer,""],["bad","bad","reflect",$Int32,""],["unused","unused","reflect",$Int32,""],["fun","fun","reflect",FY,""]]);GA=$ptrType(FZ);GB=$sliceType(B.Object);GC=$ptrType($Uint8);GE=$ptrType(BD);GF=$ptrType(BK);GG=$ptrType(BJ);GH=$sliceType($Int);GI=$sliceType(BU);GJ=$ptrType(BP);GO=$ptrType($UnsafePointer);GQ=$sliceType($Uint8);GR=$sliceType($Int32);GS=$ptrType(BI);GU=$funcType([$String],[$Bool],false);GV=$ptrType(BA);GW=$funcType([$UnsafePointer,$Uintptr,$Uintptr],[$Uintptr],false);GX=$funcType([$UnsafePointer,$UnsafePointer,$Uintptr],[$Bool],false);GY=$ptrType(BF);GZ=$ptrType(BG);HA=$ptrType(BH);HB=$ptrType(BL);HC=$ptrType(BN);HD=$ptrType(BT);HF=$arrayType($Uintptr,2);HG=$ptrType(CT);HH=$ptrType(CU);HI=$ptrType(CX);AF.init([["t","t","reflect",AZ,""],["m","m","reflect",B.Object,""],["keys","keys","reflect",B.Object,""],["i","i","reflect",$Int,""]]);AZ.init([["Align","Align","",$funcType([],[$Int],false)],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false)],["Bits","Bits","",$funcType([],[$Int],false)],["ChanDir","ChanDir","",$funcType([],[BF],false)],["Comparable","Comparable","",$funcType([],[$Bool],false)],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false)],["Elem","Elem","",$funcType([],[AZ],false)],["Field","Field","",$funcType([$Int],[BS],false)],["FieldAlign","FieldAlign","",$funcType([],[$Int],false)],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false)],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false)],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false)],["Implements","Implements","",$funcType([AZ],[$Bool],false)],["In","In","",$funcType([$Int],[AZ],false)],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false)],["Key","Key","",$funcType([],[AZ],false)],["Kind","Kind","",$funcType([],[BA],false)],["Len","Len","",$funcType([],[$Int],false)],["Method","Method","",$funcType([$Int],[BQ],false)],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false)],["Name","Name","",$funcType([],[$String],false)],["NumField","NumField","",$funcType([],[$Int],false)],["NumIn","NumIn","",$funcType([],[$Int],false)],["NumMethod","NumMethod","",$funcType([],[$Int],false)],["NumOut","NumOut","",$funcType([],[$Int],false)],["Out","Out","",$funcType([$Int],[AZ],false)],["PkgPath","PkgPath","",$funcType([],[$String],false)],["Size","Size","",$funcType([],[$Uintptr],false)],["String","String","",$funcType([],[$String],false)],["common","common","reflect",$funcType([],[FF],false)],["uncommon","uncommon","reflect",$funcType([],[FS],false)]]);BA.methods=[["String","String","",$funcType([],[$String],false),-1]];GV.methods=[["String","String","",$funcType([],[$String],false),-1]];BB.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];FF.methods=[["Align","Align","",$funcType([],[$Int],false),-1],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),-1],["Bits","Bits","",$funcType([],[$Int],false),-1],["ChanDir","ChanDir","",$funcType([],[BF],false),-1],["Comparable","Comparable","",$funcType([],[$Bool],false),-1],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),-1],["Elem","Elem","",$funcType([],[AZ],false),-1],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),-1],["In","In","",$funcType([$Int],[AZ],false),-1],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),-1],["Key","Key","",$funcType([],[AZ],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumIn","NumIn","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),-1],["Out","Out","",$funcType([$Int],[AZ],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["Size","Size","",$funcType([],[$Uintptr],false),-1],["String","String","",$funcType([],[$String],false),-1],["common","common","reflect",$funcType([],[FF],false),-1],["pointers","pointers","reflect",$funcType([],[$Bool],false),-1],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),9]];BB.init([["size","size","reflect",$Uintptr,""],["hash","hash","reflect",$Uint32,""],["_$2","_","reflect",$Uint8,""],["align","align","reflect",$Uint8,""],["fieldAlign","fieldAlign","reflect",$Uint8,""],["kind","kind","reflect",$Uint8,""],["alg","alg","reflect",FP,""],["gc","gc","reflect",FQ,""],["string","string","reflect",FR,""],["uncommonType","","reflect",FS,""],["ptrToThis","ptrToThis","reflect",FF,""],["zero","zero","reflect",$UnsafePointer,""]]);BC.init([["hash","hash","reflect",GW,""],["equal","equal","reflect",GX,""]]);BD.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["mtyp","mtyp","reflect",FF,""],["typ","typ","reflect",FF,""],["ifn","ifn","reflect",$UnsafePointer,""],["tfn","tfn","reflect",$UnsafePointer,""]]);FS.methods=[["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["PkgPath","PkgPath","",$funcType([],[$String],false),-1],["uncommon","uncommon","reflect",$funcType([],[FS],false),-1]];BE.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["methods","methods","reflect",FT,""]]);BF.methods=[["String","String","",$funcType([],[$String],false),-1]];GY.methods=[["String","String","",$funcType([],[$String],false),-1]];BG.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GZ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BG.init([["rtype","","reflect",BB,"reflect:\"array\""],["elem","elem","reflect",FF,""],["slice","slice","reflect",FF,""],["len","len","reflect",$Uintptr,""]]);BH.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HA.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BH.init([["rtype","","reflect",BB,"reflect:\"chan\""],["elem","elem","reflect",FF,""],["dir","dir","reflect",$Uintptr,""]]);BI.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GS.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BI.init([["rtype","","reflect",BB,"reflect:\"func\""],["dotdotdot","dotdotdot","reflect",$Bool,""],["in$2","in","reflect",FU,""],["out","out","reflect",FU,""]]);BJ.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""]]);BK.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GF.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),-1],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),-1],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BK.init([["rtype","","reflect",BB,"reflect:\"interface\""],["methods","methods","reflect",FV,""]]);BL.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HB.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BL.init([["rtype","","reflect",BB,"reflect:\"map\""],["key","key","reflect",FF,""],["elem","elem","reflect",FF,""],["bucket","bucket","reflect",FF,""],["hmap","hmap","reflect",FF,""],["keysize","keysize","reflect",$Uint8,""],["indirectkey","indirectkey","reflect",$Uint8,""],["valuesize","valuesize","reflect",$Uint8,""],["indirectvalue","indirectvalue","reflect",$Uint8,""],["bucketsize","bucketsize","reflect",$Uint16,""]]);BM.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];FG.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BM.init([["rtype","","reflect",BB,"reflect:\"ptr\""],["elem","elem","reflect",FF,""]]);BN.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];HC.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),0],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),0],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),0],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),0],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BN.init([["rtype","","reflect",BB,"reflect:\"slice\""],["elem","elem","reflect",FF,""]]);BO.init([["name","name","reflect",FR,""],["pkgPath","pkgPath","reflect",FR,""],["typ","typ","reflect",FF,""],["tag","tag","reflect",FR,""],["offset","offset","reflect",$Uintptr,""]]);BP.methods=[["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];GJ.methods=[["Align","Align","",$funcType([],[$Int],false),0],["AssignableTo","AssignableTo","",$funcType([AZ],[$Bool],false),0],["Bits","Bits","",$funcType([],[$Int],false),0],["ChanDir","ChanDir","",$funcType([],[BF],false),0],["Comparable","Comparable","",$funcType([],[$Bool],false),0],["ConvertibleTo","ConvertibleTo","",$funcType([AZ],[$Bool],false),0],["Elem","Elem","",$funcType([],[AZ],false),0],["Field","Field","",$funcType([$Int],[BS],false),-1],["FieldAlign","FieldAlign","",$funcType([],[$Int],false),0],["FieldByIndex","FieldByIndex","",$funcType([GH],[BS],false),-1],["FieldByName","FieldByName","",$funcType([$String],[BS,$Bool],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[BS,$Bool],false),-1],["Implements","Implements","",$funcType([AZ],[$Bool],false),0],["In","In","",$funcType([$Int],[AZ],false),0],["IsVariadic","IsVariadic","",$funcType([],[$Bool],false),0],["Key","Key","",$funcType([],[AZ],false),0],["Kind","Kind","",$funcType([],[BA],false),0],["Len","Len","",$funcType([],[$Int],false),0],["Method","Method","",$funcType([$Int],[BQ],false),0],["MethodByName","MethodByName","",$funcType([$String],[BQ,$Bool],false),0],["Name","Name","",$funcType([],[$String],false),0],["NumField","NumField","",$funcType([],[$Int],false),0],["NumIn","NumIn","",$funcType([],[$Int],false),0],["NumMethod","NumMethod","",$funcType([],[$Int],false),0],["NumOut","NumOut","",$funcType([],[$Int],false),0],["Out","Out","",$funcType([$Int],[AZ],false),0],["PkgPath","PkgPath","",$funcType([],[$String],false),0],["Size","Size","",$funcType([],[$Uintptr],false),0],["String","String","",$funcType([],[$String],false),0],["common","common","reflect",$funcType([],[FF],false),0],["pointers","pointers","reflect",$funcType([],[$Bool],false),0],["ptrTo","ptrTo","reflect",$funcType([],[FF],false),0],["uncommon","uncommon","reflect",$funcType([],[FS],false),0]];BP.init([["rtype","","reflect",BB,"reflect:\"struct\""],["fields","fields","reflect",FW,""]]);BQ.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Func","Func","",CT,""],["Index","Index","",$Int,""]]);BS.init([["Name","Name","",$String,""],["PkgPath","PkgPath","",$String,""],["Type","Type","",AZ,""],["Tag","Tag","",BT,""],["Offset","Offset","",$Uintptr,""],["Index","Index","",GH,""],["Anonymous","Anonymous","",$Bool,""]]);BT.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];HD.methods=[["Get","Get","",$funcType([$String],[$String],false),-1]];BU.init([["typ","typ","reflect",GJ,""],["index","index","reflect",GH,""]]);CT.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];HG.methods=[["Addr","Addr","",$funcType([],[CT],false),-1],["Bool","Bool","",$funcType([],[$Bool],false),-1],["Bytes","Bytes","",$funcType([],[GQ],false),-1],["Call","Call","",$funcType([FX],[FX],false),-1],["CallSlice","CallSlice","",$funcType([FX],[FX],false),-1],["CanAddr","CanAddr","",$funcType([],[$Bool],false),-1],["CanInterface","CanInterface","",$funcType([],[$Bool],false),-1],["CanSet","CanSet","",$funcType([],[$Bool],false),-1],["Cap","Cap","",$funcType([],[$Int],false),-1],["Close","Close","",$funcType([],[],false),-1],["Complex","Complex","",$funcType([],[$Complex128],false),-1],["Convert","Convert","",$funcType([AZ],[CT],false),-1],["Elem","Elem","",$funcType([],[CT],false),-1],["Field","Field","",$funcType([$Int],[CT],false),-1],["FieldByIndex","FieldByIndex","",$funcType([GH],[CT],false),-1],["FieldByName","FieldByName","",$funcType([$String],[CT],false),-1],["FieldByNameFunc","FieldByNameFunc","",$funcType([GU],[CT],false),-1],["Float","Float","",$funcType([],[$Float64],false),-1],["Index","Index","",$funcType([$Int],[CT],false),-1],["Int","Int","",$funcType([],[$Int64],false),-1],["Interface","Interface","",$funcType([],[$emptyInterface],false),-1],["InterfaceData","InterfaceData","",$funcType([],[HF],false),-1],["IsNil","IsNil","",$funcType([],[$Bool],false),-1],["IsValid","IsValid","",$funcType([],[$Bool],false),-1],["Kind","Kind","",$funcType([],[BA],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["MapIndex","MapIndex","",$funcType([CT],[CT],false),-1],["MapKeys","MapKeys","",$funcType([],[FX],false),-1],["Method","Method","",$funcType([$Int],[CT],false),-1],["MethodByName","MethodByName","",$funcType([$String],[CT],false),-1],["NumField","NumField","",$funcType([],[$Int],false),-1],["NumMethod","NumMethod","",$funcType([],[$Int],false),-1],["OverflowComplex","OverflowComplex","",$funcType([$Complex128],[$Bool],false),-1],["OverflowFloat","OverflowFloat","",$funcType([$Float64],[$Bool],false),-1],["OverflowInt","OverflowInt","",$funcType([$Int64],[$Bool],false),-1],["OverflowUint","OverflowUint","",$funcType([$Uint64],[$Bool],false),-1],["Pointer","Pointer","",$funcType([],[$Uintptr],false),-1],["Recv","Recv","",$funcType([],[CT,$Bool],false),-1],["Send","Send","",$funcType([CT],[],false),-1],["Set","Set","",$funcType([CT],[],false),-1],["SetBool","SetBool","",$funcType([$Bool],[],false),-1],["SetBytes","SetBytes","",$funcType([GQ],[],false),-1],["SetCap","SetCap","",$funcType([$Int],[],false),-1],["SetComplex","SetComplex","",$funcType([$Complex128],[],false),-1],["SetFloat","SetFloat","",$funcType([$Float64],[],false),-1],["SetInt","SetInt","",$funcType([$Int64],[],false),-1],["SetLen","SetLen","",$funcType([$Int],[],false),-1],["SetMapIndex","SetMapIndex","",$funcType([CT,CT],[],false),-1],["SetPointer","SetPointer","",$funcType([$UnsafePointer],[],false),-1],["SetString","SetString","",$funcType([$String],[],false),-1],["SetUint","SetUint","",$funcType([$Uint64],[],false),-1],["Slice","Slice","",$funcType([$Int,$Int],[CT],false),-1],["Slice3","Slice3","",$funcType([$Int,$Int,$Int],[CT],false),-1],["String","String","",$funcType([],[$String],false),-1],["TryRecv","TryRecv","",$funcType([],[CT,$Bool],false),-1],["TrySend","TrySend","",$funcType([CT],[$Bool],false),-1],["Type","Type","",$funcType([],[AZ],false),-1],["Uint","Uint","",$funcType([],[$Uint64],false),-1],["UnsafeAddr","UnsafeAddr","",$funcType([],[$Uintptr],false),-1],["assignTo","assignTo","reflect",$funcType([$String,FF,$UnsafePointer],[CT],false),-1],["call","call","reflect",$funcType([$String,FX],[FX],false),-1],["kind","kind","reflect",$funcType([],[BA],false),2],["mustBe","mustBe","reflect",$funcType([BA],[],false),2],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),2],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),2],["object","object","reflect",$funcType([],[B.Object],false),-1],["pointer","pointer","reflect",$funcType([],[$UnsafePointer],false),-1],["recv","recv","reflect",$funcType([$Bool],[CT,$Bool],false),-1],["runes","runes","reflect",$funcType([],[GR],false),-1],["send","send","reflect",$funcType([CT,$Bool],[$Bool],false),-1],["setRunes","setRunes","reflect",$funcType([GR],[],false),-1]];CT.init([["typ","typ","reflect",FF,""],["ptr","ptr","reflect",$UnsafePointer,""],["flag","","reflect",CU,""]]);CU.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HH.methods=[["kind","kind","reflect",$funcType([],[BA],false),-1],["mustBe","mustBe","reflect",$funcType([BA],[],false),-1],["mustBeAssignable","mustBeAssignable","reflect",$funcType([],[],false),-1],["mustBeExported","mustBeExported","reflect",$funcType([],[],false),-1]];HI.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CX.init([["Method","Method","",$String,""],["Kind","Kind","",BA,""]]);CZ.init([["itab","itab","reflect",GA,""],["word","word","reflect",$UnsafePointer,""]]);F=false;BR=new FO(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);DG=$assertType(O(new $Uint8(0)),FF);G();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -29,8 +29,8 @@ $packages["bufio"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,E,H,I,F,G;A=$packages[ $packages["image"]=(function(){var $pkg={},A,B,E,C,D,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,F,I,O,Q,S,T,V,X,Z,AB,AD,AF,AH,AJ,AL,AN,AP,AQ,G,a,b,c,d,H,J,K,L,M,R,W,Y,AA,AC,AI,AK,AM,AO,AR;A=$packages["bufio"];B=$packages["errors"];E=$packages["image/color"];C=$packages["io"];D=$packages["strconv"];F=$pkg.format=$newType(0,$kindStruct,"image.format","format","image",function(name_,magic_,decode_,decodeConfig_){this.$val=this;this.name=name_!==undefined?name_:"";this.magic=magic_!==undefined?magic_:"";this.decode=decode_!==undefined?decode_:$throwNilPointerError;this.decodeConfig=decodeConfig_!==undefined?decodeConfig_:$throwNilPointerError;});I=$pkg.reader=$newType(8,$kindInterface,"image.reader","reader","image",null);O=$pkg.Point=$newType(0,$kindStruct,"image.Point","Point","image",function(X_,Y_){this.$val=this;this.X=X_!==undefined?X_:0;this.Y=Y_!==undefined?Y_:0;});Q=$pkg.Rectangle=$newType(0,$kindStruct,"image.Rectangle","Rectangle","image",function(Min_,Max_){this.$val=this;this.Min=Min_!==undefined?Min_:new O.Ptr();this.Max=Max_!==undefined?Max_:new O.Ptr();});S=$pkg.Config=$newType(0,$kindStruct,"image.Config","Config","image",function(ColorModel_,Width_,Height_){this.$val=this;this.ColorModel=ColorModel_!==undefined?ColorModel_:$ifaceNil;this.Width=Width_!==undefined?Width_:0;this.Height=Height_!==undefined?Height_:0;});T=$pkg.Image=$newType(8,$kindInterface,"image.Image","Image","image",null);V=$pkg.RGBA=$newType(0,$kindStruct,"image.RGBA","RGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});X=$pkg.RGBA64=$newType(0,$kindStruct,"image.RGBA64","RGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});Z=$pkg.NRGBA=$newType(0,$kindStruct,"image.NRGBA","NRGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AB=$pkg.NRGBA64=$newType(0,$kindStruct,"image.NRGBA64","NRGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AD=$pkg.Alpha=$newType(0,$kindStruct,"image.Alpha","Alpha","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AF=$pkg.Alpha16=$newType(0,$kindStruct,"image.Alpha16","Alpha16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AH=$pkg.Gray=$newType(0,$kindStruct,"image.Gray","Gray","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AJ=$pkg.Gray16=$newType(0,$kindStruct,"image.Gray16","Gray16","image",function(Pix_,Stride_,Rect_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});AL=$pkg.Paletted=$newType(0,$kindStruct,"image.Paletted","Paletted","image",function(Pix_,Stride_,Rect_,Palette_){this.$val=this;this.Pix=Pix_!==undefined?Pix_:AT.nil;this.Stride=Stride_!==undefined?Stride_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();this.Palette=Palette_!==undefined?Palette_:E.Palette.nil;});AN=$pkg.Uniform=$newType(0,$kindStruct,"image.Uniform","Uniform","image",function(C_){this.$val=this;this.C=C_!==undefined?C_:$ifaceNil;});AP=$pkg.YCbCrSubsampleRatio=$newType(4,$kindInt,"image.YCbCrSubsampleRatio","YCbCrSubsampleRatio","image",null);AQ=$pkg.YCbCr=$newType(0,$kindStruct,"image.YCbCr","YCbCr","image",function(Y_,Cb_,Cr_,YStride_,CStride_,SubsampleRatio_,Rect_){this.$val=this;this.Y=Y_!==undefined?Y_:AT.nil;this.Cb=Cb_!==undefined?Cb_:AT.nil;this.Cr=Cr_!==undefined?Cr_:AT.nil;this.YStride=YStride_!==undefined?YStride_:0;this.CStride=CStride_!==undefined?CStride_:0;this.SubsampleRatio=SubsampleRatio_!==undefined?SubsampleRatio_:0;this.Rect=Rect_!==undefined?Rect_:new Q.Ptr();});H=$pkg.RegisterFormat=function(e,f,g,h){G=$append(G,new F.Ptr(e,f,g,h));};J=function(e){var f,g,h;f=$assertType(e,I,true);g=f[0];h=f[1];if(h){return g;}return A.NewReader(e);};K=function(e,f){var g,h,i,j;if(!((e.length===f.$length))){return false;}g=f;h=0;while(h=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+h]);if(!((e.charCodeAt(i)===j))&&!((e.charCodeAt(i)===63))){return false;}h++;}return true;};L=function(e){var f,g,h,i,j,k;f=G;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),F);i=e.Peek(h.magic.length);j=i[0];k=i[1];if($interfaceIsEqual(k,$ifaceNil)&&K(h.magic,j)){return h;}g++;}return new F.Ptr("","",$throwNilPointerError,$throwNilPointerError);};M=$pkg.Decode=function(e){var f,g,h,i,j;f=J(e);g=$clone(L(f),F);if(g.decode===$throwNilPointerError){return[$ifaceNil,"",$pkg.ErrFormat];}h=g.decode(f);i=h[0];j=h[1];return[i,g.name,j];};O.Ptr.prototype.String=function(){var e;e=$clone(this,O);return"("+D.Itoa(e.X)+","+D.Itoa(e.Y)+")";};O.prototype.String=function(){return this.$val.String();};O.Ptr.prototype.Add=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X+e.X>>0,f.Y+e.Y>>0);};O.prototype.Add=function(e){return this.$val.Add(e);};O.Ptr.prototype.Sub=function(e){var f;f=$clone(this,O);e=$clone(e,O);return new O.Ptr(f.X-e.X>>0,f.Y-e.Y>>0);};O.prototype.Sub=function(e){return this.$val.Sub(e);};O.Ptr.prototype.Mul=function(e){var f;f=$clone(this,O);return new O.Ptr(f.X*e>>0,f.Y*e>>0);};O.prototype.Mul=function(e){return this.$val.Mul(e);};O.Ptr.prototype.Div=function(e){var f,g,h;f=$clone(this,O);return new O.Ptr((g=f.X/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),(h=f.Y/e,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")));};O.prototype.Div=function(e){return this.$val.Div(e);};O.Ptr.prototype.In=function(e){var f;f=$clone(this,O);e=$clone(e,Q);return e.Min.X<=f.X&&f.X>0;}f.Y=(l=f.Y%j,l===l?l:$throwRuntimeError("integer divide by zero"));if(f.Y<0){f.Y=f.Y+(j)>>0;}return f.Add(e.Min);};O.prototype.Mod=function(e){return this.$val.Mod(e);};O.Ptr.prototype.Eq=function(e){var f;f=$clone(this,O);e=$clone(e,O);return(f.X===e.X)&&(f.Y===e.Y);};O.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.String=function(){var e;e=$clone(this,Q);return e.Min.String()+"-"+e.Max.String();};Q.prototype.String=function(){return this.$val.String();};Q.Ptr.prototype.Dx=function(){var e;e=$clone(this,Q);return e.Max.X-e.Min.X>>0;};Q.prototype.Dx=function(){return this.$val.Dx();};Q.Ptr.prototype.Dy=function(){var e;e=$clone(this,Q);return e.Max.Y-e.Min.Y>>0;};Q.prototype.Dy=function(){return this.$val.Dy();};Q.Ptr.prototype.Size=function(){var e;e=$clone(this,Q);return new O.Ptr(e.Max.X-e.Min.X>>0,e.Max.Y-e.Min.Y>>0);};Q.prototype.Size=function(){return this.$val.Size();};Q.Ptr.prototype.Add=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X+e.X>>0,f.Min.Y+e.Y>>0),new O.Ptr(f.Max.X+e.X>>0,f.Max.Y+e.Y>>0));};Q.prototype.Add=function(e){return this.$val.Add(e);};Q.Ptr.prototype.Sub=function(e){var f;f=$clone(this,Q);e=$clone(e,O);return new Q.Ptr(new O.Ptr(f.Min.X-e.X>>0,f.Min.Y-e.Y>>0),new O.Ptr(f.Max.X-e.X>>0,f.Max.Y-e.Y>>0));};Q.prototype.Sub=function(e){return this.$val.Sub(e);};Q.Ptr.prototype.Inset=function(e){var f,g,h;f=$clone(this,Q);if(f.Dx()<(2*e>>0)){f.Min.X=(g=((f.Min.X+f.Max.X>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));f.Max.X=f.Min.X;}else{f.Min.X=f.Min.X+(e)>>0;f.Max.X=f.Max.X-(e)>>0;}if(f.Dy()<(2*e>>0)){f.Min.Y=(h=((f.Min.Y+f.Max.Y>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));f.Max.Y=f.Min.Y;}else{f.Min.Y=f.Min.Y+(e)>>0;f.Max.Y=f.Max.Y-(e)>>0;}return f;};Q.prototype.Inset=function(e){return this.$val.Inset(e);};Q.Ptr.prototype.Intersect=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.Xe.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y>e.Max.Y){f.Max.Y=e.Max.Y;}if(f.Min.X>f.Max.X||f.Min.Y>f.Max.Y){return $pkg.ZR;}return f;};Q.prototype.Intersect=function(e){return this.$val.Intersect(e);};Q.Ptr.prototype.Union=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);if(f.Min.X>e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y>e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X=e.Max.X||e.Min.Y>=e.Max.Y;};Q.prototype.Empty=function(){return this.$val.Empty();};Q.Ptr.prototype.Eq=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return(f.Min.X===e.Min.X)&&(f.Min.Y===e.Min.Y)&&(f.Max.X===e.Max.X)&&(f.Max.Y===e.Max.Y);};Q.prototype.Eq=function(e){return this.$val.Eq(e);};Q.Ptr.prototype.Overlaps=function(e){var f;f=$clone(this,Q);e=$clone(e,Q);return f.Min.Xg){i=g;j=e;e=i;g=j;}if(f>h){k=h;l=f;f=k;h=l;}return new Q.Ptr(new O.Ptr(e,f),new O.Ptr(g,h));};V.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBAModel;};V.prototype.ColorModel=function(){return this.$val.ColorModel();};V.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};V.prototype.Bounds=function(){return this.$val.Bounds();};V.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBAAt(e,f),new h.constructor.Struct(h));};V.prototype.At=function(e,f){return this.$val.At(e,f);};V.Ptr.prototype.RGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};V.prototype.RGBAAt=function(e,f){return this.$val.RGBAAt(e,f);};V.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};V.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};V.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBAModel.Convert(g),E.RGBA),E.RGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};V.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};V.Ptr.prototype.SetRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.RGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};V.prototype.SetRGBA=function(e,f,g){return this.$val.SetRGBA(e,f,g);};V.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new V.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new V.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};V.prototype.SubImage=function(e){return this.$val.SubImage(e);};V.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};V.prototype.Opaque=function(){return this.$val.Opaque();};W=$pkg.NewRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new V.Ptr(j,4*h>>0,$clone(e,Q));};X.Ptr.prototype.ColorModel=function(){var e;e=this;return E.RGBA64Model;};X.prototype.ColorModel=function(){return this.$val.ColorModel();};X.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};X.prototype.Bounds=function(){return this.$val.Bounds();};X.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.RGBA64At(e,f),new h.constructor.Struct(h));};X.prototype.At=function(e,f){return this.$val.At(e,f);};X.Ptr.prototype.RGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.RGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.RGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};X.prototype.RGBA64At=function(e,f){return this.$val.RGBA64At(e,f);};X.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};X.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};X.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.RGBA64Model.Convert(g),E.RGBA64),E.RGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};X.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};X.Ptr.prototype.SetRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.RGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};X.prototype.SetRGBA64=function(e,f,g){return this.$val.SetRGBA64(e,f,g);};X.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new X.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new X.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};X.prototype.SubImage=function(e){return this.$val.SubImage(e);};X.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};X.prototype.Opaque=function(){return this.$val.Opaque();};Y=$pkg.NewRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new X.Ptr(j,8*h>>0,$clone(e,Q));};Z.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBAModel;};Z.prototype.ColorModel=function(){return this.$val.ColorModel();};Z.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};Z.prototype.Bounds=function(){return this.$val.Bounds();};Z.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBAAt(e,f),new h.constructor.Struct(h));};Z.prototype.At=function(e,f){return this.$val.At(e,f);};Z.Ptr.prototype.NRGBAAt=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA.Ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};Z.prototype.NRGBAAt=function(e,f){return this.$val.NRGBAAt(e,f);};Z.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*4>>0)>>0;};Z.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};Z.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBAModel.Convert(g),E.NRGBA),E.NRGBA);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=j.R);(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=j.G);(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=j.B);(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=j.A);};Z.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};Z.Ptr.prototype.SetNRGBA=function(e,f,g){var h,i,j,k,l,m,n,o,p,q;h=this;g=$clone(g,E.NRGBA);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R);(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G);(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B);(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A);};Z.prototype.SetNRGBA=function(e,f,g){return this.$val.SetNRGBA(e,f,g);};Z.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new Z.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new Z.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};Z.prototype.SubImage=function(e){return this.$val.SubImage(e);};Z.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=e.Rect.Dx()*4>>0;h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};Z.prototype.Opaque=function(){return this.$val.Opaque();};AA=$pkg.NewNRGBA=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((4*h>>0)*i>>0));return new Z.Ptr(j,4*h>>0,$clone(e,Q));};AB.Ptr.prototype.ColorModel=function(){var e;e=this;return E.NRGBA64Model;};AB.prototype.ColorModel=function(){return this.$val.ColorModel();};AB.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AB.prototype.Bounds=function(){return this.$val.Bounds();};AB.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.NRGBA64At(e,f),new h.constructor.Struct(h));};AB.prototype.At=function(e,f){return this.$val.At(e,f);};AB.Ptr.prototype.NRGBA64At=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.NRGBA64.Ptr(0,0,0,0);}h=g.PixOffset(e,f);return new E.NRGBA64.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};AB.prototype.NRGBA64At=function(e,f){return this.$val.NRGBA64At(e,f);};AB.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*8>>0)>>0;};AB.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AB.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.NRGBA64Model.Convert(g),E.NRGBA64),E.NRGBA64);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.R>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.R<<24>>>24));(o=h.Pix,p=i+2>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((j.G>>>8<<16>>>16)<<24>>>24));(q=h.Pix,r=i+3>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=(j.G<<24>>>24));(s=h.Pix,t=i+4>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((j.B>>>8<<16>>>16)<<24>>>24));(u=h.Pix,v=i+5>>0,(v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]=(j.B<<24>>>24));(w=h.Pix,x=i+6>>0,(x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]=((j.A>>>8<<16>>>16)<<24>>>24));(y=h.Pix,z=i+7>>0,(z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]=(j.A<<24>>>24));};AB.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AB.Ptr.prototype.SetNRGBA64=function(e,f,g){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;h=this;g=$clone(g,E.NRGBA64);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24));(n=h.Pix,o=i+2>>0,(o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24));(p=h.Pix,q=i+3>>0,(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24));(r=h.Pix,s=i+4>>0,(s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24));(t=h.Pix,u=i+5>>0,(u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24));(v=h.Pix,w=i+6>>0,(w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24));(x=h.Pix,y=i+7>>0,(y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24));};AB.prototype.SetNRGBA64=function(e,f,g){return this.$val.SetNRGBA64(e,f,g);};AB.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AB.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AB.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AB.prototype.SubImage=function(e){return this.$val.SubImage(e);};AB.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=e.Rect.Dx()*8>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AB.prototype.Opaque=function(){return this.$val.Opaque();};AC=$pkg.NewNRGBA64=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((8*h>>0)*i>>0));return new AB.Ptr(j,8*h>>0,$clone(e,Q));};AD.Ptr.prototype.ColorModel=function(){var e;e=this;return E.AlphaModel;};AD.prototype.ColorModel=function(){return this.$val.ColorModel();};AD.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AD.prototype.Bounds=function(){return this.$val.Bounds();};AD.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.AlphaAt(e,f),new h.constructor.Struct(h));};AD.prototype.At=function(e,f){return this.$val.At(e,f);};AD.Ptr.prototype.AlphaAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AD.prototype.AlphaAt=function(e,f){return this.$val.AlphaAt(e,f);};AD.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AD.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AD.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.AlphaModel.Convert(g),E.Alpha).A);};AD.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AD.Ptr.prototype.SetAlpha=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Alpha);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.A);};AD.prototype.SetAlpha=function(e,f,g){return this.$val.SetAlpha(e,f,g);};AD.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AD.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AD.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AD.prototype.SubImage=function(e){return this.$val.SubImage(e);};AD.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx();h=f;i=g;j=e.Rect.Min.Y;while(j=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(1)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AD.prototype.Opaque=function(){return this.$val.Opaque();};AF.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Alpha16Model;};AF.prototype.ColorModel=function(){return this.$val.ColorModel();};AF.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AF.prototype.Bounds=function(){return this.$val.Bounds();};AF.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Alpha16At(e,f),new h.constructor.Struct(h));};AF.prototype.At=function(e,f){return this.$val.At(e,f);};AF.Ptr.prototype.Alpha16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Alpha16.Ptr(0);}h=g.PixOffset(e,f);return new E.Alpha16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AF.prototype.Alpha16At=function(e,f){return this.$val.Alpha16At(e,f);};AF.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AF.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AF.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Alpha16Model.Convert(g),E.Alpha16),E.Alpha16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.A>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.A<<24>>>24));};AF.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AF.Ptr.prototype.SetAlpha16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Alpha16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.A>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.A<<24>>>24));};AF.prototype.SetAlpha16=function(e,f,g){return this.$val.SetAlpha16(e,f,g);};AF.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AF.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AF.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AF.prototype.SubImage=function(e){return this.$val.SubImage(e);};AF.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx()*2>>0;h=f;i=g;j=e.Rect.Min.Y;while(j>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(2)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AF.prototype.Opaque=function(){return this.$val.Opaque();};AH.Ptr.prototype.ColorModel=function(){var e;e=this;return E.GrayModel;};AH.prototype.ColorModel=function(){return this.$val.ColorModel();};AH.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AH.prototype.Bounds=function(){return this.$val.Bounds();};AH.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.GrayAt(e,f),new h.constructor.Struct(h));};AH.prototype.At=function(e,f){return this.$val.At(e,f);};AH.Ptr.prototype.GrayAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray.Ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AH.prototype.GrayAt=function(e,f){return this.$val.GrayAt(e,f);};AH.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AH.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AH.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=$assertType(E.GrayModel.Convert(g),E.Gray).Y);};AH.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AH.Ptr.prototype.SetGray=function(e,f,g){var h,i,j;h=this;g=$clone(g,E.Gray);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.Y);};AH.prototype.SetGray=function(e,f,g){return this.$val.SetGray(e,f,g);};AH.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AH.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AH.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AH.prototype.SubImage=function(e){return this.$val.SubImage(e);};AH.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AH.prototype.Opaque=function(){return this.$val.Opaque();};AI=$pkg.NewGray=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((1*h>>0)*i>>0));return new AH.Ptr(j,1*h>>0,$clone(e,Q));};AJ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.Gray16Model;};AJ.prototype.ColorModel=function(){return this.$val.ColorModel();};AJ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AJ.prototype.Bounds=function(){return this.$val.Bounds();};AJ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.Gray16At(e,f),new h.constructor.Struct(h));};AJ.prototype.At=function(e,f){return this.$val.At(e,f);};AJ.Ptr.prototype.Gray16At=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.Gray16.Ptr(0);}h=g.PixOffset(e,f);return new E.Gray16.Ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AJ.prototype.Gray16At=function(e,f){return this.$val.Gray16At(e,f);};AJ.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*2>>0)>>0;};AJ.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AJ.Ptr.prototype.Set=function(e,f,g){var h,i,j,k,l,m,n;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=$clone($assertType(E.Gray16Model.Convert(g),E.Gray16),E.Gray16);(k=h.Pix,l=i+0>>0,(l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]=((j.Y>>>8<<16>>>16)<<24>>>24));(m=h.Pix,n=i+1>>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=(j.Y<<24>>>24));};AJ.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AJ.Ptr.prototype.SetGray16=function(e,f,g){var h,i,j,k,l,m;h=this;g=$clone(g,E.Gray16);if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,(k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.Y>>>8<<16>>>16)<<24>>>24));(l=h.Pix,m=i+1>>0,(m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.Y<<24>>>24));};AJ.prototype.SetGray16=function(e,f,g){return this.$val.SetGray16(e,f,g);};AJ.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AJ.Ptr(AT.nil,0,new Q.Ptr());}g=f.PixOffset(e.Min.X,e.Min.Y);return new AJ.Ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AJ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AJ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AJ.prototype.Opaque=function(){return this.$val.Opaque();};AK=$pkg.NewGray16=function(e){var f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=AT.make(((2*h>>0)*i>>0));return new AJ.Ptr(j,2*h>>0,$clone(e,Q));};AL.Ptr.prototype.ColorModel=function(){var e;e=this;return e.Palette;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.At=function(e,f){var g,h,i,j,k,l;g=this;if(g.Palette.$length===0){return $ifaceNil;}if(!(new O.Ptr(e,f).In(g.Rect))){return(h=g.Palette,((0<0||0>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));}i=g.PixOffset(e,f);return(j=g.Palette,k=(l=g.Pix,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])),((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));};AL.prototype.At=function(e,f){return this.$val.At(e,f);};AL.Ptr.prototype.PixOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.Stride>>0)+(((e-g.Rect.Min.X>>0))*1>>0)>>0;};AL.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AL.Ptr.prototype.Set=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=(h.Palette.Index(g)<<24>>>24));};AL.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AL.Ptr.prototype.ColorIndexAt=function(e,f){var g,h,i;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return 0;}h=g.PixOffset(e,f);return(i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));};AL.prototype.ColorIndexAt=function(e,f){return this.$val.ColorIndexAt(e,f);};AL.Ptr.prototype.SetColorIndex=function(e,f,g){var h,i,j;h=this;if(!(new O.Ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,(i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g);};AL.prototype.SetColorIndex=function(e,f,g){return this.$val.SetColorIndex(e,f,g);};AL.Ptr.prototype.SubImage=function(e){var f,g;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AL.Ptr(AT.nil,0,new Q.Ptr(),f.Palette);}g=f.PixOffset(e.Min.X,e.Min.Y);return new AL.Ptr($subslice(f.Pix,g),f.Stride,$clone(f.Rect.Intersect(e),Q),f.Palette);};AL.prototype.SubImage=function(e){return this.$val.SubImage(e);};AL.Ptr.prototype.Opaque=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this;f=$clone(AU.zero(),AU);g=0;h=e.Rect.Dx();i=g;j=h;k=e.Rect.Min.Y;while(k=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);(n<0||n>=f.length)?$throwRuntimeError("index out of range"):f[n]=true;m++;}i=i+(e.Stride)>>0;j=j+(e.Stride)>>0;k=k+(1)>>0;}o=e.Palette;p=0;while(p=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]);if(!((q<0||q>=f.length)?$throwRuntimeError("index out of range"):f[q])){p++;continue;}s=r.RGBA();t=s[3];if(!((t===65535))){return false;}p++;}return true;};AL.prototype.Opaque=function(){return this.$val.Opaque();};AM=$pkg.NewPaletted=function(e,f){var g,h,i,j,k;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=g;j=h;k=AT.make(((1*i>>0)*j>>0));return new AL.Ptr(k,1*i>>0,$clone(e,Q),f);};AN.Ptr.prototype.RGBA=function(){var e=0,f=0,g=0,h=0,i,j;i=this;j=i.C.RGBA();e=j[0];f=j[1];g=j[2];h=j[3];return[e,f,g,h];};AN.prototype.RGBA=function(){return this.$val.RGBA();};AN.Ptr.prototype.ColorModel=function(){var e;e=this;return e;};AN.prototype.ColorModel=function(){return this.$val.ColorModel();};AN.Ptr.prototype.Convert=function(e){var f;f=this;return f.C;};AN.prototype.Convert=function(e){return this.$val.Convert(e);};AN.Ptr.prototype.Bounds=function(){var e;e=this;return new Q.Ptr(new O.Ptr(-1000000000,-1000000000),new O.Ptr(1000000000,1000000000));};AN.prototype.Bounds=function(){return this.$val.Bounds();};AN.Ptr.prototype.At=function(e,f){var g;g=this;return g.C;};AN.prototype.At=function(e,f){return this.$val.At(e,f);};AN.Ptr.prototype.Opaque=function(){var e,f,g;e=this;f=e.C.RGBA();g=f[3];return g===65535;};AN.prototype.Opaque=function(){return this.$val.Opaque();};AO=$pkg.NewUniform=function(e){return new AN.Ptr(e);};AP.prototype.String=function(){var e,f;e=this.$val!==undefined?this.$val:this;f=e;if(f===0){return"YCbCrSubsampleRatio444";}else if(f===1){return"YCbCrSubsampleRatio422";}else if(f===2){return"YCbCrSubsampleRatio420";}else if(f===3){return"YCbCrSubsampleRatio440";}return"YCbCrSubsampleRatioUnknown";};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AQ.Ptr.prototype.ColorModel=function(){var e;e=this;return E.YCbCrModel;};AQ.prototype.ColorModel=function(){return this.$val.ColorModel();};AQ.Ptr.prototype.Bounds=function(){var e;e=this;return e.Rect;};AQ.prototype.Bounds=function(){return this.$val.Bounds();};AQ.Ptr.prototype.At=function(e,f){var g,h;g=this;return(h=g.YCbCrAt(e,f),new h.constructor.Struct(h));};AQ.prototype.At=function(e,f){return this.$val.At(e,f);};AQ.Ptr.prototype.YCbCrAt=function(e,f){var g,h,i,j,k,l;g=this;if(!(new O.Ptr(e,f).In(g.Rect))){return new E.YCbCr.Ptr(0,0,0);}h=g.YOffset(e,f);i=g.COffset(e,f);return new E.YCbCr.Ptr((j=g.Y,((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])),(k=g.Cb,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),(l=g.Cr,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])));};AQ.prototype.YCbCrAt=function(e,f){return this.$val.YCbCrAt(e,f);};AQ.Ptr.prototype.YOffset=function(e,f){var g;g=this;return(((f-g.Rect.Min.Y>>0))*g.YStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.YOffset=function(e,f){return this.$val.YOffset(e,f);};AQ.Ptr.prototype.COffset=function(e,f){var g,h,i,j,k,l,m,n,o,p;g=this;h=g.SubsampleRatio;if(h===1){return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+(((i=e/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"))-(j=g.Rect.Min.X/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===2){return((((k=f/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-(l=g.Rect.Min.Y/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+(((m=e/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))-(n=g.Rect.Min.X/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===3){return((((o=f/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))-(p=g.Rect.Min.Y/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;}return(((f-g.Rect.Min.Y>>0))*g.CStride>>0)+((e-g.Rect.Min.X>>0))>>0;};AQ.prototype.COffset=function(e,f){return this.$val.COffset(e,f);};AQ.Ptr.prototype.SubImage=function(e){var f,g,h;f=this;e=$clone(e,Q);$copy(e,e.Intersect(f.Rect),Q);if(e.Empty()){return new AQ.Ptr(AT.nil,AT.nil,AT.nil,0,0,f.SubsampleRatio,new Q.Ptr());}g=f.YOffset(e.Min.X,e.Min.Y);h=f.COffset(e.Min.X,e.Min.Y);return new AQ.Ptr($subslice(f.Y,g),$subslice(f.Cb,h),$subslice(f.Cr,h),f.YStride,f.CStride,f.SubsampleRatio,$clone(e,Q));};AQ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AQ.Ptr.prototype.Opaque=function(){var e;e=this;return true;};AQ.prototype.Opaque=function(){return this.$val.Opaque();};AR=$pkg.NewYCbCr=function(e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=0;j=0;k=g;l=h;m=i;n=j;o=f;if(o===1){m=(p=((e.Max.X+1>>0))/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))-(q=e.Min.X/2,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))>>0;n=l;}else if(o===2){m=(r=((e.Max.X+1>>0))/2,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"))-(s=e.Min.X/2,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"))>>0;n=(t=((e.Max.Y+1>>0))/2,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"))-(u=e.Min.Y/2,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0;}else if(o===3){m=k;n=(v=((e.Max.Y+1>>0))/2,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))-(w=e.Min.Y/2,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))>>0;}else{m=k;n=l;}x=AV.make(((k*l>>0)+((2*m>>0)*n>>0)>>0));return new AQ.Ptr($subslice(x,0,(k*l>>0)),$subslice(x,((k*l>>0)+((0*m>>0)*n>>0)>>0),((k*l>>0)+((1*m>>0)*n>>0)>>0)),$subslice(x,((k*l>>0)+((1*m>>0)*n>>0)>>0),((k*l>>0)+((2*m>>0)*n>>0)>>0)),k,m,f,$clone(e,Q));};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AS=$sliceType(F);AT=$sliceType($Uint8);AU=$arrayType($Bool,256);AV=$sliceType($Uint8);AW=$funcType([C.Reader],[T,$error],false);AX=$funcType([C.Reader],[S,$error],false);AY=$ptrType(O);AZ=$ptrType(Q);BA=$ptrType(V);BB=$ptrType(X);BC=$ptrType(Z);BD=$ptrType(AB);BE=$ptrType(AD);BF=$ptrType(AF);BG=$ptrType(AH);BH=$ptrType(AJ);BI=$ptrType(AL);BJ=$ptrType(AN);BK=$ptrType(AP);BL=$ptrType(AQ);F.init([["name","name","image",$String,""],["magic","magic","image",$String,""],["decode","decode","image",AW,""],["decodeConfig","decodeConfig","image",AX,""]]);I.init([["Peek","Peek","",$funcType([$Int],[AV,$error],false)],["Read","Read","",$funcType([AV],[$Int,$error],false)]]);O.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];AY.methods=[["Add","Add","",$funcType([O],[O],false),-1],["Div","Div","",$funcType([$Int],[O],false),-1],["Eq","Eq","",$funcType([O],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Mod","Mod","",$funcType([Q],[O],false),-1],["Mul","Mul","",$funcType([$Int],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[O],false),-1]];O.init([["X","X","",$Int,""],["Y","Y","",$Int,""]]);Q.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];AZ.methods=[["Add","Add","",$funcType([O],[Q],false),-1],["Canon","Canon","",$funcType([],[Q],false),-1],["Dx","Dx","",$funcType([],[$Int],false),-1],["Dy","Dy","",$funcType([],[$Int],false),-1],["Empty","Empty","",$funcType([],[$Bool],false),-1],["Eq","Eq","",$funcType([Q],[$Bool],false),-1],["In","In","",$funcType([Q],[$Bool],false),-1],["Inset","Inset","",$funcType([$Int],[Q],false),-1],["Intersect","Intersect","",$funcType([Q],[Q],false),-1],["Overlaps","Overlaps","",$funcType([Q],[$Bool],false),-1],["Size","Size","",$funcType([],[O],false),-1],["String","String","",$funcType([],[$String],false),-1],["Sub","Sub","",$funcType([O],[Q],false),-1],["Union","Union","",$funcType([Q],[Q],false),-1]];Q.init([["Min","Min","",O,""],["Max","Max","",O,""]]);S.init([["ColorModel","ColorModel","",E.Model,""],["Width","Width","",$Int,""],["Height","Height","",$Int,""]]);T.init([["At","At","",$funcType([$Int,$Int],[E.Color],false)],["Bounds","Bounds","",$funcType([],[Q],false)],["ColorModel","ColorModel","",$funcType([],[E.Model],false)]]);BA.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBAAt","RGBAAt","",$funcType([$Int,$Int],[E.RGBA],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA","SetRGBA","",$funcType([$Int,$Int,E.RGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];V.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BB.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["RGBA64At","RGBA64At","",$funcType([$Int,$Int],[E.RGBA64],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetRGBA64","SetRGBA64","",$funcType([$Int,$Int,E.RGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];X.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BC.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBAAt","NRGBAAt","",$funcType([$Int,$Int],[E.NRGBA],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA","SetNRGBA","",$funcType([$Int,$Int,E.NRGBA],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];Z.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BD.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["NRGBA64At","NRGBA64At","",$funcType([$Int,$Int],[E.NRGBA64],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetNRGBA64","SetNRGBA64","",$funcType([$Int,$Int,E.NRGBA64],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AB.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BE.methods=[["AlphaAt","AlphaAt","",$funcType([$Int,$Int],[E.Alpha],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha","SetAlpha","",$funcType([$Int,$Int,E.Alpha],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AD.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BF.methods=[["Alpha16At","Alpha16At","",$funcType([$Int,$Int],[E.Alpha16],false),-1],["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetAlpha16","SetAlpha16","",$funcType([$Int,$Int,E.Alpha16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AF.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BG.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["GrayAt","GrayAt","",$funcType([$Int,$Int],[E.Gray],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray","SetGray","",$funcType([$Int,$Int,E.Gray],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AH.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BH.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Gray16At","Gray16At","",$funcType([$Int,$Int],[E.Gray16],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetGray16","SetGray16","",$funcType([$Int,$Int,E.Gray16],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AJ.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""]]);BI.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorIndexAt","ColorIndexAt","",$funcType([$Int,$Int],[$Uint8],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["PixOffset","PixOffset","",$funcType([$Int,$Int],[$Int],false),-1],["Set","Set","",$funcType([$Int,$Int,E.Color],[],false),-1],["SetColorIndex","SetColorIndex","",$funcType([$Int,$Int,$Uint8],[],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1]];AL.init([["Pix","Pix","",AT,""],["Stride","Stride","",$Int,""],["Rect","Rect","",Q,""],["Palette","Palette","",E.Palette,""]]);BJ.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Convert","Convert","",$funcType([E.Color],[E.Color],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["RGBA","RGBA","",$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false),-1]];AN.init([["C","C","",E.Color,""]]);AP.methods=[["String","String","",$funcType([],[$String],false),-1]];BK.methods=[["String","String","",$funcType([],[$String],false),-1]];BL.methods=[["At","At","",$funcType([$Int,$Int],[E.Color],false),-1],["Bounds","Bounds","",$funcType([],[Q],false),-1],["COffset","COffset","",$funcType([$Int,$Int],[$Int],false),-1],["ColorModel","ColorModel","",$funcType([],[E.Model],false),-1],["Opaque","Opaque","",$funcType([],[$Bool],false),-1],["SubImage","SubImage","",$funcType([Q],[T],false),-1],["YCbCrAt","YCbCrAt","",$funcType([$Int,$Int],[E.YCbCr],false),-1],["YOffset","YOffset","",$funcType([$Int,$Int],[$Int],false),-1]];AQ.init([["Y","Y","",AT,""],["Cb","Cb","",AT,""],["Cr","Cr","",AT,""],["YStride","YStride","",$Int,""],["CStride","CStride","",$Int,""],["SubsampleRatio","SubsampleRatio","",AP,""],["Rect","Rect","",Q,""]]);G=AS.nil;$pkg.ZP=new O.Ptr();$pkg.ZR=new Q.Ptr();$pkg.ErrFormat=B.New("image: unknown format");$pkg.Black=AO((a=E.Black,new a.constructor.Struct(a)));$pkg.White=AO((b=E.White,new b.constructor.Struct(b)));$pkg.Transparent=AO((c=E.Transparent,new c.constructor.Struct(c)));$pkg.Opaque=AO((d=E.Opaque,new d.constructor.Struct(d)));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/draw"]=(function(){var $pkg={},A,B,X,Y,Z,AA,AB,AC,AD,AE,AF,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V;A=$packages["image"];B=$packages["image/color"];H=function(b,c,d,e,f,g){var h,i,j;h=$clone(c.Min,A.Point);$copy(c,c.Intersect(b.Bounds()),A.Rectangle);$copy(c,c.Intersect(d.Bounds().Add(h.Sub(e))),A.Rectangle);if(!($interfaceIsEqual(f,$ifaceNil))){$copy(c,c.Intersect(f.Bounds().Add(h.Sub(g))),A.Rectangle);}i=c.Min.X-h.X>>0;j=c.Min.Y-h.Y>>0;if((i===0)&&(j===0)){return;}e.X=(e).X+(i)>>0;e.Y=(e).Y+(j)>>0;g.X=(g).X+(i)>>0;g.Y=(g).Y+(j)>>0;};I=function(b,c,d,e){e=$clone(e,A.Point);c=$clone(c,A.Rectangle);return $interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))&&(e.Y>0;ag=w-1>>0;ah=-1;w=af;x=ag;y=ah;ai=ad-1>>0;aj=ac-1>>0;ak=-1;ac=ai;ad=aj;ae=ak;}al=$clone(new B.RGBA64.Ptr(),B.RGBA64);am=(e.Y+ac>>0)-c.Min.Y>>0;an=(g.Y+ac>>0)-c.Min.Y>>0;ao=ac;while(!((ao===ad))){ap=(e.X+w>>0)-c.Min.X>>0;aq=(g.X+w>>0)-c.Min.X>>0;ar=w;while(!((ar===x))){as=65535;if(!($interfaceIsEqual(f,$ifaceNil))){at=f.At(aq,an).RGBA();as=at[3];}if(as===0){if(h===0){}else{b.Set(ar,ao,(au=B.Transparent,new au.constructor.Struct(au)));}}else if((as===65535)&&(h===1)){b.Set(ar,ao,d.At(ap,am));}else{av=d.At(ap,am).RGBA();aw=av[0];ax=av[1];ay=av[2];az=av[3];if(h===0){ba=b.At(ar,ao).RGBA();bb=ba[0];bc=ba[1];bd=ba[2];be=ba[3];bg=65535-((bf=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bf===bf&&bf!==1/0&&bf!==-1/0)?bf>>>0:$throwRuntimeError("integer divide by zero")))>>>0;al.R=((bh=((((((bb>>>16<<16)*bg>>>0)+(bb<<16>>>16)*bg)>>>0)+((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)>>>0))/65535,(bh===bh&&bh!==1/0&&bh!==-1/0)?bh>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bi=((((((bc>>>16<<16)*bg>>>0)+(bc<<16>>>16)*bg)>>>0)+((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)>>>0))/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bj=((((((bd>>>16<<16)*bg>>>0)+(bd<<16>>>16)*bg)>>>0)+((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)>>>0))/65535,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bk=((((((be>>>16<<16)*bg>>>0)+(be<<16>>>16)*bg)>>>0)+((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}else{al.R=((bl=((((aw>>>16<<16)*as>>>0)+(aw<<16>>>16)*as)>>>0)/65535,(bl===bl&&bl!==1/0&&bl!==-1/0)?bl>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.G=((bm=((((ax>>>16<<16)*as>>>0)+(ax<<16>>>16)*as)>>>0)/65535,(bm===bm&&bm!==1/0&&bm!==-1/0)?bm>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.B=((bn=((((ay>>>16<<16)*as>>>0)+(ay<<16>>>16)*as)>>>0)/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);al.A=((bo=((((az>>>16<<16)*as>>>0)+(az<<16>>>16)*as)>>>0)/65535,(bo===bo&&bo!==1/0&&bo!==-1/0)?bo>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);}b.Set(ar,ao,al);}bp=ar+y>>0;bq=ap+y>>0;br=aq+y>>0;ar=bp;ap=bq;aq=br;}bs=ao+ae>>0;bt=am+ae>>0;bu=an+ae>>0;ao=bs;am=bt;an=bu;}};L=function(b,c,d){var e,f,g,h,i,j,k,l,m,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;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];k=(j=(65535-i>>>0),(((j>>>16<<16)*257>>>0)+(j<<16>>>16)*257)>>>0);l=b.PixOffset(c.Min.X,c.Min.Y);m=l+(c.Dx()*4>>0)>>0;n=c.Min.Y;while(!((n===c.Max.Y))){o=l;while(o>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>>0);u=((s=b.Pix,t=o+1>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))>>>0);x=((v=b.Pix,w=o+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]))>>>0);aa=((y=b.Pix,z=o+3>>0,((z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]))>>>0);(ac=b.Pix,ad=o+0>>0,(ad<0||ad>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ad]=(((((ab=((((r>>>16<<16)*k>>>0)+(r<<16>>>16)*k)>>>0)/65535,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"))+f>>>0))>>>8>>>0)<<24>>>24));(af=b.Pix,ag=o+1>>0,(ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]=(((((ae=((((u>>>16<<16)*k>>>0)+(u<<16>>>16)*k)>>>0)/65535,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>>0:$throwRuntimeError("integer divide by zero"))+g>>>0))>>>8>>>0)<<24>>>24));(ai=b.Pix,aj=o+2>>0,(aj<0||aj>=ai.$length)?$throwRuntimeError("index out of range"):ai.$array[ai.$offset+aj]=(((((ah=((((x>>>16<<16)*k>>>0)+(x<<16>>>16)*k)>>>0)/65535,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>>0:$throwRuntimeError("integer divide by zero"))+h>>>0))>>>8>>>0)<<24>>>24));(al=b.Pix,am=o+3>>0,(am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]=(((((ak=((((aa>>>16<<16)*k>>>0)+(aa<<16>>>16)*k)>>>0)/65535,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>>0:$throwRuntimeError("integer divide by zero"))+i>>>0))>>>8>>>0)<<24>>>24));o=o+(4)>>0;}l=l+(b.Stride)>>0;m=m+(b.Stride)>>0;n=n+(1)>>0;}};M=function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=$clone(c,A.Rectangle);e=d.RGBA();f=e[0];g=e[1];h=e[2];i=e[3];j=b.PixOffset(c.Min.X,c.Min.Y);k=j+(c.Dx()*4>>0)>>0;l=j;while(l>0,(n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]=((f>>>8>>>0)<<24>>>24));(o=b.Pix,p=l+1>>0,(p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]=((g>>>8>>>0)<<24>>>24));(q=b.Pix,r=l+2>>0,(r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]=((h>>>8>>>0)<<24>>>24));(s=b.Pix,t=l+3>>0,(t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=((i>>>8>>>0)<<24>>>24));l=l+(4)>>0;}u=$subslice(b.Pix,j,k);v=c.Min.Y+1>>0;while(v>0;k=k+(b.Stride)>>0;$copySlice($subslice(b.Pix,j,k),u);v=v+(1)>>0;}};N=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=c.Dx();g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;p=0;q=0;r=0;s=p;t=q;u=r;if(c.Min.Y>0;x=4;s=v;t=w;u=x;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;y=((h-1>>0))*4>>0;z=-4;aa=-4;s=y;t=z;u=aa;}while(i>0){ab=$subslice(b.Pix,j);ac=$subslice(d.Pix,k);ad=s;while(!((ad===t))){ag=(ae=((af=ad+0>>0,((af<0||af>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+af]))>>>0),(((ae>>>16<<16)*257>>>0)+(ae<<16>>>16)*257)>>>0);aj=(ah=((ai=ad+1>>0,((ai<0||ai>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ai]))>>>0),(((ah>>>16<<16)*257>>>0)+(ah<<16>>>16)*257)>>>0);am=(ak=((al=ad+2>>0,((al<0||al>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+al]))>>>0),(((ak>>>16<<16)*257>>>0)+(ak<<16>>>16)*257)>>>0);ap=(an=((ao=ad+3>>0,((ao<0||ao>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ao]))>>>0),(((an>>>16<<16)*257>>>0)+(an<<16>>>16)*257)>>>0);ar=((aq=ad+0>>0,((aq<0||aq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aq]))>>>0);at=((as=ad+1>>0,((as<0||as>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+as]))>>>0);av=((au=ad+2>>0,((au<0||au>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+au]))>>>0);ax=((aw=ad+3>>0,((aw<0||aw>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aw]))>>>0);az=(ay=(65535-ap>>>0),(((ay>>>16<<16)*257>>>0)+(ay<<16>>>16)*257)>>>0);(bb=ad+0>>0,(bb<0||bb>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bb]=(((((ba=((((ar>>>16<<16)*az>>>0)+(ar<<16>>>16)*az)>>>0)/65535,(ba===ba&&ba!==1/0&&ba!==-1/0)?ba>>>0:$throwRuntimeError("integer divide by zero"))+ag>>>0))>>>8>>>0)<<24>>>24));(bd=ad+1>>0,(bd<0||bd>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bd]=(((((bc=((((at>>>16<<16)*az>>>0)+(at<<16>>>16)*az)>>>0)/65535,(bc===bc&&bc!==1/0&&bc!==-1/0)?bc>>>0:$throwRuntimeError("integer divide by zero"))+aj>>>0))>>>8>>>0)<<24>>>24));(bf=ad+2>>0,(bf<0||bf>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bf]=(((((be=((((av>>>16<<16)*az>>>0)+(av<<16>>>16)*az)>>>0)/65535,(be===be&&be!==1/0&&be!==-1/0)?be>>>0:$throwRuntimeError("integer divide by zero"))+am>>>0))>>>8>>>0)<<24>>>24));(bh=ad+3>>0,(bh<0||bh>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bh]=(((((bg=((((ax>>>16<<16)*az>>>0)+(ax<<16>>>16)*az)>>>0)/65535,(bg===bg&&bg!==1/0&&bg!==-1/0)?bg>>>0:$throwRuntimeError("integer divide by zero"))+ap>>>0))>>>8>>>0)<<24>>>24));ad=ad+(u)>>0;}j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};O=function(b,c,d,e){var f,g,h,i,j,k,l,m,n,o;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=4*c.Dx()>>0;g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;if(c.Min.Y<=e.Y){n=b.Stride;o=d.Stride;}else{j=j+((((i-1>>0))*b.Stride>>0))>>0;k=k+((((i-1>>0))*d.Stride>>0))>>0;n=-b.Stride;o=-d.Stride;}while(i>0){$copySlice($subslice(b.Pix,j,(j+h>>0)),$subslice(d.Pix,k,(k+h>>0)));j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};P=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));ah=((ag=p+0>>0,((ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]))>>>0);aj=((ai=p+1>>0,((ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]))>>>0);al=((ak=p+2>>0,((ak<0||ak>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ak]))>>>0);an=((am=p+3>>0,((am<0||am>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+am]))>>>0);ap=(ao=(65535-t>>>0),(((ao>>>16<<16)*257>>>0)+(ao<<16>>>16)*257)>>>0);(ar=p+0>>0,(ar<0||ar>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ar]=(((((aq=((((ah>>>16<<16)*ap>>>0)+(ah<<16>>>16)*ap)>>>0)/65535,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>>0:$throwRuntimeError("integer divide by zero"))+x>>>0))>>>8>>>0)<<24>>>24));(at=p+1>>0,(at<0||at>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+at]=(((((as=((((aj>>>16<<16)*ap>>>0)+(aj<<16>>>16)*ap)>>>0)/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))+ab>>>0))>>>8>>>0)<<24>>>24));(av=p+2>>0,(av<0||av>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+av]=(((((au=((((al>>>16<<16)*ap>>>0)+(al<<16>>>16)*ap)>>>0)/65535,(au===au&&au!==1/0&&au!==-1/0)?au>>>0:$throwRuntimeError("integer divide by zero"))+af>>>0))>>>8>>>0)<<24>>>24));(ax=p+3>>0,(ax<0||ax>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ax]=(((((aw=((((an>>>16<<16)*ap>>>0)+(an<<16>>>16)*ap)>>>0)/65535,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>>0:$throwRuntimeError("integer divide by zero"))+t>>>0))>>>8>>>0)<<24>>>24));ay=p+4>>0;az=q+4>>0;p=ay;q=az;}ba=j+1>>0;bb=k+1>>0;j=ba;k=bb;}};Q=function(b,c,d,e){var f,g,h,i,j,k,l,m,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,an;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=((c.Min.X-b.Rect.Min.X>>0))*4>>0;g=((c.Max.X-b.Rect.Min.X>>0))*4>>0;h=((e.X-d.Rect.Min.X>>0))*4>>0;i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(!((j===i))){l=$subslice(b.Pix,(j*b.Stride>>0));m=$subslice(d.Pix,(k*d.Stride>>0));n=f;o=h;p=n;q=o;while(p>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s]))>>>0),(((r>>>16<<16)*257>>>0)+(r<<16>>>16)*257)>>>0);x=(u=(v=((w=q+0>>0,((w<0||w>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+w]))>>>0),(((v>>>16<<16)*t>>>0)+(v<<16>>>16)*t)>>>0)/255,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));ab=(y=(z=((aa=q+1>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),(((z>>>16<<16)*t>>>0)+(z<<16>>>16)*t)>>>0)/255,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));af=(ac=(ad=((ae=q+2>>0,((ae<0||ae>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+ae]))>>>0),(((ad>>>16<<16)*t>>>0)+(ad<<16>>>16)*t)>>>0)/255,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>>0:$throwRuntimeError("integer divide by zero"));(ag=p+0>>0,(ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]=((x>>>8>>>0)<<24>>>24));(ah=p+1>>0,(ah<0||ah>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ah]=((ab>>>8>>>0)<<24>>>24));(ai=p+2>>0,(ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]=((af>>>8>>>0)<<24>>>24));(aj=p+3>>0,(aj<0||aj>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+aj]=((t>>>8>>>0)<<24>>>24));ak=p+4>>0;al=q+4>>0;p=ak;q=al;}am=j+1>>0;an=k+1>>0;j=am;k=an;}};R=function(b,c,d,e){var f=false,g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=((c.Min.X-b.Rect.Min.X>>0))*4>>0;h=((c.Max.X-b.Rect.Min.X>>0))*4>>0;i=c.Min.Y-b.Rect.Min.Y>>0;j=c.Max.Y-b.Rect.Min.Y>>0;k=d.SubsampleRatio;if(k===0){l=i;m=e.Y;n=l;o=m;while(!((n===j))){p=$subslice(b.Pix,(n*b.Stride>>0));q=(((o-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;r=(((o-d.Rect.Min.Y>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;s=g;while(!((s===h))){t=B.YCbCrToRGB((u=d.Y,((q<0||q>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+q])),(v=d.Cb,((r<0||r>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+r])),(w=d.Cr,((r<0||r>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+r])));x=t[0];y=t[1];z=t[2];(aa=s+0>>0,(aa<0||aa>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+aa]=x);(ab=s+1>>0,(ab<0||ab>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ab]=y);(ac=s+2>>0,(ac<0||ac>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ac]=z);(ad=s+3>>0,(ad<0||ad>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+ad]=255);ae=s+4>>0;af=q+1>>0;ag=r+1>>0;s=ae;q=af;r=ag;}ah=n+1>>0;ai=o+1>>0;n=ah;o=ai;}}else if(k===1){aj=i;ak=e.Y;al=aj;am=ak;while(!((al===j))){an=$subslice(b.Pix,(al*b.Stride>>0));ao=(((am-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;aq=(((am-d.Rect.Min.Y>>0))*d.CStride>>0)-(ap=d.Rect.Min.X/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"))>>0;ar=g;as=e.X;at=ar;au=as;while(!((at===h))){aw=aq+(av=au/2,(av===av&&av!==1/0&&av!==-1/0)?av>>0:$throwRuntimeError("integer divide by zero"))>>0;ax=B.YCbCrToRGB((ay=d.Y,((ao<0||ao>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+ao])),(az=d.Cb,((aw<0||aw>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+aw])),(ba=d.Cr,((aw<0||aw>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+aw])));bb=ax[0];bc=ax[1];bd=ax[2];(be=at+0>>0,(be<0||be>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+be]=bb);(bf=at+1>>0,(bf<0||bf>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bf]=bc);(bg=at+2>>0,(bg<0||bg>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bg]=bd);(bh=at+3>>0,(bh<0||bh>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+bh]=255);bi=at+4>>0;bj=au+1>>0;bk=ao+1>>0;at=bi;au=bj;ao=bk;}bl=al+1>>0;bm=am+1>>0;al=bl;am=bm;}}else if(k===2){bn=i;bo=e.Y;bp=bn;bq=bo;while(!((bp===j))){br=$subslice(b.Pix,(bp*b.Stride>>0));bs=(((bq-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;bw=((((bt=bq/2,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>0:$throwRuntimeError("integer divide by zero"))-(bu=d.Rect.Min.Y/2,(bu===bu&&bu!==1/0&&bu!==-1/0)?bu>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)-(bv=d.Rect.Min.X/2,(bv===bv&&bv!==1/0&&bv!==-1/0)?bv>>0:$throwRuntimeError("integer divide by zero"))>>0;bx=g;by=e.X;bz=bx;ca=by;while(!((bz===h))){cc=bw+(cb=ca/2,(cb===cb&&cb!==1/0&&cb!==-1/0)?cb>>0:$throwRuntimeError("integer divide by zero"))>>0;cd=B.YCbCrToRGB((ce=d.Y,((bs<0||bs>=ce.$length)?$throwRuntimeError("index out of range"):ce.$array[ce.$offset+bs])),(cf=d.Cb,((cc<0||cc>=cf.$length)?$throwRuntimeError("index out of range"):cf.$array[cf.$offset+cc])),(cg=d.Cr,((cc<0||cc>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+cc])));ch=cd[0];ci=cd[1];cj=cd[2];(ck=bz+0>>0,(ck<0||ck>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+ck]=ch);(cl=bz+1>>0,(cl<0||cl>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cl]=ci);(cm=bz+2>>0,(cm<0||cm>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cm]=cj);(cn=bz+3>>0,(cn<0||cn>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+cn]=255);co=bz+4>>0;cp=ca+1>>0;cq=bs+1>>0;bz=co;ca=cp;bs=cq;}cr=bp+1>>0;cs=bq+1>>0;bp=cr;bq=cs;}}else if(k===3){ct=i;cu=e.Y;cv=ct;cw=cu;while(!((cv===j))){cx=$subslice(b.Pix,(cv*b.Stride>>0));cy=(((cw-d.Rect.Min.Y>>0))*d.YStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;db=((((cz=cw/2,(cz===cz&&cz!==1/0&&cz!==-1/0)?cz>>0:$throwRuntimeError("integer divide by zero"))-(da=d.Rect.Min.Y/2,(da===da&&da!==1/0&&da!==-1/0)?da>>0:$throwRuntimeError("integer divide by zero"))>>0))*d.CStride>>0)+((e.X-d.Rect.Min.X>>0))>>0;dc=g;while(!((dc===h))){dd=B.YCbCrToRGB((de=d.Y,((cy<0||cy>=de.$length)?$throwRuntimeError("index out of range"):de.$array[de.$offset+cy])),(df=d.Cb,((db<0||db>=df.$length)?$throwRuntimeError("index out of range"):df.$array[df.$offset+db])),(dg=d.Cr,((db<0||db>=dg.$length)?$throwRuntimeError("index out of range"):dg.$array[dg.$offset+db])));dh=dd[0];di=dd[1];dj=dd[2];(dk=dc+0>>0,(dk<0||dk>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dk]=dh);(dl=dc+1>>0,(dl<0||dl>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dl]=di);(dm=dc+2>>0,(dm<0||dm>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dm]=dj);(dn=dc+3>>0,(dn<0||dn>=cx.$length)?$throwRuntimeError("index out of range"):cx.$array[cx.$offset+dn]=255);dp=dc+4>>0;dq=cy+1>>0;dr=db+1>>0;dc=dp;cy=dq;db=dr;}ds=cv+1>>0;dt=cw+1>>0;cv=ds;cw=dt;}}else{f=false;return f;}f=true;return f;};S=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be;f=$clone(f,A.Point);c=$clone(c,A.Rectangle);g=b.PixOffset(c.Min.X,c.Min.Y);h=g+(c.Dx()*4>>0)>>0;i=e.PixOffset(f.X,f.Y);j=d.RGBA();k=j[0];l=j[1];m=j[2];n=j[3];o=c.Min.Y;p=f.Y;q=o;r=p;while(!((q===c.Max.Y))){s=g;t=i;u=s;v=t;while(u=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+v]))>>>0);if(x===0){y=u+4>>0;z=v+1>>0;u=y;v=z;continue;}x=(x|((x<<8>>>0)))>>>0;ac=((aa=b.Pix,ab=u+0>>0,((ab<0||ab>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+ab]))>>>0);af=((ad=b.Pix,ae=u+1>>0,((ae<0||ae>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]))>>>0);ai=((ag=b.Pix,ah=u+2>>0,((ah<0||ah>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ah]))>>>0);al=((aj=b.Pix,ak=u+3>>0,((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]))>>>0);ao=(am=(65535-((an=((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((am>>>16<<16)*257>>>0)+(am<<16>>>16)*257)>>>0);(aq=b.Pix,ar=u+0>>0,(ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=(((ap=((((((ac>>>16<<16)*ao>>>0)+(ac<<16>>>16)*ao)>>>0)+((((k>>>16<<16)*x>>>0)+(k<<16>>>16)*x)>>>0)>>>0))/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(at=b.Pix,au=u+1>>0,(au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=(((as=((((((af>>>16<<16)*ao>>>0)+(af<<16>>>16)*ao)>>>0)+((((l>>>16<<16)*x>>>0)+(l<<16>>>16)*x)>>>0)>>>0))/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(aw=b.Pix,ax=u+2>>0,(ax<0||ax>=aw.$length)?$throwRuntimeError("index out of range"):aw.$array[aw.$offset+ax]=(((av=((((((ai>>>16<<16)*ao>>>0)+(ai<<16>>>16)*ao)>>>0)+((((m>>>16<<16)*x>>>0)+(m<<16>>>16)*x)>>>0)>>>0))/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(az=b.Pix,ba=u+3>>0,(ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=(((ay=((((((al>>>16<<16)*ao>>>0)+(al<<16>>>16)*ao)>>>0)+((((n>>>16<<16)*x>>>0)+(n<<16>>>16)*x)>>>0)>>>0))/65535,(ay===ay&&ay!==1/0&&ay!==-1/0)?ay>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));bb=u+4>>0;bc=v+1>>0;u=bb;v=bc;}g=g+(b.Stride)>>0;h=h+(b.Stride)>>0;i=i+(e.Stride)>>0;bd=q+1>>0;be=r+1>>0;q=bd;r=be;}};T=function(b,c,d,e,f,g,h){var i,j,k,l,m,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,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;g=$clone(g,A.Point);e=$clone(e,A.Point);c=$clone(c,A.Rectangle);i=c.Min.X;j=c.Max.X;k=1;l=i;m=j;n=k;o=c.Min.Y;p=c.Max.Y;q=1;r=o;s=p;t=q;if($interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))){if(e.Y>0;v=l-1>>0;w=-1;l=u;m=v;n=w;x=s-1>>0;y=r-1>>0;z=-1;r=x;s=y;t=z;}}aa=(e.Y+r>>0)-c.Min.Y>>0;ab=(g.Y+r>>0)-c.Min.Y>>0;ac=(e.X+l>>0)-c.Min.X>>0;ad=(g.X+l>>0)-c.Min.X>>0;ae=ac+((m-l>>0))>>0;af=b.PixOffset(l,r);ag=n*4>>0;ah=r;while(!((ah===s))){ai=af;aj=ac;ak=ad;al=ai;am=aj;an=ak;while(!((am===ae))){ao=65535;if(!($interfaceIsEqual(f,$ifaceNil))){ap=f.At(an,ab).RGBA();ao=ap[3];}aq=d.At(am,aa).RGBA();ar=aq[0];as=aq[1];at=aq[2];au=aq[3];if(h===0){ax=((av=b.Pix,aw=al+0>>0,((aw<0||aw>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]))>>>0);ba=((ay=b.Pix,az=al+1>>0,((az<0||az>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+az]))>>>0);bd=((bb=b.Pix,bc=al+2>>0,((bc<0||bc>=bb.$length)?$throwRuntimeError("index out of range"):bb.$array[bb.$offset+bc]))>>>0);bg=((be=b.Pix,bf=al+3>>0,((bf<0||bf>=be.$length)?$throwRuntimeError("index out of range"):be.$array[be.$offset+bf]))>>>0);bj=(bh=(65535-((bi=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(bi===bi&&bi!==1/0&&bi!==-1/0)?bi>>>0:$throwRuntimeError("integer divide by zero")))>>>0),(((bh>>>16<<16)*257>>>0)+(bh<<16>>>16)*257)>>>0);(bl=b.Pix,bm=al+0>>0,(bm<0||bm>=bl.$length)?$throwRuntimeError("index out of range"):bl.$array[bl.$offset+bm]=(((bk=((((((ax>>>16<<16)*bj>>>0)+(ax<<16>>>16)*bj)>>>0)+((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)>>>0))/65535,(bk===bk&&bk!==1/0&&bk!==-1/0)?bk>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bo=b.Pix,bp=al+1>>0,(bp<0||bp>=bo.$length)?$throwRuntimeError("index out of range"):bo.$array[bo.$offset+bp]=(((bn=((((((ba>>>16<<16)*bj>>>0)+(ba<<16>>>16)*bj)>>>0)+((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)>>>0))/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(br=b.Pix,bs=al+2>>0,(bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]=(((bq=((((((bd>>>16<<16)*bj>>>0)+(bd<<16>>>16)*bj)>>>0)+((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)>>>0))/65535,(bq===bq&&bq!==1/0&&bq!==-1/0)?bq>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(bu=b.Pix,bv=al+3>>0,(bv<0||bv>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bv]=(((bt=((((((bg>>>16<<16)*bj>>>0)+(bg<<16>>>16)*bj)>>>0)+((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)>>>0))/65535,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}else{(bx=b.Pix,by=al+0>>0,(by<0||by>=bx.$length)?$throwRuntimeError("index out of range"):bx.$array[bx.$offset+by]=(((bw=((((ar>>>16<<16)*ao>>>0)+(ar<<16>>>16)*ao)>>>0)/65535,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(ca=b.Pix,cb=al+1>>0,(cb<0||cb>=ca.$length)?$throwRuntimeError("index out of range"):ca.$array[ca.$offset+cb]=(((bz=((((as>>>16<<16)*ao>>>0)+(as<<16>>>16)*ao)>>>0)/65535,(bz===bz&&bz!==1/0&&bz!==-1/0)?bz>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cd=b.Pix,ce=al+2>>0,(ce<0||ce>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+ce]=(((cc=((((at>>>16<<16)*ao>>>0)+(at<<16>>>16)*ao)>>>0)/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));(cg=b.Pix,ch=al+3>>0,(ch<0||ch>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+ch]=(((cf=((((au>>>16<<16)*ao>>>0)+(au<<16>>>16)*ao)>>>0)/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24));}ci=al+ag>>0;cj=am+n>>0;ck=an+n>>0;al=ci;am=cj;an=ck;}af=af+((t*b.Stride>>0))>>0;cl=ah+t>>0;cm=aa+t>>0;cn=ab+t>>0;ah=cl;aa=cm;ab=cn;}};U=function(b){if(b<0){return 0;}if(b>65535){return 65535;}return b;};V=function(b,c,d,e,f){var g,h,i,j,k,l,m,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,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;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);g=AE.nil;h=AF.nil;i=0;j=g;k=h;l=i;m=$assertType(b,Y,true);n=m[0];o=m[1];if(o){j=AE.make(n.Palette.$length);p=n.Palette;q=0;while(q=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]);t=s.RGBA();u=t[0];v=t[1];w=t[2];((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[0]=(u>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[1]=(v>>0);((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r])[2]=(w>>0);q++;}x=$subslice(n.Pix,n.PixOffset(c.Min.X,c.Min.Y));y=n.Stride;k=x;l=y;}z=AE.nil;aa=AE.nil;ab=z;ac=aa;if(f){ab=AE.make((c.Dx()+2>>0));ac=AE.make((c.Dx()+2>>0));}ad=new B.RGBA64.Ptr(0,0,0,65535);ae=0;while(!((ae===c.Dy()))){af=0;while(!((af===c.Dx()))){ag=d.At(e.X+af>>0,e.Y+ae>>0).RGBA();ah=ag[0];ai=ag[1];aj=ag[2];ak=(ah>>0);al=(ai>>0);am=(aj>>0);an=ak;ao=al;ap=am;if(f){an=U(an+(aq=(ar=af+1>>0,((ar<0||ar>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ar]))[0]/16,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero"))>>0);ao=U(ao+(as=(at=af+1>>0,((at<0||at>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+at]))[1]/16,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))>>0);ap=U(ap+(au=(av=af+1>>0,((av<0||av>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+av]))[2]/16,(au===au&&au!==1/0&&au!==-1/0)?au>>0:$throwRuntimeError("integer divide by zero"))>>0);}if(!(j===AE.nil)){aw=0;ax=4294967295;ay=aw;az=ax;ba=j;bb=0;while(bb=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+bb]),AD);be=((an-bd[0]>>0))>>1>>0;bf=(((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0);be=((ao-bd[1]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;be=((ap-bd[2]>>0))>>1>>0;bf=bf+((((((be>>>16<<16)*be>>0)+(be<<16>>>16)*be)>>0)>>>0))>>>0;if(bf>0)+af>>0,(bi<0||bi>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bi]=(ay<<24>>>24));if(!f){af=af+(1)>>0;continue;}an=an-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[0])>>0;ao=ao-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[1])>>0;ap=ap-(((ay<0||ay>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+ay])[2])>>0;}else{ad.R=(an<<16>>>16);ad.G=(ao<<16>>>16);ad.B=(ap<<16>>>16);b.Set(c.Min.X+af>>0,c.Min.Y+ae>>0,ad);if(!f){af=af+(1)>>0;continue;}bj=b.At(c.Min.X+af>>0,c.Min.Y+ae>>0).RGBA();ah=bj[0];ai=bj[1];aj=bj[2];an=an-((ah>>0))>>0;ao=ao-((ai>>0))>>0;ap=ap-((aj>>0))>>0;}bk=(bm=af+0>>0,((bm<0||bm>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bm]));bl=0;(bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl]=((bl<0||bl>=bk.length)?$throwRuntimeError("index out of range"):bk[bl])+(((((an>>>16<<16)*3>>0)+(an<<16>>>16)*3)>>0))>>0;bn=(bp=af+0>>0,((bp<0||bp>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bp]));bo=1;(bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo]=((bo<0||bo>=bn.length)?$throwRuntimeError("index out of range"):bn[bo])+(((((ao>>>16<<16)*3>>0)+(ao<<16>>>16)*3)>>0))>>0;bq=(bs=af+0>>0,((bs<0||bs>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bs]));br=2;(br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br]=((br<0||br>=bq.length)?$throwRuntimeError("index out of range"):bq[br])+(((((ap>>>16<<16)*3>>0)+(ap<<16>>>16)*3)>>0))>>0;bt=(bv=af+1>>0,((bv<0||bv>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+bv]));bu=0;(bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu]=((bu<0||bu>=bt.length)?$throwRuntimeError("index out of range"):bt[bu])+(((((an>>>16<<16)*5>>0)+(an<<16>>>16)*5)>>0))>>0;bw=(by=af+1>>0,((by<0||by>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+by]));bx=1;(bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx]=((bx<0||bx>=bw.length)?$throwRuntimeError("index out of range"):bw[bx])+(((((ao>>>16<<16)*5>>0)+(ao<<16>>>16)*5)>>0))>>0;bz=(cb=af+1>>0,((cb<0||cb>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cb]));ca=2;(ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca]=((ca<0||ca>=bz.length)?$throwRuntimeError("index out of range"):bz[ca])+(((((ap>>>16<<16)*5>>0)+(ap<<16>>>16)*5)>>0))>>0;cc=(ce=af+2>>0,((ce<0||ce>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ce]));cd=0;(cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd]=((cd<0||cd>=cc.length)?$throwRuntimeError("index out of range"):cc[cd])+(((((an>>>16<<16)*1>>0)+(an<<16>>>16)*1)>>0))>>0;cf=(ch=af+2>>0,((ch<0||ch>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ch]));cg=1;(cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg]=((cg<0||cg>=cf.length)?$throwRuntimeError("index out of range"):cf[cg])+(((((ao>>>16<<16)*1>>0)+(ao<<16>>>16)*1)>>0))>>0;ci=(ck=af+2>>0,((ck<0||ck>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ck]));cj=2;(cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj]=((cj<0||cj>=ci.length)?$throwRuntimeError("index out of range"):ci[cj])+(((((ap>>>16<<16)*1>>0)+(ap<<16>>>16)*1)>>0))>>0;cl=(cn=af+2>>0,((cn<0||cn>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cn]));cm=0;(cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm]=((cm<0||cm>=cl.length)?$throwRuntimeError("index out of range"):cl[cm])+(((((an>>>16<<16)*7>>0)+(an<<16>>>16)*7)>>0))>>0;co=(cq=af+2>>0,((cq<0||cq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+cq]));cp=1;(cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp]=((cp<0||cp>=co.length)?$throwRuntimeError("index out of range"):co[cp])+(((((ao>>>16<<16)*7>>0)+(ao<<16>>>16)*7)>>0))>>0;cr=(ct=af+2>>0,((ct<0||ct>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ct]));cs=2;(cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs]=((cs<0||cs>=cr.length)?$throwRuntimeError("index out of range"):cr[cs])+(((((ap>>>16<<16)*7>>0)+(ap<<16>>>16)*7)>>0))>>0;af=af+(1)>>0;}if(f){cu=ac;cv=ab;ab=cu;ac=cv;cw=ac;cx=0;while(cx=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+cy]),AD.zero(),AD);cx++;}}ae=ae+(1)>>0;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}X=$ptrType(A.RGBA);Y=$ptrType(A.Paletted);Z=$ptrType(A.Uniform);AA=$ptrType(A.NRGBA);AB=$ptrType(A.YCbCr);AC=$ptrType(A.Alpha);AD=$arrayType($Int32,3);AE=$sliceType(AD);AF=$sliceType($Uint8);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/internal/graphics"]=(function(){var $pkg={},D,A,B,C,E,F,Q,R,S,T,U,V,W,X,H,K,L,N,G,I,J,M,O,P;D=$packages["errors"];A=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics/internal/shader"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];E=$packages["image"];F=$packages["image/draw"];H=$pkg.Framebuffer=$newType(0,$kindStruct,"graphics.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_,flipY_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flipY=flipY_!==undefined?flipY_:false;});K=$pkg.Matrix=$newType(8,$kindInterface,"graphics.Matrix","Matrix","github.com/hajimehoshi/ebiten/internal/graphics",null);L=$pkg.TextureQuads=$newType(8,$kindInterface,"graphics.TextureQuads","TextureQuads","github.com/hajimehoshi/ebiten/internal/graphics",null);N=$pkg.Texture=$newType(0,$kindStruct,"graphics.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_){this.$val=this;this.native$0=native$0_!==undefined?native$0_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});G=function(a,b,c,d){var e,f,g,h;e=2/(b-a>>0);f=2/(d-c>>0);g=-1*(b+a>>0)/(b-a>>0);h=-1*(d+c>>0)/(d-c>>0);return $toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,0,0,g]),$toNativeArray($kindFloat64,[0,f,0,h]),$toNativeArray($kindFloat64,[0,0,1,0]),$toNativeArray($kindFloat64,[0,0,0,1])]);};I=$pkg.NewZeroFramebuffer=function(a,b,c){var d;d=new H.Ptr($ifaceNil,b,c,true);return[d,$ifaceNil];};J=$pkg.NewFramebufferFromTexture=function(a,b){var c,d,e,f,g,h;c=a.NewFramebuffer(b.native$0);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[R.nil,e];}f=b.Size();g=f[0];h=f[1];return[new H.Ptr(d,g,h,false),$ifaceNil];};H.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};H.prototype.Size=function(){return this.$val.Size();};H.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteFramebuffer(b.native$0);};H.prototype.Dispose=function(a){return this.$val.Dispose(a);};H.Ptr.prototype.setAsViewport=function(a){var b,c,d;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);return a.SetViewport(b.native$0,c,d);};H.prototype.setAsViewport=function(a){return this.$val.setAsViewport(a);};H.Ptr.prototype.projectionMatrix=function(){var a,b,c,d,e,f,g,h;a=this;b=A.NextPowerOf2Int(a.width);c=A.NextPowerOf2Int(a.height);d=G(0,b,0,c);if(a.flipY){e=(d.nilCheck,d[1]);f=1;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(-1);g=(d.nilCheck,d[1]);h=3;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])+(a.height/A.NextPowerOf2Int(a.height)*2);}return d;};H.prototype.projectionMatrix=function(){return this.$val.projectionMatrix();};H.Ptr.prototype.Fill=function(a,b,c,d,e){var f,g;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return a.FillFramebuffer(f.native$0,b,c,d,e);};H.prototype.Fill=function(a,b,c,d,e){return this.$val.Fill(a,b,c,d,e);};H.Ptr.prototype.DrawTexture=function(a,b,c,d,e){var f,g,h;f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=f.projectionMatrix();return B.DrawTexture(a,b.native$0,h,c,d,e);};H.prototype.DrawTexture=function(a,b,c,d,e){return this.$val.DrawTexture(a,b,c,d,e);};M=function(a){var b,c,d,e,f,g,h,i,j,k;b=a.Bounds().Size().X;c=a.Bounds().Size().Y;d=b;e=c;f=new E.Rectangle.Ptr($clone(E.ZP,E.Point),new E.Point.Ptr(A.NextPowerOf2Int(d),A.NextPowerOf2Int(e)));g=$assertType(a,S,true);h=g[0];i=g[1];if(i&&$equal(a.Bounds(),f,E.Rectangle)){return h;}j=E.NewRGBA(f);k=new E.Rectangle.Ptr($clone(E.ZP,E.Point),$clone(a.Bounds().Size(),E.Point));F.Draw(j,k,a,E.ZP,1);return j;};N.Ptr.prototype.Size=function(){var a=0,b=0,c,d,e;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};N.prototype.Size=function(){return this.$val.Size();};O=$pkg.NewTexture=function(a,b,c,d){var e,f,g,h,i;e=A.NextPowerOf2Int(b);f=A.NextPowerOf2Int(c);if(e<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(f<4){return[T.nil,D.New("height must be equal or more than 4.")];}g=a.NewTexture(e,f,U.nil,d);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,b,c),$ifaceNil];};P=$pkg.NewTextureFromImage=function(a,b,c){var d,e,f,g,h,i;d=$clone(b.Bounds().Size(),E.Point);if(d.X<4){return[T.nil,D.New("width must be equal or more than 4.")];}if(d.Y<4){return[T.nil,D.New("height must be equal or more than 4.")];}e=M(b);f=$clone(e.Bounds().Size(),E.Point);g=a.NewTexture(f.X,f.Y,e.Pix,c);h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[T.nil,i];}return[new N.Ptr(h,d.X,d.Y),$ifaceNil];};N.Ptr.prototype.Dispose=function(a){var b;b=this;a.DeleteTexture(b.native$0);};N.prototype.Dispose=function(a){return this.$val.Dispose(a);};N.Ptr.prototype.Pixels=function(a){var b,c,d,e,f;b=this;c=A.NextPowerOf2Int(b.width);d=A.NextPowerOf2Int(b.height);e=c;f=d;return a.TexturePixels(b.native$0,e,f);};N.prototype.Pixels=function(a){return this.$val.Pixels(a);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Q=$arrayType($Float64,4);R=$ptrType(H);S=$ptrType(E.RGBA);T=$ptrType(N);U=$sliceType($Uint8);V=$ptrType(C.Context);W=$arrayType(Q,4);X=$ptrType(W);R.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["DrawTexture","DrawTexture","",$funcType([V,T,L,K,K],[$error],false),-1],["Fill","Fill","",$funcType([V,$Float64,$Float64,$Float64,$Float64],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["projectionMatrix","projectionMatrix","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([],[X],false),-1],["setAsViewport","setAsViewport","github.com/hajimehoshi/ebiten/internal/graphics",$funcType([V],[$error],false),-1]];H.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Framebuffer,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["flipY","flipY","github.com/hajimehoshi/ebiten/internal/graphics",$Bool,""]]);K.init([["Element","Element","",$funcType([$Int,$Int],[$Float64],false)]]);L.init([["Len","Len","",$funcType([],[$Int],false)],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false)]]);T.methods=[["Dispose","Dispose","",$funcType([V],[],false),-1],["Pixels","Pixels","",$funcType([V],[U,$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1]];N.init([["native$0","native","github.com/hajimehoshi/ebiten/internal/graphics",C.Texture,""],["width","width","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""],["height","height","github.com/hajimehoshi/ebiten/internal/graphics",$Int,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,E,W,X,Y,Z,AA,AB,AC,AD,K,L,M,F,G,N,O,a,b,P,Q,R,S,T,U,V;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$packages["time"];K=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);M=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AB.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AC.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});M.Ptr.prototype.keyDown=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=true);};M.prototype.keyDown=function(c){return this.$val.keyDown(c);};M.Ptr.prototype.keyUp=function(c){var d,e,f,g;d=this;f=(e=F[c],e!==undefined?e.v:0);(g=d.keyPressed,(f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]=false);};M.prototype.keyUp=function(c){return this.$val.keyUp(c);};P=$pkg.Use=function(c){c(O);};Q=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=E.Sleep(new E.Duration(0,0),$BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.Terminate=function(){};S=$pkg.IsClosed=function(){return false;};T=$pkg.SwapBuffers=function(){};U=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new Y(0);$global.window.onload=$externalize((function(){$close(c);}),Z);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;N=e.createElement($externalize("canvas",$String));N.width=16;N.height=16;e.body.appendChild(N);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);h=N.style;h.position=$externalize("absolute",$String);i=B.NewContext(N,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}O=C.NewContext(j);N.setAttribute($externalize("tabindex",$String),1);N.style.outline=$externalize("none",$String);N.onkeydown=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyDown(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);N.onkeyup=$externalize((function(l){var $deferred=[],$err=null,m,n;try{$deferFrames.push($deferred);$deferred.push([function(m){l[$externalize(m,$String)]();},["preventDefault"]]);n=$parseInt(l.keyCode)>>0;G.keyUp(n);}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AA);case-1:}return;}};$f.$blocking=true;return $f;};V=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n;i=$global.document;i.title=$externalize(f,$String);N.width=c*e>>0;N.height=d*e>>0;j=N.style;j.left=$externalize("calc(50% - "+D.Itoa((k=(c*e>>0)/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((l=(d*e>>0)/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);m=e;n=$ifaceNil;g=m;h=n;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}W=$ptrType(C.Context);X=$structType([]);Y=$chanType(X,false,false);Z=$funcType([],[],false);AA=$funcType([A.Object],[],false);AB=$arrayType($Bool,5);AC=$arrayType($Bool,3);AD=$ptrType(M);AD.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([K],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];M.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AB,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AC,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);G=new M.Ptr();N=null;O=W.nil;F=(a=new $Map(),b=32,a[b]={k:b,v:4},b=37,a[b]={k:b,v:2},b=39,a[b]={k:b,v:3},b=38,a[b]={k:b,v:0},b=40,a[b]={k:b,v:1},a);$r=U($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,B,C,D,E,G,A,H,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,M,W,AD,AE,AG,AH,AK,AL,AM,AN,AO,K,L,V,Z,AB,AC,AF,AI,AJ,AR;F=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];G=$packages["image/color"];A=$packages["math"];H=$packages["time"];M=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AT.zero();});W=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AZ.zero();});AD=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BB.nil;this.screen=screen_!==undefined?screen_:AU.nil;this.defaultR=defaultR_!==undefined?defaultR_:AU.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AE=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BG.nil;this.texture=texture_!==undefined?texture_:AV.nil;});AG=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AH=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AK=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AU.nil;this.pixels=pixels_!==undefined?pixels_:AX.nil;});AM=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AN=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AO=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new W.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new M.Ptr();this.Parts=Parts_!==undefined?Parts_:BC.nil;});K=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};L=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};M.Ptr.prototype.dim=function(){var a;a=this;return 5;};M.prototype.dim=function(){return this.$val.dim();};M.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};M.prototype.initialize=function(){return this.$val.initialize();};M.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};M.prototype.Element=function(a,b){return this.$val.Element(a,b);};M.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());L(a,b,c);$copy(b,c,M);};M.prototype.Concat=function(a){return this.$val.Concat(a);};M.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,M);if(!b.initialized){b.initialize();}c=new M.Ptr(false,AT.zero());K(a,b,c);$copy(b,c,M);};M.prototype.Add=function(a){return this.$val.Add(a);};M.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};M.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};M.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};M.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};M.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};M.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};V=$pkg.NewImageFromImage=function(a,b){var c,d;c=AU.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AV.nil;g=B.NewTextureFromImage(e,a,AB(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AF(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AW.nil,d];}return[new AL.Ptr(c,AX.nil),$ifaceNil];};W.Ptr.prototype.dim=function(){var a;a=this;return 3;};W.prototype.dim=function(){return this.$val.dim();};W.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};W.prototype.initialize=function(){return this.$val.initialize();};W.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};W.prototype.Element=function(a,b){return this.$val.Element(a,b);};W.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());L(a,b,c);$copy(b,c,W);};W.prototype.Concat=function(a){return this.$val.Concat(a);};W.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,W);if(!b.initialized){b.initialize();}c=new W.Ptr(false,AZ.zero());K(a,b,c);$copy(b,c,W);};W.prototype.Add=function(a){return this.$val.Add(a);};W.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};W.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};W.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};W.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};W.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(Z(a));};W.prototype.Rotate=function(a){return this.$val.Rotate(a);};W.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};W.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};Z=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new W.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AB=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AC=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}j=AF(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BA.nil,g];}return[new AD.Ptr(a,k,new AE.Ptr(f,AV.nil),d),$ifaceNil];};AD.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AD.prototype.preUpdate=function(){return this.$val.preUpdate();};AD.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AD.prototype.postUpdate=function(){return this.$val.postUpdate();};AF=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AU.nil,e];}return[new AE.Ptr(d,b),$ifaceNil];};AE.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AE.prototype.size=function(){return this.$val.size();};AE.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=G.Transparent,new c.constructor.Struct(c)));};AE.prototype.Clear=function(a){return this.$val.Clear(a);};AE.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=F.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AE.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AG.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AG).prototype.Len=function(){return this.$get().Len();};AG.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Dst=function(a){return this.$get().Dst(a);};AG.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AG).prototype.Src=function(a){return this.$get().Src(a);};AH.Ptr.prototype.Len=function(){var a;a=this;return 1;};AH.prototype.Len=function(){return this.$val.Len();};AH.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Dst=function(a){return this.$val.Dst(a);};AH.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AH.prototype.Src=function(a){return this.$val.Src(a);};AE.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BD.nil){c=new AO.Ptr($ifaceNil,new W.Ptr(),new M.Ptr(),BC.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BC.nil)){e=$subslice(new AG(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AH.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AK.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AE.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AI=function(a,b){return a/F.NextPowerOf2Int(b);};AJ=function(a,b){return a/F.NextPowerOf2Int(b);};AK.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AK.prototype.Len=function(){return this.$val.Len();};AK.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AK.prototype.Vertex=function(a){return this.$val.Vertex(a);};AK.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AI(h,n);q=AJ(i,o);r=AI(j,n);s=AJ(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AK.prototype.Texture=function(a){return this.$val.Texture(a);};AL.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AL.prototype.Size=function(){return this.$val.Size();};AL.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AX.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AL.prototype.Clear=function(){return this.$val.Clear();};AL.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AX.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AL.prototype.Fill=function(a){return this.$val.Fill(a);};AL.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;c=d.drawImage(a.inner,b);return c;};AL.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AL.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AX.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AL.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AL.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.Ptr.prototype.ColorModel=function(){var a;a=this;return G.RGBAModel;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AX.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=F.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new G.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AL.prototype.At=function(a,b){return this.$val.At(a,b);};AR=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BA.nil;D.Use((function(j){var k;k=AC(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}case 1:if(!(true)){$s=2;continue;}j=H.After(new H.Duration(0,8333333));$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(k){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}k=a(new AL.Ptr(i.screen,AX.nil));if(!($interfaceIsEqual(k,$ifaceNil))){return k;}D.Use((function(l){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=$recv(j,$BLOCKING);$s=4;case 4:if(l&&l.$blocking){l=l();}l[0];$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}AS=$arrayType($Float64,5);AT=$arrayType(AS,4);AU=$ptrType(AE);AV=$ptrType(B.Texture);AW=$ptrType(AL);AX=$sliceType($Uint8);AY=$arrayType($Float64,3);AZ=$arrayType(AY,2);BA=$ptrType(AD);BB=$ptrType(C.Context);BC=$sliceType(AM);BD=$ptrType(AO);BE=$ptrType(M);BF=$ptrType(W);BG=$ptrType(B.Framebuffer);BH=$ptrType(AG);BI=$ptrType(AH);BJ=$ptrType(AK);BE.methods=[["Add","Add","",$funcType([M],[],false),-1],["Concat","Concat","",$funcType([M],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];M.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AT,""]]);BF.methods=[["Add","Add","",$funcType([W],[],false),-1],["Concat","Concat","",$funcType([W],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];W.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AZ,""]]);BA.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AD.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BB,""],["screen","screen","github.com/hajimehoshi/ebiten",AU,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AU,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AU.methods=[["Clear","Clear","",$funcType([BB],[$error],false),-1],["Fill","Fill","",$funcType([BB,G.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BB,AU,BD],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AE.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BG,""],["texture","texture","github.com/hajimehoshi/ebiten",AV,""]]);AG.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AG.init(AM);BI.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BJ.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AK.init([["parts","parts","github.com/hajimehoshi/ebiten",AN,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["At","At","",$funcType([$Int,$Int],[G.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[G.Model],false),-1],["DrawImage","DrawImage","",$funcType([AW,BD],[$error],false),-1],["Fill","Fill","",$funcType([G.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AU,BD],[$error],false),-1]];AL.init([["inner","inner","github.com/hajimehoshi/ebiten",AU,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AX,""]]);AM.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AN.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AO.init([["ImageParts","ImageParts","",AN,""],["GeoM","GeoM","",W,""],["ColorM","ColorM","",M,""],["Parts","Parts","",BC,""]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},A,B,C,D,Y,Z,AA,AB,AC,AD,AE,AF,E,J,L,F,K,M,N,a,b,O,P,Q,R,S,T,U,V,W,X;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/gopherjs/webgl"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["strconv"];E=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_){this.$val=this;this.keyPressed=keyPressed_!==undefined?keyPressed_:AE.zero();this.mouseButtonPressed=mouseButtonPressed_!==undefined?mouseButtonPressed_:AE.zero();this.cursorX=cursorX_!==undefined?cursorX_:0;this.cursorY=cursorY_!==undefined?cursorY_:0;});J=$pkg.Key=$newType(4,$kindInt,"ui.Key","Key","github.com/hajimehoshi/ebiten/internal/ui",null);L=$pkg.MouseButton=$newType(4,$kindInt,"ui.MouseButton","MouseButton","github.com/hajimehoshi/ebiten/internal/ui",null);E.Ptr.prototype.keyDown=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=true);};E.prototype.keyDown=function(c){return this.$val.keyDown(c);};E.Ptr.prototype.keyUp=function(c){var d,e,f,g,h,i;d=this;e=(f=K[c],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(!h){return;}(i=d.keyPressed,(g<0||g>=i.length)?$throwRuntimeError("index out of range"):i[g]=false);};E.prototype.keyUp=function(c){return this.$val.keyUp(c);};E.Ptr.prototype.mouseDown=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=true;}else if(f===1){e.nilCheck,e[2]=true;}else if(f===2){e.nilCheck,e[1]=true;}};E.prototype.mouseDown=function(c){return this.$val.mouseDown(c);};E.Ptr.prototype.mouseUp=function(c){var d,e,f;d=this;e=d.mouseButtonPressed;f=c;if(f===0){e.nilCheck,e[0]=false;}else if(f===1){e.nilCheck,e[2]=false;}else if(f===2){e.nilCheck,e[1]=false;}};E.prototype.mouseUp=function(c){return this.$val.mouseUp(c);};E.Ptr.prototype.mouseMove=function(c,d){var e,f,g;e=this;f=c;g=d;e.cursorX=f;e.cursorY=g;};E.prototype.mouseMove=function(c,d){return this.$val.mouseMove(c,d);};O=function(){return!!!($global.document.hidden);};P=$pkg.Use=function(c){c(N);};Q=function($b){var $this=this,$args=arguments,$r,$s=0,c,d;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.requestAnimationFrame($externalize((function(){$close(c);}),AB));d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];case-1:}return;}};$f.$blocking=true;return $f;};R=$pkg.DoEvents=function($b){var $this=this,$args=arguments,$r,$s=0;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:$r=Q($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}case 2:if(!(!O())){$s=3;continue;}$r=Q($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$s=2;continue;case 3:case-1:}return;}};$f.$blocking=true;return $f;};S=$pkg.Terminate=function(){};T=$pkg.IsClosed=function(){return false;};U=$pkg.SwapBuffers=function(){};V=function($b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=new AA(0);$global.window.onload=$externalize((function(){$close(c);}),AB);d=$recv(c,$BLOCKING);$s=1;case 1:if(d&&d.$blocking){d=d();}d[0];e=$global.document;e.onkeydown=$externalize((function(f){var g;g=$parseInt(f.keyCode)>>0;if(g===8){return false;}if(112<=g&&g<=123){return false;}if((g===37)&&(g===39)){return false;}return true;}),AC);M=e.createElement($externalize("canvas",$String));M.width=16;M.height=16;e.body.appendChild(M);f=e.documentElement.style;f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);g=e.body.style;g.backgroundColor=$externalize("#000",$String);g.position=$externalize("relative",$String);g.height=$externalize("100%",$String);g.margin=$externalize("0",$String);g.padding=$externalize("0",$String);e.body.onclick=$externalize((function(){M.focus();}),AB);h=M.style;h.position=$externalize("absolute",$String);i=B.NewContext(M,new B.ContextAttributes.Ptr(true,false,false,false,true,false));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$panic(k);}N=C.NewContext(j);M.setAttribute($externalize("tabindex",$String),1);M.style.outline=$externalize("none",$String);M.onkeydown=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyDown(m);return false;}),AC);M.onkeyup=$externalize((function(l){var m;m=$parseInt(l.keyCode)>>0;F.keyUp(m);return false;}),AC);M.onmousedown=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseDown(m);return false;}),AC);M.onmouseup=$externalize((function(l){var m;m=$parseInt(l.button)>>0;F.mouseUp(m);return false;}),AC);M.oncontextmenu=$externalize((function(l){return false;}),AC);case-1:}return;}};$f.$blocking=true;return $f;};W=function(){var c;c=$parseInt($global.window.devicePixelRatio)>>0;if(c===0){c=1;}return c;};X=$pkg.Start=function(c,d,e,f){var g=0,h=$ifaceNil,i,j,k,l,m,n,o,p;i=$global.document;i.title=$externalize(f,$String);g=e*W()>>0;M.width=c*g>>0;M.height=d*g>>0;j=M.style;k=c*e>>0;l=d*e>>0;j.width=$externalize(D.Itoa(k)+"px",$String);j.height=$externalize(D.Itoa(l)+"px",$String);j.left=$externalize("calc(50% - "+D.Itoa((m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);j.top=$externalize("calc(50% - "+D.Itoa((n=l/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")))+"px)",$String);M.onmousemove=$externalize((function(o){var p,q,r,s,t,u,v;p=M.getBoundingClientRect();q=$parseInt(o.clientX)>>0;r=$parseInt(o.clientY)>>0;s=q;t=r;s=s-(($parseInt(p.left)>>0))>>0;t=t-(($parseInt(p.top)>>0))>>0;F.mouseMove((u=s/e,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero")),(v=t/e,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero")));}),AD);M.focus();o=g;p=$ifaceNil;g=o;h=p;return[g,h];};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(C.Context);Z=$structType([]);AA=$chanType(Z,false,false);AB=$funcType([],[],false);AC=$funcType([A.Object],[$Bool],false);AD=$funcType([A.Object],[],false);AE=$arrayType($Bool,256);AF=$ptrType(E);AF.methods=[["cursorPosition","cursorPosition","github.com/hajimehoshi/ebiten/internal/ui",$funcType([],[$Int,$Int],false),-1],["isKeyPressed","isKeyPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([J],[$Bool],false),-1],["isMouseButtonPressed","isMouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",$funcType([L],[$Bool],false),-1],["keyDown","keyDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["keyUp","keyUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseDown","mouseDown","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1],["mouseMove","mouseMove","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int,$Int],[],false),-1],["mouseUp","mouseUp","github.com/hajimehoshi/ebiten/internal/ui",$funcType([$Int],[],false),-1]];E.init([["keyPressed","keyPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["mouseButtonPressed","mouseButtonPressed","github.com/hajimehoshi/ebiten/internal/ui",AE,""],["cursorX","cursorX","github.com/hajimehoshi/ebiten/internal/ui",$Int,""],["cursorY","cursorY","github.com/hajimehoshi/ebiten/internal/ui",$Int,""]]);F=new E.Ptr();M=null;N=Y.nil;K=(a=new $Map(),b=8,a[b]={k:b,v:37},b=9,a[b]={k:b,v:67},b=13,a[b]={k:b,v:44},b=16,a[b]={k:b,v:65},b=17,a[b]={k:b,v:40},b=18,a[b]={k:b,v:36},b=20,a[b]={k:b,v:38},b=27,a[b]={k:b,v:45},b=32,a[b]={k:b,v:66},b=33,a[b]={k:b,v:62},b=34,a[b]={k:b,v:61},b=35,a[b]={k:b,v:43},b=36,a[b]={k:b,v:58},b=37,a[b]={k:b,v:60},b=38,a[b]={k:b,v:68},b=39,a[b]={k:b,v:64},b=40,a[b]={k:b,v:42},b=45,a[b]={k:b,v:59},b=46,a[b]={k:b,v:41},b=48,a[b]={k:b,v:0},b=49,a[b]={k:b,v:1},b=50,a[b]={k:b,v:2},b=51,a[b]={k:b,v:3},b=52,a[b]={k:b,v:4},b=53,a[b]={k:b,v:5},b=54,a[b]={k:b,v:6},b=55,a[b]={k:b,v:7},b=56,a[b]={k:b,v:8},b=57,a[b]={k:b,v:9},b=65,a[b]={k:b,v:10},b=66,a[b]={k:b,v:11},b=67,a[b]={k:b,v:12},b=68,a[b]={k:b,v:13},b=69,a[b]={k:b,v:14},b=70,a[b]={k:b,v:15},b=71,a[b]={k:b,v:16},b=72,a[b]={k:b,v:17},b=73,a[b]={k:b,v:18},b=74,a[b]={k:b,v:19},b=75,a[b]={k:b,v:20},b=76,a[b]={k:b,v:21},b=77,a[b]={k:b,v:22},b=78,a[b]={k:b,v:23},b=79,a[b]={k:b,v:24},b=80,a[b]={k:b,v:25},b=81,a[b]={k:b,v:26},b=82,a[b]={k:b,v:27},b=83,a[b]={k:b,v:28},b=84,a[b]={k:b,v:29},b=85,a[b]={k:b,v:30},b=86,a[b]={k:b,v:31},b=87,a[b]={k:b,v:32},b=88,a[b]={k:b,v:33},b=89,a[b]={k:b,v:34},b=90,a[b]={k:b,v:35},b=112,a[b]={k:b,v:46},b=113,a[b]={k:b,v:47},b=114,a[b]={k:b,v:48},b=115,a[b]={k:b,v:49},b=116,a[b]={k:b,v:50},b=117,a[b]={k:b,v:51},b=118,a[b]={k:b,v:52},b=119,a[b]={k:b,v:53},b=120,a[b]={k:b,v:54},b=121,a[b]={k:b,v:55},b=122,a[b]={k:b,v:56},b=123,a[b]={k:b,v:57},b=188,a[b]={k:b,v:39},b=190,a[b]={k:b,v:63},a);$r=V($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},F,G,B,C,D,E,H,A,I,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,N,X,AE,AF,AH,AI,AL,AM,AN,AO,AP,AS,L,M,W,AA,AC,AD,AG,AJ,AK,AT;F=$packages["errors"];G=$packages["github.com/hajimehoshi/ebiten/internal"];B=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/opengl"];D=$packages["github.com/hajimehoshi/ebiten/internal/ui"];E=$packages["image"];H=$packages["image/color"];A=$packages["math"];I=$packages["time"];N=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:AV.zero();});X=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;this.initialized=initialized_!==undefined?initialized_:false;this.es=es_!==undefined?es_:BB.zero();});AE=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(glContext_,screen_,defaultR_,screenScale_){this.$val=this;this.glContext=glContext_!==undefined?glContext_:BD.nil;this.screen=screen_!==undefined?screen_:AW.nil;this.defaultR=defaultR_!==undefined?defaultR_:AW.nil;this.screenScale=screenScale_!==undefined?screenScale_:0;});AF=$pkg.innerImage=$newType(0,$kindStruct,"ebiten.innerImage","innerImage","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_){this.$val=this;this.framebuffer=framebuffer_!==undefined?framebuffer_:BI.nil;this.texture=texture_!==undefined?texture_:AX.nil;});AH=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AI=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AL=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;this.parts=parts_!==undefined?parts_:$ifaceNil;this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;});AM=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(inner_,pixels_){this.$val=this;this.inner=inner_!==undefined?inner_:AW.nil;this.pixels=pixels_!==undefined?pixels_:AZ.nil;});AN=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;this.Dst=Dst_!==undefined?Dst_:new E.Rectangle.Ptr();this.Src=Src_!==undefined?Src_:new E.Rectangle.Ptr();});AO=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AP=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;this.ImageParts=ImageParts_!==undefined?ImageParts_:$ifaceNil;this.GeoM=GeoM_!==undefined?GeoM_:new X.Ptr();this.ColorM=ColorM_!==undefined?ColorM_:new N.Ptr();this.Parts=Parts_!==undefined?Parts_:BE.nil;});L=function(a,b,c){var d,e,f,g;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0;}e=e+(1)>>0;}};M=function(a,b,c){var d,e,f,g,h;d=a.dim();if(!((d===b.dim()))){$panic(new $String("diffrent-sized matrices can't be multiplied"));}e=0;while(e<(d-1>>0)){f=0;while(f>0)){g=g+(a.Element(e,h)*b.Element(h,f));h=h+(1)>>0;}if(f===(d-1>>0)){g=g+(a.Element(e,f));}c.SetElement(e,f,g);f=f+(1)>>0;}e=e+(1)>>0;}};N.Ptr.prototype.dim=function(){var a;a=this;return 5;};N.prototype.dim=function(){return this.$val.dim();};N.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};N.prototype.initialize=function(){return this.$val.initialize();};N.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};N.prototype.Element=function(a,b){return this.$val.Element(a,b);};N.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());M(a,b,c);$copy(b,c,N);};N.prototype.Concat=function(a){return this.$val.Concat(a);};N.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,N);if(!b.initialized){b.initialize();}c=new N.Ptr(false,AV.zero());L(a,b,c);$copy(b,c,N);};N.prototype.Add=function(a){return this.$val.Add(a);};N.Ptr.prototype.Scale=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(f<5){g=e.es[0];h=f;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(a);i=e.es[1];j=f;(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j])*(b);k=e.es[2];l=f;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])*(c);m=e.es[3];n=f;(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n])*(d);f=f+(1)>>0;}};N.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};N.Ptr.prototype.Translate=function(a,b,c,d){var e,f,g,h,i,j,k,l,m;e=this;if(!e.initialized){e.initialize();}f=e.es[0];g=4;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(a);h=e.es[1];i=4;(i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])+(b);j=e.es[2];k=4;(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])+(c);l=e.es[3];m=4;(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])+(d);};N.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};N.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};N.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};W=$pkg.NewImageFromImage=function(a,b){var c,d;c=AW.nil;d=$ifaceNil;D.Use((function(e){var f,g,h;f=AX.nil;g=B.NewTextureFromImage(e,a,AC(e,b));f=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){return;}h=AG(e,f);c=h[0];d=h[1];}));if(!($interfaceIsEqual(d,$ifaceNil))){return[AY.nil,d];}return[new AM.Ptr(c,AZ.nil),$ifaceNil];};X.Ptr.prototype.dim=function(){var a;a=this;return 3;};X.prototype.dim=function(){return this.$val.dim();};X.Ptr.prototype.initialize=function(){var a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};X.prototype.initialize=function(){return this.$val.initialize();};X.Ptr.prototype.Element=function(a,b){var c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};X.prototype.Element=function(a,b){return this.$val.Element(a,b);};X.Ptr.prototype.Concat=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());M(a,b,c);$copy(b,c,X);};X.prototype.Concat=function(a){return this.$val.Concat(a);};X.Ptr.prototype.Add=function(a){var b,c;b=this;a=$clone(a,X);if(!b.initialized){b.initialize();}c=new X.Ptr(false,BB.zero());L(a,b,c);$copy(b,c,X);};X.prototype.Add=function(a){return this.$val.Add(a);};X.Ptr.prototype.Scale=function(a,b){var c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(d<3){e=c.es[0];f=d;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f])*(a);g=c.es[1];h=d;(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h])*(b);d=d+(1)>>0;}};X.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};X.Ptr.prototype.Translate=function(a,b){var c,d,e,f,g;c=this;if(!c.initialized){c.initialize();}d=c.es[0];e=2;(e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e])+(a);f=c.es[1];g=2;(g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])+(b);};X.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};X.Ptr.prototype.Rotate=function(a){var b;b=this;b.Concat(AA(a));};X.prototype.Rotate=function(a){return this.$val.Rotate(a);};X.Ptr.prototype.SetElement=function(a,b,c){var d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),(b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c);};X.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};AA=$pkg.RotateGeo=function(a){var b,c,d;b=A.Sincos(a);c=b[0];d=b[1];return new X.Ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[d,-c,0]),$toNativeArray($kindFloat64,[c,d,0])]));};AC=function(a,b){var c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AD=function(a,b,c,d){var e,f,g,h,i,j,k;e=B.NewZeroFramebuffer(a,b*d>>0,c*d>>0);f=e[0];g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}h=B.NewTexture(a,b,c,a.Nearest);i=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}j=AG(a,i);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[BC.nil,g];}return[new AE.Ptr(a,k,new AF.Ptr(f,AX.nil),d),$ifaceNil];};AE.Ptr.prototype.preUpdate=function(){var a;a=this;return a.screen.Clear(a.glContext);};AE.prototype.preUpdate=function(){return this.$val.preUpdate();};AE.Ptr.prototype.postUpdate=function(){var a,b,c,d,e;a=this;b=a.defaultR.Clear(a.glContext);if(!($interfaceIsEqual(b,$ifaceNil))){return b;}c=a.screenScale;d=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);d.GeoM.Scale(c,c);e=a.defaultR.drawImage(a.glContext,a.screen,d);if(!($interfaceIsEqual(e,$ifaceNil))){return e;}return $ifaceNil;};AE.prototype.postUpdate=function(){return this.$val.postUpdate();};AG=function(a,b){var c,d,e;c=B.NewFramebufferFromTexture(a,b);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[AW.nil,e];}return[new AF.Ptr(d,b),$ifaceNil];};AF.Ptr.prototype.size=function(){var a=0,b=0,c,d;c=this;d=c.framebuffer.Size();a=d[0];b=d[1];return[a,b];};AF.prototype.size=function(){return this.$val.size();};AF.Ptr.prototype.Clear=function(a){var b,c;b=this;return b.Fill(a,(c=H.Transparent,new c.constructor.Struct(c)));};AF.prototype.Clear=function(a){return this.$val.Clear(a);};AF.Ptr.prototype.Fill=function(a,b){var c,d,e,f,g,h;c=this;d=G.RGBA(b);e=d[0];f=d[1];g=d[2];h=d[3];return c.framebuffer.Fill(a,e,f,g,h);};AF.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};AH.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AH).prototype.Len=function(){return this.$get().Len();};AH.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Dst=function(a){return this.$get().Dst(a);};AH.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AH).prototype.Src=function(a){return this.$get().Src(a);};AI.Ptr.prototype.Len=function(){var a;a=this;return 1;};AI.prototype.Len=function(){return this.$val.Len();};AI.Ptr.prototype.Dst=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Dst=function(a){return this.$val.Dst(a);};AI.Ptr.prototype.Src=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AI.prototype.Src=function(a){return this.$val.Src(a);};AF.Ptr.prototype.drawImage=function(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=this;if(c===BF.nil){c=new AP.Ptr($ifaceNil,new X.Ptr(),new N.Ptr(),BE.nil);}e=c.ImageParts;if($interfaceIsEqual(e,$ifaceNil)){f=c.Parts;if(!(f===BE.nil)){e=$subslice(new AH(f.$array),f.$offset,f.$offset+f.$length);}else{g=b.size();h=g[0];i=g[1];e=new AI.Ptr(h,i);}}j=b.size();k=j[0];l=j[1];m=new AL.Ptr(e,k,l);return d.framebuffer.DrawTexture(a,b.texture,m,c.GeoM,c.ColorM);};AF.prototype.drawImage=function(a,b,c){return this.$val.drawImage(a,b,c);};AJ=function(a,b){return a/G.NextPowerOf2Int(b);};AK=function(a,b){return a/G.NextPowerOf2Int(b);};AL.Ptr.prototype.Len=function(){var a;a=this;return a.parts.Len();};AL.prototype.Len=function(){return this.$val.Len();};AL.Ptr.prototype.Vertex=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o;f=this;g=f.parts.Dst(a);h=g[0];i=g[1];j=g[2];k=g[3];l=h;m=i;n=j;o=k;b=l;c=m;d=n;e=o;return[b,c,d,e];};AL.prototype.Vertex=function(a){return this.$val.Vertex(a);};AL.Ptr.prototype.Texture=function(a){var b=0,c=0,d=0,e=0,f,g,h,i,j,k,l,m,n,o,p,q,r,s;f=this;g=f.parts.Src(a);h=g[0];i=g[1];j=g[2];k=g[3];l=f.width;m=f.height;n=l;o=m;p=AJ(h,n);q=AK(i,o);r=AJ(j,n);s=AK(k,o);b=p;c=q;d=r;e=s;return[b,c,d,e];};AL.prototype.Texture=function(a){return this.$val.Texture(a);};AM.Ptr.prototype.Size=function(){var a=0,b=0,c,d;c=this;d=c.inner.size();a=d[0];b=d[1];return[a,b];};AM.prototype.Size=function(){return this.$val.Size();};AM.Ptr.prototype.Clear=function(){var a=$ifaceNil,b;b=this;b.pixels=AZ.nil;D.Use((function(c){a=b.inner.Clear(c);}));return a;};AM.prototype.Clear=function(){return this.$val.Clear();};AM.Ptr.prototype.Fill=function(a){var b=$ifaceNil,c;c=this;c.pixels=AZ.nil;D.Use((function(d){b=c.inner.Fill(d,a);}));return b;};AM.prototype.Fill=function(a){return this.$val.Fill(a);};AM.Ptr.prototype.DrawImage=function(a,b){var c=$ifaceNil,d;d=this;if(d===a){c=F.New("Image.DrawImage: image should be different from the receiver");return c;}c=d.drawImage(a.inner,b);return c;};AM.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AM.Ptr.prototype.drawImage=function(a,b){var c=$ifaceNil,d;d=this;d.pixels=AZ.nil;D.Use((function(e){c=d.inner.drawImage(e,a,b);}));return c;};AM.prototype.drawImage=function(a,b){return this.$val.drawImage(a,b);};AM.Ptr.prototype.Bounds=function(){var a,b,c,d;a=this;b=a.inner.size();c=b[0];d=b[1];return E.Rect(0,0,c,d);};AM.prototype.Bounds=function(){return this.$val.Bounds();};AM.Ptr.prototype.ColorModel=function(){var a;a=this;return H.RGBAModel;};AM.prototype.ColorModel=function(){return this.$val.ColorModel();};AM.Ptr.prototype.At=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=this;if(c.pixels===AZ.nil){D.Use((function(d){var e,f;e=$ifaceNil;f=c.inner.texture.Pixels(d);c.pixels=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}}));}d=c.inner.size();e=d[0];e=G.NextPowerOf2Int(e);f=(4*a>>0)+((4*b>>0)*e>>0)>>0;g=(h=c.pixels,((f<0||f>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+f]));i=(j=c.pixels,k=f+1>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));l=(m=c.pixels,n=f+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]));o=(p=c.pixels,q=f+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]));r=g;s=i;t=l;u=o;return(v=new H.RGBA.Ptr(r,s,t,u),new v.constructor.Struct(v));};AM.prototype.At=function(a,b){return this.$val.At(a,b);};AT=$pkg.Run=function(a,b,c,d,e,$b){var $this=this,$args=arguments,$r,$deferred=[],$err=null,$s=0,f,g,h,i,j,k,l,m,n,o,p;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){try{$deferFrames.push($deferred);s:while(true){switch($s){case 0:f=D.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([D.Terminate,[$BLOCKING]]);i=BC.nil;D.Use((function(j){var k;k=AD(j,b,c,g);i=k[0];h=k[1];}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}j=0;k=I.Now().UnixNano();case 1:if(!(true)){$s=2;continue;}$r=D.DoEvents($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}if(D.IsClosed()){return $ifaceNil;}D.Use((function(l){h=i.preUpdate();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=a(new AM.Ptr(i.screen,AZ.nil));if(!($interfaceIsEqual(l,$ifaceNil))){return l;}D.Use((function(m){h=i.postUpdate();if(!($interfaceIsEqual(h,$ifaceNil))){return;}D.SwapBuffers();}));if(!($interfaceIsEqual(h,$ifaceNil))){return h;}m=I.Now().UnixNano();j=j+(1)>>0;if((n=(o=new $Int64(m.$high-k.$high,m.$low-k.$low),new I.Duration(o.$high,o.$low)),(0>31)*4294967296))>>0);k=m;j=0;}$s=1;continue;case 2:case-1:}return;}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();if($curGoroutine.asleep&&!$jumpToDefer){throw null;}$s=-1;$callDeferred($deferred,$err);}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=F.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AU=$arrayType($Float64,5);AV=$arrayType(AU,4);AW=$ptrType(AF);AX=$ptrType(B.Texture);AY=$ptrType(AM);AZ=$sliceType($Uint8);BA=$arrayType($Float64,3);BB=$arrayType(BA,2);BC=$ptrType(AE);BD=$ptrType(C.Context);BE=$sliceType(AN);BF=$ptrType(AP);BG=$ptrType(N);BH=$ptrType(X);BI=$ptrType(B.Framebuffer);BJ=$ptrType(AH);BK=$ptrType(AI);BL=$ptrType(AL);BG.methods=[["Add","Add","",$funcType([N],[],false),-1],["Concat","Concat","",$funcType([N],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64,$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];N.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",AV,""]]);BH.methods=[["Add","Add","",$funcType([X],[],false),-1],["Concat","Concat","",$funcType([X],[],false),-1],["Element","Element","",$funcType([$Int,$Int],[$Float64],false),-1],["Rotate","Rotate","",$funcType([$Float64],[],false),-1],["Scale","Scale","",$funcType([$Float64,$Float64],[],false),-1],["SetElement","SetElement","",$funcType([$Int,$Int,$Float64],[],false),-1],["Translate","Translate","",$funcType([$Float64,$Float64],[],false),-1],["dim","dim","github.com/hajimehoshi/ebiten",$funcType([],[$Int],false),-1],["initialize","initialize","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1]];X.init([["initialized","initialized","github.com/hajimehoshi/ebiten",$Bool,""],["es","es","github.com/hajimehoshi/ebiten",BB,""]]);BC.methods=[["dispose","dispose","github.com/hajimehoshi/ebiten",$funcType([],[],false),-1],["postUpdate","postUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1],["preUpdate","preUpdate","github.com/hajimehoshi/ebiten",$funcType([],[$error],false),-1]];AE.init([["glContext","glContext","github.com/hajimehoshi/ebiten",BD,""],["screen","screen","github.com/hajimehoshi/ebiten",AW,""],["defaultR","defaultR","github.com/hajimehoshi/ebiten",AW,""],["screenScale","screenScale","github.com/hajimehoshi/ebiten",$Int,""]]);AW.methods=[["Clear","Clear","",$funcType([BD],[$error],false),-1],["Fill","Fill","",$funcType([BD,H.Color],[$error],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([BD,AW,BF],[$error],false),-1],["size","size","github.com/hajimehoshi/ebiten",$funcType([],[$Int,$Int],false),-1]];AF.init([["framebuffer","framebuffer","github.com/hajimehoshi/ebiten",BI,""],["texture","texture","github.com/hajimehoshi/ebiten",AX,""]]);AH.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];BJ.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AH.init(AN);BK.methods=[["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1],["Len","Len","",$funcType([],[$Int],false),-1],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false),-1]];AI.init([["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);BL.methods=[["Len","Len","",$funcType([],[$Int],false),-1],["Texture","Texture","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1],["Vertex","Vertex","",$funcType([$Int],[$Float32,$Float32,$Float32,$Float32],false),-1]];AL.init([["parts","parts","github.com/hajimehoshi/ebiten",AO,""],["width","width","github.com/hajimehoshi/ebiten",$Int,""],["height","height","github.com/hajimehoshi/ebiten",$Int,""]]);AY.methods=[["At","At","",$funcType([$Int,$Int],[H.Color],false),-1],["Bounds","Bounds","",$funcType([],[E.Rectangle],false),-1],["Clear","Clear","",$funcType([],[$error],false),-1],["ColorModel","ColorModel","",$funcType([],[H.Model],false),-1],["DrawImage","DrawImage","",$funcType([AY,BF],[$error],false),-1],["Fill","Fill","",$funcType([H.Color],[$error],false),-1],["Size","Size","",$funcType([],[$Int,$Int],false),-1],["drawImage","drawImage","github.com/hajimehoshi/ebiten",$funcType([AW,BF],[$error],false),-1]];AM.init([["inner","inner","github.com/hajimehoshi/ebiten",AW,""],["pixels","pixels","github.com/hajimehoshi/ebiten",AZ,""]]);AN.init([["Dst","Dst","",E.Rectangle,""],["Src","Src","",E.Rectangle,""]]);AO.init([["Dst","Dst","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)],["Len","Len","",$funcType([],[$Int],false)],["Src","Src","",$funcType([$Int],[$Int,$Int,$Int,$Int],false)]]);AP.init([["ImageParts","ImageParts","",AO,""],["GeoM","GeoM","",X,""],["ColorM","ColorM","",N,""],["Parts","Parts","",BE,""]]);AS=0;}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["sort"]=(function(){var $pkg={};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/flate"]=(function(){var $pkg={},E,A,B,C,D,F,BK,BL,BM,BN,BU,BV,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CS,CT,CU,CW,Y,Z,AK,AL,AM,AO,AP,AQ,AR,Q,AF,AG,AS,AW,G,AC,AD,AE,AT,AU,AV,AX,AY;E=$packages["bufio"];A=$packages["fmt"];B=$packages["io"];C=$packages["math"];D=$packages["sort"];F=$packages["strconv"];Y=$pkg.huffmanEncoder=$newType(0,$kindStruct,"flate.huffmanEncoder","huffmanEncoder","compress/flate",function(codeBits_,code_){this.$val=this;this.codeBits=codeBits_!==undefined?codeBits_:BV.nil;this.code=code_!==undefined?code_:BX.nil;});Z=$pkg.literalNode=$newType(0,$kindStruct,"flate.literalNode","literalNode","compress/flate",function(literal_,freq_){this.$val=this;this.literal=literal_!==undefined?literal_:0;this.freq=freq_!==undefined?freq_:0;});AK=$pkg.CorruptInputError=$newType(8,$kindInt64,"flate.CorruptInputError","CorruptInputError","compress/flate",null);AL=$pkg.InternalError=$newType(8,$kindString,"flate.InternalError","InternalError","compress/flate",null);AM=$pkg.ReadError=$newType(0,$kindStruct,"flate.ReadError","ReadError","compress/flate",function(Offset_,Err_){this.$val=this;this.Offset=Offset_!==undefined?Offset_:new $Int64(0,0);this.Err=Err_!==undefined?Err_:$ifaceNil;});AO=$pkg.Resetter=$newType(8,$kindInterface,"flate.Resetter","Resetter","compress/flate",null);AP=$pkg.huffmanDecoder=$newType(0,$kindStruct,"flate.huffmanDecoder","huffmanDecoder","compress/flate",function(min_,chunks_,links_,linkMask_){this.$val=this;this.min=min_!==undefined?min_:0;this.chunks=chunks_!==undefined?chunks_:CC.zero();this.links=links_!==undefined?links_:BL.nil;this.linkMask=linkMask_!==undefined?linkMask_:0;});AQ=$pkg.Reader=$newType(8,$kindInterface,"flate.Reader","Reader","compress/flate",null);AR=$pkg.decompressor=$newType(0,$kindStruct,"flate.decompressor","decompressor","compress/flate",function(r_,roffset_,woffset_,b_,nb_,h1_,h2_,bits_,codebits_,hist_,hp_,hw_,hfull_,buf_,step_,final$15_,err_,toRead_,hl_,hd_,copyLen_,copyDist_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.roffset=roffset_!==undefined?roffset_:new $Int64(0,0);this.woffset=woffset_!==undefined?woffset_:new $Int64(0,0);this.b=b_!==undefined?b_:0;this.nb=nb_!==undefined?nb_:0;this.h1=h1_!==undefined?h1_:new AP.Ptr();this.h2=h2_!==undefined?h2_:new AP.Ptr();this.bits=bits_!==undefined?bits_:CH.nil;this.codebits=codebits_!==undefined?codebits_:CJ.nil;this.hist=hist_!==undefined?hist_:CL.nil;this.hp=hp_!==undefined?hp_:0;this.hw=hw_!==undefined?hw_:0;this.hfull=hfull_!==undefined?hfull_:false;this.buf=buf_!==undefined?buf_:CM.zero();this.step=step_!==undefined?step_:$throwNilPointerError;this.final$15=final$15_!==undefined?final$15_:false;this.err=err_!==undefined?err_:$ifaceNil;this.toRead=toRead_!==undefined?toRead_:BM.nil;this.hl=hl_!==undefined?hl_:CF.nil;this.hd=hd_!==undefined?hd_:CF.nil;this.copyLen=copyLen_!==undefined?copyLen_:0;this.copyDist=copyDist_!==undefined?copyDist_:0;});G=function(a,b,c,d){var e;if(b<=c){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}while(true){if(b>=(c+d>>0)){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}e=b-c>>0;$copySlice($subslice(a,b,(b+e>>0)),$subslice(a,c,(c+e>>0)));d=d-(e)>>0;b=b+(e)>>0;}};AC=function(a){return new Y.Ptr(BV.make(a),BX.make(a));};AD=function(){var a,b,c,d,e,f;a=AC(286);b=a.codeBits;c=a.code;d=0;d=0;while(d<286){e=0;f=0;switch(0){default:if(d<144){e=d+48<<16>>>16;f=8;break;}else if(d<256){e=(d+400<<16>>>16)-144<<16>>>16;f=9;break;}else if(d<280){e=d-256<<16>>>16;f=7;break;}else{e=(d+192<<16>>>16)-280<<16>>>16;f=8;}}(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=f;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(e,f);d=d+(1)<<16>>>16;}return a;};AE=function(){var a,b,c,d;a=AC(30);b=a.codeBits;c=a.code;d=0;while(d<30){(d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=5;(d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(d,5);d=d+(1)<<16>>>16;}return a;};AK.prototype.Error=function(){var a;a=this;return"flate: corrupt input before offset "+F.FormatInt(new $Int64(a.$high,a.$low),10);};$ptrType(AK).prototype.Error=function(){return this.$get().Error();};AL.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"flate: internal error: "+a;};$ptrType(AL).prototype.Error=function(){return new AL(this.$get()).Error();};AM.Ptr.prototype.Error=function(){var a;a=this;return"flate: read error at offset "+F.FormatInt(a.Offset,10)+": "+a.Err.Error();};AM.prototype.Error=function(){return this.$val.Error();};AP.Ptr.prototype.init=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax;b=this;if(!((b.min===0))){$copy(b,new AP.Ptr(0,CC.zero(),BL.nil,0),AP);}c=$clone(CD.zero(),CD);d=0;e=0;f=d;g=e;h=a;i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);if(j===0){i++;continue;}if((f===0)||jg){g=j;}k=c;l=j;(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l])+(1)>>0;i++;}if(g===0){return false;}b.min=f;m=0;n=0;if(g>9){m=(g>>>0)-9>>>0;n=(o=m,o<32?(1<>0;b.linkMask=((n-1>>0)>>>0);}p=0;q=$clone(CD.zero(),CD);r=f;while(r<=g){if(r===10){s=p>>1>>0;if(512>0));t=(s>>>0);while(t<512){w=((u=t>>>8>>>0,((u<0||u>=AW.length)?$throwRuntimeError("index out of range"):AW[u]))>>0)|(((v=(t&255)>>>0,((v<0||v>=AW.length)?$throwRuntimeError("index out of range"):AW[v]))>>0)<<8>>0);w=(w>>$min((7),31))>>0;x=t-(s>>>0)>>>0;(y=b.chunks,(w<0||w>=y.length)?$throwRuntimeError("index out of range"):y[w]=(((x<<4>>>0)+(r>>>0)>>>0)>>>0));(aa=b.links,(x<0||x>=aa.$length)?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+x]=BK.make(((z=m,z<32?(1<>0)));t=t+(1)>>>0;}}ab=((r<0||r>=c.length)?$throwRuntimeError("index out of range"):c[r]);(r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r]=p;p=p+(ab)>>0;p=(ac=(1),ac<32?(p<>0;r=r+(1)>>0;}ad=a;ae=0;while(ae=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]);if(ag===0){ae++;continue;}ah=((ag<0||ag>=q.length)?$throwRuntimeError("index out of range"):q[ag]);ai=q;aj=ag;(aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj]=((aj<0||aj>=ai.length)?$throwRuntimeError("index out of range"):ai[aj])+(1)>>0;ak=(((af<<4>>0)|ag)>>>0);an=((al=ah>>8>>0,((al<0||al>=AW.length)?$throwRuntimeError("index out of range"):AW[al]))>>0)|(((am=ah&255,((am<0||am>=AW.length)?$throwRuntimeError("index out of range"):AW[am]))>>0)<<8>>0);an=(an>>$min((((16-ag>>0)>>>0)),31))>>0;if(ag<=9){ao=an;while(ao<512){(ap=b.chunks,(ao<0||ao>=ap.length)?$throwRuntimeError("index out of range"):ap[ao]=ak);ao=ao+(((aq=(ag>>>0),aq<32?(1<>0))>>0;}}else{at=(ar=b.chunks,as=an&511,((as<0||as>=ar.length)?$throwRuntimeError("index out of range"):ar[as]))>>>4>>>0;if(at>=(b.links.$length>>>0)){return false;}av=(au=b.links,((at<0||at>=au.$length)?$throwRuntimeError("index out of range"):au.$array[au.$offset+at]));an=(an>>$min((9),31))>>0;aw=an;while(aw=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+aw]=ak;aw=aw+(((ax=((ag-9>>0)>>>0),ax<32?(1<>0))>>0;}}ae++;}return true;};AP.prototype.init=function(a){return this.$val.init(a);};AR.Ptr.prototype.nextBlock=function(){var a,b,c,d,e,f;a=this;if(a.final$15){if(!((a.hw===a.hp))){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.err=B.EOF;return;}while(a.nb<3){a.err=a.moreBits();if(!($interfaceIsEqual(a.err,$ifaceNil))){return;}}a.final$15=((a.b&1)>>>0)===1;a.b=(b=(1),b<32?(a.b>>>b):0)>>>0;c=(a.b&3)>>>0;a.b=(d=(2),d<32?(a.b>>>d):0)>>>0;a.nb=a.nb-(3)>>>0;e=c;switch(0){default:if(e===0){a.dataBlock();}else if(e===1){a.hl=Q;a.hd=CF.nil;a.huffmanBlock();}else if(e===2){a.err=a.readHuffman();if(!($interfaceIsEqual(a.err,$ifaceNil))){break;}a.hl=a.h1;a.hd=a.h2;a.huffmanBlock();}else{a.err=(f=a.roffset,new AK(f.$high,f.$low));}}};AR.prototype.nextBlock=function(){return this.$val.nextBlock();};AR.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.step(b);}};AR.prototype.Read=function(a){return this.$val.Read(a);};AR.Ptr.prototype.Close=function(){var a;a=this;if($interfaceIsEqual(a.err,B.EOF)){return $ifaceNil;}return a.err;};AR.prototype.Close=function(){return this.$val.Close();};AR.Ptr.prototype.readHuffman=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,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an;a=this;while(a.nb<14){b=a.moreBits();if(!($interfaceIsEqual(b,$ifaceNil))){return b;}}c=(((a.b&31)>>>0)>>0)+257>>0;if(c>286){return(d=a.roffset,new AK(d.$high,d.$low));}a.b=(e=(5),e<32?(a.b>>>e):0)>>>0;f=(((a.b&31)>>>0)>>0)+1>>0;a.b=(g=(5),g<32?(a.b>>>g):0)>>>0;h=(((a.b&15)>>>0)>>0)+4>>0;a.b=(i=(4),i<32?(a.b>>>i):0)>>>0;a.nb=a.nb-(14)>>>0;j=0;while(j=AS.length)?$throwRuntimeError("index out of range"):AS[j]),l.nilCheck,(m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=(((a.b&7)>>>0)>>0));a.b=(n=(3),n<32?(a.b>>>n):0)>>>0;a.nb=a.nb-(3)>>>0;j=j+(1)>>0;}o=h;while(o<19){(p=a.codebits,q=((o<0||o>=AS.length)?$throwRuntimeError("index out of range"):AS[o]),p.nilCheck,(q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]=0);o=o+(1)>>0;}if(!a.h1.init($subslice(new BN(a.codebits),0))){return(r=a.roffset,new AK(r.$high,r.$low));}s=0;t=c+f>>0;u=s;v=t;while(u=z.length)?$throwRuntimeError("index out of range"):z[u]=x);u=u+(1)>>0;continue;}aa=0;ab=0;ac=0;ad=x;if(ad===16){aa=3;ab=2;if(u===0){return(ae=a.roffset,new AK(ae.$high,ae.$low));}ac=(af=a.bits,ag=u-1>>0,(af.nilCheck,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag])));}else if(ad===17){aa=3;ab=3;ac=0;}else if(ad===18){aa=11;ab=7;ac=0;}else{return new AL("unexpected length code");}while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(aj=(ab),aj<32?(a.b>>>aj):0)>>>0;a.nb=a.nb-(ab)>>>0;if((u+aa>>0)>v){return(ak=a.roffset,new AK(ak.$high,ak.$low));}al=0;while(al=am.length)?$throwRuntimeError("index out of range"):am[u]=ac);u=u+(1)>>0;al=al+(1)>>0;}}if(!a.h1.init($subslice(new BN(a.bits),0,c))||!a.h2.init($subslice(new BN(a.bits),c,(c+f>>0)))){return(an=a.roffset,new AK(an.$high,an.$low));}return $ifaceNil;};AR.prototype.readHuffman=function(){return this.$val.readHuffman();};AR.Ptr.prototype.huffmanBlock=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;a=this;while(true){b=a.huffSym(a.hl);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}e=0;f=0;if(c<256){(g=a.hist,h=a.hp,g.nilCheck,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));a.hp=a.hp+(1)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.huffmanBlock));return;}continue;}else if(c===256){a.step=$methodExpr(CE.prototype.nextBlock);return;}else if(c<265){f=c-254>>0;e=0;}else if(c<269){f=(c*2>>0)-519>>0;e=1;}else if(c<273){f=(c*4>>0)-1057>>0;e=2;}else if(c<277){f=(c*8>>0)-2149>>0;e=3;}else if(c<281){f=(c*16>>0)-4365>>0;e=4;}else if(c<285){f=(c*32>>0)-8861>>0;e=5;}else{f=258;e=0;}if(e>0){while(a.nb>>0)-1>>>0))>>>0)>>0))>>0;a.b=(j=(e),j<32?(a.b>>>j):0)>>>0;a.nb=a.nb-(e)>>>0;}k=0;if(a.hd===CF.nil){while(a.nb<5){d=a.moreBits();if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}k=((l=(((a.b&31)>>>0))<<3>>>0,((l<0||l>=AW.length)?$throwRuntimeError("index out of range"):AW[l]))>>0);a.b=(m=(5),m<32?(a.b>>>m):0)>>>0;a.nb=a.nb-(5)>>>0;}else{n=a.huffSym(a.hd);k=n[0];d=n[1];if(!($interfaceIsEqual(d,$ifaceNil))){a.err=d;return;}}if(k<4){k=k+(1)>>0;}else if(k>=30){a.err=(o=a.roffset,new AK(o.$high,o.$low));return;}else{p=((k-2>>0)>>>0)>>>1>>>0;r=(q=p,q<32?(((k&1))<>0;while(a.nb>>0)-1>>>0))>>>0)>>0));a.b=(t=(p),t<32?(a.b>>>t):0)>>>0;a.nb=a.nb-(p)>>>0;k=(((u=((p+1>>>0)),u<32?(1<>0)+1>>0)+r>>0;}if(k>32768){a.err=new AL("bad history distance");return;}if(!a.hfull&&k>a.hp){a.err=(v=a.roffset,new AK(v.$high,v.$low));return;}w=f;x=k;a.copyLen=w;a.copyDist=x;if(a.copyHist()){return;}}};AR.prototype.huffmanBlock=function(){return this.$val.huffmanBlock();};AR.Ptr.prototype.copyHist=function(){var a,b,c,d,e;a=this;b=a.hp-a.copyDist>>0;if(b<0){b=b+(32768)>>0;}while(a.copyLen>0){c=a.copyLen;d=32768-a.hp>>0;if(c>d){c=d;}e=32768-b>>0;if(c>e){c=e;}G(new BM(a.hist),a.hp,b,c);b=b+(c)>>0;a.hp=a.hp+(c)>>0;a.copyLen=a.copyLen-(c)>>0;if(a.hp===32768){a.flush($methodExpr(CE.prototype.copyHuff));return true;}if(b===32768){b=0;}}return false;};AR.prototype.copyHist=function(){return this.$val.copyHist();};AR.Ptr.prototype.copyHuff=function(){var a;a=this;if(a.copyHist()){return;}a.huffmanBlock();};AR.prototype.copyHuff=function(){return this.$val.copyHuff();};AR.Ptr.prototype.dataBlock=function(){var a,b,c,d,e,f,g,h,i;a=this;a.nb=0;a.b=0;b=B.ReadFull(a.r,$subslice(new BM(a.buf),0,4));c=b[0];d=b[1];a.roffset=(e=a.roffset,f=new $Int64(0,c),new $Int64(e.$high+f.$high,e.$low+f.$low));if(!($interfaceIsEqual(d,$ifaceNil))){a.err=new AM.Ptr(a.roffset,d);return;}g=(a.buf[0]>>0)|((a.buf[1]>>0)<<8>>0);h=(a.buf[2]>>0)|((a.buf[3]>>0)<<8>>0);if(!(((h<<16>>>16)===((~g>>0)<<16>>>16)))){a.err=(i=a.roffset,new AK(i.$high,i.$low));return;}if(g===0){a.flush($methodExpr(CE.prototype.nextBlock));return;}a.copyLen=g;a.copyData();};AR.prototype.dataBlock=function(){return this.$val.dataBlock();};AR.Ptr.prototype.copyData=function(){var a,b,c,d,e,f,g;a=this;b=a.copyLen;while(b>0){c=32768-a.hp>>0;if(c>b){c=b;}d=B.ReadFull(a.r,$subslice(new BM(a.hist),a.hp,(a.hp+c>>0)));c=d[0];e=d[1];a.roffset=(f=a.roffset,g=new $Int64(0,c),new $Int64(f.$high+g.$high,f.$low+g.$low));if(!($interfaceIsEqual(e,$ifaceNil))){a.err=new AM.Ptr(a.roffset,e);return;}b=b-(c)>>0;a.hp=a.hp+(c)>>0;if(a.hp===32768){a.copyLen=b;a.flush($methodExpr(CE.prototype.copyData));return;}}a.step=$methodExpr(CE.prototype.nextBlock);};AR.prototype.copyData=function(){return this.$val.copyData();};AR.Ptr.prototype.setDict=function(a){var b;b=this;if(a.$length>32768){a=$subslice(a,(a.$length-32768>>0));}b.hp=$copySlice(new BM(b.hist),a);if(b.hp===32768){b.hp=0;b.hfull=true;}b.hw=b.hp;};AR.prototype.setDict=function(a){return this.$val.setDict(a);};AR.Ptr.prototype.moreBits=function(){var a,b,c,d,e,f,g;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,B.EOF)){d=B.ErrUnexpectedEOF;}return d;}a.roffset=(e=a.roffset,f=new $Int64(0,1),new $Int64(e.$high+f.$high,e.$low+f.$low));a.b=(a.b|(((g=a.nb,g<32?((c>>>0)<>>0)))>>>0;a.nb=a.nb+(8)>>>0;return $ifaceNil;};AR.prototype.moreBits=function(){return this.$val.moreBits();};AR.Ptr.prototype.huffSym=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;c=(a.min>>>0);while(true){while(b.nb>>0,((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]));c=(((g&15)>>>0)>>>0);if(c>9){g=(h=(i=a.links,j=g>>>4>>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),k=(((b.b>>>9>>>0))&a.linkMask)>>>0,((k<0||k>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+k]));c=(((g&15)>>>0)>>>0);if(c===0){b.err=(l=b.roffset,new AK(l.$high,l.$low));return[0,b.err];}}if(c<=b.nb){b.b=(m=(c),m<32?(b.b>>>m):0)>>>0;b.nb=b.nb-(c)>>>0;return[((g>>>4>>>0)>>0),$ifaceNil];}}};AR.prototype.huffSym=function(a){return this.$val.huffSym(a);};AR.Ptr.prototype.flush=function(a){var b,c,d;b=this;b.toRead=$subslice(new BM(b.hist),b.hw,b.hp);b.woffset=(c=b.woffset,d=new $Int64(0,(b.hp-b.hw>>0)),new $Int64(c.$high+d.$high,c.$low+d.$low));b.hw=b.hp;if(b.hp===32768){b.hp=0;b.hw=0;b.hfull=true;}b.step=a;};AR.prototype.flush=function(a){return this.$val.flush(a);};AT=function(a){var b,c,d;b=$assertType(a,AQ,true);c=b[0];d=b[1];if(d){return c;}return E.NewReader(a);};AR.Ptr.prototype.Reset=function(a,b){var c;c=this;$copy(c,new AR.Ptr(AT(a),new $Int64(0,0),new $Int64(0,0),0,0,new AP.Ptr(),new AP.Ptr(),c.bits,c.codebits,c.hist,0,0,false,CM.zero(),$methodExpr(CE.prototype.nextBlock),false,$ifaceNil,BM.nil,CF.nil,CF.nil,0,0),AR);if(!(b===BM.nil)){c.setDict(b);}return $ifaceNil;};AR.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};AU=$pkg.NewReader=function(a){var b;b=$clone(new AR.Ptr(),AR);b.bits=CG.zero();b.codebits=CI.zero();b.r=AT(a);b.hist=CK.zero();b.step=$methodExpr(CE.prototype.nextBlock);return b;};AV=$pkg.NewReaderDict=function(a,b){var c;c=$clone(new AR.Ptr(),AR);c.r=AT(a);c.hist=CK.zero();c.bits=CG.zero();c.codebits=CI.zero();c.step=$methodExpr(CE.prototype.nextBlock);c.setDict(b);return c;};AX=function(a){var b,c;return(((b=a>>>8<<16>>>16,((b<0||b>=AW.length)?$throwRuntimeError("index out of range"):AW[b]))<<16>>>16)|(((c=(a&255)>>>0,((c<0||c>=AW.length)?$throwRuntimeError("index out of range"):AW[c]))<<16>>>16)<<8<<16>>>16))>>>0;};AY=function(a,b){var c;return AX((c=(16-b<<24>>>24),c<32?(a<>>16);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=E.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}BK=$sliceType($Uint32);BL=$sliceType(BK);BM=$sliceType($Uint8);BN=$sliceType($Int);BU=$sliceType($Int32);BV=$sliceType($Uint8);BW=$ptrType(Y);BX=$sliceType($Uint16);CB=$sliceType(Z);CC=$arrayType($Uint32,512);CD=$arrayType($Int,16);CE=$ptrType(AR);CF=$ptrType(AP);CG=$arrayType($Int,318);CH=$ptrType(CG);CI=$arrayType($Int,19);CJ=$ptrType(CI);CK=$arrayType($Uint8,32768);CL=$ptrType(CK);CM=$arrayType($Uint8,4);CS=$ptrType(AK);CT=$ptrType(AL);CU=$ptrType(AM);CW=$funcType([CE],[],false);BW.methods=[["assignEncodingAndSize","assignEncodingAndSize","compress/flate",$funcType([BU,CB],[],false),-1],["bitCounts","bitCounts","compress/flate",$funcType([CB,$Int32],[BU],false),-1],["bitLength","bitLength","compress/flate",$funcType([BU],[$Int64],false),-1],["generate","generate","compress/flate",$funcType([BU,$Int32],[],false),-1]];Y.init([["codeBits","codeBits","compress/flate",BV,""],["code","code","compress/flate",BX,""]]);Z.init([["literal","literal","compress/flate",$Uint16,""],["freq","freq","compress/flate",$Int32,""]]);AK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CS.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CT.methods=[["Error","Error","",$funcType([],[$String],false),-1]];CU.methods=[["Error","Error","",$funcType([],[$String],false),-1]];AM.init([["Offset","Offset","",$Int64,""],["Err","Err","",$error,""]]);AO.init([["Reset","Reset","",$funcType([B.Reader,BM],[$error],false)]]);CF.methods=[["init","init","compress/flate",$funcType([BN],[$Bool],false),-1]];AP.init([["min","min","compress/flate",$Int,""],["chunks","chunks","compress/flate",CC,""],["links","links","compress/flate",BL,""],["linkMask","linkMask","compress/flate",$Uint32,""]]);AQ.init([["Read","Read","",$funcType([BM],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);CE.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([BM],[$Int,$error],false),-1],["Reset","Reset","",$funcType([B.Reader,BM],[$error],false),-1],["copyData","copyData","compress/flate",$funcType([],[],false),-1],["copyHist","copyHist","compress/flate",$funcType([],[$Bool],false),-1],["copyHuff","copyHuff","compress/flate",$funcType([],[],false),-1],["dataBlock","dataBlock","compress/flate",$funcType([],[],false),-1],["flush","flush","compress/flate",$funcType([CW],[],false),-1],["huffSym","huffSym","compress/flate",$funcType([CF],[$Int,$error],false),-1],["huffmanBlock","huffmanBlock","compress/flate",$funcType([],[],false),-1],["moreBits","moreBits","compress/flate",$funcType([],[$error],false),-1],["nextBlock","nextBlock","compress/flate",$funcType([],[],false),-1],["readHuffman","readHuffman","compress/flate",$funcType([],[$error],false),-1],["setDict","setDict","compress/flate",$funcType([BM],[],false),-1]];AR.init([["r","r","compress/flate",AQ,""],["roffset","roffset","compress/flate",$Int64,""],["woffset","woffset","compress/flate",$Int64,""],["b","b","compress/flate",$Uint32,""],["nb","nb","compress/flate",$Uint,""],["h1","h1","compress/flate",AP,""],["h2","h2","compress/flate",AP,""],["bits","bits","compress/flate",CH,""],["codebits","codebits","compress/flate",CJ,""],["hist","hist","compress/flate",CL,""],["hp","hp","compress/flate",$Int,""],["hw","hw","compress/flate",$Int,""],["hfull","hfull","compress/flate",$Bool,""],["buf","buf","compress/flate",CM,""],["step","step","compress/flate",CW,""],["final$15","final","compress/flate",$Bool,""],["err","err","compress/flate",$error,""],["toRead","toRead","compress/flate",BM,""],["hl","hl","compress/flate",CF,""],["hd","hd","compress/flate",CF,""],["copyLen","copyLen","compress/flate",$Int,""],["copyDist","copyDist","compress/flate",$Int,""]]);Q=new AP.Ptr(7,$toNativeArray($kindUint32,[4103,1288,264,4488,4359,1800,776,3081,4231,1544,520,2569,8,2056,1032,3593,4167,1416,392,2313,4423,1928,904,3337,4295,1672,648,2825,136,2184,1160,3849,4135,1352,328,4552,4391,1864,840,3209,4263,1608,584,2697,72,2120,1096,3721,4199,1480,456,2441,4455,1992,968,3465,4327,1736,712,2953,200,2248,1224,3977,4119,1320,296,4520,4375,1832,808,3145,4247,1576,552,2633,40,2088,1064,3657,4183,1448,424,2377,4439,1960,936,3401,4311,1704,680,2889,168,2216,1192,3913,4151,1384,360,4584,4407,1896,872,3273,4279,1640,616,2761,104,2152,1128,3785,4215,1512,488,2505,4471,2024,1000,3529,4343,1768,744,3017,232,2280,1256,4041,4103,1304,280,4504,4359,1816,792,3113,4231,1560,536,2601,24,2072,1048,3625,4167,1432,408,2345,4423,1944,920,3369,4295,1688,664,2857,152,2200,1176,3881,4135,1368,344,4568,4391,1880,856,3241,4263,1624,600,2729,88,2136,1112,3753,4199,1496,472,2473,4455,2008,984,3497,4327,1752,728,2985,216,2264,1240,4009,4119,1336,312,4536,4375,1848,824,3177,4247,1592,568,2665,56,2104,1080,3689,4183,1464,440,2409,4439,1976,952,3433,4311,1720,696,2921,184,2232,1208,3945,4151,1400,376,4600,4407,1912,888,3305,4279,1656,632,2793,120,2168,1144,3817,4215,1528,504,2537,4471,2040,1016,3561,4343,1784,760,3049,248,2296,1272,4073,4103,1288,264,4488,4359,1800,776,3097,4231,1544,520,2585,8,2056,1032,3609,4167,1416,392,2329,4423,1928,904,3353,4295,1672,648,2841,136,2184,1160,3865,4135,1352,328,4552,4391,1864,840,3225,4263,1608,584,2713,72,2120,1096,3737,4199,1480,456,2457,4455,1992,968,3481,4327,1736,712,2969,200,2248,1224,3993,4119,1320,296,4520,4375,1832,808,3161,4247,1576,552,2649,40,2088,1064,3673,4183,1448,424,2393,4439,1960,936,3417,4311,1704,680,2905,168,2216,1192,3929,4151,1384,360,4584,4407,1896,872,3289,4279,1640,616,2777,104,2152,1128,3801,4215,1512,488,2521,4471,2024,1000,3545,4343,1768,744,3033,232,2280,1256,4057,4103,1304,280,4504,4359,1816,792,3129,4231,1560,536,2617,24,2072,1048,3641,4167,1432,408,2361,4423,1944,920,3385,4295,1688,664,2873,152,2200,1176,3897,4135,1368,344,4568,4391,1880,856,3257,4263,1624,600,2745,88,2136,1112,3769,4199,1496,472,2489,4455,2008,984,3513,4327,1752,728,3001,216,2264,1240,4025,4119,1336,312,4536,4375,1848,824,3193,4247,1592,568,2681,56,2104,1080,3705,4183,1464,440,2425,4439,1976,952,3449,4311,1720,696,2937,184,2232,1208,3961,4151,1400,376,4600,4407,1912,888,3321,4279,1656,632,2809,120,2168,1144,3833,4215,1528,504,2553,4471,2040,1016,3577,4343,1784,760,3065,248,2296,1272,4089]),BL.nil,0);AS=$toNativeArray($kindInt,[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);AW=$toNativeArray($kindUint8,[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255]);AF=AD();AG=AE();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["hash"]=(function(){var $pkg={},A,E,C;A=$packages["io"];C=$pkg.Hash32=$newType(8,$kindInterface,"hash.Hash32","Hash32","hash",null);$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}E=$sliceType($Uint8);C.init([["BlockSize","BlockSize","",$funcType([],[$Int],false)],["Reset","Reset","",$funcType([],[],false)],["Size","Size","",$funcType([],[$Int],false)],["Sum","Sum","",$funcType([E],[E],false)],["Sum32","Sum32","",$funcType([],[$Uint32],false)],["Write","Write","",$funcType([E],[$Int,$error],false)]]);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); @@ -42,14 +42,14 @@ $packages["image/png"]=(function(){var $pkg={},I,A,B,C,D,E,F,G,H,J,AI,AJ,AK,AL,A $packages["path/filepath"]=(function(){var $pkg={},G,A,B,C,D,E,F;G=$packages["bytes"];A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=G.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["io/ioutil"]=(function(){var $pkg={},A,B,C,F,D,G,E,H,Y,Z,AA,R;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($emptyInterface);Z=$sliceType($Uint8);AA=$ptrType(Z);R=new E.Pool.Ptr(0,0,Y.nil,(function(){var a;a=Z.make(8192);return new AA(function(){return a;},function($v){a=$v;});}));}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["path"]=(function(){var $pkg={},A,B,C;A=$packages["errors"];B=$packages["strings"];C=$packages["unicode/utf8"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J,K;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["reflect"];J=$packages["strings"];K=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/internal/assets"]=(function(){var $pkg={},A,D,B,C,E,F,G,H,I,J;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["strings"];J=$packages["time"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/color/palette"]=(function(){var $pkg={},A;A=$packages["image/color"];$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["compress/lzw"]=(function(){var $pkg={},A,B,C,D,N,O,P,S,T,U,V,F,G,L,H;A=$packages["bufio"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];F=$pkg.decoder=$newType(0,$kindStruct,"lzw.decoder","decoder","compress/lzw",function(r_,bits_,nBits_,width_,read_,litWidth_,err_,clear_,eof_,hi_,overflow_,last_,suffix_,prefix_,output_,o_,toRead_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:0;this.nBits=nBits_!==undefined?nBits_:0;this.width=width_!==undefined?width_:0;this.read=read_!==undefined?read_:$throwNilPointerError;this.litWidth=litWidth_!==undefined?litWidth_:0;this.err=err_!==undefined?err_:$ifaceNil;this.clear=clear_!==undefined?clear_:0;this.eof=eof_!==undefined?eof_:0;this.hi=hi_!==undefined?hi_:0;this.overflow=overflow_!==undefined?overflow_:0;this.last=last_!==undefined?last_:0;this.suffix=suffix_!==undefined?suffix_:S.zero();this.prefix=prefix_!==undefined?prefix_:T.zero();this.output=output_!==undefined?output_:U.zero();this.o=o_!==undefined?o_:0;this.toRead=toRead_!==undefined?toRead_:N.nil;});F.Ptr.prototype.readLSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((a.bits&((((f=a.width,f<32?(1<>>0)-1>>>0)))>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits>>>h):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readLSB=function(){return this.$val.readLSB();};F.Ptr.prototype.readMSB=function(){var a,b,c,d,e,f,g,h;a=this;while(a.nBits>>0)),e<32?((c>>>0)<>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;}g=(((f=((32-a.width>>>0)),f<32?(a.bits>>>f):0)>>>0)<<16>>>16);a.bits=(h=(a.width),h<32?(a.bits<>>0;a.nBits=a.nBits-(a.width)>>>0;return[g,$ifaceNil];};F.prototype.readMSB=function(){return this.$val.readMSB();};F.Ptr.prototype.Read=function(a){var b,c;b=this;while(true){if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}b.decode();}};F.prototype.Read=function(a){return this.$val.Read(a);};F.Ptr.prototype.decode=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,y,z,aa,ab;a=this;while(true){b=a.read(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,D.EOF)){d=D.ErrUnexpectedEOF;}a.err=d;return;}if(c=e.length)?$throwRuntimeError("index out of range"):e[f]=(c<<24>>>24));a.o=a.o+(1)>>0;if(!((a.last===65535))){(g=a.suffix,h=a.hi,(h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=(c<<24>>>24));(i=a.prefix,j=a.hi,(j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]=a.last);}}else if(c===a.clear){a.width=1+(a.litWidth>>>0)>>>0;a.hi=a.eof;a.overflow=(k=a.width,k<32?(1<>>16;a.last=65535;continue;}else if(c===a.eof){a.flush();a.err=D.EOF;return;}else if(c<=a.hi){l=c;m=8191;n=l;o=m;if(c===a.hi){n=a.last;while(n>=a.clear){n=(p=a.prefix,((n<0||n>=p.length)?$throwRuntimeError("index out of range"):p[n]));}(q=a.output,(o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o]=(n<<24>>>24));o=o-(1)>>0;n=a.last;}while(n>=a.clear){(s=a.output,(o<0||o>=s.length)?$throwRuntimeError("index out of range"):s[o]=(r=a.suffix,((n<0||n>=r.length)?$throwRuntimeError("index out of range"):r[n])));o=o-(1)>>0;n=(t=a.prefix,((n<0||n>=t.length)?$throwRuntimeError("index out of range"):t[n]));}(u=a.output,(o<0||o>=u.length)?$throwRuntimeError("index out of range"):u[o]=(n<<24>>>24));a.o=a.o+($copySlice($subslice(new N(a.output),a.o),$subslice(new N(a.output),o)))>>0;if(!((a.last===65535))){(v=a.suffix,w=a.hi,(w<0||w>=v.length)?$throwRuntimeError("index out of range"):v[w]=(n<<24>>>24));(x=a.prefix,y=a.hi,(y<0||y>=x.length)?$throwRuntimeError("index out of range"):x[y]=a.last);}}else{a.err=B.New("lzw: invalid code");return;}z=c;aa=a.hi+1<<16>>>16;a.last=z;a.hi=aa;if(a.hi>=a.overflow){if(a.width===12){a.last=65535;}else{a.width=a.width+(1)>>>0;a.overflow=(ab=(1),ab<32?(a.overflow<>>16;}}if(a.o>=4096){a.flush();return;}}};F.prototype.decode=function(){return this.$val.decode();};F.Ptr.prototype.flush=function(){var a;a=this;a.toRead=$subslice(new N(a.output),0,a.o);a.o=0;};F.prototype.flush=function(){return this.$val.flush();};F.Ptr.prototype.Close=function(){var a;a=this;a.err=G;return $ifaceNil;};F.prototype.Close=function(){return this.$val.Close();};H=$pkg.NewReader=function(a,b,c){var d,e,f,g,h,i,j,k,l;d=new F.Ptr();e=b;if(e===0){d.read=$methodExpr(O.prototype.readLSB);}else if(e===1){d.read=$methodExpr(O.prototype.readMSB);}else{d.err=B.New("lzw: unknown order");return d;}if(c<2||8>>0)>>>0;d.clear=(i=(c>>>0),i<32?(1<>>16;j=d.clear+1<<16>>>16;k=d.clear+1<<16>>>16;d.eof=j;d.hi=k;d.overflow=(l=d.width,l<32?(1<>>16;d.last=65535;return d;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}N=$sliceType($Uint8);O=$ptrType(F);P=$sliceType($emptyInterface);S=$arrayType($Uint8,4096);T=$arrayType($Uint16,4096);U=$arrayType($Uint8,8192);V=$funcType([O],[$Uint16,$error],false);O.methods=[["Close","Close","",$funcType([],[$error],false),-1],["Read","Read","",$funcType([N],[$Int,$error],false),-1],["decode","decode","compress/lzw",$funcType([],[],false),-1],["flush","flush","compress/lzw",$funcType([],[],false),-1],["readLSB","readLSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1],["readMSB","readMSB","compress/lzw",$funcType([],[$Uint16,$error],false),-1]];F.init([["r","r","compress/lzw",D.ByteReader,""],["bits","bits","compress/lzw",$Uint32,""],["nBits","nBits","compress/lzw",$Uint,""],["width","width","compress/lzw",$Uint,""],["read","read","compress/lzw",V,""],["litWidth","litWidth","compress/lzw",$Int,""],["err","err","compress/lzw",$error,""],["clear","clear","compress/lzw",$Uint16,""],["eof","eof","compress/lzw",$Uint16,""],["hi","hi","compress/lzw",$Uint16,""],["overflow","overflow","compress/lzw",$Uint16,""],["last","last","compress/lzw",$Uint16,""],["suffix","suffix","compress/lzw",S,""],["prefix","prefix","compress/lzw",T,""],["output","output","compress/lzw",U,""],["o","o","compress/lzw",$Int,""],["toRead","toRead","compress/lzw",N,""]]);G=B.New("compress/lzw: reader/writer is closed");L=B.New("lzw: out of codes");}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/gif"]=(function(){var $pkg={},A,B,C,D,E,F,H,I,G,AG,AH,AI,AJ,AK,AL,AN,AO,AQ,AS,AT,M,N,O,P,J,K,L,Q,R,S,V,W;A=$packages["bufio"];B=$packages["compress/lzw"];C=$packages["errors"];D=$packages["fmt"];E=$packages["image"];F=$packages["image/color"];H=$packages["image/color/palette"];I=$packages["image/draw"];G=$packages["io"];M=$pkg.reader=$newType(8,$kindInterface,"gif.reader","reader","image/gif",null);N=$pkg.decoder=$newType(0,$kindStruct,"gif.decoder","decoder","image/gif",function(r_,vers_,width_,height_,flags_,headerFields_,backgroundIndex_,loopCount_,delayTime_,aspect_,imageFields_,transparentIndex_,hasTransparentIndex_,pixelSize_,globalColorMap_,delay_,image_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.vers=vers_!==undefined?vers_:"";this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.flags=flags_!==undefined?flags_:0;this.headerFields=headerFields_!==undefined?headerFields_:0;this.backgroundIndex=backgroundIndex_!==undefined?backgroundIndex_:0;this.loopCount=loopCount_!==undefined?loopCount_:0;this.delayTime=delayTime_!==undefined?delayTime_:0;this.aspect=aspect_!==undefined?aspect_:0;this.imageFields=imageFields_!==undefined?imageFields_:0;this.transparentIndex=transparentIndex_!==undefined?transparentIndex_:0;this.hasTransparentIndex=hasTransparentIndex_!==undefined?hasTransparentIndex_:false;this.pixelSize=pixelSize_!==undefined?pixelSize_:0;this.globalColorMap=globalColorMap_!==undefined?globalColorMap_:F.Palette.nil;this.delay=delay_!==undefined?delay_:AO.nil;this.image=image_!==undefined?image_:AN.nil;this.tmp=tmp_!==undefined?tmp_:AQ.zero();});O=$pkg.blockReader=$newType(0,$kindStruct,"gif.blockReader","blockReader","image/gif",function(r_,slice_,err_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.slice=slice_!==undefined?slice_:AH.nil;this.err=err_!==undefined?err_:$ifaceNil;this.tmp=tmp_!==undefined?tmp_:AJ.zero();});P=$pkg.interlaceScan=$newType(0,$kindStruct,"gif.interlaceScan","interlaceScan","image/gif",function(skip_,start_){this.$val=this;this.skip=skip_!==undefined?skip_:0;this.start=start_!==undefined?start_:0;});O.Ptr.prototype.Read=function(a){var b,c,d,e,f;b=this;if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(a.$length===0){return[0,$ifaceNil];}if(b.slice.$length===0){c=0;d=b.r.ReadByte();c=d[0];b.err=d[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(c===0){b.err=G.EOF;return[0,b.err];}b.slice=$subslice(new AH(b.tmp),0,c);e=G.ReadFull(b.r,b.slice);b.err=e[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}}f=$copySlice(a,b.slice);b.slice=$subslice(b.slice,f);return[f,$ifaceNil];};O.prototype.Read=function(a){return this.$val.Read(a);};N.Ptr.prototype.decode=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah;try{$deferFrames.push($deferred);c=this;d=$assertType(a,M,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=c.readHeaderAndScreenDescriptor();if(!($interfaceIsEqual(g,$ifaceNil))){return g;}if(b){return $ifaceNil;}if(!((((c.headerFields&128)>>>0)===0))){h=c.readColorMap();c.globalColorMap=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}}while(true){i=c.r.ReadByte();j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}l=j;if(l===33){k=c.readExtension();if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}else if(l===44){m=c.newImageFromDescriptor();n=m[0];o=m[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=!((((c.imageFields&128)>>>0)===0));if(p){q=c.readColorMap();n.Palette=q[0];o=q[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}}else{n.Palette=c.globalColorMap;}if(c.hasTransparentIndex&&(c.transparentIndex>>0)=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]=(r=new F.RGBA.Ptr(0,0,0,0),new r.constructor.Struct(r)));}u=c.r.ReadByte();v=u[0];o=u[1];if(!($interfaceIsEqual(o,$ifaceNil))){return o;}if(v<2||v>8){return D.Errorf("gif: pixel size in decode out of range: %d",new AI([new $Uint8(v)]));}w=new O.Ptr(c.r,AH.nil,$ifaceNil,AJ.zero());x=B.NewReader(w,0,(v>>0));$deferred.push([$methodVal(x,"Close"),[]]);y=G.ReadFull(x,n.Pix);o=y[1];if(!($interfaceIsEqual(o,$ifaceNil))){if(!($interfaceIsEqual(o,G.ErrUnexpectedEOF))){return o;}return J;}z=x.Read($subslice(new AH(c.tmp),0,1));aa=z[0];ab=z[1];if(!((aa===0))||!($interfaceIsEqual(ab,G.EOF))){if(!($interfaceIsEqual(ab,$ifaceNil))){return ab;}return K;}ac=w.Read($subslice(new AH(c.tmp),0,1));ad=ac[0];ae=ac[1];if(!((ad===0))||!($interfaceIsEqual(ae,G.EOF))){if(!($interfaceIsEqual(ae,$ifaceNil))){return ae;}return K;}if(n.Palette.$length<256){af=n.Pix;ag=0;while(ag=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]);if((ah>>0)>=n.Palette.$length){return L;}ag++;}}if(!((((c.imageFields&64)>>>0)===0))){R(n);}c.image=$append(c.image,n);c.delay=$append(c.delay,c.delayTime);c.delayTime=0;c.hasTransparentIndex=false;}else if(l===59){if(c.image.$length===0){return G.ErrUnexpectedEOF;}return $ifaceNil;}else{return D.Errorf("gif: unknown block type: 0x%.2x",new AI([new $Uint8(j)]));}}}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};N.prototype.decode=function(a,b){return this.$val.decode(a,b);};N.Ptr.prototype.readHeaderAndScreenDescriptor=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,13));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return c;}a.vers=$bytesToString($subslice(new AH(a.tmp),0,6));if(!(a.vers==="GIF87a")&&!(a.vers==="GIF89a")){return D.Errorf("gif: can't recognize format %s",new AI([new $String(a.vers)]));}a.width=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.height=(a.tmp[8]>>0)+((a.tmp[9]>>0)<<8>>0)>>0;a.headerFields=a.tmp[10];a.backgroundIndex=a.tmp[11];a.aspect=a.tmp[12];a.loopCount=-1;a.pixelSize=(((a.headerFields&7)>>>0)>>>0)+1>>>0;return $ifaceNil;};N.prototype.readHeaderAndScreenDescriptor=function(){return this.$val.readHeaderAndScreenDescriptor();};N.Ptr.prototype.readColorMap=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.pixelSize>8){return[F.Palette.nil,D.Errorf("gif: can't handle %d bits per pixel",new AI([new $Uint(a.pixelSize)]))];}c=(b=a.pixelSize,b<32?(1<>0;if(!((((a.imageFields&128)>>>0)===0))){c=(d=(((((a.imageFields&7)>>>0))+1<<24>>>24)),d<32?(1<>0;}e=3*c>>0;f=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));g=f[1];if(!($interfaceIsEqual(g,$ifaceNil))){return[F.Palette.nil,D.Errorf("gif: short read on color map: %s",new AI([g]))];}h=F.Palette.make(c);i=0;j=h;k=0;while(k=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+l]=(m=new F.RGBA.Ptr((n=a.tmp,o=i+0>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o])),(p=a.tmp,q=i+1>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q])),(r=a.tmp,s=i+2>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s])),255),new m.constructor.Struct(m));i=i+(3)>>0;k++;}return[h,$ifaceNil];};N.prototype.readColorMap=function(){return this.$val.readColorMap();};N.Ptr.prototype.readExtension=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=0;f=c;if(f===1){e=13;}else if(f===249){return a.readGraphicControl();}else if(f===254){}else if(f===255){g=a.r.ReadByte();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}e=(h>>0);}else{return D.Errorf("gif: unknown extension 0x%.2x",new AI([new $Uint8(c)]));}if(e>0){j=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,e));k=j[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}}if((c===255)&&$bytesToString($subslice(new AH(a.tmp),0,e))==="NETSCAPE2.0"){l=a.readBlock();m=l[0];n=l[1];if((m===0)||!($interfaceIsEqual(n,$ifaceNil))){return n;}if((m===3)&&(a.tmp[0]===1)){a.loopCount=(a.tmp[1]>>0)|((a.tmp[2]>>0)<<8>>0);}}while(true){o=a.readBlock();p=o[0];q=o[1];if((p===0)||!($interfaceIsEqual(q,$ifaceNil))){return q;}}};N.prototype.readExtension=function(){return this.$val.readExtension();};N.Ptr.prototype.readGraphicControl=function(){var a,b,c;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,6));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return D.Errorf("gif: can't read graphic control: %s",new AI([c]));}a.flags=a.tmp[1];a.delayTime=(a.tmp[2]>>0)|((a.tmp[3]>>0)<<8>>0);if(!((((a.flags&1)>>>0)===0))){a.transparentIndex=a.tmp[4];a.hasTransparentIndex=true;}return $ifaceNil;};N.prototype.readGraphicControl=function(){return this.$val.readGraphicControl();};N.Ptr.prototype.newImageFromDescriptor=function(){var a,b,c,d,e,f,g,h;a=this;b=G.ReadFull(a.r,$subslice(new AH(a.tmp),0,9));c=b[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[AK.nil,D.Errorf("gif: can't read image descriptor: %s",new AI([c]))];}d=(a.tmp[0]>>0)+((a.tmp[1]>>0)<<8>>0)>>0;e=(a.tmp[2]>>0)+((a.tmp[3]>>0)<<8>>0)>>0;f=(a.tmp[4]>>0)+((a.tmp[5]>>0)<<8>>0)>>0;g=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.imageFields=a.tmp[8];h=$clone(E.Rect(d,e,d+f>>0,e+g>>0),E.Rectangle);if(!($equal(h,h.Intersect(E.Rect(0,0,a.width,a.height)),E.Rectangle))){return[AK.nil,C.New("gif: frame bounds larger than image bounds")];}return[E.NewPaletted(h,F.Palette.nil),$ifaceNil];};N.prototype.newImageFromDescriptor=function(){return this.$val.newImageFromDescriptor();};N.Ptr.prototype.readBlock=function(){var a,b,c,d;a=this;b=a.r.ReadByte();c=b[0];d=b[1];if((c===0)||!($interfaceIsEqual(d,$ifaceNil))){return[0,d];}return G.ReadFull(a.r,$subslice(new AH(a.tmp),0,c));};N.prototype.readBlock=function(){return this.$val.readBlock();};R=function(a){var b,c,d,e,f,g,h,i,j;b=AL.nil;c=a.Bounds().Dx();d=a.Bounds().Dy();b=AL.make((c*d>>0));e=0;f=Q;g=0;while(g=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),P);i=h.start*c>>0;j=h.start;while(j>0)),$subslice(a.Pix,e,(e+c>>0)));e=e+(c)>>0;i=i+((c*h.skip>>0))>>0;j=j+(h.skip)>>0;}g++;}a.Pix=b;};S=$pkg.Decode=function(a){var b,c,d;b=$clone(new N.Ptr(),N);c=b.decode(a,false);if(!($interfaceIsEqual(c,$ifaceNil))){return[$ifaceNil,c];}return[(d=b.image,((0<0||0>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+0])),$ifaceNil];};V=$pkg.DecodeConfig=function(a){var b,c;b=$clone(new N.Ptr(),N);c=b.decode(a,true);if(!($interfaceIsEqual(c,$ifaceNil))){return[new E.Config.Ptr($ifaceNil,0,0),c];}return[new E.Config.Ptr(b.globalColorMap,b.width,b.height),$ifaceNil];};W=function(){E.RegisterFormat("gif","GIF8?a",S,V);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}AG=$sliceType(P);AH=$sliceType($Uint8);AI=$sliceType($emptyInterface);AJ=$arrayType($Uint8,256);AK=$ptrType(E.Paletted);AL=$sliceType($Uint8);AN=$sliceType(AK);AO=$sliceType($Int);AQ=$arrayType($Uint8,1024);AS=$ptrType(N);AT=$ptrType(O);M.init([["Read","Read","",$funcType([AH],[$Int,$error],false)],["ReadByte","ReadByte","",$funcType([],[$Uint8,$error],false)]]);AS.methods=[["decode","decode","image/gif",$funcType([G.Reader,$Bool],[$error],false),-1],["newImageFromDescriptor","newImageFromDescriptor","image/gif",$funcType([],[AK,$error],false),-1],["readBlock","readBlock","image/gif",$funcType([],[$Int,$error],false),-1],["readColorMap","readColorMap","image/gif",$funcType([],[F.Palette,$error],false),-1],["readExtension","readExtension","image/gif",$funcType([],[$error],false),-1],["readGraphicControl","readGraphicControl","image/gif",$funcType([],[$error],false),-1],["readHeaderAndScreenDescriptor","readHeaderAndScreenDescriptor","image/gif",$funcType([],[$error],false),-1]];N.init([["r","r","image/gif",M,""],["vers","vers","image/gif",$String,""],["width","width","image/gif",$Int,""],["height","height","image/gif",$Int,""],["flags","flags","image/gif",$Uint8,""],["headerFields","headerFields","image/gif",$Uint8,""],["backgroundIndex","backgroundIndex","image/gif",$Uint8,""],["loopCount","loopCount","image/gif",$Int,""],["delayTime","delayTime","image/gif",$Int,""],["aspect","aspect","image/gif",$Uint8,""],["imageFields","imageFields","image/gif",$Uint8,""],["transparentIndex","transparentIndex","image/gif",$Uint8,""],["hasTransparentIndex","hasTransparentIndex","image/gif",$Bool,""],["pixelSize","pixelSize","image/gif",$Uint,""],["globalColorMap","globalColorMap","image/gif",F.Palette,""],["delay","delay","image/gif",AO,""],["image","image","image/gif",AN,""],["tmp","tmp","image/gif",AQ,""]]);AT.methods=[["Read","Read","",$funcType([AH],[$Int,$error],false),-1]];O.init([["r","r","image/gif",M,""],["slice","slice","image/gif",AH,""],["err","err","image/gif",$error,""],["tmp","tmp","image/gif",AJ,""]]);P.init([["skip","skip","image/gif",$Int,""],["start","start","image/gif",$Int,""]]);J=C.New("gif: not enough image data");K=C.New("gif: too much image data");L=C.New("gif: invalid pixel value");Q=new AG([new P.Ptr(8,0),new P.Ptr(8,4),new P.Ptr(4,2),new P.Ptr(2,1)]);W();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["github.com/hajimehoshi/ebiten/ebitenutil"]=(function(){var $pkg={},L,M,N,O,A,B,F,C,G,H,I,J,D,E,K,Y,AA,AB,AG,AH,AI,AJ,U,V,X;L=$packages["bytes"];M=$packages["errors"];N=$packages["fmt"];O=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/internal/assets"];F=$packages["image"];C=$packages["image/color"];G=$packages["image/color/palette"];H=$packages["image/draw"];I=$packages["image/gif"];J=$packages["io"];D=$packages["math"];E=$packages["strings"];K=$packages["sync"];V=function(){var a,b,c,d,e,f,g,h,i,j,k;a=new AA([]);b=new AB([0,128,255]);c=0;while(c=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);e=new AB([0,128,255]);f=0;while(f=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);h=new AB([0,128,255]);i=0;while(i=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);a=$append(a,(k=new C.RGBA.Ptr(d,g,j,255),new k.constructor.Struct(k)));i++;}f++;}c++;}U=$subslice(new C.Palette(a.$array),a.$offset,a.$offset+a.$length);};X=$pkg.NewImageFromFile=function(a,b,$b){var $this=this,$args=arguments,$r,$s=0,c,d,e,f,g,h,i,j,k,l,m;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:c=$ifaceNil;d=null;e=new AH(0);f=new($global.XMLHttpRequest)();f.open($externalize("GET",$String),$externalize(a,$String),$externalize(true,$Bool));f.responseType=$externalize("arraybuffer",$String);f.onload=$externalize((function(){var $deferred=[],$err=null,g,h;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);h=$parseInt(f.status)>>0;if(200<=h&&h<400){d=f.response;return;}c=M.New(N.Sprintf("http error: %d",new AI([new $Int(h)])));}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.onerror=$externalize((function(){var $deferred=[],$err=null,g;try{$deferFrames.push($deferred);$deferred.push([function(g){$close(g);},[e]]);c=M.New("http error");}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}}),AJ);f.send();g=$recv(e,$BLOCKING);$s=1;case 1:if(g&&g.$blocking){g=g();}g[0];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}h=$assertType($internalize(new($global.Uint8Array)(d),$emptyInterface),AB);i=L.NewBuffer(h);j=F.Decode(i);k=j[0];c=j[2];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}l=A.NewImageFromImage(k,b);m=l[0];c=l[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[Y.nil,$ifaceNil,c];}return[m,k,$ifaceNil];case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=L.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=M.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=N.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=O.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=7;case 7:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=8;case 8:if($r&&$r.$blocking){$r=$r();}$r=G.$init($BLOCKING);$s=9;case 9:if($r&&$r.$blocking){$r=$r();}$r=H.$init($BLOCKING);$s=10;case 10:if($r&&$r.$blocking){$r=$r();}$r=I.$init($BLOCKING);$s=11;case 11:if($r&&$r.$blocking){$r=$r();}$r=J.$init($BLOCKING);$s=12;case 12:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=13;case 13:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=14;case 14:if($r&&$r.$blocking){$r=$r();}$r=K.$init($BLOCKING);$s=15;case 15:if($r&&$r.$blocking){$r=$r();}Y=$ptrType(A.Image);AA=$sliceType(C.Color);AB=$sliceType($Uint8);AG=$structType([]);AH=$chanType(AG,false,false);AI=$sliceType($emptyInterface);AJ=$funcType([],[],false);U=C.Palette.nil;V();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["image/jpeg"]=(function(){var $pkg={},D,E,B,C,A,AQ,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BF,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,G,I,K,L,M,P,Q,AB,AD,H,N,R,AC,AE,J,S,T,U,AF;D=$packages["bufio"];E=$packages["errors"];B=$packages["image"];C=$packages["image/color"];A=$packages["io"];G=$pkg.huffman=$newType(0,$kindStruct,"jpeg.huffman","huffman","image/jpeg",function(nCodes_,lut_,vals_,minCodes_,maxCodes_,valsIndices_){this.$val=this;this.nCodes=nCodes_!==undefined?nCodes_:0;this.lut=lut_!==undefined?lut_:BI.zero();this.vals=vals_!==undefined?vals_:BJ.zero();this.minCodes=minCodes_!==undefined?minCodes_:AT.zero();this.maxCodes=maxCodes_!==undefined?maxCodes_:AT.zero();this.valsIndices=valsIndices_!==undefined?valsIndices_:AT.zero();});I=$pkg.block=$newType(256,$kindArray,"jpeg.block","block","image/jpeg",null);K=$pkg.FormatError=$newType(8,$kindString,"jpeg.FormatError","FormatError","image/jpeg",null);L=$pkg.UnsupportedError=$newType(8,$kindString,"jpeg.UnsupportedError","UnsupportedError","image/jpeg",null);M=$pkg.component=$newType(0,$kindStruct,"jpeg.component","component","image/jpeg",function(h_,v_,c_,tq_){this.$val=this;this.h=h_!==undefined?h_:0;this.v=v_!==undefined?v_:0;this.c=c_!==undefined?c_:0;this.tq=tq_!==undefined?tq_:0;});P=$pkg.bits=$newType(0,$kindStruct,"jpeg.bits","bits","image/jpeg",function(a_,m_,n_){this.$val=this;this.a=a_!==undefined?a_:0;this.m=m_!==undefined?m_:0;this.n=n_!==undefined?n_:0;});Q=$pkg.decoder=$newType(0,$kindStruct,"jpeg.decoder","decoder","image/jpeg",function(r_,bits_,bytes_,width_,height_,img1_,img3_,ri_,nComp_,progressive_,eobRun_,comp_,progCoeffs_,huff_,quant_,tmp_){this.$val=this;this.r=r_!==undefined?r_:$ifaceNil;this.bits=bits_!==undefined?bits_:new P.Ptr();this.bytes=bytes_!==undefined?bytes_:new BN.Ptr();this.width=width_!==undefined?width_:0;this.height=height_!==undefined?height_:0;this.img1=img1_!==undefined?img1_:AV.nil;this.img3=img3_!==undefined?img3_:AW.nil;this.ri=ri_!==undefined?ri_:0;this.nComp=nComp_!==undefined?nComp_:0;this.progressive=progressive_!==undefined?progressive_:false;this.eobRun=eobRun_!==undefined?eobRun_:0;this.comp=comp_!==undefined?comp_:BO.zero();this.progCoeffs=progCoeffs_!==undefined?progCoeffs_:BP.zero();this.huff=huff_!==undefined?huff_:BR.zero();this.quant=quant_!==undefined?quant_:BF.zero();this.tmp=tmp_!==undefined?tmp_:BS.zero();});AB=$pkg.huffmanSpec=$newType(0,$kindStruct,"jpeg.huffmanSpec","huffmanSpec","image/jpeg",function(count_,value_){this.$val=this;this.count=count_!==undefined?count_:BW.zero();this.value=value_!==undefined?value_:AS.nil;});AD=$pkg.huffmanLUT=$newType(12,$kindSlice,"jpeg.huffmanLUT","huffmanLUT","image/jpeg",null);Q.Ptr.prototype.ensureNBits=function(a){var b,c,d,e,f;b=this;while(true){c=b.readByteStuffedByte();d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,A.EOF)){return new K(H);}return e;}b.bits.a=((b.bits.a<<8>>>0)|(d>>>0))>>>0;b.bits.n=b.bits.n+(8)>>0;if(b.bits.m===0){b.bits.m=128;}else{b.bits.m=(f=(8),f<32?(b.bits.m<>>0;}if(b.bits.n>=a){break;}}return $ifaceNil;};Q.prototype.ensureNBits=function(a){return this.$val.ensureNBits(a);};Q.Ptr.prototype.receiveExtend=function(a){var b,c,d,e,f,g,h,i;b=this;if(b.bits.n<(a>>0)){c=b.ensureNBits((a>>0));if(!($interfaceIsEqual(c,$ifaceNil))){return[0,c];}}b.bits.n=b.bits.n-((a>>0))>>0;b.bits.m=(d=(a),d<32?(b.bits.m>>>d):0)>>>0;f=(e=a,e<32?(1<>0;h=(((g=(b.bits.n<<24>>>24),g<32?(b.bits.a>>>g):0)>>>0)>>0)&((f-1>>0));if(h<(f>>1>>0)){h=h+(((((i=a,i<32?(-1<>0))+1>>0))>>0;}return[h,$ifaceNil];};Q.prototype.receiveExtend=function(a){return this.$val.receiveExtend(a);};Q.Ptr.prototype.processDHT=function(a){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,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw;b=this;while(a>0){if(a<17){return new K("DHT has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,17));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(d>1){return new K("bad Tc value");}e=(b.tmp[0]&15)>>>0;if(e>3||!b.progressive&&e>1){return new K("bad Th value");}h=(f=(g=b.huff,((d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d])),((e<0||e>=f.length)?$throwRuntimeError("index out of range"):f[e]));h.nCodes=0;i=$clone(AT.zero(),AT);j=i;k=0;while(k<16){l=k;(l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]=((m=b.tmp,n=l+1>>0,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))>>0);h.nCodes=h.nCodes+(((l<0||l>=i.length)?$throwRuntimeError("index out of range"):i[l]))>>0;k++;}if(h.nCodes===0){return new K("Huffman table has zero length");}if(h.nCodes>256){return new K("Huffman table has excessive length");}a=a-(((h.nCodes>>0)+17>>0))>>0;if(a<0){return new K("DHT has wrong length");}o=b.readFull($subslice(new AU(h.vals),0,h.nCodes));if(!($interfaceIsEqual(o,$ifaceNil))){return o;}p=h.lut;q=0;while(q<256){r=q;(s=h.lut,(r<0||r>=s.length)?$throwRuntimeError("index out of range"):s[r]=0);q++;}t=0;u=0;v=t;w=u;x=0;while(x<8){w=(y=(1),y<32?(w<>>0;z=0;while(z<((x<0||x>=i.length)?$throwRuntimeError("index out of range"):i[x])){ab=(((aa=((7-x>>>0)),aa<32?(w<>>0)<<24>>>24);ad=((((ac=h.vals,((v<0||v>=ac.length)?$throwRuntimeError("index out of range"):ac[v]))<<16>>>16)<<8<<16>>>16)|((2+x>>>0)<<16>>>16))>>>0;ae=0;while(ae<((af=((7-x>>>0)),af<32?(1<>>24)){(ag=h.lut,ah=(ab|ae)>>>0,(ah<0||ah>=ag.length)?$throwRuntimeError("index out of range"):ag[ah]=ad);ae=ae+(1)<<24>>>24;}w=w+(1)>>>0;v=v+(1)>>>0;z=z+(1)>>0;}x=x+(1)>>>0;}ai=0;aj=0;ak=ai;al=aj;am=i;an=0;while(an<16){ao=an;ap=((an<0||an>=am.length)?$throwRuntimeError("index out of range"):am[an]);if(ap===0){(aq=h.minCodes,(ao<0||ao>=aq.length)?$throwRuntimeError("index out of range"):aq[ao]=-1);(ar=h.maxCodes,(ao<0||ao>=ar.length)?$throwRuntimeError("index out of range"):ar[ao]=-1);(as=h.valsIndices,(ao<0||ao>=as.length)?$throwRuntimeError("index out of range"):as[ao]=-1);}else{(at=h.minCodes,(ao<0||ao>=at.length)?$throwRuntimeError("index out of range"):at[ao]=ak);(au=h.maxCodes,(ao<0||ao>=au.length)?$throwRuntimeError("index out of range"):au[ao]=(ak+ap>>0)-1>>0);(av=h.valsIndices,(ao<0||ao>=av.length)?$throwRuntimeError("index out of range"):av[ao]=al);ak=ak+(ap)>>0;al=al+(ap)>>0;}ak=(aw=(1),aw<32?(ak<>0;an++;}}return $ifaceNil;};Q.prototype.processDHT=function(a){return this.$val.processDHT(a);};Q.Ptr.prototype.decodeHuffman=function(a){var $this=this,$args=arguments,$s=0,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;s:while(true){switch($s){case 0:b=$this;if(a.nCodes===0){return[0,new K("uninitialized Huffman table")];}if(b.bits.n<8){}else{$s=2;continue;}c=b.ensureNBits(8);if(!($interfaceIsEqual(c,$ifaceNil))){}else{$s=3;continue;}if(!($interfaceIsEqual(c,new K(R)))&&!($interfaceIsEqual(c,new K(H)))){return[0,c];}b.unreadByteStuffedByte();$s=1;continue;case 3:case 2:g=(d=a.lut,e=((((f=((b.bits.n-8>>0)>>>0),f<32?(b.bits.a>>>f):0)>>>0))&255)>>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));if(!((g===0))){h=(((g&255)>>>0))-1<<16>>>16;b.bits.n=b.bits.n-((h>>0))>>0;b.bits.m=(i=(h),i<32?(b.bits.m>>>i):0)>>>0;return[((g>>>8<<16>>>16)<<24>>>24),$ifaceNil];}case 1:j=0;k=0;l=j;m=k;slowPath:while(l<16){if(b.bits.n===0){n=b.ensureNBits(1);if(!($interfaceIsEqual(n,$ifaceNil))){return[0,n];}}if(!((((b.bits.a&b.bits.m)>>>0)===0))){m=m|(1);}b.bits.n=b.bits.n-(1)>>0;b.bits.m=(o=(1),o<32?(b.bits.m>>>o):0)>>>0;if(m<=(p=a.maxCodes,((l<0||l>=p.length)?$throwRuntimeError("index out of range"):p[l]))){return[(q=a.vals,r=((s=a.valsIndices,((l<0||l>=s.length)?$throwRuntimeError("index out of range"):s[l]))+m>>0)-(t=a.minCodes,((l<0||l>=t.length)?$throwRuntimeError("index out of range"):t[l]))>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),$ifaceNil];}m=(u=(1),u<32?(m<>0;l=l+(1)>>0;}return[0,new K("bad Huffman code")];case-1:}return;}};Q.prototype.decodeHuffman=function(a){return this.$val.decodeHuffman(a);};Q.Ptr.prototype.decodeBit=function(){var a,b,c,d;a=this;if(a.bits.n===0){b=a.ensureNBits(1);if(!($interfaceIsEqual(b,$ifaceNil))){return[false,b];}}c=!((((a.bits.a&a.bits.m)>>>0)===0));a.bits.n=a.bits.n-(1)>>0;a.bits.m=(d=(1),d<32?(a.bits.m>>>d):0)>>>0;return[c,$ifaceNil];};Q.prototype.decodeBit=function(){return this.$val.decodeBit();};Q.Ptr.prototype.decodeBits=function(a){var b,c,d,e,f,g;b=this;if(b.bits.n>0)>>>0),d<32?(b.bits.a>>>d):0)>>>0;e=(e&(((((f=(a>>>0),f<32?(1<>>0))-1>>>0)))>>>0;b.bits.n=b.bits.n-(a)>>0;b.bits.m=(g=((a>>>0)),g<32?(b.bits.m>>>g):0)>>>0;return[e,$ifaceNil];};Q.prototype.decodeBits=function(a){return this.$val.decodeBits(a);};J=function(a){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,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;b=0;while(b<8){c=b*8>>0;if(((d=c+1>>0,(a.nilCheck,((d<0||d>=a.length)?$throwRuntimeError("index out of range"):a[d])))===0)&&((e=c+2>>0,(a.nilCheck,((e<0||e>=a.length)?$throwRuntimeError("index out of range"):a[e])))===0)&&((f=c+3>>0,(a.nilCheck,((f<0||f>=a.length)?$throwRuntimeError("index out of range"):a[f])))===0)&&((g=c+4>>0,(a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g])))===0)&&((h=c+5>>0,(a.nilCheck,((h<0||h>=a.length)?$throwRuntimeError("index out of range"):a[h])))===0)&&((i=c+6>>0,(a.nilCheck,((i<0||i>=a.length)?$throwRuntimeError("index out of range"):a[i])))===0)&&((j=c+7>>0,(a.nilCheck,((j<0||j>=a.length)?$throwRuntimeError("index out of range"):a[j])))===0)){l=(k=c+0>>0,(a.nilCheck,((k<0||k>=a.length)?$throwRuntimeError("index out of range"):a[k])))<<3>>0;(m=c+0>>0,a.nilCheck,(m<0||m>=a.length)?$throwRuntimeError("index out of range"):a[m]=l);(n=c+1>>0,a.nilCheck,(n<0||n>=a.length)?$throwRuntimeError("index out of range"):a[n]=l);(o=c+2>>0,a.nilCheck,(o<0||o>=a.length)?$throwRuntimeError("index out of range"):a[o]=l);(p=c+3>>0,a.nilCheck,(p<0||p>=a.length)?$throwRuntimeError("index out of range"):a[p]=l);(q=c+4>>0,a.nilCheck,(q<0||q>=a.length)?$throwRuntimeError("index out of range"):a[q]=l);(r=c+5>>0,a.nilCheck,(r<0||r>=a.length)?$throwRuntimeError("index out of range"):a[r]=l);(s=c+6>>0,a.nilCheck,(s<0||s>=a.length)?$throwRuntimeError("index out of range"):a[s]=l);(t=c+7>>0,a.nilCheck,(t<0||t>=a.length)?$throwRuntimeError("index out of range"):a[t]=l);b=b+(1)>>0;continue;}v=(((u=c+0>>0,(a.nilCheck,((u<0||u>=a.length)?$throwRuntimeError("index out of range"):a[u])))<<11>>0))+128>>0;x=(w=c+4>>0,(a.nilCheck,((w<0||w>=a.length)?$throwRuntimeError("index out of range"):a[w])))<<11>>0;z=(y=c+6>>0,(a.nilCheck,((y<0||y>=a.length)?$throwRuntimeError("index out of range"):a[y])));ab=(aa=c+2>>0,(a.nilCheck,((aa<0||aa>=a.length)?$throwRuntimeError("index out of range"):a[aa])));ad=(ac=c+1>>0,(a.nilCheck,((ac<0||ac>=a.length)?$throwRuntimeError("index out of range"):a[ac])));af=(ae=c+7>>0,(a.nilCheck,((ae<0||ae>=a.length)?$throwRuntimeError("index out of range"):a[ae])));ah=(ag=c+5>>0,(a.nilCheck,((ag<0||ag>=a.length)?$throwRuntimeError("index out of range"):a[ag])));aj=(ai=c+3>>0,(a.nilCheck,((ai<0||ai>=a.length)?$throwRuntimeError("index out of range"):a[ai])));al=(ak=(ad+af>>0),(((565>>>16<<16)*ak>>0)+(565<<16>>>16)*ak)>>0);ad=al+((((2276>>>16<<16)*ad>>0)+(2276<<16>>>16)*ad)>>0)>>0;af=al-((((3406>>>16<<16)*af>>0)+(3406<<16>>>16)*af)>>0)>>0;al=(am=(ah+aj>>0),(((2408>>>16<<16)*am>>0)+(2408<<16>>>16)*am)>>0);ah=al-((((799>>>16<<16)*ah>>0)+(799<<16>>>16)*ah)>>0)>>0;aj=al-((((4017>>>16<<16)*aj>>0)+(4017<<16>>>16)*aj)>>0)>>0;al=v+x>>0;v=v-(x)>>0;x=(an=(ab+z>>0),(((1108>>>16<<16)*an>>0)+(1108<<16>>>16)*an)>>0);z=x-((((3784>>>16<<16)*z>>0)+(3784<<16>>>16)*z)>>0)>>0;ab=x+((((1568>>>16<<16)*ab>>0)+(1568<<16>>>16)*ab)>>0)>>0;x=ad+ah>>0;ad=ad-(ah)>>0;ah=af+aj>>0;af=af-(aj)>>0;aj=al+ab>>0;al=al-(ab)>>0;ab=v+z>>0;v=v-(z)>>0;z=(((ao=(ad+af>>0),(((181>>>16<<16)*ao>>0)+(181<<16>>>16)*ao)>>0)+128>>0))>>8>>0;ad=(((ap=(ad-af>>0),(((181>>>16<<16)*ap>>0)+(181<<16>>>16)*ap)>>0)+128>>0))>>8>>0;(aq=c+0>>0,a.nilCheck,(aq<0||aq>=a.length)?$throwRuntimeError("index out of range"):a[aq]=((aj+x>>0))>>8>>0);(ar=c+1>>0,a.nilCheck,(ar<0||ar>=a.length)?$throwRuntimeError("index out of range"):a[ar]=((ab+z>>0))>>8>>0);(as=c+2>>0,a.nilCheck,(as<0||as>=a.length)?$throwRuntimeError("index out of range"):a[as]=((v+ad>>0))>>8>>0);(at=c+3>>0,a.nilCheck,(at<0||at>=a.length)?$throwRuntimeError("index out of range"):a[at]=((al+ah>>0))>>8>>0);(au=c+4>>0,a.nilCheck,(au<0||au>=a.length)?$throwRuntimeError("index out of range"):a[au]=((al-ah>>0))>>8>>0);(av=c+5>>0,a.nilCheck,(av<0||av>=a.length)?$throwRuntimeError("index out of range"):a[av]=((v-ad>>0))>>8>>0);(aw=c+6>>0,a.nilCheck,(aw<0||aw>=a.length)?$throwRuntimeError("index out of range"):a[aw]=((ab-z>>0))>>8>>0);(ax=c+7>>0,a.nilCheck,(ax<0||ax>=a.length)?$throwRuntimeError("index out of range"):a[ax]=((aj-x>>0))>>8>>0);b=b+(1)>>0;}ay=0;while(ay<8){ba=(((az=0+ay>>0,(a.nilCheck,((az<0||az>=a.length)?$throwRuntimeError("index out of range"):a[az])))<<8>>0))+8192>>0;bc=(bb=32+ay>>0,(a.nilCheck,((bb<0||bb>=a.length)?$throwRuntimeError("index out of range"):a[bb])))<<8>>0;be=(bd=48+ay>>0,(a.nilCheck,((bd<0||bd>=a.length)?$throwRuntimeError("index out of range"):a[bd])));bg=(bf=16+ay>>0,(a.nilCheck,((bf<0||bf>=a.length)?$throwRuntimeError("index out of range"):a[bf])));bi=(bh=8+ay>>0,(a.nilCheck,((bh<0||bh>=a.length)?$throwRuntimeError("index out of range"):a[bh])));bk=(bj=56+ay>>0,(a.nilCheck,((bj<0||bj>=a.length)?$throwRuntimeError("index out of range"):a[bj])));bm=(bl=40+ay>>0,(a.nilCheck,((bl<0||bl>=a.length)?$throwRuntimeError("index out of range"):a[bl])));bo=(bn=24+ay>>0,(a.nilCheck,((bn<0||bn>=a.length)?$throwRuntimeError("index out of range"):a[bn])));bq=(bp=(bi+bk>>0),(((565>>>16<<16)*bp>>0)+(565<<16>>>16)*bp)>>0)+4>>0;bi=((bq+((((2276>>>16<<16)*bi>>0)+(2276<<16>>>16)*bi)>>0)>>0))>>3>>0;bk=((bq-((((3406>>>16<<16)*bk>>0)+(3406<<16>>>16)*bk)>>0)>>0))>>3>>0;bq=(br=(bm+bo>>0),(((2408>>>16<<16)*br>>0)+(2408<<16>>>16)*br)>>0)+4>>0;bm=((bq-((((799>>>16<<16)*bm>>0)+(799<<16>>>16)*bm)>>0)>>0))>>3>>0;bo=((bq-((((4017>>>16<<16)*bo>>0)+(4017<<16>>>16)*bo)>>0)>>0))>>3>>0;bq=ba+bc>>0;ba=ba-(bc)>>0;bc=(bs=(bg+be>>0),(((1108>>>16<<16)*bs>>0)+(1108<<16>>>16)*bs)>>0)+4>>0;be=((bc-((((3784>>>16<<16)*be>>0)+(3784<<16>>>16)*be)>>0)>>0))>>3>>0;bg=((bc+((((1568>>>16<<16)*bg>>0)+(1568<<16>>>16)*bg)>>0)>>0))>>3>>0;bc=bi+bm>>0;bi=bi-(bm)>>0;bm=bk+bo>>0;bk=bk-(bo)>>0;bo=bq+bg>>0;bq=bq-(bg)>>0;bg=ba+be>>0;ba=ba-(be)>>0;be=(((bt=(bi+bk>>0),(((181>>>16<<16)*bt>>0)+(181<<16>>>16)*bt)>>0)+128>>0))>>8>>0;bi=(((bu=(bi-bk>>0),(((181>>>16<<16)*bu>>0)+(181<<16>>>16)*bu)>>0)+128>>0))>>8>>0;(bv=0+ay>>0,a.nilCheck,(bv<0||bv>=a.length)?$throwRuntimeError("index out of range"):a[bv]=((bo+bc>>0))>>14>>0);(bw=8+ay>>0,a.nilCheck,(bw<0||bw>=a.length)?$throwRuntimeError("index out of range"):a[bw]=((bg+be>>0))>>14>>0);(bx=16+ay>>0,a.nilCheck,(bx<0||bx>=a.length)?$throwRuntimeError("index out of range"):a[bx]=((ba+bi>>0))>>14>>0);(by=24+ay>>0,a.nilCheck,(by<0||by>=a.length)?$throwRuntimeError("index out of range"):a[by]=((bq+bm>>0))>>14>>0);(bz=32+ay>>0,a.nilCheck,(bz<0||bz>=a.length)?$throwRuntimeError("index out of range"):a[bz]=((bq-bm>>0))>>14>>0);(ca=40+ay>>0,a.nilCheck,(ca<0||ca>=a.length)?$throwRuntimeError("index out of range"):a[ca]=((ba-bi>>0))>>14>>0);(cb=48+ay>>0,a.nilCheck,(cb<0||cb>=a.length)?$throwRuntimeError("index out of range"):a[cb]=((bg-be>>0))>>14>>0);(cc=56+ay>>0,a.nilCheck,(cc<0||cc>=a.length)?$throwRuntimeError("index out of range"):a[cc]=((bo-bc>>0))>>14>>0);ay=ay+(1)>>0;}};K.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"invalid JPEG format: "+a;};$ptrType(K).prototype.Error=function(){return new K(this.$get()).Error();};L.prototype.Error=function(){var a;a=this.$val!==undefined?this.$val:this;return"unsupported JPEG feature: "+a;};$ptrType(L).prototype.Error=function(){return new L(this.$get()).Error();};Q.Ptr.prototype.fill=function(){var a,b,c,d,e,f,g,h,i,j;a=this;if(!((a.bytes.i===a.bytes.j))){$panic(new $String("jpeg: fill called when unread bytes exist"));}if(a.bytes.j>2){a.bytes.buf[0]=(b=a.bytes.buf,c=a.bytes.j-2>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]));a.bytes.buf[1]=(d=a.bytes.buf,e=a.bytes.j-1>>0,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));f=2;g=2;a.bytes.i=f;a.bytes.j=g;}h=a.r.Read($subslice(new AS(a.bytes.buf),a.bytes.j));i=h[0];j=h[1];a.bytes.j=a.bytes.j+(i)>>0;if(i>0){j=$ifaceNil;}return j;};Q.prototype.fill=function(){return this.$val.fill();};Q.Ptr.prototype.unreadByteStuffedByte=function(){var a,b,c;a=this;if(a.bytes.nUnreadable===0){$panic(new $String("jpeg: unreadByteStuffedByte call cannot be fulfilled"));}a.bytes.i=a.bytes.i-(a.bytes.nUnreadable)>>0;a.bytes.nUnreadable=0;if(a.bits.n>=8){a.bits.a=(b=(8),b<32?(a.bits.a>>>b):0)>>>0;a.bits.n=a.bits.n-(8)>>0;a.bits.m=(c=(8),c<32?(a.bits.m>>>c):0)>>>0;}};Q.prototype.unreadByteStuffedByte=function(){return this.$val.unreadByteStuffedByte();};Q.Ptr.prototype.readByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i;c=this;while(c.bytes.i===c.bytes.j){b=c.fill();if(!($interfaceIsEqual(b,$ifaceNil))){d=0;e=b;a=d;b=e;return[a,b];}}a=(f=c.bytes.buf,g=c.bytes.i,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=0;h=a;i=$ifaceNil;a=h;b=i;return[a,b];};Q.prototype.readByte=function(){return this.$val.readByte();};Q.Ptr.prototype.readByteStuffedByte=function(){var a=0,b=$ifaceNil,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;c=this;if((c.bytes.i+2>>0)<=c.bytes.j){a=(d=c.bytes.buf,e=c.bytes.i,((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]));c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=1;if(!((a===255))){f=a;g=b;a=f;b=g;return[a,b];}if(!(((h=c.bytes.buf,i=c.bytes.i,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]))===0))){j=0;k=new K(R);a=j;b=k;return[a,b];}c.bytes.i=c.bytes.i+(1)>>0;c.bytes.nUnreadable=2;l=255;m=$ifaceNil;a=l;b=m;return[a,b];}n=c.readByte();a=n[0];b=n[1];if(!($interfaceIsEqual(b,$ifaceNil))){o=0;p=b;a=o;b=p;return[a,b];}if(!((a===255))){c.bytes.nUnreadable=1;q=a;r=$ifaceNil;a=q;b=r;return[a,b];}s=c.readByte();a=s[0];b=s[1];if(!($interfaceIsEqual(b,$ifaceNil))){c.bytes.nUnreadable=1;t=0;u=b;a=t;b=u;return[a,b];}c.bytes.nUnreadable=2;if(!((a===0))){v=0;w=new K(R);a=v;b=w;return[a,b];}x=255;y=$ifaceNil;a=x;b=y;return[a,b];};Q.prototype.readByteStuffedByte=function(){return this.$val.readByteStuffedByte();};Q.Ptr.prototype.readFull=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=$copySlice(a,$subslice(new AS(b.bytes.buf),b.bytes.i,b.bytes.j));a=$subslice(a,c);b.bytes.i=b.bytes.i+(c)>>0;if(a.$length===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.readFull=function(a){return this.$val.readFull(a);};Q.Ptr.prototype.ignore=function(a){var b,c,d;b=this;if(!((b.bytes.nUnreadable===0))){if(b.bits.n>=8){b.unreadByteStuffedByte();}b.bytes.nUnreadable=0;}while(true){c=b.bytes.j-b.bytes.i>>0;if(c>a){c=a;}b.bytes.i=b.bytes.i+(c)>>0;a=a-(c)>>0;if(a===0){break;}d=b.fill();if(!($interfaceIsEqual(d,$ifaceNil))){if($interfaceIsEqual(d,A.EOF)){d=A.ErrUnexpectedEOF;}return d;}}return $ifaceNil;};Q.prototype.ignore=function(a){return this.$val.ignore(a);};Q.Ptr.prototype.processSOF=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=this;c=a;if(c===9){b.nComp=1;}else if(c===15){b.nComp=3;}else{return new L("SOF has wrong length");}d=b.readFull($subslice(new AS(b.tmp),0,a));if(!($interfaceIsEqual(d,$ifaceNil))){return d;}if(!((b.tmp[0]===8))){return new L("precision");}b.height=((b.tmp[1]>>0)<<8>>0)+(b.tmp[2]>>0)>>0;b.width=((b.tmp[3]>>0)<<8>>0)+(b.tmp[4]>>0)>>0;if(!(((b.tmp[5]>>0)===b.nComp))){return new L("SOF has wrong number of image components");}e=0;while(e=h.length)?$throwRuntimeError("index out of range"):h[e])).c=(f=b.tmp,g=6+(3*e>>0)>>0,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));(k=b.comp,((e<0||e>=k.length)?$throwRuntimeError("index out of range"):k[e])).tq=(i=b.tmp,j=8+(3*e>>0)>>0,((j<0||j>=i.length)?$throwRuntimeError("index out of range"):i[j]));if(b.nComp===1){(l=b.comp,((e<0||e>=l.length)?$throwRuntimeError("index out of range"):l[e])).h=1;(m=b.comp,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])).v=1;e=e+(1)>>0;continue;}p=(n=b.tmp,o=7+(3*e>>0)>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o]));(q=b.comp,((e<0||e>=q.length)?$throwRuntimeError("index out of range"):q[e])).h=((p>>>4<<24>>>24)>>0);(r=b.comp,((e<0||e>=r.length)?$throwRuntimeError("index out of range"):r[e])).v=(((p&15)>>>0)>>0);if(e===0){if(!((p===17))&&!((p===33))&&!((p===34))&&!((p===18))){return new L("luma/chroma downsample ratio");}}else if(!((p===17))){return new L("luma/chroma downsample ratio");}e=e+(1)>>0;}return $ifaceNil;};Q.prototype.processSOF=function(a){return this.$val.processSOF(a);};Q.Ptr.prototype.processDQT=function(a){var b,c,d,e,f,g,h,i,j,k,l,m;b=this;while(a>=65){c=b.readFull($subslice(new AS(b.tmp),0,65));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.tmp[0]>>>4<<24>>>24;if(!((d===0))){return new L("bad Pq value");}e=(b.tmp[0]&15)>>>0;if(e>3){return new K("bad Tq value");}f=(g=b.quant,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e]));h=0;while(h<64){i=h;(l=(m=b.quant,((e<0||e>=m.length)?$throwRuntimeError("index out of range"):m[e])),(i<0||i>=l.length)?$throwRuntimeError("index out of range"):l[i]=((j=b.tmp,k=i+1>>0,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))>>0));h++;}a=a-(65)>>0;}if(!((a===0))){return new K("DQT has wrong length");}return $ifaceNil;};Q.prototype.processDQT=function(a){return this.$val.processDQT(a);};Q.Ptr.prototype.processDRI=function(a){var b,c;b=this;if(!((a===2))){return new K("DRI has wrong length");}c=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}b.ri=((b.tmp[0]>>0)<<8>>0)+(b.tmp[1]>>0)>>0;return $ifaceNil;};Q.prototype.processDRI=function(a){return this.$val.processDRI(a);};Q.Ptr.prototype.decode=function(a,b){var c,d,e,f,g,h,i;c=this;c.r=a;d=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}if(!((c.tmp[0]===255))||!((c.tmp[1]===216))){return[$ifaceNil,new K("missing SOI marker")];}while(true){e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}while(!((c.tmp[0]===255))){c.tmp[0]=c.tmp[1];f=c.readByte();c.tmp[1]=f[0];e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}g=c.tmp[1];if(g===0){continue;}while(g===255){h=c.readByte();g=h[0];e=h[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(g===217){break;}if(208<=g&&g<=215){continue;}e=c.readFull($subslice(new AS(c.tmp),0,2));if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}i=(((c.tmp[0]>>0)<<8>>0)+(c.tmp[1]>>0)>>0)-2>>0;if(i<0){return[$ifaceNil,new K("short segment length")];}if((g===192)||(g===194)){c.progressive=g===194;e=c.processSOF(i);if(b){return[$ifaceNil,e];}}else if(g===196){e=c.processDHT(i);}else if(g===219){e=c.processDQT(i);}else if(g===218){e=c.processSOS(i);}else if(g===221){e=c.processDRI(i);}else if(224<=g&&g<=239||(g===254)){e=c.ignore(i);}else{e=new L("unknown marker");}if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}}if(!(c.img1===AV.nil)){return[c.img1,$ifaceNil];}if(!(c.img3===AW.nil)){return[c.img3,$ifaceNil];}return[$ifaceNil,new K("missing SOS marker")];};Q.prototype.decode=function(a,b){return this.$val.decode(a,b);};S=$pkg.Decode=function(a){var b;b=$clone(new Q.Ptr(),Q);return b.decode(a,false);};T=$pkg.DecodeConfig=function(a){var b,c,d,e;b=$clone(new Q.Ptr(),Q);c=b.decode(a,true);d=c[1];if(!($interfaceIsEqual(d,$ifaceNil))){return[new B.Config.Ptr($ifaceNil,0,0),d];}e=b.nComp;if(e===1){return[new B.Config.Ptr(C.GrayModel,b.width,b.height),$ifaceNil];}else if(e===3){return[new B.Config.Ptr(C.YCbCrModel,b.width,b.height),$ifaceNil];}return[new B.Config.Ptr($ifaceNil,0,0),new K("missing SOF marker")];};U=function(){B.RegisterFormat("jpeg","\xFF\xD8",S,T);};Q.Ptr.prototype.makeImg=function(a,b,c,d){var e,f,g,h;e=this;if(e.nComp===1){f=B.NewGray(B.Rect(0,0,8*c>>0,8*d>>0));e.img1=$assertType(f.SubImage(B.Rect(0,0,e.width,e.height)),AV);return;}g=0;if((a===1)&&(b===1)){g=0;}else if((a===1)&&(b===2)){g=3;}else if((a===2)&&(b===1)){g=1;}else if((a===2)&&(b===2)){g=2;}else{$panic(new $String("unreachable"));}h=B.NewYCbCr(B.Rect(0,0,(8*a>>0)*c>>0,(8*b>>0)*d>>0),g);e.img3=$assertType(h.SubImage(B.Rect(0,0,e.width,e.height)),AW);};Q.prototype.makeImg=function(a,b,c,d){return this.$val.makeImg(a,b,c,d);};Q.Ptr.prototype.processSOS=function(a){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,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,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es;b=this;if(b.nComp===0){return new K("missing SOF marker");}if(a<6||(4+(2*b.nComp>>0)>>0)>0);if(!((a===(4+(2*e>>0)>>0)))){return new K("SOS length inconsistent with number of components");}f=$clone(AY.zero(),AY);g=0;while(g>0)>>0,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]));k=-1;l=b.comp;m=0;while(m<3){n=m;o=$clone(((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]),M);if(j===o.c){k=n;}m++;}if(k<0){return new K("unknown component selector");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).compIndex=(k<<24>>>24);((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td=(p=b.tmp,q=2+(2*g>>0)>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]))>>>4<<24>>>24;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).td>3){return new K("bad Td value");}((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta=((r=b.tmp,s=2+(2*g>>0)>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s]))&15)>>>0;if(((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]).ta>3){return new K("bad Ta value");}g=g+(1)>>0;}t=0;u=63;v=0;w=0;x=t;y=u;z=v;aa=w;if(b.progressive){x=((ab=b.tmp,ac=1+(2*e>>0)>>0,((ac<0||ac>=ab.length)?$throwRuntimeError("index out of range"):ab[ac]))>>0);y=((ad=b.tmp,ae=2+(2*e>>0)>>0,((ae<0||ae>=ad.length)?$throwRuntimeError("index out of range"):ad[ae]))>>0);z=(((af=b.tmp,ag=3+(2*e>>0)>>0,((ag<0||ag>=af.length)?$throwRuntimeError("index out of range"):af[ag]))>>>4<<24>>>24)>>>0);aa=((((ah=b.tmp,ai=3+(2*e>>0)>>0,((ai<0||ai>=ah.length)?$throwRuntimeError("index out of range"):ah[ai]))&15)>>>0)>>>0);if(((x===0)&&!((y===0)))||x>y||64<=y){return new K("bad spectral selection bounds");}if(!((x===0))&&!((e===1))){return new K("progressive AC coefficients for more than one component");}if(!((z===0))&&!((z===(aa+1>>>0)))){return new K("bad successive approximation values");}}aj=b.comp[0].h;ak=b.comp[0].v;al=aj;am=ak;ao=(an=(((b.width+(8*al>>0)>>0)-1>>0))/((8*al>>0)),(an===an&&an!==1/0&&an!==-1/0)?an>>0:$throwRuntimeError("integer divide by zero"));aq=(ap=(((b.height+(8*am>>0)>>0)-1>>0))/((8*am>>0)),(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));if(b.img1===AV.nil&&b.img3===AW.nil){b.makeImg(al,am,ao,aq);}if(b.progressive){ar=0;while(ar=f.length)?$throwRuntimeError("index out of range"):f[ar]).compIndex;if((at=b.progCoeffs,((as<0||as>=at.length)?$throwRuntimeError("index out of range"):at[as]))===AZ.nil){(aw=b.progCoeffs,(as<0||as>=aw.length)?$throwRuntimeError("index out of range"):aw[as]=AZ.make((((ao*aq>>0)*(au=b.comp,((as<0||as>=au.length)?$throwRuntimeError("index out of range"):au[as])).h>>0)*(av=b.comp,((as<0||as>=av.length)?$throwRuntimeError("index out of range"):av[as])).v>>0)));}ar=ar+(1)>>0;}}$copy(b.bits,new P.Ptr(0,0,0),P);ax=0;ay=208;az=ax;ba=ay;bb=$clone(I.zero(),I);bc=$clone(BA.zero(),BA);bd=0;be=0;bf=bd;bg=be;bh=0;bi=0;while(bi=f.length)?$throwRuntimeError("index out of range"):f[bk]).compIndex;bp=(bm=b.quant,bn=(bo=b.comp,((bl<0||bl>=bo.length)?$throwRuntimeError("index out of range"):bo[bl])).tq,((bn<0||bn>=bm.length)?$throwRuntimeError("index out of range"):bm[bn]));bq=0;while(bq<((br=b.comp,((bl<0||bl>=br.length)?$throwRuntimeError("index out of range"):br[bl])).h*(bs=b.comp,((bl<0||bl>=bs.length)?$throwRuntimeError("index out of range"):bs[bl])).v>>0)){if(!((e===1))){bt=(bu=b.comp,((bl<0||bl>=bu.length)?$throwRuntimeError("index out of range"):bu[bl])).h*bj>>0;bv=(bw=b.comp,((bl<0||bl>=bw.length)?$throwRuntimeError("index out of range"):bw[bl])).v*bi>>0;bf=bt;bg=bv;if(al===1){bg=bg+(bq)>>0;}else{bf=bf+((bx=bq%2,bx===bx?bx:$throwRuntimeError("integer divide by zero")))>>0;bg=bg+((by=bq/2,(by===by&&by!==1/0&&by!==-1/0)?by>>0:$throwRuntimeError("integer divide by zero")))>>0;}}else{ca=ao*(bz=b.comp,((bl<0||bl>=bz.length)?$throwRuntimeError("index out of range"):bz[bl])).h>>0;bf=(cb=bh%ca,cb===cb?cb:$throwRuntimeError("integer divide by zero"));bg=(cc=bh/ca,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>0:$throwRuntimeError("integer divide by zero"));bh=bh+(1)>>0;if((bf*8>>0)>=b.width||(bg*8>>0)>=b.height){bq=bq+(1)>>0;continue;}}if(b.progressive){$copy(bb,(cd=(ce=b.progCoeffs,((bl<0||bl>=ce.length)?$throwRuntimeError("index out of range"):ce[bl])),cf=((bg*ao>>0)*(cg=b.comp,((bl<0||bl>=cg.length)?$throwRuntimeError("index out of range"):cg[bl])).h>>0)+bf>>0,((cf<0||cf>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+cf])),I);}else{$copy(bb,BB.zero(),I);}if(!((z===0))){ck=b.refine(bb,(ch=b.huff[1],ci=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((ci<0||ci>=ch.length)?$throwRuntimeError("index out of range"):ch[ci])),x,y,(cj=aa,cj<32?(1<>0);if(!($interfaceIsEqual(ck,$ifaceNil))){return ck;}}else{cl=x;if(cl===0){cl=cl+(1)>>0;cm=b.decodeHuffman((cn=b.huff[0],co=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).td,((co<0||co>=cn.length)?$throwRuntimeError("index out of range"):cn[co])));cp=cm[0];cq=cm[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}if(cp>16){return new L("excessive DC component");}cr=b.receiveExtend(cp);cs=cr[0];cq=cr[1];if(!($interfaceIsEqual(cq,$ifaceNil))){return cq;}ct=bc;cu=bl;(cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu]=((cu<0||cu>=ct.length)?$throwRuntimeError("index out of range"):ct[cu])+(cs)>>0;bb[0]=(cv=aa,cv<32?(((bl<0||bl>=bc.length)?$throwRuntimeError("index out of range"):bc[bl])<>0;}if(cl<=y&&b.eobRun>0){b.eobRun=b.eobRun-(1)<<16>>>16;}else{cy=(cw=b.huff[1],cx=((bk<0||bk>=f.length)?$throwRuntimeError("index out of range"):f[bk]).ta,((cx<0||cx>=cw.length)?$throwRuntimeError("index out of range"):cw[cx]));while(cl<=y){cz=b.decodeHuffman(cy);da=cz[0];db=cz[1];if(!($interfaceIsEqual(db,$ifaceNil))){return db;}dc=da>>>4<<24>>>24;dd=(da&15)>>>0;if(!((dd===0))){cl=cl+((dc>>0))>>0;if(cl>y){break;}de=b.receiveExtend(dd);df=de[0];dg=de[1];if(!($interfaceIsEqual(dg,$ifaceNil))){return dg;}(di=((cl<0||cl>=N.length)?$throwRuntimeError("index out of range"):N[cl]),(di<0||di>=bb.length)?$throwRuntimeError("index out of range"):bb[di]=(dh=aa,dh<32?(df<>0);}else{if(!((dc===15))){b.eobRun=((dj=dc,dj<32?(1<>>16);if(!((dc===0))){dk=b.decodeBits((dc>>0));dl=dk[0];dm=dk[1];if(!($interfaceIsEqual(dm,$ifaceNil))){return dm;}b.eobRun=(b.eobRun|((dl<<16>>>16)))>>>0;}b.eobRun=b.eobRun-(1)<<16>>>16;break;}cl=cl+(15)>>0;}cl=cl+(1)>>0;}}}if(b.progressive){if(!((y===63))||!((aa===0))){$copy((dn=(dp=b.progCoeffs,((bl<0||bl>=dp.length)?$throwRuntimeError("index out of range"):dp[bl])),dq=((bg*ao>>0)*(dr=b.comp,((bl<0||bl>=dr.length)?$throwRuntimeError("index out of range"):dr[bl])).h>>0)+bf>>0,((dq<0||dq>=dn.$length)?$throwRuntimeError("index out of range"):dn.$array[dn.$offset+dq])),bb,I);bq=bq+(1)>>0;continue;}}ds=0;while(ds<64){dt=bb;du=((ds<0||ds>=N.length)?$throwRuntimeError("index out of range"):N[ds]);(du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]=(dv=((du<0||du>=dt.length)?$throwRuntimeError("index out of range"):dt[du]),dw=(bp.nilCheck,((ds<0||ds>=bp.length)?$throwRuntimeError("index out of range"):bp[ds])),(((dv>>>16<<16)*dw>>0)+(dv<<16>>>16)*dw)>>0);ds=ds+(1)>>0;}J(bb);dx=AS.nil;dy=0;dz=dx;ea=dy;if(b.nComp===1){eb=$subslice(b.img1.Pix,(8*(((bg*b.img1.Stride>>0)+bf>>0))>>0));ec=b.img1.Stride;dz=eb;ea=ec;}else{ed=bl;if(ed===0){ee=$subslice(b.img3.Y,(8*(((bg*b.img3.YStride>>0)+bf>>0))>>0));ef=b.img3.YStride;dz=ee;ea=ef;}else if(ed===1){eg=$subslice(b.img3.Cb,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));eh=b.img3.CStride;dz=eg;ea=eh;}else if(ed===2){ei=$subslice(b.img3.Cr,(8*(((bg*b.img3.CStride>>0)+bf>>0))>>0));ej=b.img3.CStride;dz=ei;ea=ej;}else{return new L("too many components");}}ek=0;while(ek<8){el=ek*8>>0;em=ek*ea>>0;en=0;while(en<8){ep=(eo=el+en>>0,((eo<0||eo>=bb.length)?$throwRuntimeError("index out of range"):bb[eo]));if(ep<-128){ep=0;}else if(ep>127){ep=255;}else{ep=ep+(128)>>0;}(eq=em+en>>0,(eq<0||eq>=dz.$length)?$throwRuntimeError("index out of range"):dz.$array[dz.$offset+eq]=(ep<<24>>>24));en=en+(1)>>0;}ek=ek+(1)>>0;}bq=bq+(1)>>0;}bk=bk+(1)>>0;}az=az+(1)>>0;if(b.ri>0&&((er=az%b.ri,er===er?er:$throwRuntimeError("integer divide by zero"))===0)&&az<(ao*aq>>0)){es=b.readFull($subslice(new AS(b.tmp),0,2));if(!($interfaceIsEqual(es,$ifaceNil))){return es;}if(!((b.tmp[0]===255))||!((b.tmp[1]===ba))){return new K("bad RST marker");}ba=ba+(1)<<24>>>24;if(ba===216){ba=208;}$copy(b.bits,new P.Ptr(0,0,0),P);$copy(bc,BA.zero(),BA);b.eobRun=0;}bj=bj+(1)>>0;}bi=bi+(1)>>0;}return $ifaceNil;};Q.prototype.processSOS=function(a){return this.$val.processSOS(a);};Q.Ptr.prototype.refine=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad;f=this;if(c===0){if(!((d===0))){$panic(new $String("unreachable"));}g=f.decodeBit();h=g[0];i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}if(h){j=a;k=0;j.nilCheck,(k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(j.nilCheck,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]))|(e);}return $ifaceNil;}l=c;if(f.eobRun===0){loop:while(l<=d){m=0;n=f.decodeHuffman(b);o=n[0];p=n[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}q=o>>>4<<24>>>24;r=(o&15)>>>0;s=r;if(s===0){if(!((q===15))){f.eobRun=((t=q,t<32?(1<>>16);if(!((q===0))){u=f.decodeBits((q>>0));v=u[0];w=u[1];if(!($interfaceIsEqual(w,$ifaceNil))){return w;}f.eobRun=(f.eobRun|((v<<16>>>16)))>>>0;}break loop;}}else if(s===1){m=e;x=f.decodeBit();y=x[0];z=x[1];if(!($interfaceIsEqual(z,$ifaceNil))){return z;}if(!y){m=-m;}}else{return new K("unexpected Huffman code");}aa=f.refineNonZeroes(a,l,d,(q>>0),e);l=aa[0];p=aa[1];if(!($interfaceIsEqual(p,$ifaceNil))){return p;}if(l>d){return new K("too many coefficients");}if(!((m===0))){(ab=((l<0||l>=N.length)?$throwRuntimeError("index out of range"):N[l]),a.nilCheck,(ab<0||ab>=a.length)?$throwRuntimeError("index out of range"):a[ab]=m);}l=l+(1)>>0;}}if(f.eobRun>0){f.eobRun=f.eobRun-(1)<<16>>>16;ac=f.refineNonZeroes(a,l,d,-1,e);ad=ac[1];if(!($interfaceIsEqual(ad,$ifaceNil))){return ad;}}return $ifaceNil;};Q.prototype.refine=function(a,b,c,d,e){return this.$val.refine(a,b,c,d,e);};Q.Ptr.prototype.refineNonZeroes=function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;f=this;while(b<=c){g=((b<0||b>=N.length)?$throwRuntimeError("index out of range"):N[b]);if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))===0){if(d===0){break;}d=d-(1)>>0;b=b+(1)>>0;continue;}h=f.decodeBit();i=h[0];j=h[1];if(!($interfaceIsEqual(j,$ifaceNil))){return[0,j];}if(!i){b=b+(1)>>0;continue;}if((a.nilCheck,((g<0||g>=a.length)?$throwRuntimeError("index out of range"):a[g]))>=0){k=a;l=g;k.nilCheck,(l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]=(k.nilCheck,((l<0||l>=k.length)?$throwRuntimeError("index out of range"):k[l]))+(e)>>0;}else{m=a;n=g;m.nilCheck,(n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=(m.nilCheck,((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]))-(e)>>0;}b=b+(1)>>0;}return[b,$ifaceNil];};Q.prototype.refineNonZeroes=function(a,b,c,d,e){return this.$val.refineNonZeroes(a,b,c,d,e);};$ptrType(AD).prototype.init=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;a=$clone(a,AB);c=0;d=a.value;e=0;while(e=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);if((f>>0)>c){c=(f>>0);}e++;}b.$set((g=BC.make((c+1>>0)),$subslice(new AD(g.$array),g.$offset,g.$offset+g.$length)));h=0;i=0;j=h;k=i;l=0;while(l<16){m=((l+1>>0)>>>0)<<24>>>0;n=0;while(n<(o=a.count,((l<0||l>=o.length)?$throwRuntimeError("index out of range"):o[l]))){(p=b.$get(),q=(r=a.value,((k<0||k>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+k])),(q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(m|j)>>>0);j=j+(1)>>>0;k=k+(1)>>0;n=n+(1)<<24>>>24;}j=(s=(1),s<32?(j<>>0;l=l+(1)>>0;}};AF=function(){var a,b,c,d;a=AC;b=0;while(b<4){c=b;d=$clone(((b<0||b>=a.length)?$throwRuntimeError("index out of range"):a[b]),AB);new BD(function(){return((c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]);},function($v){(c<0||c>=this.$target.length)?$throwRuntimeError("index out of range"):this.$target[c]=$v;},AE).init(d);b++;}};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=D.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=A.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}AQ=$arrayType(AD,4);AS=$sliceType($Uint8);AT=$arrayType($Int32,16);AU=$sliceType($Uint8);AV=$ptrType(B.Gray);AW=$ptrType(B.YCbCr);AX=$structType([["compIndex","compIndex","image/jpeg",$Uint8,""],["td","td","image/jpeg",$Uint8,""],["ta","ta","image/jpeg",$Uint8,""]]);AY=$arrayType(AX,3);AZ=$sliceType(I);BA=$arrayType($Int32,3);BB=$arrayType($Int32,64);BC=$sliceType($Uint32);BD=$ptrType(AD);BF=$arrayType(I,4);BI=$arrayType($Uint16,256);BJ=$arrayType($Uint8,256);BK=$ptrType(K);BL=$ptrType(L);BM=$arrayType($Uint8,4096);BN=$structType([["buf","buf","image/jpeg",BM,""],["i","i","image/jpeg",$Int,""],["j","j","image/jpeg",$Int,""],["nUnreadable","nUnreadable","image/jpeg",$Int,""]]);BO=$arrayType(M,3);BP=$arrayType(AZ,3);BQ=$arrayType(G,4);BR=$arrayType(BQ,2);BS=$arrayType($Uint8,65);BT=$ptrType(G);BU=$ptrType(I);BV=$ptrType(Q);BW=$arrayType($Uint8,16);G.init([["nCodes","nCodes","image/jpeg",$Int32,""],["lut","lut","image/jpeg",BI,""],["vals","vals","image/jpeg",BJ,""],["minCodes","minCodes","image/jpeg",AT,""],["maxCodes","maxCodes","image/jpeg",AT,""],["valsIndices","valsIndices","image/jpeg",AT,""]]);I.init($Int32,64);K.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BK.methods=[["Error","Error","",$funcType([],[$String],false),-1]];L.methods=[["Error","Error","",$funcType([],[$String],false),-1]];BL.methods=[["Error","Error","",$funcType([],[$String],false),-1]];M.init([["h","h","image/jpeg",$Int,""],["v","v","image/jpeg",$Int,""],["c","c","image/jpeg",$Uint8,""],["tq","tq","image/jpeg",$Uint8,""]]);P.init([["a","a","image/jpeg",$Uint32,""],["m","m","image/jpeg",$Uint32,""],["n","n","image/jpeg",$Int32,""]]);BV.methods=[["decode","decode","image/jpeg",$funcType([A.Reader,$Bool],[B.Image,$error],false),-1],["decodeBit","decodeBit","image/jpeg",$funcType([],[$Bool,$error],false),-1],["decodeBits","decodeBits","image/jpeg",$funcType([$Int32],[$Uint32,$error],false),-1],["decodeHuffman","decodeHuffman","image/jpeg",$funcType([BT],[$Uint8,$error],false),-1],["ensureNBits","ensureNBits","image/jpeg",$funcType([$Int32],[$error],false),-1],["fill","fill","image/jpeg",$funcType([],[$error],false),-1],["ignore","ignore","image/jpeg",$funcType([$Int],[$error],false),-1],["makeImg","makeImg","image/jpeg",$funcType([$Int,$Int,$Int,$Int],[],false),-1],["processDHT","processDHT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDQT","processDQT","image/jpeg",$funcType([$Int],[$error],false),-1],["processDRI","processDRI","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOF","processSOF","image/jpeg",$funcType([$Int],[$error],false),-1],["processSOS","processSOS","image/jpeg",$funcType([$Int],[$error],false),-1],["readByte","readByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readByteStuffedByte","readByteStuffedByte","image/jpeg",$funcType([],[$Uint8,$error],false),-1],["readFull","readFull","image/jpeg",$funcType([AS],[$error],false),-1],["receiveExtend","receiveExtend","image/jpeg",$funcType([$Uint8],[$Int32,$error],false),-1],["refine","refine","image/jpeg",$funcType([BU,BT,$Int32,$Int32,$Int32],[$error],false),-1],["refineNonZeroes","refineNonZeroes","image/jpeg",$funcType([BU,$Int32,$Int32,$Int32,$Int32],[$Int32,$error],false),-1],["unreadByteStuffedByte","unreadByteStuffedByte","image/jpeg",$funcType([],[],false),-1]];Q.init([["r","r","image/jpeg",A.Reader,""],["bits","bits","image/jpeg",P,""],["bytes","bytes","image/jpeg",BN,""],["width","width","image/jpeg",$Int,""],["height","height","image/jpeg",$Int,""],["img1","img1","image/jpeg",AV,""],["img3","img3","image/jpeg",AW,""],["ri","ri","image/jpeg",$Int,""],["nComp","nComp","image/jpeg",$Int,""],["progressive","progressive","image/jpeg",$Bool,""],["eobRun","eobRun","image/jpeg",$Uint16,""],["comp","comp","image/jpeg",BO,""],["progCoeffs","progCoeffs","image/jpeg",BP,""],["huff","huff","image/jpeg",BR,""],["quant","quant","image/jpeg",BF,""],["tmp","tmp","image/jpeg",BS,""]]);AB.init([["count","count","image/jpeg",BW,""],["value","value","image/jpeg",AS,""]]);BD.methods=[["init","init","image/jpeg",$funcType([AB],[],false),-1]];AD.init($Uint32);AE=AQ.zero();H="short Huffman data";N=$toNativeArray($kindInt,[0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);R="missing 0xff00 sequence";AC=$toNativeArray($kindStruct,[new AB.Ptr($toNativeArray($kindUint8,[0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125]),new AS([1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250])),new AB.Ptr($toNativeArray($kindUint8,[0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0]),new AS([0,1,2,3,4,5,6,7,8,9,10,11])),new AB.Ptr($toNativeArray($kindUint8,[0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119]),new AS([0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250]))]);U();AF();}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $packages["log"]=(function(){var $pkg={},A,B,C,D,E,F,Y,Z,AA,AB,AC,G,I,H,J,S;A=$packages["fmt"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];E=$packages["sync"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger","Logger","log",function(mu_,prefix_,flag_,out_,buf_){this.$val=this;this.mu=mu_!==undefined?mu_:new E.Mutex.Ptr();this.prefix=prefix_!==undefined?prefix_:"";this.flag=flag_!==undefined?flag_:0;this.out=out_!==undefined?out_:$ifaceNil;this.buf=buf_!==undefined?buf_:Y.nil;});H=$pkg.New=function(a,b,c){return new G.Ptr(new E.Mutex.Ptr(),b,c,a,Y.nil);};J=function(a,b,c){var d,e,f,g,h;d=(b>>>0);if((d===0)&&c<=1){a.$set($append(a.$get(),48));return;}e=$clone(Z.zero(),Z);f=32;while(d>0||c>0){f=f-(1)>>0;c=c-(1)>>0;(f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]=((g=d%10,g===g?g:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24;d=(h=d/(10),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));}a.$set($appendSlice(a.$get(),$subslice(new Y(e),f)));};G.Ptr.prototype.formatHeader=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;e=this;b=$clone(b,F.Time);a.$set($appendSlice(a.$get(),new Y($stringToBytes(e.prefix))));if(!(((e.flag&7)===0))){if(!(((e.flag&1)===0))){f=b.Date();g=f[0];h=f[1];i=f[2];J(a,g,4);a.$set($append(a.$get(),47));J(a,(h>>0),2);a.$set($append(a.$get(),47));J(a,i,2);a.$set($append(a.$get(),32));}if(!(((e.flag&6)===0))){j=b.Clock();k=j[0];l=j[1];m=j[2];J(a,k,2);a.$set($append(a.$get(),58));J(a,l,2);a.$set($append(a.$get(),58));J(a,m,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(n=b.Nanosecond()/1000,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));}}if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){o=c;p=c.length-1>>0;while(p>0){if(c.charCodeAt(p)===47){o=c.substring((p+1>>0));break;}p=p-(1)>>0;}c=o;}a.$set($appendSlice(a.$get(),new Y($stringToBytes(c))));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),new Y($stringToBytes(": "))));}};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.Ptr.prototype.Output=function(a,b){var $deferred=[],$err=null,c,d,e,f,g,h,i,j;try{$deferFrames.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);c.formatHeader(new AA(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c),d,e,f);c.buf=$appendSlice(c.buf,new Y($stringToBytes(b)));if(b.length>0&&!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}i=c.out.Write(c.buf);j=i[1];return j;}catch(err){$err=err;return $ifaceNil;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.Ptr.prototype.Printf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.Ptr.prototype.Print=function(a){var b;b=this;b.Output(2,A.Sprint(a));};G.prototype.Print=function(a){return this.$val.Print(a);};G.Ptr.prototype.Println=function(a){var b;b=this;b.Output(2,A.Sprintln(a));};G.prototype.Println=function(a){return this.$val.Println(a);};G.Ptr.prototype.Fatal=function(a){var b;b=this;b.Output(2,A.Sprint(a));C.Exit(1);};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.Ptr.prototype.Fatalf=function(a,b){var c;c=this;c.Output(2,A.Sprintf(a,b));C.Exit(1);};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.Ptr.prototype.Fatalln=function(a){var b;b=this;b.Output(2,A.Sprintln(a));C.Exit(1);};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.Ptr.prototype.Panic=function(a){var b,c;b=this;c=A.Sprint(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.Ptr.prototype.Panicf=function(a,b){var c,d;c=this;d=A.Sprintf(a,b);c.Output(2,d);$panic(new $String(d));};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.Ptr.prototype.Panicln=function(a){var b,c;b=this;c=A.Sprintln(a);b.Output(2,c);$panic(new $String(c));};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.Ptr.prototype.Flags=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.Ptr.prototype.SetFlags=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.Ptr.prototype.Prefix=function(){var $deferred=[],$err=null,a;try{$deferFrames.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.Ptr.prototype.SetPrefix=function(a){var $deferred=[],$err=null,b;try{$deferFrames.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$deferFrames.pop();$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};S=$pkg.Fatal=function(a){I.Output(2,A.Sprint(a));C.Exit(1);};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}$r=F.$init($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}Y=$sliceType($Uint8);Z=$arrayType($Uint8,32);AA=$ptrType(Y);AB=$sliceType($emptyInterface);AC=$ptrType(G);AC.methods=[["Fatal","Fatal","",$funcType([AB],[],true),-1],["Fatalf","Fatalf","",$funcType([$String,AB],[],true),-1],["Fatalln","Fatalln","",$funcType([AB],[],true),-1],["Flags","Flags","",$funcType([],[$Int],false),-1],["Output","Output","",$funcType([$Int,$String],[$error],false),-1],["Panic","Panic","",$funcType([AB],[],true),-1],["Panicf","Panicf","",$funcType([$String,AB],[],true),-1],["Panicln","Panicln","",$funcType([AB],[],true),-1],["Prefix","Prefix","",$funcType([],[$String],false),-1],["Print","Print","",$funcType([AB],[],true),-1],["Printf","Printf","",$funcType([$String,AB],[],true),-1],["Println","Println","",$funcType([AB],[],true),-1],["SetFlags","SetFlags","",$funcType([$Int],[],false),-1],["SetPrefix","SetPrefix","",$funcType([$String],[],false),-1],["formatHeader","formatHeader","log",$funcType([AA,F.Time,$String,$Int],[],false),-1]];G.init([["mu","mu","log",E.Mutex,""],["prefix","prefix","log",$String,""],["flag","flag","log",$Int,""],["out","out","log",B.Writer,""],["buf","buf","log",Y,""]]);I=H(C.Stderr,"",3);}return;}};$f.$blocking=true;return $f;};return $pkg;})(); -$packages["github.com/hajimehoshi/ebiten/example/rotate"]=(function(){var $pkg={},A,B,C,D,E,J,K,L,F,G,H,I;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];E=$packages["math"];H=function(a){var b,c,d,e,f,g;F=F+(1)>>0;b=G.Size();c=b[0];d=b[1];e=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),K.nil);e.GeoM.Translate(-c/2,-d/2);e.GeoM.Rotate((f=F%360,f===f?f:$throwRuntimeError("integer divide by zero"))*2*3.141592653589793/360);e.GeoM.Translate(160,120);g=a.DrawImage(G,e);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return $ifaceNil;};I=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;G=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new L([a]));}d=A.Run(H,320,240,1,"Rotate (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(d&&d.$blocking){d=d();}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new L([e]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}J=$ptrType(A.Image);K=$sliceType(A.ImagePart);L=$sliceType($emptyInterface);F=0;G=J.nil;$r=I($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); +$packages["github.com/hajimehoshi/ebiten/example/rotate"]=(function(){var $pkg={},A,B,C,D,E,J,K,L,F,G,H,I;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/jpeg"];D=$packages["log"];E=$packages["math"];H=function(a){var b,c,d,e,f,g;F=F+(1)>>0;b=G.Size();c=b[0];d=b[1];e=new A.DrawImageOptions.Ptr($ifaceNil,new A.GeoM.Ptr(),new A.ColorM.Ptr(),K.nil);e.GeoM.Translate(-c/2,-d/2);e.GeoM.Rotate((f=F%360,f===f?f:$throwRuntimeError("integer divide by zero"))*2*3.141592653589793/360);e.GeoM.Translate(160,120);g=a.DrawImage(G,e);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}return $ifaceNil;};I=function($b){var $this=this,$args=arguments,$r,$s=0,a,b,c,d,e;if($b!==$BLOCKING){$nonblockingCall();};var $f=function(){s:while(true){switch($s){case 0:a=$ifaceNil;c=B.NewImageFromFile("images/gophers.jpg",0,$BLOCKING);$s=1;case 1:if(c&&c.$blocking){c=c();}b=c;G=b[0];a=b[2];if(!($interfaceIsEqual(a,$ifaceNil))){D.Fatal(new L([a]));}d=A.Run(H,320,240,2,"Rotate (Ebiten Demo)",$BLOCKING);$s=2;case 2:if(d&&d.$blocking){d=d();}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){}else{$s=3;continue;}D.Fatal(new L([e]));case 3:case-1:}return;}};$f.$blocking=true;return $f;};$pkg.$init=function(){$pkg.$init=function(){};var $r,$s=0;var $f=function(){while(true){switch($s){case 0:$r=A.$init($BLOCKING);$s=1;case 1:if($r&&$r.$blocking){$r=$r();}$r=B.$init($BLOCKING);$s=2;case 2:if($r&&$r.$blocking){$r=$r();}$r=C.$init($BLOCKING);$s=3;case 3:if($r&&$r.$blocking){$r=$r();}$r=D.$init($BLOCKING);$s=4;case 4:if($r&&$r.$blocking){$r=$r();}$r=E.$init($BLOCKING);$s=5;case 5:if($r&&$r.$blocking){$r=$r();}J=$ptrType(A.Image);K=$sliceType(A.ImagePart);L=$sliceType($emptyInterface);F=0;G=J.nil;$r=I($BLOCKING);$s=6;case 6:if($r&&$r.$blocking){$r=$r();}}return;}};$f.$blocking=true;return $f;};return $pkg;})(); $go($packages["github.com/hajimehoshi/ebiten/example/rotate"].$init, [], true); $flushConsole(); diff --git a/_docs/public/example/rotate.js.map b/_docs/public/example/rotate.js.map index 085ba7024..ac1289e1c 100644 --- a/_docs/public/example/rotate.js.map +++ b/_docs/public/example/rotate.js.map @@ -1 +1 @@ -{"version":3,"file":"rotate.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/goroot/src/errors/errors.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/sleep.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/rotate/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kBACA,A,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kBACC,A,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oBACA,A,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;8pEC/CK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iBACL,A,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uB,AACA,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uBACA,A,oD,wHAQK,iBACL,YACA,A,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIG,AAAH,+B,MACC,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,wE,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,OACL,A,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wE,AACA,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gCACA,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,C,AAED,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;2JCjFA,MACA,M,+BA6EA,A,WACC,a,CAED,A,WACC,a,CAED,a,yC,AAIA,0B,+BAIA,A,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,yBA2CA,S,+C,AAyBA,0C,gDAoBA,A,W,AACC,aACC,kB,CAED,S,CAED,A,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2B,AACA,4BACC,AAAA,U,CAGD,yD,oDAIA,K,AACA,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,CAED,A,gBACC,oB,C,AAED,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,C,AAED,iBACC,iC,CAGD,oB,AACA,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACI,AAAJ,kBACC,+FACA,oO,AAF8B,AAAA,c,4FClB/B,AAOA,AACA,WACC,A,qC,AACD,yBACC,A,0C,CAID,8BACA,A,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4E,AACA,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2E,AACA,6DACC,wB,CAED,A,OACC,O,CAED,A,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCAEA,AADA,UAEA,UACA,UACA,UACA,gB,4G,gE;0NC7BA,oB,yCAQK,OACL,W;2J,AC6BA,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,O,AACL,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,OAEL,A,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,CAED,A,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,CAIF,A,oGAWK,OAOL,AANA,uG,AAOA,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,e,AACA,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gB,AANiC,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLI,AAAJ,0BACA,M,0CCVK,OACL,AAIA,A,sHAEC,kG,CAED,A,uGAUK,OAMF,AALH,AAKA,mH,QACC,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OACL,AAKA,WAEA,0IAEA,A,uIACC,kG,CAED,A,sGAaK,OACL,AAQA,2H,AACA,kBACC,IACA,wD,CAGD,AAAI,oBACH,kGADuB,A,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gBACC,A,8C,CAED,2CACK,AAAJ,IACA,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,QACC,A,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,C,AAID,Q,AACC,6C,CAED,uF,AACA,kBACC,A,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,YACC,A,oD,CAED,A,uBACC,A,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,wFACA,A,oB,AACC,oD,CAID,A,UACC,yG,AACA,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sLAIA,WACA,A,QACC,A,6C,CAED,kBAGA,A,UACC,A,+C,C,AAID,U,AACC,8C,C,AAID,QACC,A,6C,CAED,kBACA,A,kBACC,A,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,C,AAED,8C,C,AAID,QACC,A,mD,CAED,mBACA,A,oB,AACC,oD,C,AAID,UACC,4EACA,A,Y,AACC,oD,CAED,A,uB,AACC,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oBACC,A,oD,CAID,A,UACC,yGACA,A,wB,AACC,oD,CAED,A,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,UACC,A,gC,CAED,SACA,4F,AACA,U,AACC,4B,CAKD,SACA,A,QACC,I,CAEG,AAAJ,AAAI,uB,AACH,4FACC,M,CAFyB,A,AAAA,YAK3B,A,QACC,I,CAED,oCACA,A,sBACC,A,gC,C,AAED,4B,6BA6CA,AACA,QACC,S,AACD,iBACC,S,AACD,kBACC,S,AACD,6BACC,S,AACD,mBACC,S,AACD,qBACC,S,CAED,S,wCAOO,AAAP,UACA,WACC,gGACA,S,AACD,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,S,AAJD,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACI,AAAJ,IACA,AAAI,uBACH,A,6FACC,AAAA,W,MAEA,2BACA,W,CALqB,A,AAAA,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sH,AACC,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aACA,AACA,mBACC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,U,AAEA,4BACC,c,CAED,A,yCACC,AAAI,S,AACJ,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,O,AACL,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACI,AAAH,mC,UAEC,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gE,AACA,+BACC,M,CAED,A,sCACC,A,4B,C,CAGF,A,oC,4IAOA,4B,AACC,+CACC,yB,C,QAGF,kB,wLAOK,OACL,a,AACA,wBACC,UACA,gD,AACA,QACC,iE,CAED,mBACA,kB,AACA,sC,AACC,4B,CAID,A,eACC,A,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0B,AACA,oC,CAED,mDACA,4C,AACA,oC,+HAOK,OACL,a,AACA,yBAEC,cACA,A,kBACC,Y,CAED,A,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,a,AACA,oC,0JAQK,OACL,a,AACA,yBAEC,cACA,A,0C,CAED,aACA,yGACA,A,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mB,AACA,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,a,AACA,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,aACA,A,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0BACC,A,uBACC,6DACA,S,C,G,e,AAMF,OACC,yH,CAED,O,wBAIA,2B,AACA,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kBACA,A,kBACC,c,CAED,QACA,yBACA,+BACA,AAAI,iCACH,6BACA,0I,AAFiC,AAAA,YAIlC,S,8EAeA,4BACC,W,QAGD,A,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIA,AAAG,e,gBACF,a,AACA,iH,CAED,A,gCACC,IACA,+BACA,WACA,K,AACA,8D,CAED,IACA,A,iD,0EAIA,AAAG,gB,gBACF,mBACA,A,iH,CAED,A,iBACC,I,CAED,A,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACK,AAAJ,sB,AACC,yBACC,mBACG,AAAH,sD,OACC,4E,MAMA,yF,CAED,M,CAZsB,AAAA,A,Y,K,kIAiCzB,U,AACA,iB,AACC,iC,CAGD,WACA,8CAEA,6DACA,A,O,AACC,iC,CAED,0FACA,AAAI,sBACH,A,yBACC,A,mD,CAFsB,A,AAAA,YAKxB,A,iC,6GClFA,A,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBI,AAAJ,sBACC,A,wBACC,0B,C,AAFsB,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfI,AAAJ,oBACA,0B,AA6BA,4EACC,Y,CAGD,Y,gFA+XA,sB,AACA,sCACC,A,6B,CAID,IACA,AAAG,0E,sCACF,A,6B,C,AAED,UACC,A,qC,CAID,aACA,AAAG,4V,sCACF,A,6B,CAID,A,gHACC,AAAA,Y,C,AAED,mE,kEC3cA,AASA,AAAI,uBACJ,KAEA,2BACA,sB,AACA,sCACC,A,iC,CAKD,AAAG,gX,sC,AACF,iC,CAED,A,+I,iFAQA,YACA,6CACC,2dACA,A,oBACC,SACA,M,CAED,2B,AACA,2CACC,S,CAED,mCACI,AAAJ,qDACA,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,OACL,A,SACC,A,0C,CAID,0CACA,A,sC,AACC,iC,CAID,AAAI,oBAOJ,IAGA,0UACA,eACA,kDACA,6FACA,A,wC,iSAGK,O,AACL,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slBACC,A,sB,CAID,AAAG,6C,sCACF,A,a,CAED,0B,AACA,qB,8LAYK,uCACL,A,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAIA,AAGA,wBAIA,AAHA,Y,+CC0DA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,gDAqLA,0BACA,A,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2B,AACA,eACC,Y,CAED,S,mDAgBA,kC,AACA,eACC,Y,CAED,S,qDAMA,wCACA,A,eACC,Y,CAED,S,wDA2BA,qyC,AACA,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LA,AAAI,SACJ,qBACA,A,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,4DA4JA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2CACA,A,eACC,Y,CAED,Y,+CAiSA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,S,AACA,eACC,Y,CAED,Y,qDAMA,gEACA,I,AACA,eACC,Y,CAED,Y,uCAMA,qBACA,A,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,CAED,A,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sFADyB,AAAA,A,YAG1B,AAAI,uBACJ,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAGA,AADA,iBAEC,mC,AACD,uBAEC,kBACI,AAAJ,sBACC,A,wBACC,AAAA,W,C,AAFsB,AAAA,YAKxB,S,AACD,4BACC,S,AACD,8BACC,A,UACC,S,CAED,S,CAGD,sBACA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,I,AACA,yCACC,AAAA,WACA,W,CAEG,AAAJ,6BACC,yDACA,gCACA,4FACA,AAAA,WACA,A,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WACA,AACA,UACC,S,AACD,gBACC,4B,AACD,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sF,AADkB,AAAA,YAGnB,A,kCACC,S,CAED,AAAI,sBACH,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wDAmfA,A,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACI,AAAJ,eACC,IACA,A,iBACC,A,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gBAZkB,AAAA,A,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;q6FC5qBA,sBACA,0BACA,oBACA,oB,AACA,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,M,AACA,oJ,qKAIA,YACA,4CAAsC,U,qFACtC,gE,wEAIA,cACA,mG,AACA,kDACC,O,CAED,A,yCACC,kB,CAED,gEACC,eACA,a,AACA,8CACC,uEACA,K,C,4D,sBAMF,gCACA,WACA,eACA,S,sBCoCA,A,iBACC,a,CAED,kBACA,qB,8RAMI,AAAJ,sBACC,AAAO,2BACP,WACC,A,wD,AACC,4DACC,A,2E,CAED,A,8BACC,A,2E,C,CAIH,A,iBACC,A,uBACC,A,oCACC,A,2D,AACC,2E,CAED,A,8BACC,A,iF,C,CAGF,A,oCACC,A,gF,C,C,AAIH,iB,AACC,+E,AACC,2L,C,AAGF,iBACC,A,sD,AACC,iF,CAED,A,iF,AAED,iBACC,A,yDACC,A,iF,CAED,A,iF,AAED,iBACC,A,sD,AACC,iF,C,AAGF,iB,AACC,iF,AAED,iBACC,A,iF,AAED,iBACC,A,iF,AAED,iBACC,A,sDACC,A,iF,CAGF,A,kBACC,A,uD,AACC,iF,C,AAGF,iBACC,A,4DACC,A,gF,CAED,A,8DACC,A,gF,C,AAED,0DACC,A,gF,CAED,A,2D,AACC,gF,CAED,A,wDACC,A,gF,C,AAGF,iBACC,A,4DACC,A,gF,C,AAED,8DACC,A,gF,C,AAED,0DACC,A,gF,CAED,A,2DACC,A,gF,C,AAGF,iBACC,A,sFACC,0BACA,UACA,4CACC,AAAA,a,C,AAGD,cACC,MACA,A,gCACC,M,CAED,sCACA,A,0E,C,C,C,AAjHyB,AAAA,Y,AAsH7B,6C,4BA0DI,AAAJ,sBACC,kBACA,kBACA,A,eAEC,eACA,eACA,A,4BACC,a,C,CARsB,A,AAAA,YAYzB,Y,8BAIA,sH,AACC,qDACC,0C,C,KAGF,gB,oCAQA,A,SACC,A,eACC,e,CAED,wC,CAED,A,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,KACA,A,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iDACC,A,4B,CAED,A,MACC,K,CAED,A,oC,sCAMA,IACA,AAAI,uBACJ,AAAI,eACH,AAAA,WACA,mJACA,2F,CAGD,A,QACC,I,CAED,A,MACC,iGACC,AAAA,W,CAED,A,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBAEJ,AADD,kCAGC,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,CAED,A,WACC,M,CAED,KAGA,A,2BACC,sC,CAID,A,2BACC,iC,CAGD,YACA,+BACC,K,AACA,SACC,O,CAED,oF,AACD,mBAEC,KAEA,AADA,aAEC,gBACA,O,AACD,kBACC,+CACA,OACD,A,iBACC,gDACA,O,AACD,cACC,iDACA,OACD,A,eACC,gD,AACD,gBACC,+C,AACD,iBACC,gB,CAED,kB,AACD,mBACC,4E,AACD,mBACC,sBACA,6CACD,A,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBACC,kBACD,A,mBAEC,qEACA,A,WACC,M,CAED,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,mB,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mB,AACC,UACC,+C,MAEA,+C,CAEF,A,mBACC,A,UACC,+C,MAEA,+C,C,AAEF,iFAGC,A,0DACC,gBACA,M,CAED,+FACA,K,AACA,SACC,gBACA,OACA,O,MAEA,gB,CAED,6GACA,A,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,CAGF,A,kBACC,A,cACC,4CACA,M,CAID,+FACA,A,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kF,AAOA,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kBACC,A,yB,AACC,0CACC,a,CAED,QACA,QACA,S,CAED,A,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAGA,AACC,IACA,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,CAED,A,WACC,A,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+BACC,A,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mC,AACD,mBACC,mCACD,A,6BACC,2CACA,A,eACC,U,C,AAEF,mBAEC,2B,AACD,mBACC,2B,AACD,uCACC,A,mDACC,iB,CAED,2CACA,A,cACC,Q,C,AAEF,mBACC,wC,AACA,eACC,S,C,AAEF,6BACC,2CACA,A,cACC,S,C,AAEF,6BACC,2CACA,A,eACC,W,C,AAEF,6BACC,4CACA,A,iBACC,W,CAID,A,iDACC,iBACA,cACA,A,yBAEC,M,CAGD,KACA,6BAA2C,A,AAAA,cAE3C,sCACA,kB,CAEF,A,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,CAEF,A,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,C,AAEF,0FACC,A,gEACC,iBACA,YACA,M,CAED,AAAI,gDACJ,A,yB,AACC,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kBAEA,A,eACC,MACA,M,CAED,uG,A,+B,AAEA,eACC,MACA,M,C,AAED,yDACC,MACA,M,CAED,+H,A,+B,AAEA,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAEG,AAAJ,iCACA,2BACA,A,oCACC,2B,C,AAED,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kBAEC,A,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mDAED,A,kBAGC,sBACA,A,gBACC,MACA,M,CAED,sCACA,kB,AAED,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,C,AAGF,YACC,Y,A,sBAEA,I,C,AAGD,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uFACA,A,kCACC,SACA,qB,CAID,iBACA,qB,CAGD,A,eACC,gDAGA,8FACA,A,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6E,AAcA,eACC,A,gC,C,AAGD,wEACC,A,+B,C,AAGD,6BACC,Q,AACA,+B,CAGD,AAAI,IACJ,AAAI,eACH,A,gBACC,M,CAEE,AAAH,kB,eACC,M,CAL0B,A,AAAA,YAQ5B,IACA,+BACC,A,gCACD,A,gBACC,A,yBACC,A,+B,C,AAEF,gB,AACC,yBACC,A,mC,C,AAEF,gB,AACC,mC,CAED,A,oC,+BAOA,iB,AACA,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,CAED,A,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAED,AAAG,oC,sCACF,c,CAED,A,uBACC,sBACA,c,CAKD,UACA,AAAI,eACH,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kBACA,A,eACC,M,CAED,A,mEAEC,A,sD,CAED,iIATiB,AAAA,A,YAWlB,A,2D,2BCtlCA,A,0CACC,W,CAED,iFACA,A,yCACC,oC,CAED,S,yCAoBK,OACL,A,kCACC,gE,CAED,c,8FAMA,YACA,mEAQA,OACA,S,+CAMK,OACL,A,kCACC,iE,CAED,QACA,SACA,WACA,OACA,S,oFASA,yC,4BAUA,e,mDCpDK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,Q,AAEA,uBACC,U,CAED,sDACA,A,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sDACA,A,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFACA,AAeA,uGAMA,iF,AACA,eACC,AAAA,W,C,AAKD,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACC,AAAG,gF,eACF,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAEL,AAAI,uBACJ,KAEA,8BACA,uCACA,A,MACC,gC,CAGD,A,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WACA,AACA,8BACC,U,AACD,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sCAGA,A,yCACC,AAAA,WACA,qEACA,gEACA,sCAIA,A,yCACC,AAAA,WACA,qEACA,iC,C,C,C,AAKH,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACA,AAAI,eACH,mCACA,kC,AACA,MACC,AAAA,WACA,iH,CAED,sCAPqB,A,AAAA,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,YACA,A,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,SACD,A,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,cAEA,A,OACC,gB,CAGD,IACA,A,UAGC,AADA,SAGC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,QACA,A,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACL,AAAI,IAEJ,A,sBACC,K,MAEA,kBACA,A,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,CAGD,A,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2NAEA,A,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sH,AAOA,yFACC,2CACA,kDACA,mF,AACA,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,CAED,A,4B,2I,AAoBA,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACC,AAAO,uEACP,gEACC,uDACD,A,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kBACL,A,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iBACA,A,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,KACA,A,QACC,oBACA,AAAA,4E,C,CAIF,AAEA,2JACC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,C,AAED,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,CAED,A,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4B,AACA,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mG,AACA,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,OAEL,A,uBACC,S,C,AAID,gOACC,AAAI,4HACH,A,2GACC,S,C,AAFyC,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gIACC,A,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kGACA,A,eACC,sG,AACA,eACC,A,+C,C,C,KAMH,0CACC,0GACA,A,gBACC,A,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,w9O,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kBACA,A,kBACC,2B,CAED,SACA,sCACA,AAAI,wCACH,qHADgC,AAAA,A,YAGjC,S,uGCDK,O,AAEL,4BACC,4BAEA,iC,CAED,iBAEA,IACA,A,SACC,MACA,K,CAGD,eACA,kBAEC,A,mBACC,SACI,AAAJ,YACA,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKE,AAAJ,gBACA,yEACA,qBACA,W,C,AAED,0BACC,A,gC,CAED,A,oC,iJCsDK,OACL,A,eACC,A,+C,CAED,A,yC,4IAeK,OACL,A,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+F,AAMvC,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,Q,AACD,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,O,AACL,eACC,A,0C,CAED,0BACA,A,QACC,I,CAED,A,yDACC,A,gC,CAED,A,sCACC,kC,CAED,A,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,CAED,A,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,OACL,A,eACC,A,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,C,AAED,4B,sIAMK,OACL,A,eACC,A,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,O,AACL,eACC,A,wD,CAED,4BACA,A,6FACC,kB,C,AAED,sCACC,A,wE,CAED,A,oC,oIAKK,O,AACL,eACC,A,0C,C,AAED,+D,mHAyBK,OACL,A,eACC,uB,CAED,AAAG,sB,sCACF,wC,CAED,iB,4EA+BA,A,QACC,I,CAED,Y,+FChOA,mCACA,A,+BACC,iB,C,AAED,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAEE,AAAH,2B,sCACC,2C,CAED,iB,wHAMK,O,AACL,eACC,A,2B,CAED,AAAG,qB,sCACF,A,wB,C,AAED,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yCACC,A,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,OACL,A,uBACC,uB,CAED,AAAI,YACJ,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,e,AACC,kD,CAEG,AAAJ,sCACA,uBACA,A,sCACC,A,kE,CAED,A,oD,yHAmBA,AAAI,sCACJ,eACA,A,sCACC,A,yD,CAED,A,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sC,AACC,4B,CAED,e,K,AAED,4B,6HAcK,OACL,A,+BACC,4B,CAED,A,gE,0HAMK,O,AACL,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,C,AAGD,qEACC,iBACA,S,C,AAGD,4B,C,6HAMI,OACL,A,+BACC,4B,CAED,A,oE,6IAOK,OACL,A,kD,oFA8CA,gBAEA,mCACC,mBAD8B,AAAA,A,YAI/B,AAAI,AAAA,uBACH,A,yBACC,wBACA,M,C,AAHe,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCQA,AAJA,c,2BA+BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+BACD,A,oBACC,iC,AACD,mBACC,+BACD,A,oBACC,gC,AACD,oB,AAEA,oBACC,+B,CAED,A,iCACC,8B,C,AAED,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2C,AACA,sCACC,O,CAED,AAAI,IACJ,iD,AACC,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCAED,AADJ,AACA,uBACA,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,SAGF,A,UACC,oEACA,AAAA,W,CAED,AACA,kE,AACC,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IACA,AACA,aACC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACA,AAAI,AAAA,uBACH,mJACA,AAAA,iB,AAFgB,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gC,AACC,Y,AACC,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yB,AAdgB,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yBANe,A,AAAA,YAUhB,WACC,qBACA,kCACA,A,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DI,AAAJ,sBACC,A,iBACC,Y,CAED,A,gHACC,2G,CALsB,AAAA,A,YAQxB,a,mDAKA,gGACA,A,qIACC,AAAA,W,CAGD,OACA,YACA,IAGI,AAAJ,AAAI,uBACH,0HACA,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,IAVgB,A,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OAEL,AADA,a,AAGA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2F,AAMD,iBACC,a,CAED,A,yG,AAEC,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,CAED,A,YACC,a,MAEA,e,C,wGAKI,O,AACL,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAID,AAAI,qBACH,6E,AACA,SACC,AAAA,2JACA,YACA,O,CALuB,A,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACA,AAAI,0BACH,uLADgC,A,AAAA,YAGjC,cACC,gCADe,A,AAAA,YAGhB,A,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,QACA,A,sE,CAED,cAEA,6GACA,A,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yBACA,A,8BACC,A,a,C,AAED,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,C,AAED,0DACC,sBACA,W,C,AAED,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,I,AACA,MAEC,W,CAGD,SACA,QACA,QAGA,oGACA,A,kBACC,A,iB,CAED,4EAGA,A,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iFACA,A,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,IACJ,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qIAKA,A,2XAEC,A,iB,C,AAED,gB,6JAOK,OAML,AACA,AAGA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,W,AACD,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACA,AAAI,2CACH,A,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAID,AAAI,uBACJ,KACI,AAAJ,iBACC,iGACA,4DACA,AAAA,WACA,wFACA,M,CAEG,AAAJ,kBACC,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,YAEA,A,QACC,A,6CACC,yE,CAID,WACC,gCACA,gCACA,A,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wG,AACA,QACC,a,CAGD,AAAI,0BACH,A,kHACC,aACA,M,C,AAHyB,AAAA,cAM3B,Y,kIAYA,A,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,YACC,A,sGACC,AAAA,iB,MAEA,M,C,AAJY,AAAA,YAOd,A,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEC,AAAI,uBACJ,KACA,AAAI,qDACH,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACA,AAAI,eACH,gLADmB,A,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,cAEA,A,gBACC,qDACA,Y,CAED,A,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGI,AAAJ,KACA,AAAI,kD,AACH,sFACC,MACA,M,CAED,kCALmC,AAAA,A,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEA,AAAG,wF,gEACF,aACA,aACA,YAGA,0D,C,AAZ6B,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJAYF,A,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,C,AAED,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAIA,AAAI,mBACA,AAAJ,SACA,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,Q,AACD,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,CAGD,A,OACC,yB,CAGD,AAAI,0BACJ,QAEA,M,AACA,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qB,AACD,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,a,AACD,4B,AACC,UACC,I,CAED,K,C,AAED,WAEC,AAAI,wBACJ,eACA,wCACA,wB,C,CAGF,A,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qBACD,A,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mBACD,A,0BACC,A,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mB,AACD,0BAEC,IACA,A,uBACC,O,CAKD,A,MACC,I,CAED,YACA,A,e,AACC,WACC,O,CAED,sD,CAED,A,WACC,O,CAED,iC,CAID,uB,0E,AAQA,8BACC,OACA,O,CAiBD,cACA,A,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACJ,AAAI,IACJ,A,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wBACJ,A,WACC,6E,MAEA,K,CAED,6EACA,A,WACC,6E,MAEA,K,CAKD,8CAIA,oDAIA,AACA,UACC,gBACA,O,AACD,YACC,oBACA,O,AACD,aACC,kBACA,O,C,AAjCoB,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,YACA,A,aACC,I,C,AAED,QACC,KACA,K,MAEA,K,CAED,eAGA,AAAI,uBACJ,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,eAE/B,A,MACC,gB,CAID,A,WACK,AAAJ,IACA,AAAI,0BACH,0G,AADgC,AAAA,YAGjC,cACC,gB,AADe,AAAA,Y,MAIhB,gB,CAID,A,QACC,gBACA,AAAI,eACH,KACA,AAAG,Y,iBACF,+F,CAED,e,AALqB,AAAA,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,CAED,A,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,KAEA,A,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,CAED,A,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGK,AAAG,uE,QAET,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iIAGA,A,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACI,AAAJ,sBACC,uBACA,I,AACA,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,CAY3B,A,2BACC,gBACA,0BACA,AAf0B,0B,CAiB3B,A,M,AACC,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gDACD,A,gBACC,gD,AACD,iBACC,gDACD,A,iBACC,gD,AACD,iBACC,gDACD,A,gBACC,gD,AACD,iBACC,gD,MAGA,AADA,SAEC,gDACA,2EACA,uE,AACD,oBACC,QAGA,AAFA,gDAGA,AAAI,iBACH,4E,AADoB,Y,AAFtB,kBACC,gDACA,AAAI,iBACH,4E,AADoB,Y,MAIrB,gDACA,AAAI,iBACH,4E,AADoB,Y,C,CA1DI,A,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,QACC,A,cACC,a,CAED,S,C,AAED,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SACA,AACA,iBACC,A,qC,AACD,wBACC,A,6C,AACD,uBACC,A,6C,CAED,Y,yHAmBO,AAAP,kBACA,kCACC,iBACA,gB,AACD,iBACC,wCACA,A,wE,AACD,sB,AACC,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,IACD,A,kBACC,K,AACD,kBACC,K,AACD,kBACC,K,AACD,kBACC,I,AACD,kBACC,KACD,A,mCACC,IACA,IACA,YACC,I,AACD,kBACC,I,AACD,iBACC,I,CAED,AAAI,IACJ,A,eACC,iBACA,gB,CAED,AAAI,eACH,qCACA,A,QACC,iBACA,gB,CAED,cANkB,A,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,O,AACD,yEACC,gB,AACA,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mBANkB,A,AAAA,cAQnB,iBACA,A,WACC,iBACA,gB,CAED,K,AACD,iBACC,K,AACD,yBACC,A,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,W,AACA,QACC,A,0C,CAED,kB,AACA,oCACC,A,0C,CAED,0BAEA,A,W,AACC,a,AACC,0C,CAED,A,oC,CAED,A,6BACC,A,0C,C,AAED,aACC,A,0C,CAID,A,wBACC,IACA,WACC,A,oC,AACD,iBACC,wCACA,A,iDACC,A,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,K,AACA,gBACC,6B,MAEA,8BACA,8C,C,AAED,gCAEC,A,8C,C,C,AAGF,yD,yBAKI,AAAJ,sBACC,A,wBACC,Y,C,AAFsB,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qG,AACA,2FACC,S,MAEA,I,C,CAGF,S,0EAcA,A,W,AACC,kBAEC,Y,CAED,A,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,U,AACA,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,C,AAED,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,Y,AACD,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0DAFgC,A,AAAA,c,8BAOjC,eACA,A,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,CAED,A,SACC,uD,C,AAED,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oC,AAIA,OACC,uE,CAED,A,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qCAIA,A,oCACC,8B,CAED,kBACA,A,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2B,AACD,iBACC,2B,AACD,yBACC,sBACD,A,iBACC,sC,AACD,iBACC,4B,AACD,iBACC,4B,AACD,mCACC,uB,AACD,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,aACA,A,2BACC,a,CAED,sDACA,A,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,a,AACA,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,aACA,A,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACd,AAAI,e,AACJ,uBACC,+B,CAGD,AAAI,QACJ,AAAO,mBACP,8BACC,gB,AACD,kBACC,yBACA,sBACA,sBACA,0BACA,iC,AACD,kB,AACC,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+BACD,A,kBACC,oBACA,YACD,A,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC9B,AAAI,MACJ,A,uBACC,wB,AACA,iCACC,qE,CAED,8G,AACA,0CACC,4D,CAED,qB,AACA,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8GACA,A,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,CAED,A,oCACC,6G,CAED,A,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8BACD,A,kBACC,AAAI,6BACH,A,oCACC,a,C,AAF4B,AAAA,c,CAM/B,Y,mJAGK,QACL,A,8CACC,0D,CAED,8GACA,A,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,Q,AACL,+CACC,c,CAED,A,gCACC,iB,AACA,qDACC,iBACA,sCACC,oC,AACD,2BACC,qC,AACD,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UACA,AACC,KACA,QAED,A,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,C,AAGD,WACC,gE,CAGD,oBACA,c,AACA,OACC,A,qBACC,mE,CAED,A,kBACC,uE,CAED,A,kBACC,wE,C,MAGD,A,oBACC,AAAA,a,CAED,A,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGE,AAAJ,kBACC,AAAG,8H,yBACF,kF,CAFiB,A,AAAA,cAKnB,A,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACA,AAAG,a,yBACF,0F,CAED,qB,AALkB,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,c,AACA,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,cACD,A,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oB,AACD,2BACC,2C,CAED,2C,oHAGK,QACE,AAAP,gCACA,YACC,eACA,A,mBACC,8B,CAED,qBACA,sCAED,A,kBACC,A,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,UACA,A,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,UACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uBAED,A,kBACC,iBACA,A,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mC,AACD,kBACC,2C,AACD,kBACC,2BACD,A,kBACC,+B,MAEA,6C,C,wGAII,QACE,AAAP,gCACA,qBACC,qC,AACD,kBACC,yCACD,A,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACL,AAAO,gCACP,uCACC,A,eACC,S,CAED,mB,AACD,kBACC,A,eACC,S,CAED,S,AACD,kBACC,A,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uC,AACA,gCACC,iBACA,YACC,+B,AACD,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iB,AACA,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QAEJ,AADD,KAEC,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,AAED,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mB,AACA,wBACC,0D,CAED,iCAEA,e,AACA,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sB,AACA,sCACC,A,6D,C,AAED,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,QACL,A,oDACC,S,CAED,yB,uGAGK,QACL,A,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,QACL,A,gBACC,S,CAED,0B,mKAGK,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,QACL,A,mBACC,oBACA,sB,CAED,mC,kIAGK,QACL,A,mBACC,oBACA,A,qC,CAED,A,kD,qJAGK,QACL,A,mBACC,oBACA,A,iE,CAED,A,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,Q,AACL,wBACC,yD,CAED,eACA,kB,gHAGK,Q,AACL,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mB,AACD,kBACC,eACA,mBACD,A,kBACC,cACA,mB,AACD,kBACC,cACA,mB,AACD,kBACC,gBACA,mB,CAED,qD,uGAGK,QACL,A,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,QACL,A,wBACC,mE,CAED,iBACA,8B,iIAGK,Q,AACL,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,QACL,A,wBACC,uD,CAED,eACA,uB,wGAGK,Q,AACL,wBACC,wD,CAED,eACA,sB,4GAGK,QACL,A,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,e,AACD,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wBACC,A,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iD,AACC,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,C,AAED,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oIACC,A,SACC,W,AACA,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEI,AAAJ,MACA,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,C,AAID,WAEC,A,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iBACA,A,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uFACA,A,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,SACA,A,eACC,6CACC,6G,AACA,oCACC,QACA,c,C,AAED,wBACC,A,uE,C,M,CAIH,A,QACC,c,CAED,A,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,QACL,A,oCACC,qE,CAED,sBACA,4B,mIAGK,Q,AACL,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oB,AACA,2BACC,Y,CAeD,A,mBACC,oBACA,KACI,AAAJ,kCACC,8GACA,8GACA,A,8FACC,AAAG,AAAA,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,CAGD,8BACA,A,gBACC,a,CAED,KACA,AAAI,kCACH,8GACA,8GACA,A,+FACI,AAAH,AAAG,a,2BACF,Y,C,C,AAL6B,AAAA,cAShC,a,qB,AAUA,YACC,Y,C,AAKD,qEACC,a,CAID,iB,oGAIA,A,YACC,Y,CAGD,aACA,A,wBACC,a,C,AAKD,wCACC,Y,CAID,MACA,YACC,qE,AAED,kBAIC,A,+DACC,Y,CAID,4E,AAED,kBACC,eACA,eACA,A,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wIACC,A,mHACC,a,C,MAGF,Y,AAED,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,a,AAED,kBACC,oF,AAED,2BACC,8C,AAED,kBACC,iBACA,iBACA,A,+CACC,a,CAED,6CACC,6GACA,6GACA,A,gJACC,a,CAED,A,kKACC,a,CAED,A,uBACC,a,C,AAED,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,QACL,A,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wC,AACL,WACC,2B,CAED,A,2BACC,qF,C,iJAOI,wCACL,A,WACC,2B,CAGD,A,2BACC,qF,CAED,A,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4D,AACD,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,S,AACC,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACL,AAAG,2D,OACF,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qCACD,A,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+BACD,A,iBACC,+B,AACD,iBACC,+BACD,A,iBACC,+B,AACD,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,Q,AACL,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,AACA,WACC,8B,CAED,WACA,sCACA,8B,AACA,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACA,AAAI,KACJ,AAAI,0BACH,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,OAjBsB,AAAA,A,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,CAED,A,iCACC,S,CAED,0B,8HAQK,QACL,A,oBACC,mD,C,AAED,iCACC,8B,CAED,wDACA,A,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kCACD,A,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,cACD,A,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,2HAKK,QACL,mCACA,AAAO,gCAGP,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACA,AAAO,gCAGP,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wD,AACD,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wDACD,A,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,C,AAED,oBACC,2BACA,O,CAED,iCACA,sDACA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACA,AAAO,gCAGP,WACC,2B,AACD,iBACC,gCACD,A,iBACC,gC,AACD,kBACC,2B,AACD,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,CAED,A,uBAEC,c,CAKD,sBACA,A,uBAEC,wB,AACA,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gC,AACD,iBACC,gCACD,A,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAGD,AACA,kBAGC,UACA,qBACA,8BACA,gC,AAED,wBACC,A,WACC,S,CAED,gBACA,A,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0B,AACA,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,UACD,A,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,2BACC,aACA,2CACC,U,AACD,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,C,AAGF,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,CAIH,A,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,CAMH,A,cACC,U,CAID,A,kHAGC,U,CAGD,A,cACC,A,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,Y,AACD,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gB,AACA,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EA,AAAI,gBACH,sFACA,sFAFsB,A,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,WACA,A,QACC,A,uBACC,A,sC,CAED,A,MACC,A,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,O,AACL,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,O,AACL,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,OACL,A,MACC,S,MAEA,S,C,wJAMI,O,AAEL,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,IACA,A,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,C,AAEF,qCACC,8CACC,AAAA,WACA,oJACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,CAID,A,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,CAGF,A,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,OACL,A,0DACC,SACA,iDACC,A,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,Y,AACA,eACC,W,CAED,8CAEI,AAAJ,SACA,AAAI,eACH,A,0BACC,gB,C,AAED,kDACC,kB,CAEG,AAAJ,I,AACA,eACC,kB,MAEA,uF,CAED,uE,AAbkB,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,KACJ,A,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACD,AAAJ,SACA,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iBACC,A,oBACC,4BAAe,qB,QACf,sB,C,CAMF,A,4DACC,A,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wB,AACD,kBACC,8B,AACD,iBACC,6BACD,A,0BACC,8BACD,A,kBACC,+BACD,A,iBACC,8B,CAED,A,eACC,M,CAGD,qBACA,uBACA,QACA,IAtBa,AAAA,A,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2BACD,A,iBACC,4B,AACD,iBACC,4B,AACD,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,OACL,A,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,a,AACA,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAED,AAAI,yDACH,kDACA,OAFiE,A,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2CACA,A,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0D,AACD,iBACC,U,AACD,2BACC,2DACD,A,kBACC,0D,AACD,kB,AACC,uFACC,gB,MAEA,a,CAEF,A,kBACC,2D,AACD,iBACC,gBACD,A,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,aACA,A,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mC,AACD,kBACC,qF,AACD,kB,AACC,0BACC,kB,MAEA,qF,C,AAEF,kBACC,oF,AACD,kBACC,A,uFACC,yC,MAEA,a,C,AAEF,kBACC,qF,AACD,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kBACD,A,kBACC,iB,AACD,iBACC,iBACD,A,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iB,AACD,iBACC,iB,AACD,0BACC,iBACD,A,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mB,AACD,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oBACD,A,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,CAEF,A,kBACC,e,AACD,kBACC,mCACD,A,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yB,AACC,0BACC,A,e,AACC,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sH,AACC,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,qC,KAED,A,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mCACD,A,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGG,AAAJ,IACA,WACA,mDACC,c,MAEA,aACA,O,C,AAGD,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACF,AAAH,a,sCAIC,AAAG,e,+BACF,2FACA,O,CAID,A,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uBACA,A,MACC,yBACA,2B,CAED,wB,AACA,MACC,0BACA,4B,CAED,Y,4IAKK,O,AACL,MACC,0BACA,0B,CAED,A,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGD,AAAG,2C,MACF,OACA,0FACA,uDACA,cACA,S,CAID,A,0BACI,AAAH,2C,MACC,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,S,AAED,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oCAEA,A,mCACC,A,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oDACA,A,iBACD,A,kBACC,6BACA,A,iB,CAID,IACA,0CACC,e,AACD,mDACC,kB,AACD,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8B,AACD,gDACC,8B,AACD,iDACC,8B,AACD,iDACC,8BACD,A,iDACC,gB,AACD,gDACC,gCACD,A,iDACC,gC,AACD,kDACC,gC,AACD,kDACC,gCACD,A,kDACC,iB,AACD,mDACC,yD,AACD,kDACC,iBACA,uBACD,A,6CACC,4BACA,U,UAGA,AAAG,uB,M,AACF,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iBACC,A,wBACC,2F,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,iDACA,A,iB,AACD,kBACC,kB,AACA,iB,CAKD,gBACA,A,qBACC,oB,CAEE,AAAH,uB,MACC,A,iB,C,AAGD,sC,gMAOK,OAAyB,IAC9B,UACA,UACD,AACC,AAAO,yBACP,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wB,AACD,yBACC,A,wBACC,0B,MAEA,0B,C,AAEF,yBACC,A,wBACC,kE,MAEA,+B,CAEF,A,iBACC,0B,AACD,iB,AACC,0BACC,iH,AACA,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACA,AAAI,0BACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,A,gDACC,AAAG,mC,mBACF,sGACA,gG,C,CAGF,+BAd6B,A,AAAA,YAgB9B,iG,AACD,iBACC,W,AACA,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMI,AAAH,W,6FACK,AAAJ,SACA,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAED,AAAI,qBACH,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kC,AARwB,AAAA,Y,AAUzB,0BACC,iG,MAEA,gG,C,AAEF,iBACC,cAGA,A,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAKF,AAFA,kB,AACD,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,IACA,A,gBACC,4HACA,S,CAED,c,iEAWI,AAAJ,sBACC,A,yBACC,iCACA,A,mBACC,A,+C,CAED,A,mD,C,AAN2B,AAAA,YAS7B,A,0C,+FAMK,OACL,A,2C,AACC,0C,CAED,iBACA,0CACA,A,iBACC,A,8C,CAED,mBACA,A,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBAEA,AADD,aAEE,kBACA,WACC,0B,AACD,iBACC,yBACD,A,iBACC,yBACD,A,iBACC,0B,AACD,iBACC,0B,MAEA,Q,C,AAba,AAAA,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iEACA,A,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iEACA,A,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,CAKH,A,OACC,oD,CAGD,A,SACC,4FACA,S,CAED,qDACA,WAEA,A,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,C,AAED,wBAEC,0BACA,0B,C,CAGF,kB,C,AAMD,8BACC,2FACA,mBACC,uFACA,A,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,CARqB,A,AAAA,YAWvB,gG,C,8HAII,OACL,QACA,AAAI,uBACH,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sB,AAViC,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,OACL,A,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,C,AAED,2EACC,QACA,c,CAGD,uC,AACA,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,O,AACL,gCACC,A,gC,CAED,A,4C,6GAKK,OACL,6BACA,A,sCACC,A,+B,AACC,c,CAED,W,CAED,S,kHAcK,OACL,AAAG,0C,MACF,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACC,AAAG,a,sCACC,AAAH,kD,MACC,Q,MAEA,U,C,C,QAIH,A,8BACC,K,CAED,2BACA,eACA,Y,wLAmBA,A,aACC,a,CAED,eACA,8HACC,A,WACC,a,C,AAED,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,eAEjB,A,gBACC,oBACA,O,C,AAGD,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,C,AAED,2BACC,S,CAED,A,WACC,A,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,C,AAED,WACC,eACA,M,C,C,oHAQG,OACL,A,MACC,mB,CAGD,YACC,cACA,A,WACC,M,C,AAED,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wDACC,A,UACC,S,C,SAGF,S,4CAuBK,OACL,c,AACA,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gD,AA8SA,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACI,AAAJ,iCACC,wF,AAD8B,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACA,AAAI,iCACH,8G,AAD6B,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oBACA,A,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,YACJ,A,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACA,AAAG,e,+CAEF,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0IACA,A,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yB,AACA,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oE,AACA,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eACA,AACA,4B,iIAGK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qI,AAyBA,AACA,OACC,AAAG,O,sCACF,S,CAED,O,C,AAGD,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACA,AAAI,qBACH,0CACA,2CACA,A,mGAH4B,AAI3B,AAJ2B,oB,CAM5B,6C,AAN4B,AAAA,YAa7B,A,kBACC,iB,CAED,iCACA,qHACA,iB,6MCtEA,AACA,AAEA,mDACA,A,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAID,AADA,iBAEA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2I,AAN6B,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACH,AAAI,eACH,uJADkB,A,AAAA,Y,AADD,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gCACA,A,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sC,AACA,wBACC,S,CAED,A,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,CAGD,A,uBACC,wD,CAIG,AAAJ,iBACC,gDACA,A,QACC,U,CAED,e,AACA,sCACC,QACA,O,CAED,A,QACC,O,C,AAXwC,AAAA,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGD,AAAI,YACJ,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,YACA,A,UACC,A,sC,CAED,A,cACC,A,0CACC,A,sC,CAED,A,6BAGC,iCACA,A,QACC,U,CAED,A,QACC,gHACA,kB,CAED,A,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iB,AACC,0CACC,A,sC,CAED,S,CAED,uGACA,AAAA,eACA,kBACA,A,oC,gHAIK,OACL,A,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,c,AACC,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iB,AACA,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEC,AAAG,0C,SACF,yCACA,sBACA,M,C,AAID,0CACC,2BACA,QACA,cACA,M,CAID,A,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gCACA,A,4CAEC,A,gI,AAGC,YAEC,mE,CAED,AAAA,eACA,kC,CAED,A,iD,C,AAGD,kB,AACC,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGD,AAAJ,QACI,AAAJ,SACA,YAEA,YACK,AAAJ,YACA,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6BACA,A,4B,0IAUK,OACL,+BACA,oBACA,A,4B,yMAIK,OACL,8BACA,A,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kDACA,A,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,CAGD,A,+BACC,S,CAGD,eAEC,8BACA,qD,AACA,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kD,AACA,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8BAKA,A,8BACC,a,CAED,sHACC,A,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iB,AACA,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mEACA,A,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iB,AACL,oBACC,kHACA,gB,MAEA,uBACA,uB,C,AAED,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,qCACC,e,CAED,S,4GAIK,iBAAmB,cACxB,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,cACrB,A,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,C,AAED,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,OACL,A,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,e,AACH,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,OACL,A,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACC,AAAJ,eACC,A,8GACC,a,CAFmB,A,YAKrB,kBACA,kBAPwC,AAAA,A,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,OACL,A,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+B,AAIA,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+BAIA,A,cACC,wC,CAED,+BACA,2D,0HAQK,O,AACL,mBACC,Y,CAED,0BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,CAFmB,A,AAAA,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,OACL,A,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sB,AACtC,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mB,AAChC,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,O,AACL,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,OACL,A,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,O,AACL,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+B,AAIA,cACC,kD,CAID,+BACA,uF,0IASK,OACL,AAAI,uBACJ,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+BACD,A,gBACC,+B,AACD,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,O,AACL,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0OACD,A,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+BAIA,A,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2D,AACA,sCACC,2D,CAED,iBACA,iBACA,A,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,e,AACA,cACC,O,CAID,IACA,sCACC,A,UACC,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,OACD,A,6CACC,A,eACC,O,C,C,MAGO,AAAH,uC,MACN,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,OACD,A,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,C,CAKJ,iBACA,OACD,A,4CACC,A,yDACC,iB,C,CAIF,oCACA,2CACA,A,eACC,yCACA,8C,CAGD,AAAI,uCACJ,0BACA,0BACA,AAAI,0BACH,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAGD,AADA,W,AAEC,U,MAGC,8D,C,AAEF,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,C,AAjCoB,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACI,AAAJ,kCACC,AAAI,eACH,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yR,AAToB,YAWrB,kBACA,kBAb+B,A,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACA,AAAI,eACH,6HACA,6HACA,6HACA,6HAJoB,A,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mCAHkC,AAAA,A,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBACA,AACC,gBACA,wBAED,A,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACA,AAAI,wBACH,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,W,AAvBa,AAAA,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gBACJ,A,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,W,AAHa,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+Q,AAlB6B,+BAJd,A,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yH,AAV6B,+BAJd,A,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sG,AALqB,8C,AAJS,+B,AAYjC,gBACK,AAAJ,2CACC,qCACA,oEACA,kJACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mCAajC,A,gBACK,AAAJ,2CACC,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oDAJD,A,mCAajC,A,gBACC,AAAI,2CACH,qCACA,oEACA,sPACI,AAAJ,wBACC,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oD,AAJS,mC,MAahC,A,iB,CAED,A,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACA,AAAI,gDACC,AAAJ,2BACC,uGACA,A,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oCACA,A,4DACC,A,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACA,AAAI,wBACH,AAAI,wDACH,SACA,A,sCACC,+B,CAED,0DACA,A,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,CA7BwC,A,qDAgC1C,2B,AAjCqB,oD,gBAuCtB,A,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACA,AAAG,sC,MACF,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMG,AAAJ,8BACA,A,MACC,0BACA,0B,CAID,iCACA,AAAI,6BACH,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,C,AAGD,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wB,AACA,WACC,M,C,C,MAIH,yHAEA,A,OACC,AAlCsB,AAAA,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+S,AAvEwB,AAAA,cA2EzB,A,MACC,wBACA,sCACC,+G,M,C,AA/EsB,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,aACA,A,YACC,iKACA,qM,CAED,S,iIAaK,OACF,AAAH,qB,sCACC,S,CAED,6C,oIAGK,OACL,AAAG,qB,sCACF,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOA,AAAG,sC,wCACF,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,OACL,A,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0CACA,A,sCACC,gB,CAED,mC,6DAIA,oCACA,A,UACC,2D,CAED,A,UACC,4D,CAED,OACA,oCACA,8C,AACA,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;o/BCvDK,OACL,+BACA,uF,8GAGK,OACL,+BACA,wF,mFCjBA,K,gKAIA,oF,4E,6BAQA,a,gC,oKAQA,WACA,+CACC,U,MAED,gEAEA,mBACA,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCAEA,UACA,4CAEA,+FAIA,A,sCACC,U,CAED,kBAGA,mDACA,6CAEA,sGACC,gFACA,0BACA,a,uFAED,oGACC,gFACA,0BACA,W,uF,+GAKD,mBACA,gCACA,eACA,gBACA,UACA,qJACA,oJACA,A,oC,4G,gE,gE,gE,gE,soC,uH;0uGCxEA,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,gCACA,oB,AAFoB,AAAA,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,IACI,AAAJ,sBACC,oC,AADsB,AAAA,YAIvB,A,iBACC,qB,CAED,oB,AAToB,AAAA,Y,AADC,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,cACpB,A,mBACC,e,CAED,6BACA,SACA,a,wHAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJ,AAJ0B,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,6HC/CA,AAAI,SACJ,AAAI,YACJ,6BACC,AAAI,SACJ,mDACA,A,sCACC,O,CAED,wB,IAED,A,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,OACL,A,mB,AACC,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,c,AACrB,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJ,AAFwB,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,e,mHAIK,OACL,A,mBACC,e,CAED,mJ,qHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iBACD,A,gBACC,gB,CAED,iC,yCCdA,sDACA,A,sCACC,iB,CAGD,8CACA,A,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACF,AAAH,gC,sCACC,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC5CA,iDACA,A,sCACC,iB,CAED,kC,mDAGK,O,AACL,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2F,AACA,wE,kIAGK,OACL,2F,AACA,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,O,AACL,6D,4HAGK,OACL,A,eACC,uD,CAED,eACA,A,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6CACA,A,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,O,AACL,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,OACL,A,sBACC,2BACK,AAAJ,YACA,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,qSC1LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,kCAEC,qCACA,mEACA,A,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAEE,AAAH,iC,sCACC,S,CAED,mBACC,iBACA,A,sCACC,O,CAED,gB,I,AAED,sCACC,S,CAED,gE,qB,qT,gE,gE,gE,gE,gE,gE,gE;;i5FC3DD,A,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACH,AAAI,IACJ,AAAI,IACJ,AACA,4BAEC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2F,AAzBwB,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2F,AAF6B,AAAA,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,O,AACL,mBACC,6C,CAKD,AAAI,uBACJ,AAAI,gBACJ,kHACC,A,UACC,a,CAED,A,iBACC,I,CAED,A,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,I,AACJ,QACC,gBACA,yBACA,0B,CAED,IACA,AAAI,uBACJ,AAAI,gBACH,A,WAEC,UACA,A,UACC,a,CAED,4BACA,AAAI,uBACH,4LACA,uBACA,gBACA,6GACA,qI,AAL0C,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8B,AAnBuB,AAAA,YAsBxB,mIACC,A,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wC,AACA,UACK,AAAJ,oBACC,uF,AAD2C,+C,MAI5C,2G,AACA,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4F,AADmC,sD,C,MAKtC,Y,iHAiDK,OACL,A,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACI,AAAH,mB,0CACC,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iB,AACD,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,Y,AACC,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,U,C,mGAII,OACL,A,mCACC,iB,CAED,a,qMAQK,OAEL,eACC,AAAG,e,sCACF,S,C,CAGF,6B,AACA,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACC,AAAG,e,sCACF,S,C,CAGF,qLACA,iCACA,kBARsB,A,AAAA,YAUnB,AAAJ,gBACC,oKADmC,A,AAAA,Y,AAGpC,gDACC,2C,CAKD,AAAI,gCACH,gCACA,A,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+GACD,A,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,WAFoB,AAAA,A,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACJ,AAAI,IACJ,AACA,UACC,2GACA,AAAA,iBACA,A,iBAEC,gDACA,O,CAED,SACD,A,kBAEC,2CACA,O,AAED,gBACC,WACA,I,AACD,gBACC,kBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,oBACA,I,AACD,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,I,AACJ,kBACC,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAIF,AACA,QACC,AAAA,W,AACD,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iCACA,A,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,O,AACL,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sC,AACA,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gBACA,A,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iBACA,A,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,O,AACL,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+BACA,A,sC,AACC,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACC,AAAG,e,sCACF,Y,C,CAGF,kGACA,qB,AACA,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,C,AAGF,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,UACA,A,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYA,AAAI,0BACJ,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWA,AAAI,0BACJ,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,CAED,A,kBACC,A,oC,CAGD,uCACA,iCACA,A,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,QACA,A,4B,CAGD,iIACA,A,8BACC,uBACA,A,gC,CAED,Y,iGAIK,O,AACL,0CACC,a,CAED,6BACA,a,wHAGK,OACF,AAAH,6C,MACC,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uD,AACA,iHACC,sB,CAED,mCACA,A,MACC,yD,AACA,sCACC,S,CAED,iIACA,A,2BACC,0B,C,CAGF,A,gDACC,A,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACA,AAAI,iBACH,UACI,AAAJ,e,AACC,oBACC,wB,MAEA,6B,CAJiB,A,AAAA,YAOnB,8E,AAToB,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uBACA,A,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACJ,AAAI,eACH,gBACA,AAAI,uBACH,4FACA,SACA,SACA,YACA,OACA,OACA,A,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,YAFG,AAAA,A,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6F,AAG1C,QACC,S,CAED,S,0EAGK,O,AACL,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2CACA,A,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wDACA,A,aACC,mC,CAED,0CACA,A,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,AACD,gBACC,QACD,A,gBACC,O,AACD,gBACC,Q,C,AAEF,iBACC,WACA,UACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,AACD,gBACC,Q,C,C,AAGF,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4aADmB,A,AAAA,YAGpB,AAAI,iBAMH,2JANqB,A,AAAA,YAQtB,mC,AACD,wC,MAIC,0C,CAED,0B,oIAGK,OACL,A,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uC,AACD,wBACC,uC,AACD,sCACC,A,wBACC,mC,CAED,AAAI,eACH,wIACA,2OAFkB,A,AAAA,YAIpB,A,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAID,AAAG,sD,sCACF,Y,CAED,8DACA,A,6DACC,yC,CAED,cACA,0C,C,AAED,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+BACA,A,sCACC,oB,CAED,2CACI,AAAJ,Y,AACA,oBACC,2C,A,0BAGA,kDACA,AAAI,eACH,2CACA,A,sCACC,oB,CAED,uBALwB,A,AAAA,Y,CAU1B,IACI,AAAJ,mDACC,A,YACC,kC,CAED,qD,AAJiC,AAAA,YAMlC,A,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACD,AAAJ,IACA,IAEC,AADD,SAEC,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6BACA,A,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,IACD,A,gBACC,KACA,6BACA,I,AACD,sCACC,UACA,2CACA,I,AACD,iBACC,KACA,8BACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,IACD,A,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEI,AAAJ,iBAEC,6BACA,A,uCACC,qB,CAID,mBACA,mBACA,2FACA,WAEA,A,iBACC,AAAI,0BACH,mTADsC,A,AAAA,c,AAGxC,iBACC,oIACC,8M,M,AAEF,iBACC,AAAI,iBACH,gYAD8B,A,AAAA,cAG3B,AAAJ,0BACC,mgBADsC,A,AAAA,c,AAGxC,iBACC,W,MAEA,2C,CAID,QACA,WACC,AAAI,iBACH,+LACI,AAAJ,+BACC,wEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,uEACA,sC,AAFoC,AAAA,cAFf,A,c,AAOxB,iBACC,AAAI,iBACH,+LACI,AAAJ,+BACC,uEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2J,AAFsB,AAAA,c,AAIxB,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,a,AANsB,AAAA,cAQvB,kB,AACD,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mB,AACA,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,cAFf,A,c,AAWxB,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,cAWxB,A,kBACC,A,iCACC,AAAI,iBACH,A,uHACC,wI,C,AAFqB,AAAA,c,CAMxB,kCACA,kB,AACD,kBACC,kCACA,kBACD,A,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,cAIxB,A,kBACK,AAAJ,iBACC,2QACA,2QACA,mD,AAHsB,AAAA,cAKxB,A,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,oD,AAJsB,AAAA,c,AAMxB,kBACC,AAAI,iBACH,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wB,AA7JuB,AAAA,cAgKxB,oB,mPAIK,OACL,iGACA,AACC,SACA,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACA,AAAI,+BACH,6FACI,AAAJ,+BACC,kCACA,sDACA,aAHwC,A,AAAA,cAFD,AAAA,A,c,8IAUpC,OACL,eACA,+BACA,A,sCACC,A,a,C,AAED,8B,gHAGK,OACL,A,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,sB,AACD,qBACC,A,uDACC,gB,CAED,UACA,sBACD,A,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACL,AAAG,sD,sCACF,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,CAED,A,0EACC,+B,CAED,iB,0GAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,oB,CAED,wBACI,AAAH,iB,sCACC,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIA,AAAG,kB,sC,AACF,+BACC,qB,CAED,0C,CAED,YACI,AAAH,iB,sC,AACC,+BACC,qB,CAED,0C,CAED,kD,AACA,sBACC,M,CAED,A,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,c,AACD,gBACC,eACD,A,gBACC,c,AACD,sCACC,Y,AACD,iBACC,eACD,A,iBACC,gB,AACD,iBACC,iBACD,A,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;uc,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+BACA,A,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,YACC,A,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0BACA,A,sCACC,A,+BACC,qB,CAED,QACA,O,CAED,AACA,cAEC,iGACA,AAAA,eACA,A,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,O,AACD,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qF,AACA,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wCACA,A,qBACC,A,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wC,AACD,gBACC,wC,MAEA,kCACA,S,CAED,A,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,OACL,A,0CACC,gB,C,AAED,kBACC,oB,CAED,A,wBACC,AAAI,IACJ,mCACA,A,0CACC,gB,CAED,A,UACC,YACA,gB,CAED,qCACA,AAAG,qC,0CACF,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEL,AAAG,sC,MACF,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+BACA,A,sCACC,S,CAED,IACA,WACI,AAAH,oB,sCACC,S,CAGF,A,iBACC,2CACA,A,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qEACC,A,OAEC,uD,CAED,8K,CAED,+BACA,A,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sCACF,A,+CACC,S,CAED,S,CAID,AAAG,uD,gDACF,A,uCACC,U,CAED,S,CAED,AAAG,0D,gD,AACF,uCACC,U,CAED,S,CAID,A,0BACC,iI,AACC,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4BAED,A,iBACC,A,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oDACA,A,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mCACA,A,uCACC,gE,CAED,SACA,sDACA,A,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+BACA,A,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8B,AACD,kBAEA,A,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,C,AAED,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8BACA,A,+CACC,S,CAED,A,4BACC,gD,C,CAGF,YACC,8BACA,A,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACL,AAAG,sD,sCACF,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+BACA,A,+CACC,Y,CAED,oD,sGAkBA,AAAI,SACJ,kBACA,kBACA,oBACA,IACA,4HACC,eACA,AAAI,qBACH,gEACA,WACA,uB,AAH4B,iB,KAM9B,Q,sCAMA,AAAI,wBACJ,AAAG,oB,sCACF,oB,CAED,mH,0CA4BA,AAAI,wBACD,AAAH,mB,sCACC,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBA,AAAI,YACJ,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yB,AACA,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gEACA,A,sCACC,0B,CAGD,2EACA,iBACA,4BACA,A,sCACC,0B,CAED,yC,AACA,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wC,AACA,sCACC,A,+BACC,gB,CAED,S,CAED,yCACA,yBACA,A,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,O,AACL,oBACI,AAAH,wB,sCACC,Y,C,CAGF,8BACA,2CACA,yBACA,sE,AACA,gBACC,4C,CAED,oB,8OAKK,OACL,W,AACC,SACC,qC,CAEE,AAAH,4C,sCACC,S,CAED,wB,AACA,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,KAED,A,iBACC,8C,CAED,A,iBACC,mD,CAED,+B,AACA,QACC,qC,CAEE,AAAH,mD,sCACC,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACA,AAAI,gFAMH,qDACA,wIACI,AAAJ,2DACC,mG,AADgC,AAAA,oBAGjC,AAAA,YACA,AAAA,YAZiC,A,AAAA,YAFF,A,AAAA,aAmBjC,AAAI,sBACJ,wGACC,A,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,CAGD,A,oCACI,AAAH,mB,2DACC,A,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACK,AAAJ,qCACC,A,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2B,AAd8C,AAAA,YAgB/C,oC,6IAGK,OACL,A,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,OACL,A,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKA,AAAI,eACH,SAEA,A,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFAbiB,AAcjB,AAdiB,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6G,AA9DkB,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iH,AAlDkB,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2B,AACA,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sBACA,A,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sCACF,A,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sBACA,A,iBACC,A,4B,C,AAED,4GACC,A,mC,CAED,AAAA,2BACA,sB,AACA,sC,CAGD,6BACA,A,sCACC,A,4B,C,AAED,iBACC,sBACA,A,oC,CAGD,6BACA,A,sCACC,sBACA,A,4B,CAED,sBACA,A,eACC,A,mC,CAED,A,sC,qIAKK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,yB,AACA,QACC,I,CAED,2BACA,W,AACA,UACC,M,CAEE,AAAH,W,sCACC,A,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAEG,AAAJ,qBACC,6KACA,8K,AACA,gBAYC,kFACA,kFAhBuB,AAAA,AAiBvB,oB,CAED,+FACA,sGACA,kGAKA,A,UACC,A,uDACC,6C,C,A,sBAGD,6C,C,AA/BuB,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACI,AAAH,4C,sCACC,S,CAED,wB,AACA,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,a,AAgBrB,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAED,AAAG,2C,sCACF,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,CAED,A,6CACC,8C,CAID,YACC,2CACA,A,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6BACA,A,sCACC,oB,C,CAGF,A,YACC,M,CAED,A,mBAOC,S,CAKD,AAAG,2C,sCACF,oB,CAED,gDACA,A,QACC,gD,CAID,AADA,yBAEC,sBACA,kBACA,A,MACC,oB,C,AAEF,kBACC,kBACD,A,kBACC,kBACD,A,kBACC,kBACD,A,kBACC,kB,AACD,oCACC,c,MAEA,0B,CAED,A,sCACC,oB,C,CAGF,A,uBACC,yB,CAED,A,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAEG,AAAJ,IACA,AACA,qBACC,I,AACD,2BACC,I,AACD,2BACC,IACD,A,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,O,AACL,gBACC,mC,CAED,A,wGACC,qC,CAEE,AAAH,2C,sCACC,S,CAED,gB,AACA,6BACC,kE,CAED,AAAI,uBAKA,AAAJ,eACC,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,CAlBqB,AAAA,A,YAsCvB,kCACA,A,kBACC,2GACA,2GACA,2HACA,wHACA,A,sCACC,8C,CAED,A,2BACC,wE,CAED,A,oCACC,oD,C,CAKF,0CACA,sIACA,uIACA,A,qCACC,uB,CAED,A,kBACC,AAAI,iBACH,mFACA,A,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBACA,AAEC,sBACA,wBAKA,sBACA,KAED,AAAI,kBACH,AAAI,kBACH,AAAI,iBACH,mFACA,kLACA,AAAI,gMA0BH,A,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,a,AACA,4CACC,AAxCsD,AAAA,sB,C,CA6CxD,A,kBACC,qT,MAEA,sB,CAGD,A,eACI,AAAH,kN,uCACC,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yMACA,A,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,CAGD,A,sBACC,AAAA,+B,MAGA,sKACA,aACC,yC,AACA,uCACC,U,CAED,mBACA,e,AACA,gBACC,mBACA,A,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,MAEA,A,iBACC,4C,AACA,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,C,AAoCvB,kB,AACC,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIxD,AAAI,kBACH,uW,AAD8B,AAAA,cAG/B,MACA,2BACA,A,gBACC,6F,MAEA,MACA,WACC,6FACD,A,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIF,AAAI,iBACH,WACA,YACI,AAAJ,iBACC,yF,AACA,YACC,K,A,iBAEA,O,MAEA,e,CAED,qHATkB,A,AAAA,c,AAHD,AAAA,c,AAtJqC,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,aACA,A,sGAGI,AAAH,4C,uCACC,U,C,AAED,4CACC,+B,CAED,AAAA,mB,AACA,aACC,O,CAGD,iCAEA,uBAEA,W,C,AA9LqB,AAAA,cADD,AAAA,A,cAoMvB,iB,2KAKK,OAEL,A,UACC,A,eACC,mC,CAED,8B,AACA,sCACC,S,CAED,A,MACC,wK,CAED,iB,CAID,IACA,A,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wCACA,A,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8BACA,A,sCACC,S,CAED,A,OACC,K,C,MAGD,wC,CAGD,qDACA,A,sCACC,S,CAED,A,QACC,sC,CAED,A,eACC,yJ,CA3CmB,A,AAAA,Y,CA+CtB,A,eACC,AAAA,+BACA,AAAG,0C,uCACF,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wFACC,A,UACC,M,CAED,AAAA,WANmB,AAAA,AAOnB,oB,CAED,8BACA,A,sCACC,Y,CAED,A,OAboB,AAcnB,AAdmB,oB,CAgBpB,A,uFACC,2K,MAEA,2K,C,AAnBmB,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wHACC,A,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACI,AAAJ,4FACC,6MACA,AAAA,YACA,AAAA,W,AAHkC,AAAA,kBAKnC,4BAP6B,A,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQA,AAAI,UACJ,A,kBACC,6BACA,O,CAID,AAAI,qBACJ,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJAHuB,A,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wBACC,A,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,CAED,A,wBACC,iCACA,SACA,6BACA,SACA,6BACA,S,AACA,wBACC,6BACA,4G,CAED,6B,C,C,AAGF,yBACC,A,yBACC,IACI,AAAJ,2BACC,A,yBACC,wBACA,M,C,AAH6B,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACI,AAAJ,KACA,AAAI,IACJ,YACA,+CACA,A,yBAEC,cACA,AAAI,QACJ,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mDACA,A,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;8SC5PA,AAAA,WACA,yBACA,kFACA,4BACA,sGACA,0BACA,AAAG,mB,sCACF,S,CAED,iB,4JAIA,AAAI,YACJ,+GACA,A,sCACC,oB,CAED,AAAG,gG,2DACF,oB,O,0J,gE,gE,gE,gE,wJ"} +{"version":3,"file":"rotate.js","sources":["/gopath/src/github.com/gopherjs/gopherjs/js/js.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/runtime/runtime.go","/goroot/src/runtime/error.go","/goroot/src/errors/errors.go","/goroot/src/image/color/color.go","/goroot/src/image/color/ycbcr.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/math/math.go","/goroot/src/math/pow10.go","/goroot/src/math/sincos.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/math.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/atomic/atomic.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/sync/sync.go","/goroot/src/sync/mutex.go","/goroot/src/sync/once.go","/goroot/src/sync/pool.go","/goroot/src/sync/runtime.go","/goroot/src/sync/rwmutex.go","/goroot/src/io/io.go","/goroot/src/unicode/utf8/utf8.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/bytes/bytes.go","/goroot/src/bytes/buffer.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/syscall/syscall_unix.go","/goroot/src/syscall/env_unix.go","/goroot/src/syscall/str.go","/goroot/src/syscall/syscall.go","/goroot/src/syscall/syscall_bsd.go","/goroot/src/syscall/syscall_darwin.go","/goroot/src/syscall/syscall_unix.go","/goroot/src/syscall/zsyscall_darwin_amd64.go","/gopath/src/github.com/gopherjs/gopherjs/nosync/once.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/strings/strings.go","/goroot/src/strings/strings.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/time/time.go","/goroot/src/time/format.go","/goroot/src/time/time.go","/goroot/src/time/zoneinfo.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/os/os.go","/goroot/src/os/dir_unix.go","/goroot/src/os/doc.go","/goroot/src/os/error.go","/goroot/src/os/error_unix.go","/goroot/src/os/file.go","/goroot/src/os/file_posix.go","/goroot/src/os/file_unix.go","/goroot/src/os/getwd_darwin.go","/goroot/src/os/proc.go","/goroot/src/os/stat_darwin.go","/goroot/src/os/sys_darwin.go","/goroot/src/os/types.go","/goroot/src/os/types_notwin.go","/goroot/src/os/getwd.go","/goroot/src/strconv/decimal.go","/goroot/src/strconv/extfloat.go","/goroot/src/strconv/ftoa.go","/goroot/src/strconv/itoa.go","/goroot/src/strconv/quote.go","/gopath/src/github.com/gopherjs/gopherjs/compiler/natives/reflect/reflect.go","/goroot/src/reflect/type.go","/goroot/src/reflect/value.go","/goroot/src/fmt/format.go","/goroot/src/fmt/print.go","/goroot/src/fmt/scan.go","/gopath/src/github.com/gopherjs/webgl/webgl.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/opengl/context_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/drawtexture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/program.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/internal/shader/shader.go","/goroot/src/bufio/bufio.go","/goroot/src/image/format.go","/goroot/src/image/geom.go","/goroot/src/image/image.go","/goroot/src/image/names.go","/goroot/src/image/ycbcr.go","/goroot/src/image/draw/draw.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/framebuffer.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/graphics/texture.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/input_js.go","/gopath/src/github.com/hajimehoshi/ebiten/internal/ui/ui_js.go","/gopath/src/github.com/hajimehoshi/ebiten/affine.go","/gopath/src/github.com/hajimehoshi/ebiten/colorm.go","/gopath/src/github.com/hajimehoshi/ebiten/gamecontext.go","/gopath/src/github.com/hajimehoshi/ebiten/geom.go","/gopath/src/github.com/hajimehoshi/ebiten/graphics.go","/gopath/src/github.com/hajimehoshi/ebiten/graphicscontext.go","/gopath/src/github.com/hajimehoshi/ebiten/image.go","/gopath/src/github.com/hajimehoshi/ebiten/run.go","/goroot/src/compress/flate/copy.go","/goroot/src/compress/flate/huffman_code.go","/goroot/src/compress/flate/inflate.go","/goroot/src/compress/flate/reverse_bits.go","/goroot/src/hash/adler32/adler32.go","/goroot/src/compress/zlib/reader.go","/goroot/src/encoding/binary/binary.go","/goroot/src/hash/crc32/crc32.go","/goroot/src/hash/crc32/crc32_generic.go","/goroot/src/image/png/paeth.go","/goroot/src/image/png/reader.go","/goroot/src/io/ioutil/ioutil.go","/goroot/src/compress/lzw/reader.go","/goroot/src/image/gif/reader.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/gif.go","/gopath/src/github.com/hajimehoshi/ebiten/ebitenutil/loadimage_js.go","/goroot/src/image/jpeg/huffman.go","/goroot/src/image/jpeg/idct.go","/goroot/src/image/jpeg/reader.go","/goroot/src/image/jpeg/scan.go","/goroot/src/image/jpeg/writer.go","/goroot/src/log/log.go","/gopath/src/github.com/hajimehoshi/ebiten/example/rotate/main.go"],"mappings":";;;;qYAsFO,OACL,kE,iGAIK,OACL,4C,6EA+CA,kBACA,A,4+F;44BCvHK,OACL,8C,6EAIA,gCACC,iB,GAGD,AAAI,YACJ,yBACA,gBACA,A,mCAIA,kBACA,A,kBACC,U,CAED,eACA,A,qBACC,+B,CAED,sB,yEAQA,yEACA,A,kBACC,A,qD,CAED,6JACA,A,6F,oC,0C,iHC7BK,OACL,oBACA,A,WACC,c,CAED,A,0BACC,kE,CAED,A,yBACC,mF,CAGD,gH,oGA0BK,uC,8HAEA,uCACL,0B,uL,20B;0NC7DA,oB,yCAQK,OACL,W;8pECKK,iBACL,YACA,uBACA,YACA,uBACA,YACA,uBACA,YACA,uBACA,gB,sHASK,iB,AACL,gF,0HAQK,iBACL,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,0DACA,4FACA,YACA,uBACA,gB,0HASK,iBACL,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,0DACA,8FACA,YACA,gB,sHAQK,iBACL,YACA,uBACA,A,gD,sHAQK,iBACL,YACA,A,gD,wHAQK,iBACL,YACA,uB,AACA,oD,wHAQK,iBACL,Y,AACA,oD,qFAgBA,oB,4CAOK,OACL,c,kGAgBA,AAAG,+B,MACF,S,CAED,uCACA,6I,oCAIG,AAAH,+B,MACC,S,CAED,uCACA,qG,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,0H,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,6I,8CAIA,AAAG,+B,MACF,S,CAED,uCACA,A,cACC,8F,CAED,A,UACC,yD,CAGD,4IACA,4IACA,4IACA,qG,8BAIA,AAAG,+B,MACF,S,CAED,kBACA,wE,8BAIG,AAAH,+B,MACC,S,CAED,kBACA,8D,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,wE,sCAIA,AAAG,+B,MACF,S,CAED,gCACA,iQACA,8D,0CAOK,O,AACL,kBACC,iB,CAED,0G,wJAKK,OAGL,gCACA,yBACA,sHACC,gCAGA,6BACA,kDACA,6BACA,0DACA,6BACA,0DACA,A,QACC,A,UACC,S,CAED,gB,C,KAGF,S,0HClRA,SACA,SACA,SACA,sEACA,0EACA,wE,AACA,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,oDAUA,2BACA,gBACA,gBACA,+BACA,iDACA,gC,AACA,QACC,I,A,gBAEA,M,C,AAED,QACC,I,A,gBAEA,M,CAED,A,QACC,I,A,gBAEA,M,CAED,+C,sDAkBK,iBACL,wCACA,4L,gGAOA,AAAG,+B,MACF,S,CAED,gCACA,+FACA,uD,28F,oB,sB,qB,uB,qB,uB,oB,sB,wB,4B,8B,6B;2JCjFA,MACA,M,+BA6EA,A,WACC,a,CAED,A,WACC,a,CAED,a,yCAIA,A,0B,+BAIA,A,WACC,U,CAED,A,aACC,sE,CAED,A,cACC,uE,CAED,mC,yBA2CA,S,+CAyBA,A,0C,gDAoBA,A,WACC,A,aACC,kB,CAED,S,C,AAED,eACC,kB,CAGD,KACA,A,SACC,cACA,O,CAGD,OACA,yBACC,UACA,AAAA,cACA,A,aACC,A,qBACC,K,CAED,M,C,CAGF,uBACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,2B,AACA,4BACC,AAAA,U,CAGD,yD,oDAIA,KACA,A,mCACC,M,CAED,6BACA,oBAEA,A,aACC,A,WACC,Y,CAED,S,CAED,A,gBACC,oB,CAED,A,WACC,K,CAGD,uC,yDAIA,A,WACC,A,aACC,iC,CAED,wB,CAED,A,iBACC,iC,CAGD,oBACA,A,SACC,6BACA,O,CAGD,QACA,iCACC,UACA,AAAA,cACA,A,cACC,M,C,CAGF,gCACC,AAAA,cACA,A,WACC,M,CAED,U,CAGD,uO,gCChRA,QACA,SACA,AAAI,kBACH,+FACA,oOAF8B,A,AAAA,c,4FClB/B,AAOA,AACA,WACC,A,qC,AACD,yBACC,A,0C,CAID,8B,AACA,SACC,OACA,Q,CAGD,uCACA,kBAEA,A,4EACC,sEACA,U,CAED,4EACA,A,4CACC,sEACA,0B,CAED,A,4CACC,O,CAGD,mFACA,SACA,iFACA,2E,AACA,6DACC,wB,C,AAED,OACC,O,C,AAED,OACC,O,CAED,c,4G,wG,e,I,M,O,M,wK,0K,I;sKC7CA,WACA,kBACA,kBACA,kBACA,kBACA,mBACA,c,wDAIA,uCACA,AACA,UACA,UACA,UACA,UACA,gB,4G,gE;2JCSA,A,mBACC,YACA,Y,CAED,a,yCA4CA,mBACA,YACA,U,iCAoCA,iB,oCAgBA,Y,sCAQA,Y,4G;swEC7IK,O,AACL,wBACC,A,qCACC,e,CAED,iB,CAED,0HACA,oDACA,S,4FAGK,OACL,A,mCACC,O,CAED,2B,sE,gB,8CCQK,O,AAEL,qHACC,AAGA,O,CAGD,QACA,YACC,UACA,MACA,A,mBACC,S,C,AAED,MAGC,S,CAED,A,qHACC,A,cACC,M,CAED,wFACA,O,C,C,AAIF,oGAWK,OACL,AAMA,uGACA,A,uBACC,sD,CAGD,IACA,YAGC,A,oCACC,O,CAGD,eACA,A,qHACC,wFACA,O,CAED,U,C,yJCxEI,OACL,A,0GACC,O,CAGD,WACA,8CACA,A,eACC,wHACA,I,C,2KCqJD,sHACC,0FACA,AAAI,8BACH,eACA,sBACA,sCACC,0G,KAED,gBANiC,A,AAAA,YAQlC,UACA,c,KAED,a,eASA,K,wBAIA,4F,e,4LCrLA,AAAI,0BACJ,M,0CCVK,O,AACL,AAIA,sHAEC,kG,C,AAED,uGAUK,OACL,AAKA,AAAG,mH,QACF,A,6CACC,IACA,yD,CAGD,A,uHAEC,kG,C,CAGF,A,wGAWK,OAML,AALA,WAOA,0I,AAEA,uIACC,kG,CAED,A,sGAaK,OACL,AAQA,2H,AACA,kBACC,IACA,wD,CAGD,AAAI,oBACH,kG,AADuB,AAAA,YAIxB,aACA,A,uGAOK,OACL,oB,sGAKK,OAAuB,qB,kGACvB,OAAuB,uB,uK,gE,u0E,I;0vBC6J5B,A,gBACC,A,8C,CAED,2CACK,AAAJ,IACA,uCACA,W,CAED,A,SACC,Y,A,6CAEA,wB,CAED,Y,uDAUA,A,8C,4G,gE,gE,snB,wC,0C,sB,8C,wE,iC,iC;;4PC9QA,YACA,A,QACC,A,6C,CAED,uFAGA,A,UACC,A,+C,CAID,A,U,AACC,8C,C,AAID,Q,AACC,6C,CAED,uF,AACA,kB,AACC,8C,C,AAID,UACC,8CACA,A,WACC,A,8C,C,AAED,8C,CAID,A,QACC,A,mD,CAED,wFACA,A,oBACC,A,oD,CAID,A,UACC,4EACA,A,YACC,A,oD,CAED,A,uB,AACC,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,wFACA,A,oB,AACC,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sLAIA,WACA,A,QACC,A,6C,CAED,kBAGA,A,U,AACC,+C,CAID,A,UACC,A,8C,CAID,A,QACC,A,6C,CAED,kBACA,A,kBACC,A,8C,CAID,A,UACC,8CACA,A,WACC,A,8C,CAED,A,8C,C,AAID,QACC,A,mD,CAED,mBACA,A,oB,AACC,oD,CAID,A,UACC,4EACA,A,Y,AACC,oD,CAED,A,uB,AACC,oD,CAED,A,gD,CAID,A,QACC,A,mD,CAED,mBACA,A,oB,AACC,oD,CAID,A,UACC,yGACA,A,wBACC,A,oD,CAED,A,gD,CAID,A,oD,sCAMA,cACA,S,8CAkBA,qBACA,Y,sDAWA,qBACA,Y,wEAYA,YACA,A,UACC,A,gC,CAED,SACA,4FACA,A,UACC,A,4B,CAKD,SACA,A,QACC,I,CAEG,AAAJ,AAAI,uBACH,A,4FACC,M,C,AAFyB,AAAA,YAK3B,A,QACC,I,CAED,oCACA,A,sBACC,A,gC,CAED,A,4B,6BA6CA,AACA,QACC,SACD,A,iBACC,S,AACD,kBACC,SACD,A,6BACC,SACD,A,mBACC,S,AACD,qBACC,S,CAED,S,wCAOA,AAAO,UACP,WACC,gGACA,SACD,A,kBACC,kHACA,qHACA,S,AACD,wCACC,QACA,AAEA,mHACA,6HACA,qHACA,SAJD,A,mBACC,mHACA,6HACA,qHACA,S,MAEA,mHACA,8HACA,6HACA,qHACA,S,C,2CAOD,IACA,AAAI,IACA,AAAJ,uB,AACC,6FACC,AAAA,W,MAEA,2BACA,W,CALqB,AAAA,A,YAQvB,S,qDAKA,6CACC,AAAA,W,SAED,S,+BAM6B,+B;+oBCpY7B,sHACC,A,UACC,S,C,KAGF,S,yCCgCK,OAA4B,8B,kGAI5B,OACL,A,eAEC,c,CAED,8C,iGAKK,OAAuB,8B,iGAIvB,OACL,aACA,AACA,mBACC,6D,AACD,gBAEC,Q,CAED,sC,yGAKK,OAAqB,c,uGAKrB,OACL,UAEA,A,4BACC,c,CAED,A,yCACC,AAAI,S,AACJ,0BACC,mC,A,uHAMA,yCACA,uB,MAGA,iCACA,qC,CAED,QACA,Q,CAED,6CACA,kB,mGAQK,OACL,A,QACC,yD,CAED,YACA,2B,wHAMK,OACL,aACA,oBACA,A,mE,gIAMK,OACL,aACA,mBACA,A,oE,qKAaK,OACL,aAEA,A,yBACC,c,CAED,YACC,AAAG,mC,UAEF,QACA,A,qBAGC,mC,CAED,qCACA,8CACA,Q,CAED,uEACA,8CACA,gEACA,A,+BACC,M,C,AAED,sCACC,A,4B,C,CAGF,A,oC,4IAOA,4BACC,A,+CACC,yB,C,QAGF,kB,wLAOK,OACL,aACA,A,wBACC,UACA,gDACA,A,QACC,iE,CAED,mBACA,kBACA,A,sCACC,A,4B,CAID,A,eACC,A,0C,C,CAIF,cACA,Y,gHAOK,OACL,aACA,YACA,+FACA,iB,wIAOK,OACL,A,UACC,0B,AACA,oC,CAED,mDACA,4CACA,A,oC,+HAOK,OACL,aACA,A,yBAEC,cACA,A,kBACC,Y,CAED,A,gC,CAED,uCACA,mBACA,A,QACC,a,CAED,Y,qGAOK,OACL,aACA,UACA,A,QACC,I,CAED,sCACA,mBACA,A,QACC,a,CAED,S,gIAKK,OACL,aACA,A,yBAEC,cACA,A,gC,CAED,yGACA,AAAA,mBACA,a,AACA,oC,0JAQK,OACL,aACA,A,yBAEC,c,AACA,0C,CAED,aACA,yGACA,A,UACC,AAAA,mBACA,A,mD,CAED,qDACA,mB,AACA,8C,gHAQK,OACL,A,wBACC,8E,CAED,aACA,A,YACC,oDACA,mB,CAED,iB,gHAMK,OACL,A,6CACC,4E,CAED,aACA,A,YACC,AAAA,mB,CAED,iB,yIASK,OACL,+BAGA,oBACA,Y,6IAIK,OACL,8BACA,oBACA,A,QACC,gBACA,Q,CAED,2BACA,QACA,a,AACA,4B,0IASK,OACL,+BACA,A,4C,mGAUoC,4C,4G,gE,gE,gE,+rD;4sFClYpC,0BACC,A,uBACC,6DACA,S,C,G,eAMF,A,OACC,yH,CAED,O,wBAIA,2BACA,A,qBACC,KACA,O,CAGD,oBACA,YACC,oBACA,A,WACC,M,CAED,4EACA,wB,C,gB,+BCjCD,kBACA,A,kBACC,c,CAED,QACA,yBACA,+BACA,AAAI,iCACH,6BACA,0I,AAFiC,AAAA,YAIlC,S,8EAeA,4BACC,W,QAGD,A,aACC,A,MACC,Y,CAED,OACA,kBACA,A,kBACC,wB,CAED,qC,CAED,kC,2KAIG,AAAH,e,gBACC,aACA,A,iH,CAED,A,gCACC,IACA,+BACA,WACA,KACA,A,8D,CAED,IACA,A,iD,0EAIA,AAAG,gB,gBACF,mB,AACA,iH,CAED,A,iBACC,I,C,AAED,6C,qDAsBA,yCACA,8IACC,A,UACC,0B,CAED,O,KAED,cACA,oB,wCCzEA,cACA,uHACK,AAAJ,sBACC,A,yBACC,mBACA,AAAG,sD,OACF,4E,MAMA,yF,CAED,M,C,AAZsB,AAAA,Y,K,kIAiCzB,U,AACA,iBACC,A,iC,CAGD,WACA,8CAEA,6D,AACA,OACC,A,iC,CAED,0FACI,AAAJ,sBACC,A,yBACC,A,mD,C,AAFsB,AAAA,YAKxB,A,iC,6GClFA,A,QACC,uB,CAED,mB,6BAIA,AAAI,uBACJ,KACA,aACC,mJACA,AAAA,WACA,2F,CAED,uFACA,8C,kDCuBA,AAAI,sBACH,A,wBACC,0B,C,AAFsB,AAAA,YAKxB,2BACA,iBACA,oB,iFAuBK,OACL,A,qC,oGAOK,OACL,oG,kHCfA,AAAI,oBACJ,0BA6BA,A,4EACC,Y,CAGD,Y,gFA+XA,sBACA,A,sCACC,A,6B,CAID,IACA,AAAG,0E,sC,AACF,6B,CAED,A,UACC,A,qC,CAID,aACA,AAAG,4V,sCACF,A,6B,CAID,A,gHACC,AAAA,Y,CAED,A,mE,kEC3cA,AASA,AAAI,uBACJ,KAEA,2BACA,sBACA,A,sCACC,A,iC,CAKD,AAAG,gX,sCACF,A,iC,C,AAED,+I,iFAQA,YACA,6CACC,2dACA,A,oBACC,SACA,M,CAED,2BACA,A,2CACC,S,CAED,mCACA,AAAI,qDACJ,A,sBACC,S,CAED,AAAA,WACA,AAAA,WACA,e,CAED,A,mD,kKC9DK,OACL,A,SACC,A,0C,CAID,0C,AACA,sCACC,A,iC,CAID,AAAI,oBAOJ,IAGA,0UACA,eACA,kDACA,6FACA,A,wC,iSAGK,O,AACL,kDACC,A,sB,CAID,qUACA,eACA,kDACA,kDACA,A,slBACC,A,sB,CAID,AAAG,6C,sC,AACF,a,CAED,0BACA,A,qB,8LAYK,uCACL,A,0BACC,uEACA,A,cACC,S,C,CAGF,0B,uHAGK,uCACL,iE,6HAGK,uCACL,mC,oIAoBA,wBACA,AAQA,Y,oDAIA,AAGA,wBACA,AAGA,Y,+CCuDI,AAAJ,IACA,A,gBACC,mB,MAEA,oB,CAED,0CACA,A,eACC,Y,CAED,S,gDAqLA,0B,AACA,eACC,Y,CAED,S,2BAiDA,iBACA,O,iDAMA,2BACA,A,eACC,Y,CAED,S,mDAgBA,kC,AACA,eACC,Y,CAED,S,qDAMA,wC,AACA,eACC,Y,CAED,S,wDA2BA,qyCACA,A,eACC,Y,CAED,S,gDAgBA,2BACA,A,eACC,Y,CAED,S,sDAMA,uCACA,A,eACC,Y,CAED,S,oEAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,uDACA,SACA,A,eACC,Y,CAED,Y,4DA8LA,AAAI,SACJ,qB,AACA,sCACC,S,CAED,+xCACA,KACA,A,eACC,Y,CAED,S,4DA4JA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,6DAMA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,kEACA,SACA,A,eACC,Y,CAED,Y,+CAMA,AAAI,I,AACJ,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,uEAmFA,oDACA,2CACA,A,eACC,Y,CAED,Y,+CAiSA,AAAI,IACJ,A,gBACC,mB,MAEA,oB,CAED,+CACA,SACA,A,eACC,Y,CAED,Y,qDAMA,gEACA,I,AACA,eACC,Y,CAED,Y,uCAMA,qB,AACA,eACC,Y,CAED,S,4G,gE,gE,gE,gE,y8E,Q,Q,K,O,a,c,c,2lF,kD;sYC90CK,OACL,A,WACC,O,C,AAED,YACC,kD,CAED,aACA,4BACC,cACA,Y,QAED,I;iPC5BA,+D,uCCuCA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAGtB,AAAJ,uBACA,AAAI,sBACH,A,mBACC,kD,CAED,kD,AAJyB,wBAM1B,Y,0DAsBA,IAGA,AADA,iBAEC,mC,AACD,uBAEC,kBACA,AAAI,sBACH,A,wBACC,AAAA,W,CAFsB,A,AAAA,YAKxB,S,AACD,4BACC,S,AACD,8BACC,A,UACC,S,CAED,S,CAGD,sBACA,IACA,AAAI,sBACH,sF,AADyB,AAAA,YAG1B,IACA,A,yCACC,AAAA,WACA,W,CAED,AAAI,6BACH,yDACA,gCACA,4FACA,AAAA,WACA,A,oEACC,AAAA,WACA,I,C,CAGF,S,oDAoBA,WAEA,AADA,UAEC,S,AACD,gBACC,4B,AACD,uBACC,A,UACC,S,CAED,S,AACD,qBACC,S,CAGD,sBACA,AAAI,IACJ,AAAI,eACH,sFADkB,A,AAAA,YAGnB,A,kCACC,S,CAED,AAAI,sBACH,yDACA,gCACA,qFACA,AAAA,WACA,A,yCACC,c,C,CAGF,S,wDAmfA,A,mBACC,S,CAID,AAAG,U,UACF,S,A,mBAEA,I,CAID,yDACA,IACA,IACI,AAAJ,eACC,IACA,A,iBACC,A,QACC,8CACA,W,C,MAGD,8B,CAED,sDACA,uCACA,gBAZkB,A,AAAA,YAcnB,oDACA,wC,4G,gE,gE,gE,gE;2vEC5qBA,sBACA,0BACA,oBACA,oB,AACA,uBACC,cACA,O,CAED,gCACA,yF,eAIA,wF,iDAIA,MACA,A,oJ,sBCoEA,A,iBACC,a,CAED,kBACA,qB,8RAMI,AAAJ,sBACC,AAAO,2BACP,WACC,A,wDACC,A,4DACC,A,2E,CAED,A,8BACC,A,2E,C,C,AAIH,iBACC,A,uBACC,A,oCACC,A,2DACC,A,2E,CAED,A,8B,AACC,iF,C,CAGF,A,oC,AACC,gF,C,C,AAIH,iBACC,A,+E,AACC,2L,C,AAGF,iB,AACC,sDACC,A,iF,CAED,A,iF,AAED,iBACC,A,yDACC,A,iF,CAED,A,iF,AAED,iBACC,A,sDACC,A,iF,C,AAGF,iBACC,A,iF,AAED,iBACC,A,iF,AAED,iBACC,A,iF,AAED,iB,AACC,sDACC,A,iF,C,AAGF,kBACC,A,uDACC,A,iF,C,AAGF,iBACC,A,4DACC,A,gF,C,AAED,8D,AACC,gF,C,AAED,0DACC,A,gF,CAED,A,2D,AACC,gF,CAED,A,wDACC,A,gF,C,AAGF,iBACC,A,4DACC,A,gF,C,AAED,8DACC,A,gF,CAED,A,0DACC,A,gF,CAED,A,2DACC,A,gF,C,AAGF,iB,AACC,sFACC,0BACA,UACA,4CACC,AAAA,a,C,AAGD,cACC,MACA,A,gCACC,M,CAED,sC,AACA,0E,C,C,CAjHyB,A,AAAA,YAsH7B,A,6C,4BA0DA,AAAI,sBACH,kBACA,kBACA,A,eAEC,eACA,e,AACA,4BACC,a,C,CARsB,A,AAAA,YAYzB,Y,8BAIA,sHACC,A,qDACC,0C,C,KAGF,gB,oCAQA,A,S,AACC,eACC,e,CAED,wC,C,AAED,UACC,wHACA,+FACA,S,CAGD,AAAI,uBACJ,K,AACA,UACC,qB,CAED,aACC,AAAA,WACA,mJACA,2F,CAED,AAAA,WACA,uFACA,8C,oDAQA,QACA,A,gEACC,uBACA,iB,CAED,6BACA,2CACA,A,iDACC,A,4B,CAED,A,MACC,K,CAED,A,oC,sCAMA,IACA,AAAI,uBACA,AAAJ,eACC,AAAA,WACA,mJACA,2F,C,AAGD,QACC,I,CAED,A,MACC,iGACC,AAAA,W,CAED,A,UACC,S,C,CAGF,gBACA,gD,2CAKK,kBACL,2D,8MAcK,kBACL,AACC,kCAEA,KACA,IACA,IACA,KACA,IACA,IAEA,SACA,uBAED,iBACA,A,UACC,2B,MAEA,e,CAGD,iBACC,+BACA,A,eACC,6C,CAED,A,WACC,M,CAED,KAGA,A,2BACC,sC,CAID,A,2BACC,iC,CAGD,YACA,+BACC,K,AACA,SACC,O,CAED,oF,AACD,mBAEC,KACA,AACA,aACC,gBACA,O,AACD,kBACC,+CACA,O,AACD,iBACC,gDACA,O,AACD,cACC,iDACA,O,AACD,eACC,gD,AACD,gBACC,+C,AACD,iBACC,gB,CAED,kBACD,A,mBACC,4E,AACD,mBACC,sBACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,gF,AACD,mBACC,0BACA,6C,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBACC,kB,AACD,mBAEC,qE,AACA,WACC,M,CAED,kB,AACD,mBAEC,qEACA,A,WACC,M,CAED,mBACD,A,mBACC,iBACD,A,mBACC,kB,AACD,mBACC,iB,AACD,mBACC,kB,AACD,mB,AACC,UACC,+C,MAEA,+C,C,AAEF,mBACC,A,UACC,+C,MAEA,+C,CAEF,A,iF,AAGC,0DACC,gBACA,M,CAED,+FACA,KACA,A,SACC,gBACA,OACA,O,MAEA,gB,CAED,6G,AACA,+CACC,gB,CAED,mFAGA,A,+CACC,A,yBACC,gB,CAED,mF,CAGF,A,kB,AACC,cACC,4CACA,M,CAID,+F,AACA,SACC,gBACA,O,MAEA,gB,CAED,6GACA,mF,AACD,2BACC,sD,E,CAGF,yB,8EAeA,kB,0CAIK,OACL,A,mBACC,gH,CAMD,4C,kF,AAOA,gBACC,a,CAED,kBACA,oB,mBAOA,A,aACC,e,CAED,A,aACC,A,MACC,e,CAED,oE,CAED,kH,iBAIA,0CACC,iB,CAED,S,mBAMA,kBACC,A,yBACC,A,0CACC,a,CAED,QACA,QACA,S,C,AAED,2DACC,a,CAED,iBACA,iB,CAED,oB,8BAuCA,mC,iXAaA,gBACA,KACA,QACA,QAIC,AADD,IAEC,IACA,IACA,IACA,IACA,KACA,KACA,UACA,MACA,MAID,YACC,AAAI,aACJ,mCACA,kDACA,6BACA,A,uCACC,qE,C,AAED,WACC,A,sBACC,qF,CAED,M,CAED,KACA,AAAI,MACJ,YACA,+BACC,A,eACC,MACA,M,CAED,iDACA,0BACA,A,UACC,c,MAEA,c,C,AAEF,mBACC,A,yBACC,MACA,M,CAED,iDACA,0B,AACD,mBACC,mC,AACD,mBACC,mC,AACD,6BACC,2CACA,A,eACC,U,C,AAEF,mBAEC,2B,AACD,mBACC,2B,AACD,uCACC,A,mDACC,iB,CAED,2CACA,A,cACC,Q,CAEF,A,mBACC,wCACA,A,eACC,S,CAEF,A,6BACC,2CACA,A,cACC,S,C,AAEF,6BACC,2CACA,A,eACC,W,C,AAEF,6BACC,4CACA,A,iBACC,W,CAID,A,iDACC,iBACA,c,AACA,yBAEC,M,CAGD,KACA,6BAA2C,A,AAAA,cAE3C,sCACA,kB,C,AAEF,mBACC,A,eACC,MACA,M,CAED,iDACA,MACA,cACC,O,AACD,oBACC,O,MAEA,M,CAEF,A,mB,AACC,eACC,MACA,M,CAED,iDACA,MACA,cACC,OACD,A,oBACC,O,MAEA,M,C,AAEF,0FACC,A,gEACC,iBACA,YACA,M,CAED,AAAI,gDACJ,A,yBACC,A,eACC,MACA,M,CAED,A,8BACC,MACA,M,CAED,mH,A,kB,AAEA,eACC,MACA,M,CAED,uG,A,+BAEA,A,eACC,MACA,M,CAED,A,yDACC,MACA,M,CAED,+H,A,+B,AAEA,eACC,MACA,M,CAED,+H,MAEA,A,eACC,MACA,M,CAED,mH,CAEG,AAAJ,iCACA,2BACA,A,oCACC,2B,CAED,A,oCACC,2B,CAED,sCACA,oBACA,Y,AACA,kBACC,O,MAEA,M,C,AAEF,kB,AAEC,0CACC,YACA,iBACA,M,CAED,2BACA,A,QACC,MACA,M,CAED,mDAED,A,kBAGC,sBACA,A,gBACC,MACA,M,CAED,sCACA,kBAED,A,kBACC,A,kFAEC,M,CAID,KACA,0FACC,AAAA,a,CAED,2CACA,yB,EAED,A,cACC,yF,CAED,A,uCACC,qE,C,CAGF,A,YACC,Y,A,sBAEA,I,CAGD,A,mBACC,8C,CAGD,A,iBACC,gDACA,qFAIA,uF,AACA,kCACC,SACA,qB,CAID,iBACA,qB,C,AAGD,eACC,gDAGA,8F,AACA,OACC,qFACA,SACA,qB,CAID,A,2CACC,+BACA,gB,CAED,iBACA,qB,CAID,6C,6EAcA,A,e,AACC,gC,CAGD,A,wEACC,A,+B,CAGD,A,6BACC,QACA,A,+B,CAGD,AAAI,IACJ,AAAI,eACH,A,gBACC,M,CAED,AAAG,kB,eACF,M,C,AAL0B,AAAA,YAQ5B,IACA,+B,AACC,gC,AACD,gBACC,A,yBACC,A,+B,C,AAEF,gBACC,A,yBACC,A,mC,CAEF,A,gBACC,A,mC,CAED,A,oC,+BAOA,iBACA,A,iBACC,S,CAED,kBACA,A,6BACC,S,CAED,0CACA,A,sCACC,S,CAED,A,WACC,+B,CAED,A,sHACC,S,CAED,kC,kDAIA,A,8BACC,KACA,c,CAEE,AAAH,oC,sCACC,c,C,AAED,uBACC,sBACA,c,CAKD,UACI,AAAJ,eACC,Y,AAD4B,AAAA,YAG7B,c,8EAOA,IACA,kBACC,kB,AACA,eACC,M,CAED,A,mEAEC,A,sD,CAED,iIATiB,AAAA,A,YAWlB,A,2D,mDC1jCK,kBAAc,eACnB,qJ,+GAIK,kBAAe,eACpB,qJ,4GAQK,kBAAc,eACnB,gF,oGAqCK,uCAA2B,sF,sHA0B3B,uCAA6B,2E,4HAyG7B,kBACL,wD,uHAKK,kBACL,QAEA,A,uBACC,U,CAED,sDACA,A,cACC,A,2KACC,iF,MAEA,qBACA,gE,C,CAGF,sF,4IAKK,kBACL,QACA,A,uBACC,U,CAGD,sD,AACA,cACC,A,2KACC,mBACA,qB,MAEA,4B,CAED,gE,MAEA,Q,CAED,kFACA,c,kHAIK,kBACL,oCACA,c,oGAIK,kBACL,uBACA,S,qGAIK,kBACL,sBACA,S,qGAIK,kBACL,sBACA,S,iGAIK,kBACL,mB,sFAMA,2EACA,8G,0EAOK,kBACL,2CACA,qFACA,AAeA,uGAMA,iF,AACA,eACC,AAAA,W,C,AAKD,UACC,AAAA,WACA,KAIA,A,8BACC,AAAA,W,C,CAOF,A,yBACI,AAAH,gF,eACC,AAAA,WACA,I,C,CAIF,Y,qHAIK,kBACL,A,iD,8FAKA,gDACA,0FACA,qBACA,wFACA,mBACA,c,2CAIK,kBACL,gJ,oGAIK,kBACL,6I,sGAIK,kBACL,uD,0GAKK,kBACL,kB,mHAKK,kBACL,uBACA,c,kHAsCK,OAED,AAAJ,uBACA,KAEA,8BACA,uC,AACA,MACC,gC,CAGD,A,kDAGC,AAAI,IACJ,AAAA,WACA,qEACA,AAAA,WACA,AACA,8BACC,U,AACD,kDAEC,IACA,qE,AACD,qDAEC,IAEA,AAAA,WACA,+C,MAGA,IACA,qE,CAED,iDACA,iC,MAEA,AAAA,WACA,qEAEA,iDAGA,gEACA,sC,AAGA,yCACC,AAAA,WACA,qEACA,gEACA,sC,AAIA,yCACC,AAAA,WACA,qEACA,iC,C,C,C,AAKH,MACC,AAAA,WACA,oE,CAGD,8C,mIASA,YACA,QACA,AAAI,eACH,mCACA,kCACA,A,MACC,AAAA,WACA,iH,CAED,sC,AAPqB,AAAA,YAStB,A,MACC,AAAA,WACA,sF,CAED,A,4B,yBAMA,YACA,A,8BACC,AAAA,WACA,sF,MAEA,4CACC,AAAA,WACA,gJACA,sC,C,CAGF,S,4CAIK,OAAkC,kC,6HAYlC,OACL,uCACA,sCACA,yC,qHAIK,OACL,wCACA,uCACA,0D,mHAIK,OACL,wCACA,uCACA,yD,gIAIK,kBACL,gIACA,2FACA,A,kBACC,AAAA,4EACA,oB,A,cAEA,AAAA,4EACA,oB,CAED,SACA,S,4GAOK,kBAAY,eACjB,+LAEA,AACA,sBACC,S,AACD,sBACC,6B,MAEA,qC,C,wHAkBI,kBACL,gCACA,iCACA,6D,mIAeK,kBACL,A,4D,4IAMA,uCAGA,wCACA,+BACA,iFAMA,uCACA,wEACA,8EACA,gFAKA,sCACA,4EACA,+EAMA,qCACA,wEACA,sDACA,iFAEA,4HACA,c,AAEA,OACC,gB,CAGD,I,AACA,UAEC,AACA,SAEC,AAAA,W,AACD,iBAEC,IACA,KACA,gB,C,CAMF,mGACA,4FACA,AAAI,KACJ,A,UACC,AAAA,WACA,M,MAEA,6E,CAGD,AAAA,WACA,iBACA,gB,mCAkCA,oBACA,yE,wCAIK,kBACL,eACA,S,+FAIK,kBACL,iBACA,S,iGAMK,kBACL,A,eACC,iE,CAED,QACA,S,oGAIK,kBACL,Q,AACA,eACC,W,CAED,S,qHAKK,kBACL,kFACA,Y,kGAKK,kBACL,0D,0GAOK,kBACL,kK,6HAMK,kBACD,AAAJ,IAEA,A,sBACC,K,MAEA,kB,AACA,2EACC,8E,CAED,0FACA,A,gCACC,mE,CAED,c,CAGD,ydAkBA,oB,yKAIK,OACL,IACA,A,kBACC,8C,C,AAGD,kGACC,0D,CAGD,A,wBACC,qD,CAGD,iBACA,ixCAGA,iBACA,6YAEA,iBACA,2NAEA,A,aACC,S,MACM,AAAG,sF,YACT,iB,MAEA,gB,C,CAGD,iB,6HAQK,kBACL,yB,gHAIK,OACL,4B,qHAKK,kBACL,AAAG,W,kBAGF,yE,CAED,8F,sIAKK,OAEL,gFACA,S,6HAKK,kBACL,AAAG,W,kBACF,yE,CAED,0F,sIAKK,OAEL,4EACA,S,sHAOA,A,yFACC,2CACA,kDACA,mFACA,A,yCACC,yEACA,AAAA,gE,C,CAGF,gH,2BAIA,0N,6CAOA,A,QACC,sGACA,WACA,kB,CAED,A,SACC,uFACA,WACA,kB,CAED,A,4B,2IAoBA,A,eACC,8D,CAID,cACA,2BACA,cAGA,mCACA,2BACA,2BACA,2BAEA,kGAKA,uCACA,qFACA,oCAGA,uCACA,qFACA,uFAGA,qCACA,mFACA,sFAGA,MACA,qFAGA,0JACA,A,gBACC,AAAA,wE,CAID,+EAGA,mCACA,wGAEA,yFAMA,2CACA,A,gBACQ,AAAP,uEACA,gEACC,uDACD,A,uEACC,yB,CAED,uE,CAGD,uE,kDAKK,kB,AACL,0CACC,S,CAED,iBACA,uC,kHAMK,kBACL,A,0CACC,S,CAED,iB,AACA,oGACC,uC,CAED,oD,0MAMQ,eACR,QACA,SACA,A,mDAEC,OACA,6CACA,KACA,A,QACC,oBACA,AAAA,4E,C,CAIF,AAEA,2JACC,qIACA,gH,AAGD,4EACC,sEACA,wEACA,gJ,MAQA,4CACA,gEACA,4BACA,uBACA,sFACA,oEACA,A,gEACC,AAAA,wE,CAED,0FACA,A,gEACC,AAAA,wE,CAKD,+BACA,oEACC,wB,CAED,oBACA,YACC,IACA,A,wKAEC,IACA,oEACA,A,gEACC,AAAA,wE,CAED,0D,CAED,A,2GACC,M,CAED,6BACA,wHACA,6B,CAED,2B,CAGD,A,oCAOC,aACA,wC,CAED,Y,wCC3mCK,OACL,A,eACC,U,C,AAED,WACC,S,CAED,S,gGAKK,OACL,oB,qGAMA,iLAOA,4GACA,S,8IAUK,OACL,UAEA,A,uBACC,QACA,IACA,QACA,4BACA,oCACA,kB,CAGD,AAAG,c,iKACF,SACA,WACA,UACA,eACA,aACA,kB,CAGD,A,qLACC,wHACA,SACA,WACA,UACA,4BACA,A,mBACC,qG,MAEA,oC,CAED,kB,CAKD,QACA,oCACA,KACA,cACA,oBACC,+GACA,mG,AACA,6DACC,KACA,M,MAEA,M,C,CAGF,8MACA,UACA,YACA,WACA,kGAEA,kB,qIAkBK,O,AAEL,uBACC,S,CAID,A,gOACK,AAAJ,4H,AACC,2GACC,S,CAFyC,A,AAAA,Y,CAQ5C,oCACC,A,2GACC,S,C,KAKF,S,qIAKK,OACL,gIACC,A,gBACC,Y,C,KAGF,a,oMAMK,OACL,UAQA,oCACC,kGACA,A,eACC,sGACA,A,eACC,A,+C,C,C,KAMH,0CACC,0GACA,A,gB,AACC,8D,C,MAKF,c,qL,gE,gE,gE,gE,gE,m3N,qD,mF,sD,0F,gI,gC,gC,6B,+I,wG,+E,0E,Y,c,+B,4C;ksECjPA,kB,AACA,kBACC,2B,CAED,SACA,sCACI,AAAJ,wCACC,qH,AADgC,AAAA,YAGjC,S,uGCDK,O,AAEL,4BACC,4BAEA,iC,CAED,iBAEA,I,AACA,SACC,MACA,K,CAGD,eACA,kBAEC,A,mBACC,SACA,AAAI,YACJ,mEACA,A,sCACC,A,4C,CAED,A,cACC,M,C,CAKE,AAAJ,gBACA,yEACA,qBACA,W,CAED,A,0BACC,A,gC,CAED,A,oC,iJCsDK,OACL,A,eACC,A,+C,CAED,A,yC,4IAeK,OACL,A,eACC,A,+C,CAED,A,8C,kHC5GK,OAA+B,0C,iGAQ/B,OAAkC,oC,+FAMvC,A,mCACC,iB,CAED,sB,iCAcA,a,yBCjCA,IACA,sBACC,a,AACD,6CACC,Q,AACD,6CACC,Q,CAED,kF,yCCaK,OAAyB,mB,iGAuCzB,OACL,mD,mIAMK,OACL,A,eACC,A,0C,CAED,0BACA,A,QACC,I,CAED,A,yDACC,A,gC,C,AAED,sCACC,kC,CAED,A,4B,uIAOK,OACL,A,eACC,A,0C,CAED,mBACC,6BACA,A,4CACC,A,gC,CAED,A,sCACC,kCACA,M,CAED,WACA,iBACA,gE,CAED,Y,wIAMK,O,AACL,eACC,A,0C,CAED,2BACA,A,QACC,I,CAED,A,uBACC,kB,CAGD,QAEA,A,sCACC,mC,CAED,A,4B,sIAMK,OACL,A,eACC,A,0C,CAED,mBACC,8BACA,A,sCACC,mCACA,M,CAED,WACA,iBACA,gE,CAED,Y,+JAOK,OACL,A,eACC,A,wD,CAED,4BACA,A,6FACC,kB,CAED,A,sCACC,A,wE,CAED,A,oC,oIAKK,O,AACL,eACC,A,0C,C,AAED,+D,mHAyBK,OACL,A,eACC,uB,CAED,AAAG,sB,sCACF,wC,CAED,iB,4EA+BA,A,QACC,I,CAED,Y,+FChOA,mCACA,A,+BACC,iB,C,AAED,+BACC,iB,CAED,A,+BACC,gB,CAGD,S,6CAeK,OACL,A,eACC,uB,CAED,AAAG,4B,sCACF,wC,CAED,iB,0GAyBK,OACL,A,eACC,uB,CAED,AAAG,0B,sCACF,wC,CAED,iB,+GAMK,OACL,A,eACC,uB,CAEE,AAAH,2B,sCACC,2C,CAED,iB,wHAMK,OACL,A,eACC,A,2B,CAED,AAAG,qB,sCACF,A,wB,CAED,A,qB,8FCnGK,OACL,A,eACC,kB,CAED,sB,2FAKA,SACA,A,QACC,c,CAED,uCACA,+DACA,S,mBAWA,A,yC,AACC,wHACC,K,C,MAGD,kH,C,0CA8BI,OACL,A,eACC,uB,CAED,sB,uGAGK,OACL,A,uBACC,uB,CAED,AAAI,YACJ,AAAG,gB,sCACF,8B,CAED,QAGA,4BACA,S,wIAKK,OACL,A,eACC,A,kD,CAED,AAAI,sCACJ,uB,AACA,sCACC,A,kE,CAED,A,oD,yHAmBI,AAAJ,sCACA,eACA,A,sC,AACC,yD,CAED,A,0C,4FAGK,OACL,cACA,A,WACC,M,CAED,kCACA,uBACA,kHACC,4BACA,A,UAGC,a,CAED,A,sC,AACC,4B,CAED,e,K,AAED,4B,6HAcK,OACL,A,+BACC,4B,CAED,A,gE,0HAMK,OACL,A,+BACC,4B,CAED,A,mE,wIAKK,OACL,YACC,IACA,A,+BACC,4B,CAED,qDACA,WAKA,A,0DACC,iBACA,S,CAGD,A,qEACC,iBACA,S,CAGD,A,4B,C,6HAMI,O,AACL,+BACC,4B,C,AAED,oE,6IAOK,OACL,A,kD,oFA8CA,gBAEA,mCACC,mBAD8B,A,AAAA,YAI/B,AAAI,AAAA,uBACH,A,yBACC,wBACA,M,C,AAHe,AAAA,YAOjB,S,gBCvSA,M,iBAIA,8C,gBCIA,AAIA,c,2BA2BqB,U,2BC9BrB,8DAMA,gCACA,qBACA,yBACC,+B,AACD,mBACC,+B,AACD,oBACC,iC,AACD,mBACC,+BACD,A,oBACC,gCACD,A,oB,AAEA,oBACC,+B,C,AAED,iCACC,8B,C,AAED,iCACC,8B,CAED,A,gCACC,8B,CAED,S,iBAGmB,uBACnB,4B,kCCvCA,2CACA,A,sCACC,O,CAED,AAAI,IACJ,iDACC,A,8BACC,iB,C,SAKF,A,2DACC,Q,C,mEC8BI,uCACL,AACA,AAAI,uBACJ,IACA,qEACC,A,iEACC,8EACA,AAAA,W,C,SAGF,A,UACC,oEACA,AAAA,W,CAED,AACA,kEACC,A,gEACC,8E,MAEA,oE,CAED,AAAA,W,SAED,gD,qHAKK,uCACL,oC,uHAKK,uCACL,+B,0HAIK,uCACL,kB,oHAGK,OAA8B,c,iGAC9B,OAA8B,gC,kGCjF9B,OAAoC,c,gGACpC,OAAoC,c,mGACpC,OAAoC,iB,qGACpC,OAAoC,a,iK,gE,gE,gE,gE,gE,gE,gE,8/H,0C,8C,2C,8C,yC,0C,6C,6C,gBCLJ,Y,G,M,K,K;snDCEhC,OACL,aACA,A,WACC,c,CAED,A,WACC,e,CAGD,aACA,IAEA,AADA,aAEC,U,AAED,kBAEC,sFACA,AAAA,WACA,sFACA,AAAA,WACA,yCACA,kE,AAED,oBAEC,kEACA,sFACA,AAAA,WACA,qE,MAIA,kEACA,kD,CAED,wC,qFAIA,+BACC,sF,KAED,iB,yBAOA,6GACC,AAAA,iB,CAED,A,aACC,O,C,uDAKI,OACL,AAAI,uBAGJ,IACA,4CACC,oCACA,6EACA,kHACA,AAAA,WACA,I,CAID,OACI,AAAJ,AAAI,uBACH,mJACA,AAAA,iBAFgB,A,AAAA,YAIjB,UACA,M,6GASA,IACA,IAGA,IACA,gC,AACC,YACC,A,UAEC,OACA,O,CAED,gCACC,UACA,AAAA,W,CAED,M,CAED,kFACA,yB,AAdgB,AAAA,YAgBjB,wBAGA,cACC,kFACA,qBACA,kCACA,8FACA,AAAA,WACA,yB,AANe,AAAA,YAUhB,WACC,qBACA,kCACA,A,UACC,8FACA,AAAA,W,A,cAEA,a,CAED,U,CAGD,OACA,M,yBA+DI,AAAJ,sBACC,A,iBACC,Y,CAED,A,gHACC,2G,C,AALsB,AAAA,YAQxB,a,mDAKA,gG,AACA,qIACC,AAAA,W,CAGD,OACA,YACA,IAGA,AAAI,AAAA,uBACH,0HACA,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,IAVgB,A,AAAA,YAcjB,WACC,wFACA,iBACA,AAAA,WACA,A,UACC,8F,A,qBAEA,a,CAED,I,CAGD,iBACA,A,cACC,S,CAED,iBACA,M,0CAIK,OAEL,AADA,a,AAGA,cACC,YACC,SACA,Y,CAED,c,AACD,cACC,aACC,SACA,Y,CAED,e,C,2FAMD,A,iBACC,a,CAED,A,yGAEC,A,YACC,Y,CAED,oL,CAGD,qF,0CAOK,OACL,A,iBACC,O,C,AAED,YACC,a,MAEA,e,C,wGAKI,OACL,A,iBACC,O,CAED,OACA,M,wHAIK,OACL,A,iBACC,O,CAIG,AAAJ,qBACC,6EACA,A,SACC,AAAA,2JACA,YACA,O,C,AALuB,AAAA,YAWzB,UACA,OACA,AAAA,iB,4HAKK,OACL,A,YACC,0C,CAED,AAAI,IACJ,mBACI,AAAJ,0BACC,uL,AADgC,AAAA,YAGjC,cACC,gC,AADe,AAAA,YAGhB,A,eACC,AAAA,kE,CAED,S,uLCzMK,OACL,SACA,2BACA,QACA,A,sHAEC,gDACA,Q,AACA,sE,CAED,cAEA,6G,AACA,mGACC,6G,MAEA,6G,CAED,Y,6KAKK,OACL,yB,AACA,8BACC,A,a,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,uBACA,Y,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,A,0DACC,sBACA,W,CAED,qBACA,yBACA,S,2JAKK,OAAsB,eAC3B,0EACA,0EAGA,cACA,cAGA,qKACA,gMAEA,2EAEA,yFACA,6B,yLAYK,OACL,AACA,AACA,I,AACA,MAEC,W,CAGD,SACA,QACA,QAGA,oG,AACA,kBACC,A,iB,CAED,4EAGA,A,qJAEC,6FACA,c,MAEA,cACA,iFACA,W,CAID,iF,AACA,QACC,W,CAED,WAGA,gBACA,2BAQA,eACA,AAAI,IACJ,A,aAEC,uD,MAEA,sB,CAGD,6CACA,qIAKA,A,2X,AAEC,iB,CAED,A,gB,6JAOK,OAML,AACA,AAGA,+GACA,oGACD,AACC,iBACC,4FACA,AACA,UACC,AAAA,W,AACD,gBACC,AAAA,W,MAEA,W,C,CAKF,iFAEA,A,gD,8FAKA,4BACA,iFACA,iFACA,S,kJAMK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,UACC,yF,CAID,cACA,qBAEA,eACA,yCACA,2FACA,mBAGA,IACA,IACA,mBACA,AAAI,2C,AACH,+EACC,IACA,M,CAED,gC,AALmC,AAAA,YAOpC,IACA,A,QAEC,kFACA,qGACA,qE,MAEA,I,CAIG,AAAJ,uBACA,KACA,AAAI,iBACH,iGACA,4DACA,AAAA,WACA,wFACA,M,CAEG,AAAJ,kBACC,mL,AAD2B,AAAA,cAG5B,WACA,QACA,YACA,Y,AAEA,QACC,A,6CACC,yE,CAID,WACC,gCACA,gCACA,A,oIAEC,a,CAED,0BACA,qJACA,uEACA,AAAA,aACA,AAAA,W,CAED,Q,CAkBD,wGACA,A,QACC,a,CAGD,AAAI,0BACH,A,kHACC,aACA,M,C,AAHyB,AAAA,cAM3B,Y,kIAYA,A,gFACC,yE,CAED,A,6GACC,0D,CAED,A,wJACC,Y,CAED,A,wJAEC,YACA,Y,AACC,sGACC,AAAA,iB,MAEA,M,CAJY,A,AAAA,Y,AAOd,QACC,8FACA,OACA,AAAA,iB,MAEA,AAAA,+L,CAED,Y,CAED,a,4LAOK,OACL,A,yCACC,OACA,OACA,YACA,Y,CAED,A,gDAEC,AAAI,uBACJ,KACA,AAAI,qDACH,oCACA,6EACA,kHACA,AAAA,WACA,I,CAED,iBACI,AAAJ,eACC,gL,AADmB,AAAA,YAGpB,sBACA,+HACC,AAAA,iB,CAED,A,aACC,O,CAED,YACA,Y,CAED,c,AAEA,gBACC,qDACA,Y,CAED,A,gBACC,qDACA,Y,CAGD,YAEA,AAAA,gFACA,AAAA,gFAIA,eACA,yCACA,+FAGA,wEAEA,wEAGI,AAAJ,KACA,AAAI,kDACH,A,sFACC,MACA,M,CAED,kC,AALmC,AAAA,cAOpC,AAAI,kBACH,gGACA,2GACA,yHACA,2EAEA,AAAG,wF,gEACF,aACA,aACA,YAGA,0D,C,AAZ6B,AAAA,cAe/B,QACA,eACA,YAIA,AAAI,KACJ,oBACA,YACC,kCACA,kCACA,qCACA,gIACA,AAAA,iBACA,yFACA,A,mFAIC,yG,C,C,gJ,AAYF,yFAEC,a,CAED,gMACC,AAAA,uMACA,mD,CAED,A,2OAEC,a,CAED,A,gKAEC,a,CAED,A,oHAEC,OACA,O,CAED,Y,0CCxmBA,qB,yFAII,AAAJ,mBACA,AAAI,SACJ,IACA,WACC,kCACA,K,AACD,iBACC,mBACA,K,MAEA,wE,CAGD,qFACA,sFACA,qIAEA,IACA,gDAEC,AAAI,KACJ,AACA,iCACC,Q,AACD,YACC,S,MAEA,S,CAED,iD,AAED,gBAEC,AAAA,W,MAIA,iG,CAED,gBAGA,A,WACC,qB,CAGD,A,OACC,yB,CAGD,AAAI,0BACJ,QAEA,M,AACA,MAEC,eACA,qEACA,AAAI,wBACJ,eACA,2BACA,A,OACC,yB,CAGD,KACA,sBACC,Y,AACD,mBACC,qBACD,A,4BACC,O,C,A,uBAID,KACA,KACA,sBACC,AAAA,a,AACD,4BACC,A,UACC,I,CAED,K,CAED,A,WAEK,AAAJ,wBACA,eACA,wCACA,wB,C,C,AAGF,OACC,yB,CAED,uB,2CAKA,cACA,YACA,8BACA,AAAI,0BACJ,MACA,A,MACC,YACA,oDAEA,IACA,oBACC,Y,AACD,kBACC,qB,AACD,0BACC,O,C,MAID,IACA,oBACC,gB,AACD,kBACC,mB,AACD,0B,AACC,UACC,I,CAED,W,CAED,oD,CAED,uB,qCAGsD,eACtD,IACA,oBACC,qB,AACD,kBACC,mBACD,A,0BAEC,IACA,A,uBACC,O,CAKD,A,MACC,I,CAED,YACA,A,e,AACC,WACC,O,CAED,sD,CAED,A,WACC,O,CAED,iC,CAID,uB,0E,AAQA,8BACC,OACA,O,CAiBD,c,AACA,sEAEC,O,CAMD,cACA,yEACA,qCAQA,AAAI,mBACA,AAAJ,IACA,A,iHACC,kCACA,I,MAEA,iEACA,S,CAED,cACA,yEACA,qCAKA,gEAIA,AAAI,kBACH,AAAI,wB,AACJ,WACC,6E,MAEA,K,CAED,6EACA,A,WACC,6E,MAEA,K,CAKD,8CAIA,oDAIA,AACA,UACC,gBACA,O,AACD,YACC,oBACA,O,AACD,aACC,kBACA,O,CAjCoB,A,AAAA,Y,mDA6CS,eAE/B,A,MACC,gB,CAID,KACA,A,kBACC,+F,CAED,eAGA,A,QACC,gBACA,IACA,wCACA,WACC,0GACA,AAAA,W,CAED,YACC,gBACA,AAAA,W,C,CAKF,eACA,Y,AACA,aACC,I,C,AAED,QACC,KACA,K,MAEA,K,CAED,eAGA,AAAI,uBACJ,IACA,aACC,AAAA,WACA,kJACA,0F,CAGD,AAAA,WACA,sFAEA,IACA,UACC,4B,AACD,gBACC,uB,AACD,gBAEC,qB,CAED,S,uCAI+B,e,AAE/B,MACC,gB,CAID,A,WACC,AAAI,IACJ,AAAI,0BACH,0G,AADgC,AAAA,YAGjC,cACC,gBADe,A,AAAA,Y,MAIhB,gB,C,AAID,QACC,gBACA,AAAI,eACH,KACA,AAAG,Y,iBACF,+F,CAED,eALqB,AAAA,A,Y,CASvB,S,2CAKA,AAAI,uBACJ,KACA,yBACA,KACA,A,QACC,KACA,K,CAED,IACA,gBACC,AAAA,WACA,AAAA,WACA,kJACA,0F,CAED,AAAA,WACA,mEACA,AAAA,WACA,qEACA,IACA,iDACC,AAAA,WACA,AAAA,WACA,uJACA,sC,CAED,A,MACC,AAAA,WACA,oE,CAED,8C,mBAIA,A,QACC,S,CAED,S,0CCvcA,6FACA,S,2BAKA,8B,qEAsCA,A,cACC,iE,CAID,AAAI,uBACJ,K,AAEA,MACC,gC,CAID,A,WAIC,+CACC,WACA,qCACA,yFACA,iMACA,iMACA,I,CAED,A,2CACC,AAAA,WACA,oCACA,0MACA,I,C,MAGQ,AAAH,uE,QAEN,mBACA,qBACA,8DACC,AAAA,WACA,2IACA,2B,C,MAKD,mBACA,8DACC,AAAA,WACA,gJACA,sB,C,C,CAKF,AAAA,WACA,iI,AAGA,MACC,AAAA,WACA,oE,CAGD,A,MACC,yCACA,Y,CAED,yCACA,Y,6CClHA,AAAI,uBACJ,gHACA,eACA,AAAI,sBACH,uBACA,I,AACA,WACC,wC,CAED,A,yBACC,gDACA,2EACA,uEACA,AAV0B,0B,C,AAY3B,2BACC,gBACA,0BACA,AAf0B,0B,C,AAiB3B,MACC,A,iBACC,0BACA,AApByB,0B,C,A,gBAuB1B,4BACA,2CACA,AAzB0B,0B,CA2B3B,IACA,UACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,iBACC,gD,AACD,gBACC,gD,AACD,iBACC,gD,MAGA,AADA,SAEC,gDACA,2EACA,uE,AACD,oBACC,QAGA,AAFA,gDAGA,AAAI,iBACH,4E,AADoB,YAFtB,A,kBACC,gDACA,AAAI,iBACH,4E,AADoB,Y,MAIrB,gDACA,AAAI,iBACH,4EADoB,A,Y,C,C,AA1DI,kBAgE5B,eACA,yB,4BASA,sB,mCAaA,qB,gCAcA,mC,wCAMA,qD,uCASA,kC,+CAMA,qD,6CAOA,kBACC,wCACA,iBACA,A,QACC,A,cACC,a,CAED,S,CAED,A,cACC,a,CAED,A,4CACC,a,C,CAGF,Y,+CAIA,SAEA,AADA,iBAEC,A,qC,AACD,wBACC,A,6C,AACD,uBACC,A,6C,CAED,Y,yHAmBA,AAAO,kBACP,kCACC,iBACA,gB,AACD,iBACC,wCACA,A,wEACD,A,sBACC,A,4F,CAID,A,gBACC,iBACA,gB,CAED,kBACA,iBAEA,IACA,6BACC,I,AACD,iBACC,I,AACD,kBACC,K,AACD,kBACC,KACD,A,kBACC,K,AACD,kBACC,I,AACD,kBACC,K,AACD,mCACC,IACA,IACA,YACC,I,AACD,kBACC,I,AACD,iBACC,I,CAEG,AAAJ,IACA,A,eACC,iBACA,gB,CAEG,AAAJ,eACC,qCACA,A,QACC,iBACA,gB,CAED,c,AANkB,AAAA,YAQnB,iBACA,A,YAEC,IACA,M,CAED,A,cACC,iBACA,gB,CAED,IACA,O,AACD,yEACC,gB,AACA,eACC,iBACA,gB,CAED,AAAI,iBACH,+BACA,A,eACC,iBACA,gB,CAED,mBANkB,AAAA,A,cAQnB,iB,AACA,WACC,iBACA,gB,CAED,K,AACD,iBACC,K,AACD,yB,AACC,eACC,iBACA,gB,CAED,S,MAEA,iBACA,gB,EAED,IACA,gB,2IASA,WACA,A,QACC,A,0C,CAED,kBACA,A,oCACC,A,0C,CAED,0BAEA,A,WACC,A,aACC,A,0C,CAED,A,oC,CAED,A,6BACC,A,0C,CAED,A,aACC,A,0C,CAID,A,wBACC,IACA,WACC,A,oC,AACD,iBACC,wCACA,A,iDACC,A,oC,C,C,CAKH,AAAI,uBACJ,uHACA,kBACC,+CACA,A,uCACC,A,kC,CAED,KACA,A,gBACC,6B,MAEA,8BACA,8C,CAED,A,gCAEC,A,8C,C,CAGF,A,yD,yBAKI,AAAJ,sBACC,A,wBACC,Y,C,AAFsB,AAAA,YAKxB,a,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,mCAMA,wBACA,WACC,qGACA,A,2FACC,S,MAEA,I,C,CAGF,S,0E,AAcA,WACC,A,kBAEC,Y,C,AAED,mBAEC,mB,CAED,a,CASD,A,kBACC,qCACA,UACA,A,kNACC,a,CAED,UACA,mH,CAGD,gCACA,UACA,A,kNACC,a,C,AAED,cACC,Y,CAED,eACA,qBACA,8H,4G,gE,gE,0oE,O,0C,uC,8vB,ia,+4J,wiB,yB,2B,s7E,2tB,+iE,mY;46OCtbA,iB,GACA,uGACA,wEACA,mFACA,gFACA,yEACA,oFACA,uEACA,sGACA,uEACA,uEACA,uEACA,wEACA,iFAEA,QACA,aACA,aACA,aACA,YACA,OACA,oC,iBAIA,iB,iBAIA,wB,wBAIA,aACA,oJACC,Y,AACD,kBACC,6B,CAED,a,oCAIA,gBACA,AAAI,oCACH,mCACA,0D,AAFgC,AAAA,c,8BAOjC,e,AACA,yDACC,kD,CAED,4F,sCAIA,A,wBACC,2D,CAED,A,SACC,uD,C,AAED,SACC,uD,CAED,A,UACC,oD,CAGD,yCAA8F,2B,O,eAI9F,oF,oCAIA,A,OACC,uE,CAED,A,oCACC,iB,CAED,kBACA,A,wBACC,W,CAED,a,qCAIA,A,oCACC,8B,CAED,kB,AACA,wBACC,6B,CAED,0B,2CAoBK,QACL,0B,uFAIA,4B,2BAIA,4B,wBAIA,aACA,YACC,wB,AACD,kBACC,oB,MAEA,mD,C,oCAKD,eACA,SACA,aACA,WACC,2B,AACD,iBACC,2B,AACD,yBACC,sB,AACD,iBACC,sC,AACD,iBACC,4B,AACD,iBACC,4B,AACD,mCACC,uB,AACD,kBACC,Y,CAED,6D,uBAoCA,mB,kCAgBA,aACA,A,2BACC,a,CAED,sDACA,A,mBACC,S,CAED,8C,iDAIA,aACA,MACA,A,2BACC,a,CAED,aACA,aACA,A,mBACC,gBACA,YACA,M,CAED,yBACA,QACA,QACA,sD,+BAIA,aACA,A,2BACC,a,CAED,0D,qBAWA,qC,4BAIA,MACA,iBACA,iG,yBAIA,MACA,AAAA,iB,kBAIA,mC,wCAGc,MACV,AAAJ,eACA,A,uBACC,+B,CAGD,AAAI,QACG,AAAP,mBACA,8BACC,gBACD,A,kBACC,yBACA,sBACA,sBACA,0BACA,iCACD,A,kBACC,A,0BACC,A,+CACC,MACA,M,CAED,gBACA,mBACA,M,CAED,+B,AACD,kBACC,oBACA,Y,AACD,sDACC,U,MAEA,yC,EAED,2E,gFAkC8B,MAC1B,AAAJ,MACA,A,uBACC,wBACA,A,iCACC,qE,CAED,8GACA,A,0CACC,4D,CAED,qBACA,A,qBACC,wE,CAGD,UACA,kB,MAGA,kCACA,A,8CACC,qE,CAED,8GACA,A,0CACC,4D,CAED,WACA,kD,CAED,eACA,A,cACC,sB,CAED,gCACA,iB,qBAGmB,MACnB,A,gBACC,gD,C,AAED,oCACC,6G,CAED,A,iCACC,sB,CAGD,A,cACC,mC,CAED,mB,wBAIA,Y,gBAIA,gB,qCAG+B,MAC/B,A,4BACC,+E,CAGD,yCACA,eACA,A,cACC,sB,CAED,eACC,iH,GAED,qE,iDAGK,QACL,aACA,yDACC,Y,MAEA,a,C,qHAII,QACL,aACA,8BACC,a,AACD,kBACC,8BACD,A,kBACC,AAAI,6BACH,A,oCACC,a,C,AAF4B,AAAA,c,CAM/B,Y,mJAGK,QACL,A,8CACC,0D,CAED,8G,AACA,uCACC,uB,CAED,MACA,A,0CACC,6BACA,iB,CAED,UACA,WACA,kDACA,iBACC,wJ,GAED,6BACA,YACA,U,oHAGK,QACL,A,+CACC,c,CAED,A,gCACC,iB,AACA,qDACC,iBACA,sCACC,oCACD,A,2BACC,qC,AACD,kBACC,A,4BACC,iBACA,M,CAED,6BACA,sBACA,sBACA,0BACA,M,E,CAGF,U,CAED,c,mNAGK,QACL,UACA,AACC,KACA,Q,AAED,iCACC,kDACA,eACA,A,cACC,sB,C,MAGD,e,CAGD,A,WACC,gE,CAGD,oBACA,cACA,A,OACC,A,qBACC,mE,CAED,A,kBACC,uE,C,AAED,kBACC,wE,C,MAGD,A,oBACC,AAAA,a,CAED,A,kBACC,kE,CAED,A,oCACC,mE,C,CAGF,8HACC,A,kBACC,iE,C,MAGF,AAAI,kBACH,AAAG,8H,yBACF,kF,C,AAFiB,AAAA,cAKnB,A,yBAEC,oBACA,sBACA,oBACA,AAAI,kBACH,4GACA,AAAG,a,yBACF,0F,CAED,qB,AALkB,AAAA,cAOnB,MACA,sBACA,kCACA,4F,CAGD,c,AACA,yBACC,gE,CAED,eAEA,kCACA,oIACC,uE,MAED,mBAEA,MACA,WACC,c,AACD,iBACC,8C,MAEA,eACA,sCACC,gH,MAED,U,C,gHAII,QACL,0BACA,MACA,YACC,oBACD,A,2BACC,2C,CAED,2C,oHAGK,QACE,AAAP,gCACA,YACC,eACA,A,mBACC,8B,CAED,qBACA,sCAED,A,kB,AACC,eACC,8B,CAED,eACA,kBACA,2CACA,mCACA,iC,MAGA,4C,C,yHAII,QACL,2BACA,qBACA,A,gCACC,yD,CAGD,6GACA,iDACA,UAEA,qBACA,A,0CACC,iB,CAED,8BAEA,UACA,A,qEACC,gDAA6F,oC,iBAA6D,gC,Q,CAE3J,6C,oJAGK,QACL,AAAO,gCACP,YACC,oBACA,A,yBACC,yD,CAED,WACA,qBACA,8BAEA,U,AACA,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,eACA,A,yCACC,yD,CAED,oBACA,WACA,gCACA,8BAEA,sCACA,aACA,A,qEACC,gDAA6F,c,iBAA4D,U,Q,CAE1J,uB,AAED,kBACC,iB,AACA,wBACC,0D,CAED,8BACA,qBACA,sF,MAGA,6C,C,8GAII,QACL,AAAO,gCACP,8BACC,mC,AACD,kBACC,2C,AACD,kBACC,2B,AACD,kBACC,+B,MAEA,6C,C,wGAII,QACL,AAAO,gCACP,qBACC,qC,AACD,kBACC,yC,AACD,kBACC,gD,AACD,kBACC,4C,MAEA,2C,C,wGAII,QACE,AAAP,gCACA,uCACC,A,eACC,S,CAED,mB,AACD,kB,AACC,eACC,S,CAED,S,AACD,kBACC,A,eACC,S,CAED,0B,MAEA,+C,C,2GAII,QAAa,MAClB,mCACA,iCACA,uC,AACA,gCACC,iBACA,YACC,+BACD,A,kBACC,0B,AACD,kBACC,wB,MAEA,yB,CAED,O,CAED,c,6GAGK,QACL,mCACA,2BACA,iBACA,A,mEACC,sE,CAED,6BACA,sBACA,sBACA,gBACA,gB,mHAGK,QACL,mCACA,2BACA,iBACA,A,0CACC,oE,CAED,6BACA,sBACA,cACA,0BACA,gB,oIAGK,QACL,AACC,KACA,aACA,QAED,AAAO,gCACP,YACC,A,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,AAED,kBACC,iBACA,A,8BACC,6E,CAED,2C,MAGA,6C,CAGD,A,uBACC,sE,CAGD,kD,yIAGK,QACL,AACC,KACA,aACA,QAEM,AAAP,gCACA,Y,AACC,4BACC,yE,CAED,oBACA,eACA,cACA,2B,AAED,kBACC,UACA,eACA,8B,MAGA,8C,CAGD,A,8BACC,uE,CAGD,qD,sHAGK,QACL,2BACA,iCACA,oB,8GAGK,QAAiB,MACtB,2BACA,iCACA,mBACA,A,wBACC,0D,CAED,iCAEA,eACA,A,0HACC,a,CAED,+CACA,sBACA,Y,6GAGK,QAAc,MACnB,iG,mJAGK,QACL,2BACA,iCACA,mBACA,A,wBACC,0D,CAGD,sBACA,A,sCACC,A,6D,CAED,A,6D,gIAGK,QACL,iG,+FC3hBK,wCACL,A,uBACC,iG,CAED,6B,6HAiCK,QACL,U,4GAGK,Q,AACL,oDACC,S,CAED,yB,uGAGK,Q,AACL,iDACC,S,CAED,sB,mGAGK,QAA4B,wB,qGAE5B,QAA2B,e,oGAE3B,QACL,A,gBACC,iD,CAED,aACA,A,gBACC,yE,CAED,wB,kGAGK,QAAwB,oB,yGAExB,QAA6B,yB,6GAE7B,QAAwB,+B,mGAIxB,QAA4B,U,0GAuB5B,Q,AACL,gBACC,S,CAED,0B,mKAGK,Q,AACL,gBACC,c,CAEG,AAAJ,UACA,8CACC,8GACA,A,4DACC,A,wE,C,MAGF,c,6HAMK,QACL,A,mBACC,oBACA,sB,CAED,mC,kIAGK,Q,AACL,mBACC,oBACA,A,qC,C,AAED,kD,qJAGK,QACL,A,mBACC,oB,AACA,iE,CAED,A,8E,wHAGK,QACL,iC,uGAGK,QACL,8B,uGAGK,QACL,A,wBACC,yD,CAED,eACA,kB,gHAGK,QACL,A,wBACC,4D,CAED,eACA,oB,+HAGK,QACL,aACA,YACC,gBACA,mB,AACD,kBACC,eACA,mB,AACD,kBACC,cACA,mBACD,A,kBACC,cACA,mBACD,A,kBACC,gBACA,mB,CAED,qD,uGAGK,QACL,A,wBACC,yD,CAED,iBACA,oB,oHAGK,QACL,A,wBACC,gE,CAED,iBACA,2B,iIAGK,QACL,A,wBACC,+D,CAED,iBACA,0B,mIAGK,QACL,A,wBACC,mE,CAED,iBACA,8B,iIAGK,Q,AACL,wBACC,oD,CAED,eACA,mH,mGAGK,QACL,A,wBACC,oD,CAED,cACA,kB,iGAGK,QACL,A,wBACC,sD,CAED,gBACA,kB,sGAGK,QACL,A,wBACC,4D,CAED,iBACA,yB,6GAGK,Q,AACL,wBACC,uD,CAED,eACA,uB,wGAGK,Q,AACL,wBACC,wD,CAED,eACA,sB,4GAGK,Q,AACL,wBACC,qD,CAED,eACA,kH,oGAGK,wCACL,MACA,WACC,e,AACD,iBACC,e,AACD,iBACC,a,CAED,gC,mJAIK,QACL,A,iCACC,U,CAED,8GACA,uBACA,A,0CACC,6B,CAED,mBACA,YACA,U,8GAIK,QAAoC,0B,mKAGpC,QACL,A,gBACC,c,CAED,AAAI,UACJ,8CACC,8GACA,A,wB,AACC,wE,C,MAGF,c,iIAiCK,wCACL,kBAEC,KACA,8CACC,AAAA,a,CAED,oBACA,A,YACC,M,CAKD,KACA,2GACC,AAAA,a,CAED,A,0FACC,M,CAED,sBACA,2BAGA,KACA,iDACC,A,2BACC,AAAA,a,CAED,AAAA,a,CAED,A,kBACC,M,CAED,6BACA,2BAEA,A,YACC,0BACA,U,C,CAGF,S,mJAIK,QACL,A,gCACC,U,CAED,6GACA,mBACA,A,uCACC,uB,MAEA,WACA,A,mBACC,a,CAED,kBACA,kB,CAED,A,0CACC,6B,CAED,A,sCACC,qB,CAED,oBASA,sBACA,U,gJAOK,QACL,qBACA,oIACC,A,SACC,W,AACA,8CACC,a,CAED,W,CAED,+B,MAED,U,iQAWK,QASL,cACA,mCAQA,AAAI,SAOJ,sBAEA,oBACC,uCACA,MACA,SAMA,yIACC,UACA,A,iDAIC,c,CAED,0FACA,6CACC,6GAEA,AAAI,MACJ,AAAI,UACJ,A,uCACC,kB,MAIA,UACA,A,mBACC,sB,CAED,a,CAID,A,WAEC,A,mDAEC,A,8F,CAED,0BACA,gBACA,yCACA,8BACA,QACA,c,CAMD,A,yCACC,c,CAED,iBACA,A,+CACC,uFACA,c,CAED,A,eACC,sB,CAED,uFACA,A,+CACC,uF,CAED,AAAI,UACJ,6BACA,kBACA,iC,M,MAGF,A,OACC,M,C,CAGF,c,wLAKK,QAEL,S,AACA,eACC,6CACC,6GACA,A,oCACC,QACA,c,CAED,A,wB,AACC,uE,C,M,C,AAIH,QACC,c,CAED,A,oCAA+C,e,8C,sGAmB/C,kC,kDAmEK,QACL,A,oCACC,mE,CAED,A,wBACC,6E,CAED,iC,8HAGK,Q,AACL,oCACC,qE,CAED,sBACA,4B,mIAGK,Q,AACL,oCACC,sE,CAED,sBACA,2C,mJASA,A,wBACC,a,CAED,oBACA,A,2BACC,Y,CAeD,A,mBACC,oBACA,KACA,AAAI,kCACH,8GACA,8GACA,A,8FACC,AAAG,AAAA,a,2BACF,Y,C,CAL6B,A,AAAA,cAShC,a,CAGD,8B,AACA,gBACC,a,CAED,KACI,AAAJ,kCACC,8GACA,8GACA,A,+FACI,AAAH,AAAG,a,2BACF,Y,C,CAL6B,AAAA,A,cAShC,a,qBAUA,A,YACC,Y,CAKD,A,qEACC,a,CAID,iB,oG,AAIA,YACC,Y,CAGD,aACA,A,wBACC,a,CAKD,A,wCACC,Y,CAID,MACA,YACC,qE,AAED,kB,AAIC,+DACC,Y,CAID,4E,AAED,kBACC,eACA,e,AACA,iHACC,a,CAED,yIACC,A,oHACC,a,C,MAGF,wIACC,A,mHACC,a,C,MAGF,YAED,A,kBACC,oBACA,oBACA,A,uDACC,Y,CAID,a,AAED,kBACC,oF,AAED,2BACC,8C,AAED,kBACC,iBACA,iBACA,A,+CACC,a,CAED,6CACC,6GACA,6G,AACA,gJACC,a,CAED,A,kKACC,a,CAED,A,uBACC,a,CAED,A,0IACC,a,CAED,A,+BACC,a,C,MAGF,Y,CAGD,a,kBAkdA,A,gBACC,iB,CAED,U,kBAmHA,6B,sCCnwDK,wCACL,0B,wHAKK,QACL,A,6CACC,iE,CAED,A,gCACC,qB,CAED,c,wGA+DK,QACL,A,gBACC,qD,CAED,6E,mGAwCK,wCACL,A,gCACC,2C,C,mIAMI,wC,AACL,WACC,2B,CAED,A,2BACC,qF,C,iJAOI,wC,AACL,WACC,2B,CAGD,A,2BACC,qF,CAED,A,uBACC,mE,C,6IASI,QACL,A,4BACC,iE,CAED,uE,iGAKK,QACL,0BACA,qB,kGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,oGAKK,QACL,2BACA,A,kCACC,6D,CAGD,qB,sGAQK,QACL,mC,yGAQK,QACL,gC,uGAWK,QACL,2BACA,iCACA,0B,4GAUK,QACL,2BACA,iCACA,+B,2HA2VK,QACL,0BACA,MACA,YACC,4DACD,A,kBACC,qB,CAED,mE,6HAwEK,QACL,A,mBACC,yG,CAED,2BACA,oIACC,A,SACC,A,kDACC,A,eACC,mF,CAED,a,C,CAGF,gB,MAED,U,uIAMK,QACL,2BACA,AAAG,uD,OACF,iC,CAED,8B,yIAOK,QACL,AAAG,2D,OACF,iC,CAED,8B,kIAKK,QACL,0BACA,MACA,YACC,qC,AACD,kBACC,qB,CAED,iE,2GAqDK,QACL,0BACA,UACA,MACA,WACC,+BACD,A,iBACC,+B,AACD,iBACC,+B,AACD,iBACC,+B,AACD,iBACC,iB,CAED,+D,uGAIK,QACL,A,gBACC,mD,CAED,6B,mIAQK,QACL,A,yB,oHAmCK,QAEL,2BAMA,c,sHAmCK,QACL,uB,uGAKK,QACL,8B,yHA6BK,QAAkB,MACvB,2BACA,kBASA,kDAEA,AAAI,KACJ,A,gCACC,U,MAEA,sF,CAED,8B,AACA,WACC,8B,CAED,WACA,sCACA,8BACA,A,WAGC,SACA,iBACA,qC,MAEA,mC,C,8IAQI,QACL,2BACA,kBACA,UAEA,4CAEA,gBACA,KACA,A,cACC,U,CAED,iBACA,eACI,AAAJ,KACA,AAAI,0BACH,UACA,A,WAIC,M,CAED,A,WAGC,SACA,iBACA,uH,MAEA,qH,CAED,OAjBsB,A,AAAA,cAmBvB,0B,8GAOK,QACL,A,oBACC,6C,CAED,A,qEACC,0D,CAED,A,qCACC,8D,CAED,oBACA,iBACA,4CACA,oC,8GAIK,QACL,A,oBACC,gD,CAED,A,iCACC,S,CAED,0B,8HAQK,Q,AACL,oBACC,mD,CAED,A,iCACC,8B,CAED,wD,AACA,QACC,8B,CAED,2B,4HAKK,QACL,2BACA,qBACA,yB,4HAKK,QACL,0BACA,MACA,YACC,kC,AACD,kBACC,a,CAED,2E,4IAKK,QACL,0BACA,MACA,YACC,c,AACD,kBACC,a,CAED,yE,+FAIA,A,SACC,O,CAED,8D,kEAKK,QACL,0BACA,MACA,2CACC,gEACA,oEACA,kD,CAED,uE,4IAKK,QACL,0BACA,MACA,sDACC,gEACA,qEACA,kD,CAED,wE,0HAkIK,QACL,mCACA,0BACA,gB,iHAKK,QACL,mCACA,2BACA,A,kCACC,gE,CAED,gB,mHAKK,QACL,mCACA,2B,AACA,kCACC,gE,CAED,gB,2HAKK,QACL,mCACA,AAAO,gCAGP,YACC,+C,AACD,kBACC,gB,MAJA,sE,C,6HAUI,QACL,mCACO,AAAP,gCAGA,YACC,gB,AACD,kBACC,gB,MAJA,oE,C,uHAUI,QACL,mCACA,AAAO,gCAGP,WACC,wDACD,A,iBACC,6D,AACD,iBACC,6D,AACD,iBACC,wDACD,A,iBACC,gB,MAVA,kE,C,8HA8CI,QAA0B,MAAL,MAC1B,2BACA,iCACA,iCACA,kBACA,qDACA,AAAI,K,AACJ,gCACC,U,MAEA,sF,CAED,A,oBACC,2BACA,O,CAED,iCACA,sDACI,AAAJ,KACA,A,gCACC,U,MAEA,sF,CAED,8B,oIAKK,QACL,mCACA,AAAO,gCAGP,WACC,2B,AACD,iBACC,gC,AACD,iBACC,gCACD,A,kBACC,2B,AACD,kBACC,gB,AACD,kBACC,2B,MAZA,mE,C,mHAkBI,QACL,mCACA,2BACA,gB,wHAKK,QACL,mCACA,2BACA,gB,uHAsHK,QACL,AAAO,gCACP,WACC,wB,AACD,kBACC,qB,CAID,uC,6HAyBK,QACL,WACA,A,WACC,2C,CAED,A,uBAEC,c,CAKD,sBACA,A,uBAEC,wBACA,A,uCACC,qE,CAED,8GACA,c,CAGD,kCACA,A,oDACC,qE,CAED,8GACA,e,6GAKK,QACL,0BACA,UACA,MACA,WACC,gC,AACD,iBACC,gCACD,A,iBACC,gC,AACD,kBACC,gC,AACD,kBACC,iB,AACD,kBACC,iE,CAED,gE,uGAMK,QAEL,A,oBACC,iD,CAED,A,4BACC,uE,CAED,c,wGAiYA,A,oCACC,yC,CAED,yBACA,MACA,6C,4DAaK,QACL,A,iCACC,a,CAID,AADA,kBAIC,UACA,qBACA,8BACA,gCAED,A,wBACC,A,WACC,S,CAED,gBACA,A,uBACC,Y,MAEA,a,CAED,4B,CAID,qG,iIAMK,QACL,A,iCACC,oB,CAED,0BACA,A,+BACC,yH,CAED,iB,+GAMA,aACA,2CACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,4DACC,aACA,8FACC,U,AACD,2BACC,U,AACD,kBACC,U,C,AAGF,2BACC,aACA,2CACC,UACD,A,4DACC,U,AACD,2BACC,U,C,AAGF,2BACC,aACA,qBACC,U,CAGF,A,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,AAIH,kBACC,A,+CACC,oBACA,WACC,U,AACD,iBACC,U,C,C,CAMH,A,cACC,U,CAID,A,kHAGC,U,CAGD,A,c,AACC,mBACC,U,CAED,U,CAGD,6B,qCAwBA,eACA,SACA,WACA,WACC,YACD,A,iBACC,Y,CAED,6D,qCAMA,eACA,SACA,WACA,WACC,2C,AACD,kBACC,Y,CAED,6D,+BAIA,iBACA,iBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,+BAIA,iBACA,gBACA,gCACA,U,4BASW,MACX,0E,qBAIY,MACZ,wC,4BAIgB,MAChB,0F,qBAIiB,MACjB,wD,qBAIgB,MAChB,oD,qBAIiB,MACjB,qD,qBAIa,MACb,0C,qBAIe,MACf,4C,qBAIiB,MACjB,0D,qBAIkB,MAClB,2D,qBAImB,MACnB,0D,qBAImB,MACnB,mE,qBAImB,MACnB,0D,qBAImB,MACnB,mE,+BAmBW,MACX,kBACA,gBACA,A,uBACC,Y,MAEA,6B,CAED,yE,4BAIW,MACX,A,eACC,SACA,2CACA,U,CAED,wB,4G,gE,gE,gE,gE,i1hC,Q,6P,oC;6hHCl0EA,AAAI,gBACH,sFACA,sF,AAFsB,AAAA,Y,8CAoClB,OACL,iG,2GAGK,OACL,QACA,e,kJAIK,OACL,oBACA,QACA,A,QACC,QACA,K,CAED,WACA,A,QACC,A,uB,AACC,sC,CAED,A,MACC,A,sC,MAGA,A,sC,C,CAGF,c,iIAIK,OACL,WACC,IACA,A,SACC,K,CAED,8BACA,W,C,4HAKI,O,AACL,wCACC,eACA,O,CAED,wDACA,A,QACC,oB,CAED,eACA,A,QACC,oB,C,4GAKI,OACL,A,wCACC,qBACA,O,CAED,gEACA,A,QACC,oB,CAED,qBACA,A,QACC,oB,C,kHAUI,OACL,A,MACC,S,MAEA,S,C,wJAMI,O,AAEL,oEACC,O,CAGD,AAAI,gCACJ,A,0BACC,QACA,A,iDAEC,W,CAED,A,SAEC,a,C,CAIF,iDACA,A,MACC,+B,CAKD,I,AACA,2BACC,SACA,sB,A,6EAEA,QACA,A,yCACC,AAAA,W,C,CAQF,YACA,8BAGA,IACA,+BACC,8CACC,AAAA,WACA,oCACA,iNACA,I,C,AAEF,qCACC,8CACC,AAAA,WACA,oJACA,2B,CAEF,A,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,AAEF,oCACC,6CACC,AAAA,WACA,8KACA,2B,C,MAGD,uD,CAED,AAAA,WACA,+GACA,+BACC,AAAA,WACA,sF,CAID,A,qBACC,IACA,8BACC,A,mGACC,AAAA,WACA,sF,C,AAEF,qCACC,AAAA,WACA,+HACA,AAAA,WACA,sF,C,C,AAGF,uBACC,AAAA,WACA,sFACA,AAAA,WACA,sF,CAGD,A,MACC,AAAA,WACA,sF,A,0BAEA,AAAA,WACA,sF,A,2BAEA,AAAA,WACA,sF,CAID,A,qLACC,sDACA,gBACA,iDACA,WAEA,iBACA,sFACA,AAAA,WACA,sFACA,AAAA,WACA,sEACA,WACA,sF,CAGD,sB,iIAIK,OACL,A,0DACC,SACA,iD,AACC,UACC,mBACA,M,CAED,AAAA,W,S,CAGF,S,0GAIK,OACL,gBACA,e,oHAIK,OACL,Y,AACA,eACC,W,CAED,8CAEA,AAAI,SACJ,AAAI,eACH,A,0BACC,gB,CAED,A,kDACC,kB,CAED,AAAI,IACJ,A,eACC,kB,MAEA,uF,CAED,uE,AAbkB,AAAA,YAenB,S,mHAIK,OACL,A,4CACC,wB,CAED,sB,6GAIK,OACL,A,6CACC,wB,CAED,kB,4GAIK,OACL,gBACA,AAAI,K,AACJ,wCACC,Y,MAEA,A,oBACC,oB,MAEA,a,C,CAGF,e,uGAKK,OACL,AAAI,SACJ,A,oBACC,qG,MAEA,8F,CAED,S,8EAMA,A,2BACC,c,CAED,S,gHAIK,OAEL,yDACA,A,6LACC,iB,MAEA,sF,CAGD,A,iB,AACC,oBACC,4BAAe,qB,QACf,sB,C,CAMF,A,4DACC,A,2BACC,oBACA,AAAA,mB,A,+BAEA,sGACA,AAAA,mB,CAED,sBACA,O,CAGD,A,kHACC,sFACA,SACA,O,CAID,A,+HACC,SACA,O,CAGD,sB,8MAIK,OAA6B,+B,0GAG7B,OAA6B,8B,0GAG7B,OAA6B,+B,0GAG7B,OAA6B,gC,0GAG7B,OAA6B,+B,2GAG7B,OAA8B,yB,4GAO9B,OAA6B,+C,0GAG7B,OAA6B,8C,0GAG7B,OAA6B,+C,0GAG7B,OAA6B,gD,0GAG7B,OAA6B,+C,2GAG7B,OAA8B,yC,8GAG9B,OACL,oE,iHAIK,OACL,oC,oIAIK,OACL,oBACA,kBACA,mBACA,QACA,AAAI,gBACH,IACA,WACC,wB,AACD,kBACC,8BACD,A,iBACC,6B,AACD,0BACC,8BACD,A,kBACC,+B,AACD,iBACC,8B,C,AAED,eACC,M,CAGD,qBACA,uBACA,QACA,I,AAtBa,AAAA,YAwBd,mBACA,kBACA,QACA,gB,uJC7bK,OACL,iCACA,A,4C,2EAGK,OACL,yDACA,A,2C,qDAGK,OACL,4BACA,iB,6DAGK,OACL,A,UACC,uCACA,iB,CAGD,WACA,YACA,4BACC,e,CAED,wGACA,gCACA,iB,sBA2BA,2BACA,kBACA,iBACA,8FACA,S,yCAIK,OAEL,A,yBACC,O,CAED,2BACA,gBACA,oCACA,U,iHAGK,OAAoC,A,4D,uHAEpC,OAAyC,A,8D,6GAEzC,OACL,IACA,WACC,4B,AACD,iBACC,2B,AACD,iBACC,4B,AACD,iBACC,4BACD,A,iBACC,2B,CAED,a,kGAGK,OACL,+F,oHAKK,O,AACL,uH,mGAuBA,OACA,gBACA,wBACA,SACA,S,+BAMA,sB,qCA0BA,OACA,yBACA,wBACA,SACA,S,uCA4BA,OACA,uBACA,wBACA,SACA,S,yBAMa,IACb,a,AACA,gCACC,W,CAED,S,+CAKA,A,SACC,A,0C,CAED,AAAI,yDACH,kDACA,OAFiE,A,AAAA,YAIlE,c,iDAGK,OAAmB,IACxB,A,iBACC,2FACA,O,CAED,gGACA,iHACA,gG,oHAGK,OACL,gBACA,UACA,UACA,SACA,UACA,AACA,0CACC,wHACA,UACA,wB,AACD,4BACC,uHACA,UACA,4B,MAEA,2F,CAED,UACA,iB,gHAGK,OACL,IACA,qBACC,qB,MAEA,a,C,mHAKI,OACL,2CACA,A,gEACC,Q,CAED,mDACA,4C,2GAGK,OACL,IACA,WACC,0DACD,A,iBACC,UACD,A,2BACC,2D,AACD,kBACC,0DACD,A,kBACC,A,uFACC,gB,MAEA,a,CAEF,A,kBACC,2D,AACD,iBACC,gB,AACD,iBACC,2D,MAEA,a,C,sHAMI,OACL,uBACA,uBACA,qFACA,uB,yHAKK,OACL,6BACA,uBACA,2BACA,a,AACA,OAEC,aACA,gC,CAED,4BACA,0BACA,4DACA,6BACA,8BACA,aACA,6BACA,uB,wHAGK,OACL,IACA,WACC,oF,AACD,iBACC,mC,AACD,kBACC,qF,AACD,kBACC,A,0BACC,kB,MAEA,qF,C,AAEF,kBACC,oF,AACD,kBACC,A,uFACC,yC,MAEA,a,CAEF,A,kBACC,qF,AACD,iBACC,qF,AACD,iBACC,yC,MAEA,a,C,2HAII,OACL,IACA,WACC,kB,AACD,kBACC,iBACD,A,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iBACD,A,iBACC,iB,MAEA,a,C,6HAII,OACL,IACA,WACC,kB,AACD,kBACC,iBACD,A,iBACC,iB,AACD,0BACC,iB,AACD,2BACC,iB,AACD,iBACC,iB,MAEA,a,C,+HAII,OACL,IACA,8DACC,mBACD,A,kBACC,qB,MAEA,a,C,oIAII,OACL,IACA,8DACC,oB,AACD,kBACC,sB,MAEA,a,C,kIAII,OACL,IACA,YACC,A,0BACC,e,MAEA,e,C,AAEF,kBACC,e,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,e,MAEA,a,C,qIAII,OACL,A,yBACC,A,0B,AACC,eACC,A,mCACC,6G,MAEA,0GACA,2F,CAED,O,CAED,A,mCACC,4F,MAEA,0GACA,iG,C,MAGD,gG,CAED,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,qC,K,AAED,0BACC,iG,MAEA,gG,CAED,O,CAED,IACA,YACC,+B,AACD,kBACC,mC,AACD,iBACC,mC,AACD,kBACC,+B,MAEA,a,C,uIAII,OAAkB,IACvB,OACA,IACA,qB,AAEA,oDACC,Q,MAGA,aACA,O,CAGD,AAAI,IACJ,WACA,mDACC,c,MAEA,aACA,O,CAGD,A,0BACC,UACA,iHACA,UACA,UACA,A,UACC,2F,MAEA,0D,CAED,U,A,6BAEA,2F,MAEA,A,MACC,2E,MAEA,yD,C,C,+HAUG,OACF,AAAH,a,sCAIC,AAAG,e,+BACF,2FACA,O,C,AAID,gBAEC,U,CAED,mBACA,2FACA,SACA,2FACA,iBACA,oBACA,kBACA,gG,C,+IAKI,OACL,uB,AACA,MACC,yBACA,2B,CAED,wB,AACA,MACC,0BACA,4B,CAED,Y,4IAKK,O,AACL,MACC,0BACA,0B,CAED,A,MACC,2BACA,2B,C,oOAII,OACL,A,eACC,S,CAGE,AAAH,2C,MACC,OACA,0FACA,uDACA,cACA,S,C,AAID,0BACC,AAAG,2C,MACF,OACA,uDAEA,0BACA,S,C,MAMD,IACA,+CAKC,QACA,sCACC,OACA,uDACA,uCACA,S,AAED,wCACC,OACA,uDACA,wCACA,S,C,C,CAIH,A,iB,0OAGK,OACL,QACA,oC,AAEA,mCACC,A,wBACC,a,MAEA,a,CAED,A,iB,CAKD,IACA,WACC,oDACA,A,iB,AACD,kBACC,6B,AACA,iB,CAID,IACA,0CACC,eACD,A,mDACC,kB,AACD,mDACC,kB,AACD,qDACC,oB,AACD,sDACC,qB,AACD,+CACC,8B,AACD,gDACC,8B,AACD,iDACC,8B,AACD,iDACC,8B,AACD,iDACC,gB,AACD,gDACC,gC,AACD,iDACC,gC,AACD,kDACC,gC,AACD,kDACC,gC,AACD,kDACC,iB,AACD,mDACC,yD,AACD,kDACC,iBACA,uB,AACD,6CACC,4BACA,U,UAGA,AAAG,uB,M,AACF,iB,CAGD,A,iD,CAED,gBACA,S,yIAIK,OAAkB,IACvB,A,iB,AACC,wBACC,2F,MAEA,a,C,AAED,iB,CAKD,IACA,WACC,iDACA,A,iBACD,A,kBACC,kBACA,A,iB,CAKD,gB,AACA,qBACC,oB,CAED,AAAG,uB,M,AACF,iB,CAGD,A,sC,gMAOK,OAAyB,IAC9B,UACA,UACD,AACC,AAAO,yBACP,4BACC,sB,AACD,4CACC,sB,AACD,sDACC,wB,AACD,yBACC,A,wBACC,0B,MAEA,0B,C,AAEF,yBACC,A,wBACC,kE,MAEA,+B,C,AAEF,iBACC,0BACD,A,iBACC,A,0BACC,iHACA,A,cACC,uGACA,M,CAED,iG,MAEA,2F,CAED,cACA,sHACC,A,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,yBACA,gGACA,qC,KAED,A,0BACC,iG,MAEA,gG,CAEF,A,iBACC,A,0BACC,iH,CAED,WACA,IACA,WACI,AAAJ,0BACC,A,QACC,A,0BACC,2F,MAEA,gG,C,C,AAGF,gDACI,AAAH,mC,mBACC,sGACA,gG,C,CAGF,+B,AAd6B,AAAA,YAgB9B,iG,AACD,iBACC,W,AACA,iBACC,A,0BACC,iHACA,2F,MAEA,2F,C,MAGD,2B,C,AAEF,yBAMC,AAAG,W,6FACF,AAAI,SACJ,A,kBACC,Y,A,sBAEA,6B,MAKA,mBACA,+BACC,qH,K,CAGF,oBACA,UACA,M,CAED,A,0BACC,iHACA,A,+BACC,uGACA,M,CAED,iG,MAEA,gG,CAEG,AAAJ,qB,AACC,QACC,A,0BACC,2F,MAEA,gG,C,CAGF,kC,AARwB,AAAA,YAUzB,A,0BACC,iG,MAEA,gG,C,AAEF,iBACC,cAGA,A,wBACC,AAAO,yBACP,qBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,AACD,kBACC,gGACA,0BACA,gB,C,CAGF,AAEA,kBADD,A,iCACC,kB,MAEA,iB,EAED,UACA,A,a,oIAKA,IACA,A,gBACC,4HACA,S,CAED,c,iEAWI,AAAJ,sBACC,A,yBACC,iCACA,A,mB,AACC,+C,CAED,A,mD,C,AAN2B,AAAA,YAS7B,A,0C,+FAMK,OACL,A,2CACC,A,0C,CAED,iBACA,0CACA,A,iBACC,A,8C,CAED,mB,AACA,8C,mKAGK,OACL,WACA,IACA,QACA,kBACA,AAAI,eACH,kBACA,IACA,sCACC,AAAA,W,CAED,A,QACC,gH,CAED,A,SAEC,M,CAID,AAAA,WAGA,mBACD,AACC,aACC,kBACA,WACC,0BACD,A,iBACC,yB,AACD,iBACC,yBACD,A,iBACC,0B,AACD,iBACC,0B,MAEA,Q,CAba,AAAA,A,YAkBf,oDAGA,A,gCACC,AAAA,WACA,+DACA,A,+BACC,4F,CAED,Q,MAEA,iEACA,A,iCACC,mB,C,CAKF,A,uCACC,AAAA,WACA,A,MACC,mB,CAED,oDACA,A,yBACC,AAAA,WACA,iEACA,A,gCACC,4F,CAED,Q,MAEA,mEACA,A,gCACC,aACA,gC,C,C,C,AAKH,OACC,oD,C,AAGD,SACC,4FACA,S,CAED,qDACA,WAEA,A,WACC,gGACA,S,CAED,A,kBACC,2FACA,SACA,2FACA,S,A,uBAEA,2FACA,SACA,2FACA,S,CAED,uFACA,AAAA,WAEA,A,YACC,A,yBAEC,2BACA,2B,CAED,A,wBAEC,0BACA,0B,C,CAGF,kB,CAMD,A,8BACC,2FACA,mBACC,uF,AACA,sCACC,oHACA,gG,CAED,oBACA,A,uBACC,2F,C,AARqB,AAAA,YAWvB,gG,C,8HAII,OACL,QACI,AAAJ,uBACC,mBAEA,uFACA,A,QACC,+DACA,A,cACC,gG,C,CAGF,sBAViC,A,AAAA,YAYlC,A,MACC,gG,C,qIC9gCI,OACL,A,uF,4HAGK,O,AACL,kBACC,AAAA,uBACA,aACA,eACA,aACA,cACA,c,CAED,A,2EACC,QACA,c,CAGD,uCACA,A,mCACC,AAAA,uBACA,a,A,qCAEA,a,CAED,c,6HAGK,O,AACL,gC,AACC,gC,C,AAED,4C,6GAKK,OACL,6BACA,A,sCACC,A,+BACC,A,c,CAED,W,CAED,S,kHAcK,OACF,AAAH,0C,MACC,e,MAEA,sB,CAED,cACA,AAAA,uBACA,iB,gHAGK,OACL,sD,8GAGK,OACL,6D,iMAGK,OACL,wCACI,AAAH,a,sCACC,AAAG,kD,MACF,Q,MAEA,U,C,C,QAIH,A,8BACC,K,CAED,2BACA,eACA,Y,wLAmBA,A,aACC,a,CAED,eACA,8H,AACC,WACC,a,CAED,A,YACC,Y,C,KAGF,a,iBAKA,a,8CAMK,OACL,mB,2GAsGK,OAAY,e,AAEjB,gBACC,oBACA,O,CAGD,A,yBACC,O,CAED,2BACA,eACA,U,0GAIK,OACL,YACC,cACA,A,WACC,O,CAED,A,2BACC,S,CAED,A,W,AACC,MACC,M,CAED,A,sBACC,S,CAED,oCACA,O,CAED,A,WACC,eACA,M,C,C,oHAQG,O,AACL,MACC,mB,CAGD,YACC,cACA,A,WACC,M,CAED,A,UACC,eACA,M,CAED,+F,CAED,0E,gGAOA,wD,AACC,UACC,S,C,SAGF,S,4CAuBK,OACL,c,AACA,gBACC,e,CAED,kB,qK,gE,gE,gE,gE,gE,gE,gE,qvS,c,c,iC,kC,+B,kC,kC,gC,iC,+B,sC,uC,oC,sC,gC,qC,0C,yC,wC,yCD1Y0B,oB,I,gC,oC,2B,kZ,yCCiQA,oB,I,iD,0C;m8xBCvV1B,kD,gD,AA8SA,8CACC,qE,CAGD,A,cACC,M,CAGD,mRAQA,gEACA,A,aACC,6EACA,A,aACC,4D,C,CAGF,cACA,WACA,oB,0DAMK,OACL,kCACA,8H,wIAWK,OACL,0B,6HAIK,OACL,2B,uIAIK,OACL,yD,6IAIK,OACL,yB,8HAIK,OACL,8B,yIAIK,OACL,+B,sIAIK,OACL,0B,+HAIK,OACL,6B,kIAKK,OACL,0B,sIAKK,OACL,oC,8IAIK,OACL,wB,kIAIK,OACL,oC,iJAKK,OACL,yD,kIAIK,OACL,4D,6IAKK,OACL,wD,sIAIK,OACL,kB,+GAIK,OACL,6B,+HAIK,OACL,uB,qHAGK,OACL,yB,4HAKK,OACL,4G,gIAIK,OACL,0B,2IAIK,OACL,yC,4KAIK,OACL,4C,8JAIK,OACL,+B,2HAIK,OACL,oC,iIAKK,OACL,gC,8HAIK,OACL,qC,mIAIK,OACL,gC,yHAIK,OACL,gC,qHAIK,OACL,qB,iHAIK,OACL,yB,8HAMK,OACL,8B,oIAOK,OACL,0B,iIAMK,OACL,+B,qIAIK,OACL,yB,0HAIK,OACL,0B,wHAKK,OACL,sB,gHAIK,OACL,0C,mHAIK,OACL,yB,2HAIK,OACL,2B,wHAIK,OACL,oB,2HAIK,OACL,qC,mJAIK,OACL,2B,mIAIK,OACL,+B,+HAIK,OACL,mB,wHAKK,OACL,oC,wIAGK,OACL,kB,mGAGK,OACL,iB,0HAKK,OACL,0C,2KAIK,OACL,yC,sJAKK,OACL,sB,qHAKK,OACL,2B,kIAKK,OACL,qC,yIAKK,OACL,sC,iJAIK,OACL,iCACA,8BACI,AAAJ,iCACC,wF,AAD8B,AAAA,YAG/B,S,4IAIK,OACL,2E,+IAKK,OACL,wC,yIAKK,OACL,gC,oHAIK,OACL,yC,+GAKK,OACL,sD,kJAKK,OACL,yD,qLAKK,OACL,uD,uJAKK,OACL,4C,kJAKK,OACL,2D,iJAKK,OACL,8C,6JAKK,OACL,wC,kJAIK,OACL,2C,+IAIK,OACL,0D,oIAIK,OACL,yD,8IAIK,OACL,oCACA,8BACI,AAAJ,iCACC,8G,AAD6B,AAAA,YAG9B,S,gJAKK,OACL,qC,mIAKK,OACL,gC,iIAKK,OACL,8D,8IAMK,OACL,qC,8IAIK,OACL,yD,2IAMK,OACL,+B,iHAIK,OACL,mC,0HAIK,OACL,oC,wHAIK,OACL,gC,qHAIK,OACL,qC,yHAIK,OACL,+B,8GAIK,OACL,gC,gHAIK,OACL,gC,gHAIK,OACL,sB,kHAKK,OACL,wB,wHAKK,OACL,0B,8HAKK,OACL,4B,yIAMK,OACL,mC,0JAIK,OACL,sC,oJAQK,OACL,0B,6HAIK,OACL,iD,qIAWK,OACL,iC,8IAIK,OACL,8B,gJAIK,OACL,sC,kJAIK,OACL,wB,sHAIK,OACL,wB,wHAIK,OACL,0B,4HAIK,OACL,0B,8HAIK,OACL,4B,kIAIK,OACL,4B,oIAIK,OACL,8B,wIAIK,OACL,8B,2IAcK,OACL,qE,iJAKK,OACL,qE,iJAKK,OACL,qE,uIAIK,OACL,uB,wHAIK,OACL,4B,gJAGK,OACL,8D,6JAcK,OACL,2B,wL,gE;42EC38BA,iXAUA,eACA,SACA,S,0CAGK,OACL,eAEA,uCACA,mF,iHAGK,OACL,eACA,oB,AACA,aACC,+C,CAED,yDACA,mDAEA,oGACA,oGAKA,AAAI,Y,AACJ,iBACC,I,CAED,4LAEA,oB,4IAGK,OACL,eACA,UAEA,yCACA,mDACA,yFACG,AAAH,e,+CAEC,oE,CAED,iE,oIAGK,OACL,eACA,mD,0HAGK,OACL,eACA,mB,kIAGK,OACL,eACA,qJ,yIAGK,OACL,eACA,wBACA,wDAEA,0IACA,A,sHACC,uD,CAGD,oB,kIAKK,OACL,eACA,A,8BACC,UACA,I,CAED,A,sCACC,wD,MAEA,2D,CAGD,oBACA,iB,4IAGK,OACL,eACA,sBACA,iDACA,iB,sJAGK,OACL,eACA,uB,wIAGK,OACL,eACA,yB,AACA,aACC,0BACA,iD,CAGD,oBACA,mBAEA,A,oEACC,wBACA,wF,CAED,oB,yHAGK,OACL,eACA,kB,iIAGK,OACL,eACA,oBACA,A,aACC,kD,CAGD,kHACC,oB,KAED,iBACA,A,kEACC,yC,CAED,oB,qHAGK,OACL,eACA,gB,mIAGK,OACL,eACA,oE,AACA,OACC,4BACA,2E,CAED,iB,gJAGK,OACL,eACA,oEACA,A,OACC,4BACA,2E,CAED,YACA,UACC,yD,AACD,iBACC,8B,MAEA,iC,C,4JAII,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,4E,4KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,kC,6KAGK,OACL,eACA,4DACA,A,OACC,gCACA,2E,CAED,mC,0JAGK,OACL,eACA,mBACA,uBAEA,8B,gIAGK,OACL,eACA,AACA,4B,iIAGK,OACL,eACA,2F,mHAGK,OACL,eACA,U,oK,gE,gE,gE,24N,mB;2OCjQA,gW,qIAyBA,AACA,A,OACC,AAAG,O,sCACF,S,CAED,O,CAGD,A,gBACC,iB,CAID,gBAGA,iBAEA,sCACA,yCACA,4BACC,0CACA,uC,QAGD,uCACA,0CAEA,4BACI,AAAJ,qBACC,0CACA,2CACA,A,mGAH4B,AAI3B,AAJ2B,oB,CAM5B,6CAN4B,AAAA,A,YAa7B,A,kBACC,iB,CAED,iCACA,qHACA,iB,6MCtEA,AACA,AAEA,mD,AACA,sCACC,S,CAED,mDAEA,qDACA,A,sCACC,S,CAED,mDAEA,eAIA,gCACA,A,sCACC,S,CAID,AADA,iBAEA,2CAEA,gBACA,AAAI,mBACH,2IACA,2IACA,2IACA,2IACA,2IACA,2I,AAN6B,AAAA,kBAQ9B,iDAEA,iB,uJAMA,A,8BACC,gBACA,I,CAGD,IAEA,yCAEA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,2CAMA,wCACA,4BAEA,WACA,AAAI,eACH,AAAI,eACH,uJ,AADkB,AAAA,YADD,A,AAAA,YAMnB,2IAMA,oCACA,2CAGA,gDAEA,S,0BClFA,gC,AACA,4BACC,8BACA,6B,CAED,S,4G,gE,uM,Q;+mBCaA,sCACA,A,wBACC,S,C,AAED,SACC,K,CAED,cACA,qBACA,S,+BAKA,iB,0CAKK,OACL,iB,sGAGK,OACL,8C,8GAWK,OAEL,A,UACC,2CACA,iBACA,M,C,AAGD,uBACC,wD,CAIG,AAAJ,iBACC,gDACA,A,QACC,U,CAED,eACA,A,sCACC,QACA,O,CAED,A,QACC,O,C,AAXwC,AAAA,YAc1C,sB,mGAGK,OACL,QACA,gBACA,S,yGAOK,OACL,A,QACC,oC,CAED,A,oBACC,iC,CAGD,0DACC,S,CAGD,AAAI,YACJ,AAAG,a,QAEF,IACA,cACA,A,mCACC,qB,C,CAGF,0C,6IAQK,OACL,Y,AACA,UACC,A,sC,CAED,A,cACC,A,0CACC,A,sC,CAED,A,6BAGC,iC,AACA,QACC,U,CAED,A,QACC,gHACA,kB,C,AAED,sC,CAED,SACA,A,cACC,A,sC,C,CAKF,yCACA,eACA,0HACA,kBACA,A,oC,gIAKK,OACL,kBACA,iBACC,A,0C,AACC,sC,CAED,S,CAED,uGACA,AAAA,eACA,kBACA,A,oC,gHAIK,O,AACL,mCACC,iC,CAGD,A,UACC,AAAA,e,MAGA,M,CAED,yHACA,cACA,kBACA,iB,4JAMK,OACL,6HACC,S,CAED,kBACA,A,cACC,A,gD,CAED,wHACA,A,WACC,uD,CAED,eACA,0HACA,iBACA,A,8C,4GAOK,OACL,A,yCACC,iC,CAED,4BACA,cACA,kBACA,iB,8GAIK,OAA4B,kB,oIAY5B,OACL,YAEI,AAAH,0C,SACC,yCACA,sBACA,M,CAID,A,0CACC,2BACA,QACA,cACA,M,C,AAID,gCACC,QACA,QACA,qBACA,M,CAGD,S,CAID,AAAG,iB,SACF,qGACA,kB,CAGD,Y,0JAmBK,OACL,gCACA,A,4CAEC,A,gIAGC,A,YAEC,mE,CAED,AAAA,eACA,kC,C,AAED,iD,CAGD,A,kB,AACC,sCACC,Q,CAED,c,CAED,YAEA,A,iHACC,IACA,A,gIACC,I,CAED,kC,CAED,c,8JAUK,OAGL,AAAI,QACA,AAAJ,SACA,YAEA,YACC,AAAI,YACJ,+BACA,A,mCACC,M,CAED,A,+CACC,IACA,M,CAID,oBACA,gBACA,e,CAID,IACA,+BACC,sG,KAED,mBAGA,YACA,IACA,+BACC,yH,KAED,6B,AACA,4B,0IAUK,OACL,+BACA,oB,AACA,4B,yMAIK,OACL,8B,AACA,sCACC,Y,CAGD,AAAG,kD,MACF,6BACA,kDACA,A,4B,CAGD,AAAG,iD,MACF,iCACA,kDACA,A,4B,CAGD,A,+BACC,S,CAGD,eAEC,8BACA,qD,AACA,sCACC,A,gC,CAED,S,CAGD,A,mCACC,gB,CAGD,A,0C,iHAMK,OACL,kD,AACA,QACC,U,CAED,eACA,0B,4K,gE,gE,gE,y7C,oE,oE,+C,qD,2D,4D,uD,yF;40ICnbA,gC,0BAWA,AAAG,sC,MACF,S,CAED,sB,8B,AAKA,8BACC,a,CAED,sH,AACC,wDACC,a,C,KAGF,Y,gCAKA,4HACC,uCACA,A,iDACC,S,C,KAGF,oE,0CAQA,OACA,iBACA,A,qCACC,oC,CAED,4BACA,mB,0CCpEK,iBACL,0C,kGAIK,iBAAa,cAClB,wC,8FAIK,iBAAa,cAClB,wC,8FAIK,iBACL,oC,kGAIK,iBACL,gM,6FAIK,iBAAY,cACjB,4D,wGAMK,iBAAa,cAClB,0BACA,wBACA,mEACA,A,UACC,e,CAED,mE,AACA,UACC,e,CAED,oB,6FAIK,iBAAY,cACjB,+B,8FAoBK,iBACL,yC,gGAIK,iBACL,0B,wFAIK,iBACL,0B,0FAIK,iBACL,wD,8FAOK,iBAAiB,cACtB,oG,8FAOK,iBAAiB,cACtB,oG,oGASK,iBACL,A,oBACC,kHACA,gB,MAEA,uBACA,uB,C,AAED,oBACC,kHACA,gB,MAEA,uBACA,uB,CAED,S,wGAKK,iBAAuB,cAC5B,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,C,AAED,oBACC,gB,CAED,A,qCACC,e,CAED,S,4GAIK,iBAAmB,c,AACxB,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,A,oBACC,gB,CAED,S,mGAIK,iBACL,0C,+FAIK,iBAAgB,cACrB,yF,iGAKK,iBAAsB,cAC3B,0E,uGAKK,iBAAgB,c,AACrB,cACC,Y,CAID,8E,qGAMK,iBACL,A,oBACC,wC,CAED,A,oBACC,wC,CAED,S,oGAQA,A,QACC,gB,CAED,A,QACC,gB,CAED,gD,8CCnKK,OAAoC,mB,4GAEpC,OAA8B,c,qGAE9B,OACL,oD,uHAGK,OACL,A,iCACC,+B,CAED,mBACA,ub,gHAKK,OACL,0E,sIAGK,O,AACL,iCACC,O,CAED,mBACA,4DACA,0GACA,0GACA,0GACA,0G,gIAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,qHAKK,OAAkB,cACvB,+B,AAIA,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,e,AACH,8GACC,a,CAFmB,A,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,qGAIY,cACZ,0BACA,2BACA,uC,8CAcK,OAAsC,qB,4GAEtC,OAAgC,c,qGAEhC,OACL,sD,yIAGK,OACL,A,iCACC,iC,CAED,mBACA,igC,oHAUK,OACL,0E,sJAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,kJAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,yHAKK,OAAoB,cACzB,+BAIA,A,cACC,uC,CAED,+BACA,0D,8HAQK,OACL,A,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,uGAIc,cACd,0BACA,2BACA,uC,8CAcK,OAAqC,oB,4GAErC,OAA+B,c,qGAE/B,OACL,qD,wHAGK,O,AACL,iCACC,gC,CAED,mBACA,wb,kHAKK,OACL,0E,sIAGK,OACL,A,iCACC,O,CAED,mBACA,+DACA,0GACA,0GACA,0GACA,0G,iIAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,0GACA,0GACA,0GACA,0G,uHAKK,OAAmB,cACxB,+BAIA,A,cACC,uC,CAED,+BACA,0D,wHAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,8GACC,a,C,AAFmB,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,uGAIa,cACb,0BACA,2BACA,uC,+CAcK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,4IAGK,OACL,A,iCACC,kC,CAED,mBACA,kgC,wHAUK,OACL,0E,wJAGK,O,AACL,iCACC,O,CAED,mBACA,qEACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,qJAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qHACA,oIACA,qHACA,oIACA,qHACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,O,AACL,mBACC,Y,CAED,+BACI,AAAJ,qCACC,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAIe,cACf,0BACA,2BACA,wC,+CAcK,OAAqC,oB,8GAErC,OAA+B,c,uGAE/B,OACL,qD,4GAGK,OACL,A,iCACC,0B,CAED,mBACA,uH,oHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,4I,qHAGK,OAA6B,oBAClC,A,iCACC,O,CAED,mBACA,iG,yHAKK,OAAmB,cACxB,+B,AAIA,cACC,wC,CAED,+BACA,2D,0HAQK,OACL,A,mBACC,Y,CAED,0BACI,AAAJ,qCACC,AAAI,eACH,A,8GACC,a,C,AAFmB,AAAA,YAKrB,kBACA,kBAPwC,A,AAAA,YASzC,Y,0GAqBK,OAAuC,sB,8GAEvC,OAAiC,c,uGAEjC,OACL,uD,oHAGK,O,AACL,iCACC,4B,CAED,mBACA,oR,wHAKK,OACL,0E,gIAGK,O,AACL,iCACC,O,CAED,mBACA,qEACA,oIACA,qH,6HAGK,OAAiC,sBACtC,A,iCACC,O,CAED,mBACA,oIACA,qH,6HAKK,OAAqB,cAC1B,+BAIA,A,cACC,wC,CAED,+BACA,2D,gIAQK,OACL,A,mBACC,Y,CAED,+BACA,AAAI,qCACH,AAAI,eACH,A,2OACC,a,C,AAFmB,YAKrB,kBACA,kB,AAPwC,AAAA,YASzC,Y,0GAqBK,OAAoC,mB,8GAEpC,OAA8B,c,uGAE9B,OACL,oD,2GAGK,OACL,A,iCACC,yB,CAED,mBACA,sH,kHAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,0I,oHAGK,OAA2B,mBAChC,A,iCACC,O,CAED,mBACA,iG,uHAKK,OAAkB,cACvB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,uGAIY,cACZ,0BACA,2BACA,wC,+CAcK,OAAsC,qB,8GAEtC,OAAgC,c,uGAEhC,OACL,sD,mHAGK,OACL,A,iCACC,2B,CAED,mBACA,mR,sHAKK,OACL,0E,gIAGK,OACL,A,iCACC,O,CAED,mBACA,kEACA,oIACA,qH,4HAGK,OAA+B,qBACpC,A,iCACC,O,CAED,mBACA,oIACA,qH,2HAKK,OAAoB,cACzB,+BAIA,A,cACC,wC,CAED,+BACA,2D,4GAQK,OACL,Y,yGAIc,cACd,0BACA,2BACA,wC,+CAgBK,OAAwC,iB,8GAExC,OAAkC,c,+GAElC,O,AACL,0BACC,iB,CAED,A,iCACC,yG,CAED,mBACA,0M,0GAKK,OACL,0E,wHAGK,OACL,A,iCACC,O,CAED,mBACA,2H,uHAGK,OACL,A,iCACC,S,CAED,mBACA,qG,wIAGK,OACL,A,iCACC,O,CAED,mBACA,+F,mIAKK,OAAsB,cAC3B,+B,AAIA,cACC,kD,CAID,+BACA,uF,0IASK,OACL,AAAI,uBACJ,0BACA,AAAI,qCACH,qIACC,sE,KAED,kBACA,kB,AALwC,AAAA,YAOzC,8HACC,A,wEACC,a,CAED,kBACA,A,mBACC,a,C,KAGF,Y,6GAIgB,cAChB,0BACA,2BACA,0C,2DC34BK,OACL,A,yD,sGAGK,OACL,S,gHAGK,OACL,W,0GAGK,OAAiC,sF,qGAEjC,OAAuC,W,wGAGvC,OACL,oBACA,iB,4FAIA,qB,yCC9BK,uCACL,IACA,UACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,AACD,gBACC,+B,CAED,mC,8HAsBK,OACL,oB,8GAGK,OACL,c,uGAGK,OACL,qD,kHAGK,O,AACL,iCACC,8B,CAED,iBACA,iBACA,iT,kHASK,OACL,oE,oIAKK,OACL,mBACA,UACC,0O,AACD,gBACC,gZ,AACD,gBACC,0O,CAGD,oE,qHAKK,OAAmB,cACxB,+BAIA,A,cACC,yE,CAID,6BACA,6BACA,yH,4GAWK,OACL,Y,oIAIa,cACb,0CACA,IACA,UACC,oMACA,I,AACD,gBACC,oMACA,oM,AACD,gBACC,IACA,oM,MAGA,IACA,I,CAED,yCACA,+M,4G,gE,gE,gE,gE,uxU,8C,uD,uD,mE;4LC3EA,wBACA,6CACA,2DACA,A,sCACC,2D,CAED,iBACA,iB,AACA,qBACC,O,CAED,iBACA,iBACA,iBACA,iB,sBAGmE,oBAApC,wBAC/B,8G,kCAMwD,oBAApC,wBACpB,4C,+NAK8F,oBAAlC,oBAApC,wBACxB,eACA,A,cACC,O,CAID,IACA,sCACC,A,UACC,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6CACC,A,eACC,O,C,C,MAGI,AAAG,uC,MACT,IACA,sCACC,aACA,O,C,C,C,MAIF,A,mCACC,IACA,sCACC,SACA,O,AACD,4CACC,WACA,O,AACD,6CACC,WACA,O,AACD,6C,AACC,eACC,O,C,C,C,CAKJ,iBACA,O,AACD,4CACC,A,yDACC,iB,C,CAIF,oCACA,2C,AACA,eACC,yCACA,8C,CAGD,AAAI,uCACJ,0BACA,0BACI,AAAJ,0BACC,yBACA,yBACA,AAAI,wBACH,SACA,A,sCACC,+B,CAED,AACA,W,AACC,U,MAGC,8D,C,AAEF,gCACC,yB,MAEA,0DACA,A,UACC,0DACA,6JACA,sNACA,sNACA,sNACA,sN,MAEA,8JACA,8JACA,8JACA,8J,CAMD,gB,C,AAjCoB,oD,AAHD,uD,2GA0CY,wBAClC,uCAEA,kEACA,+BACA,qBACA,AAAI,kCACC,AAAJ,eACC,gHACA,gHACA,gHACA,iHAEA,uRACA,uRACA,uRACA,yRAToB,A,YAWrB,kBACA,kB,AAb+B,AAAA,Y,4DAiBC,wBACjC,uCAIA,+BACA,qBACA,AAAI,eACH,6HACA,6HACA,6HACA,6H,AAJoB,YAMrB,uBACA,AAAI,gCACH,kBACA,kBACA,mCAHkC,A,AAAA,Y,0KAOmC,oBAApC,wBAClC,0BACA,+BACA,uBAEC,AADD,gBAEC,wB,AAED,+CACC,WACA,WACA,6B,MAIA,kCACA,kCACA,YACA,YACA,0C,CAED,WACC,sBACA,sBACI,AAAJ,wBACC,sKACA,sKACA,sKACA,sKAEA,iHACA,iHACA,iHACA,iHAGA,uEAEA,oRACA,oRACA,oRACA,oR,AAjBqB,cAmBtB,WACA,WAvBa,AAAA,A,Y,8CA2BuD,oBAApC,wBACjC,+BACA,+BACA,uBACA,AAAI,gB,AACJ,iBACC,WACA,W,MAKA,kCACA,kCACA,YACA,Y,CAED,WACC,oEACA,WACA,WAHa,A,AAAA,Y,wJAO0D,oBAArC,wBACnC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEA,AAAI,2BAEH,0JACA,4OACA,iPACA,0PAEA,6GACA,6GACA,6GACA,6GAGA,sEAEA,+QACA,gRACA,gRACA,+QAlB6B,A,+B,AAJd,+B,8GA2BsD,oBAArC,wBAClC,mCACA,mCACA,+BACA,0BAEA,0BACA,sBACA,kBACC,mCACA,mCAEI,AAAJ,2BAEC,0JACA,4OACA,iPACA,0PAEA,yHACA,0HACA,0HACA,yH,AAV6B,+B,AAJd,+B,6WAmBmD,oBAArC,wBAG/B,mCACA,mCACA,0BACA,0BACA,mBACA,UACC,AAAI,oCACH,mCACA,kEACA,kEACA,AAAI,sBACH,8TACA,oGACA,oGACA,oGACA,sGALqB,A,8C,AAJS,+B,AAYjC,gBACK,AAAJ,2CACC,qCACA,oEACA,kJACI,AAAJ,2CACC,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mC,AAajC,gBACK,AAAJ,2CACC,qCACA,oEACA,oUACA,AAAI,2CACH,qGACA,0VACA,yGACA,yGACA,yGACA,0G,AAN+B,oD,AAJD,mCAajC,A,gBACC,AAAI,2CACH,qCACA,oEACA,sPACA,AAAI,wBACH,0VACA,yGACA,yGACA,yGACA,0G,AALqB,oD,AAJS,mC,M,AAahC,iB,C,AAED,gB,iKAG6F,oBAA1D,wBACnC,+BACA,qBACA,uBACA,uCACI,AAAJ,gDACC,AAAI,2BACH,uGACA,A,UACC,AAH4B,mC,CAK7B,uBAEA,yHACA,yHACA,yHACA,yHAGA,gNAEA,qUACA,qUACA,qUACA,qU,AAlB6B,+BAoB9B,kBACA,kBACA,kB,AAvByC,+B,0QA2B0D,oBAAlC,oBAApC,wBAC9B,oCACA,oCACA,A,4D,AACC,8CACC,mCACA,mC,C,CAIF,yBACA,yBACA,yBACA,yBACA,oBACA,oBACA,UACA,AAAI,wBACH,AAAI,wDACH,SACA,A,sCACC,+B,CAED,0D,AACA,UACC,0HACA,0HACA,0HACA,0HAQA,oNAEA,0UACA,0UACA,0UACA,0U,MAGA,kRACA,kRACA,kRACA,kR,CA7BwC,A,qDAgC1C,2BAjCqB,A,oD,gBAuCtB,A,QACC,S,CAED,A,YACC,a,CAED,S,2SAGgE,oBAApC,wBAS5B,kCACA,AAAG,sC,MACF,6BACA,8HACC,gCACA,+FACA,+FACA,+F,KAED,mE,CAMD,AAAI,8BACJ,A,MACC,0BACA,0B,CAID,iCACA,AAAI,6BACH,AAAI,6BAGH,+DACA,mDACA,A,MACC,iNACA,iNACA,iN,C,AAGD,kBAKC,+BACA,8IACC,yBACA,uDACA,yBACA,gEACA,yBACA,gEACA,A,UACC,wBACA,A,WACC,M,C,C,MAIH,yHAEA,A,OACC,AAlCsB,AAAA,sB,CAoCvB,sGACA,sGACA,sG,MAGA,mBACA,mBACA,mBAKA,sCAEA,A,OACC,AAnDsB,AAAA,sB,CAqDvB,uEACA,mBACA,mBACA,mB,CAID,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SACA,+SAvEwB,AAAA,A,cA2EzB,A,MACC,wBACA,sCACC,+G,M,CA/EsB,A,AAAA,c,4G,gE;w1CCtjBzB,aACA,aACA,uBACA,uBAEA,gM,kDAgBA,gCAKA,oB,iEAIA,6CACA,A,sCACC,gB,CAED,yBACA,yC,oDAOK,OACL,A,yC,kGAGK,OACL,gC,oHAGK,OACL,6BACA,8BACA,qC,4IAGK,OACL,6BACA,8BACA,aACA,A,YACC,iKACA,qM,CAED,S,iIAaK,OACF,AAAH,qB,sCACC,S,CAED,6C,oIAGK,OACL,AAAG,qB,sCACF,S,CAED,uBAEA,2C,8HCxFA,oDACA,uGAOG,AAAH,sC,wCACC,S,CAGD,eACA,8EAIA,qBACA,S,oDASK,OACL,A,yC,0GAIA,uBACA,uBACA,A,QACC,2D,CAED,A,QACC,4D,CAED,0CACA,A,sCACC,gB,CAED,mC,6DAIA,oC,AACA,UACC,2D,C,AAED,UACC,4D,CAED,OACA,oCACA,8C,AACA,sCACC,gB,CAED,uC,4CAGK,OACL,4B,iHAGK,OACL,mEACA,uC,wK,gE,gE,gE,gE,gE;0+BC/DK,OACL,4DACA,A,OACC,O,CAED,uF,kHAGK,OACL,4DACA,A,OACC,O,CAED,wF,4GAGK,OACL,uBACA,IACA,UACC,qB,AACD,gBACC,qB,AACD,gBACC,qB,C,kHAII,OACL,uBACA,IACA,UACC,sB,AACD,gBACC,sB,AACD,gBACC,sB,C,kHAII,OACL,gC,qFC5CA,mC,yBAIA,K,sJAIA,YACA,8DACC,U,QAED,gE,8MAIA,0DACA,kCACC,0D,qB,4E,6BASD,a,gC,oKAQA,YACA,+CACC,U,OAED,gEAEA,mBACA,4CACC,0BAEA,A,UACC,a,CAGD,A,mBACC,a,CAGD,A,uBAEC,a,CAED,Y,OAGD,kDACA,WACA,YACA,sBAEA,0BACA,sCACA,mCACA,oCAEA,eACA,+CACA,4CACA,sCACA,mCACA,oCACA,wCACC,U,OAGD,UACA,4CAEA,+F,AAIA,sCACC,U,CAED,kBAGA,mDACA,6CAEA,4CACC,0BACA,aACA,a,OAED,0CACC,0BACA,WACA,a,OAED,8CACC,yBACA,eACA,a,OAED,4CACC,yBACA,aACA,a,OAED,0CACC,a,O,mEAMD,gDACA,A,UACC,I,CAED,S,qEAIA,mBACA,gCAEA,WACA,eACA,gBACA,UAEA,SACA,SACA,6CACA,8CACA,8IACA,6IAEA,0DACC,4BACA,4DACA,gCACA,+BACA,uL,OAED,UAEA,A,oC,4G,gE,gE,gE,u8C,87C;swGClJA,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,gCACA,oBAFoB,AAAA,A,Y,AADC,AAAA,Y,kCASvB,UACA,A,qBACC,mE,CAGD,AAAI,sBACH,AAAI,eACH,IACA,AAAI,sBACH,oC,AADsB,AAAA,YAIvB,A,iBACC,qB,CAED,oBAToB,A,AAAA,YADC,A,AAAA,Y,uCCrBlB,OACL,S,kGAGK,OACL,mBACA,aACA,aACA,aACA,a,oHAIK,OACL,A,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAkB,cACvB,A,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAe,c,AACpB,mBACC,e,CAED,6BACA,SACA,a,wHAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJACA,sJACA,sJAJ0B,A,AAAA,Y,0IAQtB,OACL,A,mBACC,e,CAED,sJACA,sJACA,sJACA,sJ,qIAIK,OACL,A,mBACC,e,CAED,mJ,6HC/CA,AAAI,SACJ,AAAI,YACJ,6BACC,AAAI,SACJ,mDACA,A,sCACC,O,CAED,wB,IAED,A,sCACC,iB,CAED,uC,uCCzCK,OACL,S,kGAGK,OACL,mBACA,aACA,a,oHAIK,O,AACL,mBACC,A,UACC,S,CAED,S,CAED,yJ,+GAIK,OAAgB,c,AACrB,mBACC,e,CAED,6BACA,SACA,a,sGAIK,OAAa,cAClB,A,mBACC,e,CAED,6BACA,SACA,a,4GAGK,OACL,A,mBACC,e,CAED,AAAI,eACH,sJACA,sJ,AAFwB,AAAA,Y,sHAMpB,OACL,A,mBACC,e,CAED,sJACA,sJ,iHAGK,OACL,gB,mHAIK,OACL,A,mBACC,e,CAED,mJ,sHA2BA,4BACA,+H,yBCjGA,IACA,UACC,iB,AACD,gBACC,gB,CAED,iC,yCCdA,sDACA,A,sCACC,iB,CAGD,8CACA,A,sCACC,iB,CAED,wBACA,A,sCACC,iB,CAGD,yD,8CAwBK,OACL,mC,wHAGK,OACF,AAAH,gC,sCACC,S,CAGD,gBACA,uDACA,kBACA,AAAG,+C,sCACF,S,CAED,iB,gGC3CA,iD,AACA,sCACC,iB,CAED,kC,mDAGK,OACL,A,iD,oGAGK,OACL,+D,iHAGK,OACL,wCACA,qC,iGAMK,OACL,iB,gIAGK,OACL,2F,AACA,wE,kIAGK,OACL,2F,AACA,wE,2GAQK,OACL,S,sHAGK,OACL,A,6D,wHAGK,O,AACL,6D,4HAGK,OACL,A,eACC,uD,CAED,eACA,A,mCACC,UACA,A,kBACC,4D,MAEA,yBACA,kB,C,CAGF,yBACA,oBACA,gE,8FAIA,8B,mBAIA,8B,wCASK,OACL,qB,mIAGK,OACL,6CACA,A,gD,oJAGK,OACL,6CACA,6BACA,A,wE,kHAYK,OACL,A,2C,6GAIK,OACL,gBACA,mBACC,mB,IAED,S,+GAIK,OACL,gBACA,mBACC,oB,IAED,S,sHAiBK,OACL,A,UACC,A,iF,CAED,A,kC,oIAGK,OACL,gBACA,mBACC,2B,IAED,S,wHAIK,OACL,+BACA,uB,0GAIK,OACL,mB,mJAMK,OACL,A,sBACC,2BACC,AAAI,YACJ,iDACA,A,sCACC,U,C,I,CAIH,wBACA,uBACA,8BACA,2bACA,8D,6SC5LA,iCACA,A,sCACC,S,CAED,0CAEA,AAAI,SACJ,yBACC,4B,IAED,A,sCACC,S,CAGD,IACA,qBACA,kCACC,mEACA,A,iBACC,iB,CAED,mBACC,gB,IAED,A,sCACC,S,CAEE,AAAH,iC,sCACC,S,CAED,mBACC,iBACA,A,sCACC,O,CAED,gB,I,AAED,sCACC,S,CAID,qBACA,AAAA,W,AACA,oIACC,yJAEA,IACA,I,C,qB,qT,gE,gE,gE,gE,gE,gE,gE,gE,25J;;i5FCrEF,A,SACC,4DACA,O,CAED,YACC,A,gBACC,4DACA,O,CAMD,SACA,4DACA,WACA,W,C,iBCeD,wC,gCAKA,UACA,aACA,SACA,AAAI,IACJ,AAAI,iBACH,AAAI,IACJ,AAAI,IACJ,AACA,4BAEC,gBACA,IACA,M,AACD,gBAEC,gCACA,IACA,M,AACD,gBAEC,iBACA,IACA,M,MAGA,gCACA,I,EAED,qFACA,2FAzBwB,A,AAAA,kBA2BzB,S,4BAIA,SACA,aACA,SACA,AAAI,gBACH,qFACA,2FAF6B,AAAA,A,kBAI9B,S,sCC9DK,OACL,uF,2GAMK,uCAAkC,kC,uHAQlC,OACL,iF,2NA0DK,OACL,A,mBACC,6C,CAKD,AAAI,uBACJ,AAAI,gBACJ,kHACC,A,UACC,a,CAED,A,iBACC,I,C,AAED,QACC,I,CAED,AAAA,mJ,KAED,A,UACC,a,CAGD,QACA,AAAI,IACJ,AAAI,IACJ,A,QACC,gBACA,yBACA,0B,CAED,IACI,AAAJ,uBACA,AAAI,gB,AACH,WAEC,UACA,A,UACC,a,CAED,4BACA,AAAI,uBACH,4LACA,uBACA,gBACA,6GACA,qI,AAL0C,AAAA,a,CAQ5C,sEACA,mEACA,YACA,8B,AAnBuB,AAAA,YAsBxB,mI,AACC,WACC,c,CAED,yEACA,AAAA,gKACA,yBACA,+LACA,wCACA,A,UACK,AAAJ,oBACC,uF,AAD2C,+C,MAI5C,2GACA,A,8BACC,a,CAED,2GACA,yBACA,AAAI,kBACH,4FADmC,A,sD,C,MAKtC,Y,iHAiDK,O,AACL,eACC,A,qBACC,6CACA,O,CAED,YACA,O,CAED,cACC,AAAG,mB,0CACF,O,C,CAGF,6BACA,iCACA,cACA,iCACA,kBACA,IACA,4BACC,c,AACD,gBAEC,OACA,YACA,iBACD,A,gBAEC,AAAG,sB,0CACF,M,CAED,UACA,UACA,iB,MAGA,2C,E,6GAII,OACL,Y,AACC,uBACC,yBACA,+BACA,oB,C,AAED,0CACC,gB,CAED,U,C,mGAII,OACL,A,mCACC,iB,CAED,a,qMAQK,OAEL,eACI,AAAH,e,sCACC,S,C,CAGF,6BACA,A,UACC,2C,CAED,iCACA,2BAEA,iCACA,2BAEA,iCACA,mBAGA,AAAI,eACH,cACI,AAAH,e,sCACC,S,C,CAGF,qLACA,iCACA,kBARsB,A,AAAA,YAUnB,AAAJ,gBACC,oK,AADmC,AAAA,Y,AAGpC,gDACC,2C,CAKD,AAAI,gCACH,gCACA,A,sCACC,S,CAED,A,SAEC,yFACA,AAAA,WACA,S,CAGD,AAAI,KACJ,AAAI,KACJ,AAAI,KACJ,KAGA,YACC,KACA,KACA,A,UACC,8C,CAED,+G,AACD,kBACC,KACA,KACA,K,AACD,kBACC,MACA,KACA,K,MAfA,wC,CAiBD,eACC,AAAG,gB,uCACF,U,C,CAGF,kEACA,qCACA,mBACA,A,gBACC,8C,CAED,AAAI,kBACH,8FACA,AAAA,WAFoB,A,AAAA,c,CAMtB,A,gGACC,8C,CAGD,iB,oKAOK,OACL,YACC,gCACA,A,sCACC,QACA,O,CAED,AAAI,IACA,AAAJ,IACA,AACA,UACC,2GACA,AAAA,iB,AACA,iBAEC,gDACA,O,CAED,S,AACD,kBAEC,2CACA,OAED,A,gBACC,WACA,I,AACD,gBACC,kBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,mBACA,I,AACD,gBACC,oBACA,I,AACD,gBACC,oBACA,I,MAEA,MACA,I,CAED,A,QACC,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,4DACA,iCACA,kB,CAGD,AAAI,IACJ,A,kBACC,cACI,AAAH,e,sCACC,QACA,O,C,CAGF,wGACA,iCACA,kB,MAEA,AAAG,gC,sCACF,QACA,O,C,CAKF,AADA,QAEC,AAAA,W,AACD,gBACC,2CACA,O,MAEA,yBAEA,+BACA,cACC,AAAG,e,sCACF,QACA,O,C,CAGF,yDACA,iCACA,kBACA,iD,CAID,A,YACC,qCACA,O,CAID,A,qBACC,2CACA,O,CAGD,iC,AACA,iBACC,O,C,C,4HAOG,OACL,qBACA,A,QACC,e,CAED,mBACC,YACA,AAAG,gB,QACF,I,CAED,AAAG,a,QACF,I,CAED,2BACA,WACA,iBACA,2BACA,A,iBAEC,4CACA,Y,CAED,A,cACC,I,C,CAGF,a,4GAGK,OACL,A,iBACC,O,CAED,iB,6HAIK,OAGL,OACA,MAGA,6DACA,oFACA,A,sCACC,8BACA,O,CAED,sCACA,sCACA,A,2CACC,2CACA,O,CAGD,A,UAEC,6CACA,O,CAGD,YACA,a,0HAKK,OACL,YACA,WACC,gBACA,A,QACC,I,CAED,2EACA,oFACA,A,sCACC,8BACA,O,CAED,WACA,iB,AACA,iBACC,YACA,4CACA,O,C,CAGF,2C,4GAGK,OACL,A,oBAEC,oC,CAGD,kCACA,A,iBACC,OACA,a,CAED,U,wHAGK,OACL,+B,AACA,sCACC,A,+BACC,qB,CAED,S,CAED,AAAA,oFACA,mDACA,kBACA,iB,kIAIK,OACL,cACA,YACC,cACI,AAAH,e,sCACC,Y,C,CAGF,kGACA,qB,AACA,QACC,2OACA,qBACA,A,UACC,2CACA,gB,C,CAGF,A,YACC,iCACA,kBACA,mC,C,C,8GAMG,OACL,6CACA,iGACA,U,AACA,iBACC,OACA,OACA,a,CAED,S,sFAIA,AAAG,uC,MACF,S,CAED,sB,6CAGK,OACL,sNAOA,A,kBACC,a,CAED,iB,qGAYI,AAAJ,0BACA,iBACA,qBACA,UACA,iBACA,2CACA,S,4CAWI,AAAJ,0BACA,UACA,iBACA,iBACA,qBACA,2CACA,aACA,S,yBCvrBA,6N,yBAIA,sD,4G,gE,gE,gE,gE,gE,6vH,66E,6E,k7B,Q;wP;qNCdK,OAAqB,U,8BAI1B,uBACA,UACA,S,8CAGK,OAAwB,S,mDAExB,OAA6B,S,8CAIlC,qDACA,mBACC,AAAI,QACJ,A,mBACC,kD,CAED,kHACC,kBACA,Y,KAED,qEACA,qEACA,I,CAED,kC,oEAGK,OACL,sBACA,A,4C,+CAGK,OAA4B,qB,gDAE5B,OACL,iBACA,sG,8BAImC,mB,4G;6oBCRnC,kB,6CASA,cACA,eACA,A,sCACC,oB,CAED,oB,iFAGK,OACL,A,0CACC,A,gC,CAED,A,kBACC,A,oC,CAGD,uCACA,iCACA,A,8CACC,QACA,Y,CAID,AAAG,yD,sCACF,QACA,A,4B,CAGD,iIACA,A,8BACC,uBACA,A,gC,CAED,Y,iGAIK,OACL,A,0CACC,a,CAED,6BACA,a,wHAGK,OACL,AAAG,6C,MACF,M,MAEA,mB,CAED,yDACA,A,sCACC,S,CAED,uDACA,A,iHACC,sB,CAED,mCACA,A,MACC,yDACA,A,sCACC,S,CAED,iIACA,A,2BACC,0B,C,CAGF,A,gD,AACC,MACC,sC,MAEA,gC,C,MAGD,oD,CAED,iBACA,iB,0K,gE,gE,gE,gE,gE,gE,siB,iD,qD;kTCrE0C,0N,sGAG1C,+GACA,gG,2GAIA,qa,sGAIA,2GACA,2GACA,0GACA,gG,2IAIA,6xC,sGAKA,2HACA,2HACA,2HACA,2HACA,2HACA,2HACA,0HACA,qG,0GAGkC,kB,gGAEE,yB,0K,gE,gE,gE,imC;qZC7DpC,WACI,AAAJ,iBACC,UACA,AAAI,eACH,A,oBACC,wB,MAEA,6B,C,AAJiB,AAAA,YAOnB,8EAToB,A,AAAA,YAWrB,S,yBAWkC,sB,4BAIN,yB,wCAEvB,OAAwB,S,mGAExB,OAA6B,S,yGAE7B,OAAqB,Q,wFAG1B,SACA,kHACC,oI,KAED,a,gCAKA,A,kBACC,c,CAED,gB,8DAGK,OACL,uBACA,A,4C,mGAGK,OAA4B,a,kGAE5B,OACL,YACA,sG,wECjHA,gB,4G,gE,kiB;6lDCDA,WAOA,wB,wDA6BA,AAAI,gDACA,AAAJ,eACC,gBACI,AAAJ,uBACC,4FACA,SACA,SACA,YACA,OACA,O,AACA,e,A,eAGC,I,MAEA,I,CAED,mGACA,UACA,gGACA,I,AAjB0B,YAFG,A,AAAA,Y,qCCmE1B,uCAAgC,gC,gHAOhC,uCAAqC,qC,6F,AAG1C,QACC,S,CAED,S,0EAGK,OACL,A,gBACC,gC,CAED,AAAG,uD,sCACF,S,CAED,2CACA,A,uBACC,mC,CAED,A,uBACC,8B,CAED,A,2CACC,yC,CAED,2BACA,wDACA,wDACA,A,aACC,mC,CAED,0C,AACA,uGACC,mC,CAED,OACA,sBACA,UACA,UACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,O,C,AAEF,gBACC,WACA,UACC,O,AACD,gBACC,OACD,A,gBACC,Q,AACD,gBACC,O,AACD,gBACC,Q,CAEF,A,iBACC,WACA,UACC,Q,AACD,gBACC,QACD,A,gBACC,Q,AACD,gBACC,Q,C,CAGF,A,aACC,2G,CAED,uCACA,0B,wJAGK,OACL,6FACA,A,+HACC,gC,CAED,oEACA,A,sCACC,S,CAED,0CACA,OACA,gCACC,8BACA,AAAI,eACH,4a,AADmB,AAAA,YAGhB,AAAJ,iBAMC,2J,AANqB,AAAA,YAQtB,mCACD,A,wC,MAIC,0C,CAED,0B,oIAGK,OACL,A,UACC,gC,CAED,6DACA,A,sCACC,S,CAED,0CACA,OACA,kBACC,uC,AACD,wBACC,uCACD,A,sCACC,A,wBACC,mC,CAEG,AAAJ,eACC,wIACA,2OAFkB,AAAA,A,Y,AAIpB,wCACC,0C,CAED,0B,uHAUK,OACL,A,kBACC,oB,CAED,wBAEC,AAAG,qB,sCACF,Y,CAID,AAAG,sD,sCACF,Y,CAED,8DACA,A,6DACC,yC,CAED,cACA,0C,CAED,A,wBACC,8C,CAED,wEACA,8BACA,wCACA,Y,oLAIK,OACL,+BACA,A,sCACC,oB,CAED,2CACA,AAAI,YACJ,A,oBACC,2C,A,0BAGA,kDACA,AAAI,eACH,2C,AACA,sCACC,oB,CAED,uB,AALwB,AAAA,Y,CAU1B,IACI,AAAJ,mD,AACC,YACC,kC,CAED,qDAJiC,A,AAAA,YAMlC,A,qEACC,mC,CAED,A,sCACC,+C,CAGD,oB,snBAIK,OACD,AAAJ,IACA,IAEC,AADD,SAEC,SACA,SACA,SACA,SACA,SACA,SACA,YAED,6BACA,A,0BACC,iGAEA,sIACA,sI,CAED,OACA,+BACC,UACA,6BACA,I,AACD,gBACC,KACA,8BACA,I,AACD,gBACC,KACA,6BACA,IACD,A,sCACC,UACA,2CACA,I,AACD,iBACC,KACA,8BACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,AACD,iBACC,KACA,+BACA,I,AACD,iBACC,KACA,gCACA,I,CAED,A,MACC,oB,CAED,gGAGA,4GAEA,cACA,cAEI,AAAJ,iBAEC,6BACA,A,uCACC,qB,CAID,mBACA,mBACA,2FACA,W,AAEA,iBACK,AAAJ,0BACC,mTADsC,AAAA,A,c,AAGxC,iBACC,oIACC,8M,M,AAEF,iBACK,AAAJ,iBACC,gY,AAD8B,AAAA,cAG/B,AAAI,0BACH,mgB,AADsC,AAAA,cAGxC,A,iBACC,W,MAEA,2C,CAID,QACA,WACC,AAAI,iBACH,+LACA,AAAI,+BACH,wEACA,sC,AAFoC,AAAA,c,AAFf,cAOxB,A,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,uEACA,sC,AAFoC,AAAA,c,AAFf,c,AAOxB,iBACK,AAAJ,iBACC,+LACA,AAAI,+BACH,uEACA,sCAFoC,A,AAAA,c,AAFf,c,AAOxB,iBACC,kCACA,kB,AACD,iBACC,AAAI,iBACH,kHACA,2J,AAFsB,AAAA,cAIxB,A,iBACC,qCACA,AAAI,iBACH,8MACA,8MACA,8MACA,0GACA,aACA,aANsB,A,AAAA,cAQvB,kB,AACD,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACK,AAAJ,iBACC,+LACI,AAAJ,+BACC,mBACA,A,+BACC,gD,CAED,gCACA,sC,AANoC,AAAA,c,AAFf,c,AAWxB,iBACC,AAAI,iBACH,+LACA,AAAI,+BACH,mBACA,A,+BACC,gD,CAED,gCACA,sCANoC,A,AAAA,c,AAFf,c,AAWxB,kB,AACC,iCACC,AAAI,iBACH,A,uHACC,wI,C,AAFqB,AAAA,c,CAMxB,kCACA,kBACD,A,kBACC,kCACA,kB,AACD,kBACC,AAAI,iBACH,2QACA,wC,AAFsB,AAAA,cAIxB,A,kBACC,AAAI,iBACH,2QACA,2QACA,mD,AAHsB,AAAA,c,AAKxB,kBACK,AAAJ,iBACC,2QACA,2QACA,2QACA,oDAJsB,AAAA,A,cAMxB,A,kBACK,AAAJ,iBACC,2QACA,2QACA,2QACA,2QACA,mD,AALsB,AAAA,c,CAUxB,wBA7JuB,A,AAAA,cAgKxB,oB,mPAIK,OACL,iGACA,AACC,SACA,SACA,IACA,4CACA,IAED,IACA,uCACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,+EACA,IACD,A,6CACC,wBACA,+EACA,I,AACD,6CACC,wBACA,iFACA,I,AACD,6CACC,wBACA,qFACA,IACD,A,6CACC,wBACA,qFACA,IACD,A,6CACC,wBACA,qFACA,I,AACD,6CACC,wBACA,qFACA,I,CAED,uEACA,AAAI,+BACH,6FACA,AAAI,+BACH,kCACA,sDACA,a,AAHwC,AAAA,cAFD,A,AAAA,c,8IAUpC,OACL,eACA,+BACA,A,sC,AACC,a,CAED,A,8B,gHAGK,O,AACL,eACC,gC,CAED,0B,8HAGK,OAEL,6DACA,A,sCACC,S,CAED,mDACA,cACA,0CAGA,+CACA,eACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,sB,AACD,qB,AACC,uDACC,gB,CAED,UACA,sB,AACD,qBACC,A,qBACC,gB,CAED,UACA,sB,CAGD,AAAI,uBACJ,WACC,sEACA,A,sCACC,S,CAED,sCACA,kB,CAED,0B,wHAGK,OACL,AAAG,sD,sCACF,S,CAED,A,0EACC,iC,CAED,iB,6HAGK,OACL,sDACA,A,sCACC,S,C,AAED,0EACC,+B,CAED,iB,0GAMA,2EAIA,AAAG,kB,sCACF,A,+BACC,qB,CAED,oB,CAED,wBACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,oB,C,CAGF,wB,kDAMA,2EAIG,AAAH,kB,sC,AACC,+BACC,qB,CAED,0C,CAED,YACC,AAAG,iB,sCACF,A,+BACC,qB,CAED,0C,CAED,kD,AACA,sBACC,M,CAED,A,qBACC,M,C,CAGF,AAAI,YACJ,OACA,+BACC,c,AACD,gBACC,e,AACD,gBACC,cACD,A,sCACC,Y,AACD,iBACC,e,AACD,iBACC,gBACD,A,iBACC,iB,AACD,iBACC,gB,AACD,iBACC,iB,CAED,uD,eAQA,gD,4G,gE,gE,gE,gE,gE,gE,gE,gE,gE,wxE,iJ,uB;sU,gE,gE,gE,gE,gE,gE,gE,oD;2V,gE,gE,gE,gE,gE,gE,gE,kI,6CCrqBC,eACA,yD;mO,gE,gE,gE;8a,gE,gE,gE,gE,gE,gE,gE,gE,gE;gM;2mCC1DI,OACL,uBACC,+BACA,A,sCACC,Y,CAED,4DACA,wB,CAED,sEACA,6CACA,8BACA,oB,qHAIK,OACL,uBACC,+BACA,A,sCACC,Y,CAED,uEACA,wB,CAED,8DACA,4CACA,8BACA,oB,uGAGK,OACL,Y,AACC,uBACC,yBACA,+BACA,oB,CAED,A,0CACC,gB,CAED,W,C,0JAOI,OAEL,YACC,0B,AACA,sC,AACC,+BACC,qB,CAED,QACA,O,CAED,AACA,cAEC,iGACA,AAAA,e,AACA,wBAEC,kGACA,4F,C,AAEF,sBACC,+BACA,WACA,8CACA,aACA,S,AACD,oBACC,UACA,YACA,O,AACD,kBACC,mBACA,A,aAIC,SACA,kBACC,kF,CAED,2FACA,AAAA,WACA,S,CAGD,kBACC,8JACA,AAAA,WACA,kF,CAED,2FACA,qFACA,A,wBAEC,kGACA,4F,C,MAGD,iCACA,O,CAED,wCACA,A,qB,AACC,iBACC,a,MAEA,AAAA,wBACA,sD,C,CAGF,A,cACC,UACA,O,C,C,mGAKG,OACL,0CACA,M,iGAKK,OACL,QACA,iB,iHAYA,cACA,IACA,UACC,wCACD,A,gBACC,wC,MAEA,kCACA,S,CAED,A,aACC,qEACA,S,CAED,AAAG,iD,MACF,M,MAEA,mB,CAED,aACA,sBACA,2CACA,yDACA,8CACA,aAEA,S,4G,gE,gE,gE,s0C,iD;spECtJK,OACL,A,0CACC,gB,CAED,A,kBACC,oB,C,AAED,wBACK,AAAJ,IACA,mCACA,A,0CACC,gB,C,AAED,UACC,YACA,gB,CAED,qCACA,AAAG,qC,0CACF,gB,C,CAGF,wBACA,6BACA,oB,mOAIK,OAEF,AAAH,sC,MACC,M,MAEA,mB,CAGD,oCACA,A,sCACC,S,CAED,A,MACC,iB,CAGD,A,wCACC,AAAG,gD,sCACF,S,C,CAIF,YACC,+B,AACA,sCACC,S,CAED,IACA,WACC,AAAG,oB,sCACF,S,CAGF,A,iBACC,2C,AACA,sCACC,S,CAED,qCACA,A,MACC,yCACA,A,sCACC,S,C,MAGD,2B,CAED,A,qE,AACC,OAEC,uD,CAED,8K,CAED,+BACA,A,sCACC,S,CAED,A,aACC,sF,CAGD,4CACA,0BACA,2CACA,AAAG,6B,sC,AACF,+CACC,S,CAED,S,CAID,AAAG,uD,gD,AACF,uCACC,U,CAED,S,CAED,AAAG,0D,gD,AACF,uCACC,U,CAED,S,CAID,A,0BACC,iI,AACC,+BACC,S,C,M,CAMH,A,sCACC,K,CAGD,2BACA,qCAIA,cACA,4B,AAED,iB,AACC,wBACC,0B,CAED,iB,MAGA,2E,C,C,sOAKG,OACL,uDACA,A,sCACC,S,CAED,oDACA,A,+CACC,gF,CAED,+CACA,gDACA,yBACA,4BACA,mBACA,eACA,iDACA,iB,4LAGK,OACL,A,kBACC,uG,CAED,mC,AACA,uCACC,gE,CAED,SACA,sD,AACA,sCACC,+E,CAED,oBACA,IACA,+BACC,yYACA,W,KAED,oB,uJAGK,OACL,+BACA,A,sCACC,S,CAED,IACA,IACA,UACC,K,AACD,kBACC,8B,AACD,kB,AAEA,kBACC,+BACA,A,sCACC,S,CAGD,S,MAEA,yE,C,AAED,QACC,AAAG,sD,sCACF,S,C,CAMF,A,4EACC,8B,AACA,+CACC,S,C,AAED,4BACC,gD,C,CAGF,YACC,8B,AACA,+CACC,S,C,C,kIAKG,OACL,AAAG,sD,sCACF,mE,CAED,iBACA,gDACA,A,+BACC,4BACA,2B,CAED,iB,0JAGK,OACL,AAAG,sD,sCACF,4E,CAED,yCACA,yCACA,yCACA,yCACA,uBAKA,gDACA,A,uEACC,mE,CAED,iD,6IAGK,OACL,+BACA,A,+CACC,Y,CAED,oD,sGAkBI,AAAJ,SACA,kBACA,kBACA,oBACA,IACA,4HACC,eACA,AAAI,qBACH,gEACA,WACA,uB,AAH4B,iB,KAM9B,Q,sCAMI,AAAJ,wBACG,AAAH,oB,sCACC,oB,CAED,mH,0CA4BI,AAAJ,wBACA,AAAG,mB,sCACF,0C,CAED,sE,eAQA,qC,4G,gE,gE,gE,gE,gE,gE,gE,gE,2oE,sC,oC,oC,wE;2lBCvaA,aACA,oIACC,oIACC,oIACC,uE,K,K,KAIH,mE,kMCpBI,AAAJ,YACA,AAAI,OACJ,YACA,gCACA,qFACA,mDACA,kGACC,8CACA,yBACA,A,kBACC,aACA,O,CAED,2D,uFAED,iGACC,8CAEA,sB,uFAED,SACA,gE,AACA,sCACC,0B,CAGD,2EACA,iBACA,4B,AACA,sCACC,0B,CAED,yCACA,A,sCACC,0B,CAED,sB,0J,gE,gE,gE,gE,gE,gE,gE,gE,gE,kE,kE,kE,kE,kE,4P;urFCjBK,OACL,YACC,wCACA,A,sCACC,A,+BACC,gB,CAED,S,CAED,yCACA,yB,AACA,iBACC,a,MAEA,0C,CAED,A,gBACC,M,C,CAGF,iB,sIAKK,OACL,A,oBACC,AAAG,wB,sCACF,Y,C,CAGF,8BACA,2CACA,yBACA,sE,AACA,gBACC,4C,CAED,oB,8OAKK,OACL,WACC,A,SACC,qC,CAED,AAAG,4C,sCACF,S,CAED,wBACA,A,QACC,6B,CAED,oBACA,A,6BACC,6B,CAED,uJAKA,WACA,AAAI,uBACJ,wBACC,4JACA,0F,K,AAED,iBACC,8C,CAED,A,iBACC,mD,CAED,+BACA,A,QACC,qC,CAED,AAAG,mD,sCACF,S,CAID,6BACC,6E,KAED,AAAI,gBACJ,AAAI,eACH,4BACI,AAAJ,gFAMC,qDACA,wIACI,AAAJ,2DACC,mGADgC,A,AAAA,oBAGjC,AAAA,YACA,AAAA,Y,AAZiC,AAAA,YAFF,A,AAAA,aAmB7B,AAAJ,sBACA,wGACC,A,WACC,yFACA,yFACA,4F,MAEA,yFACA,sGACA,4FACA,cACA,c,CAED,gC,M,CAGF,iB,4NAKK,QACL,A,iBACC,+C,CAGD,A,oCACC,AAAG,mB,2D,AACF,uEACC,Y,CAKD,0BACA,c,O,OAGF,AAAG,mJ,eACF,6BACA,8BACA,2CACA,8C,CAGF,OACC,AAAI,qCACH,A,iBACC,AAAG,mB,sCACF,Y,C,CAGF,A,uCACC,Q,CAED,AAAA,yBACA,2CACA,A,yFACC,mR,CAED,2B,AAd8C,AAAA,YAgB/C,oC,6IAGK,OACL,A,iBACC,AAAG,mB,sCACF,gB,C,CAGF,qCACA,AAAA,yBACA,2CACA,oB,yHAGK,OACL,A,eACC,AAAG,mB,sCACF,Y,C,CAGF,sDACA,sDACA,yBACA,iDACA,oB,+SCzKI,AAAJ,eACC,S,AAEA,irBAEC,mGACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,yFACA,AAdiB,AAAA,oB,CAkBlB,+GACA,oGACA,6FACA,kGACA,kGACA,kGACA,kGACA,kGAGA,iEACA,2DACA,2DACA,mEACA,yDACA,2DAGA,UACA,WACA,iEACA,uDACA,0DACA,WACA,cACA,YACA,cAGA,YACA,cACA,UACA,WACA,iFACA,kFAGA,6GACA,6GACA,6GACA,8GACA,8GACA,6GACA,6GACA,6GA9DkB,A,AAAA,YAkEnB,AAAI,iBAMH,qHACA,0GACA,oGACA,oGACA,mGACA,oGACA,oGACA,oGAGA,sEACA,qEACA,qEACA,wEACA,mEACA,qEAGA,YACA,cACA,wEACA,qEACA,qEACA,YACA,cACA,YACA,cAGA,YACA,cACA,YACA,cACA,kFACA,kFAGA,gHACA,gHACA,iHACA,iHACA,iHACA,iHACA,iHACA,iH,AAlDkB,AAAA,c,qCCtHd,uCAAgC,gC,gHAKhC,uCAAqC,qC,qIAyGrC,OACL,A,+BACC,iE,CAID,A,gBACC,mHACA,mHACA,gC,CAGD,mEACA,2B,AACA,QACC,Y,CAED,S,mHAQK,OACL,A,4BACC,4E,CAED,6CACA,sBACA,A,gBACC,2CACA,yBACA,2C,C,gKAMI,OACL,6BACC,AAAG,W,sCACF,A,4B,C,CAGF,iGACA,AAAA,2BACA,sBACA,A,oC,iLAQK,OAEL,A,gCACC,iGACA,AAAA,2BACA,sB,AACA,iB,AACC,4B,C,AAED,4GACC,A,mC,CAED,AAAA,2BACA,sBACA,A,sC,CAGD,6B,AACA,sCACC,A,4B,CAED,A,iBACC,sBACA,A,oC,CAGD,6B,AACA,sCACC,sBACA,A,4B,CAED,sB,AACA,eACC,A,mC,CAED,A,sC,qIAKK,OAEL,A,iCACC,A,gBACC,0B,CAED,sB,CAGD,YACC,mEACA,iBACA,2BACA,A,kBACC,M,CAED,AAAG,W,sCACF,A,+BACC,qB,CAED,S,C,CAGF,iB,+GAIK,OAEL,A,iC,AACC,gBACC,0B,CAED,sB,CAGD,YACC,yB,AACA,QACC,I,CAED,2BACA,W,AACA,UACC,M,CAED,AAAG,W,sC,AACF,+BACC,qB,CAED,S,C,CAGF,iB,2IAIK,OACL,IACA,UACC,U,AACD,iBACC,U,MAEA,qC,CAED,AAAG,2C,sCACF,S,CAGD,A,sBACC,0B,CAED,gDACA,+CACA,A,iCACC,yD,CAED,AAAI,qBACH,6KACA,8KACA,A,gBAYC,kFACA,kFACA,AAjBuB,AAAA,oB,CAmBxB,+FACA,sGACA,kGAKA,A,UACC,A,uDACC,6C,C,A,sBAGD,6C,C,AA/BuB,AAAA,YAkCzB,iB,yIAIK,OACL,AACA,aACC,AAAG,4C,sCACF,S,CAED,wBACA,A,eACC,6B,CAED,oBACA,A,QACC,6B,CAED,qGACC,+O,K,AAbmB,aAgBrB,A,eACC,qC,CAED,iB,qHAIK,OACL,A,eACC,qC,CAED,AAAG,2C,sCACF,S,CAED,4CACA,iB,6HAIK,OACL,MAGA,AAAG,2C,sCACF,oB,CAED,A,6CACC,8C,CAID,YACC,2C,AACA,sCACC,oB,CAED,2BAqBC,kBACA,oCACA,A,sCACC,oB,C,CAGF,WACA,A,UAEC,S,CAED,eAGC,6BACA,A,sCACC,oB,C,C,AAGF,YACC,M,CAED,A,mBAOC,S,CAKE,AAAH,2C,sCACC,oB,CAED,gDACA,A,QACC,gD,CAGD,AACA,yBACC,sBACA,kBACA,A,MACC,oB,C,AAEF,kBACC,kB,AACD,kBACC,kB,AACD,kBACC,kBACD,A,kBACC,kB,AACD,oCACC,c,MAEA,0B,CAED,A,sCACC,oB,C,CAGF,A,uBACC,yB,CAED,A,uBACC,yB,CAED,8C,kGAKA,AAAI,wBACJ,yB,8CAMA,AAAI,wBACJ,AAAG,0B,sCACF,0C,CAED,UACA,UACC,iE,AAKD,gBACC,kE,CAMD,oE,eAIA,wC,wDClgBK,OACL,A,gBACC,uCACA,gEACA,O,CAED,AAAI,IAEJ,AADA,qBAEC,IACD,A,2BACC,IACD,A,2BACC,I,AACD,2BACC,I,MAEA,mC,CAED,wDACA,gE,uhBAIK,OACL,A,gBACC,mC,C,AAED,wGACC,qC,CAED,AAAG,2C,sCACF,S,CAED,gBACA,A,6BACC,kE,CAED,AAAI,uBAKJ,AAAI,eACH,+FACA,KACA,2GACC,A,YACC,I,C,KAGF,A,QACC,2C,CAED,0FACA,gLACA,A,4EACC,6B,CAED,4KACA,A,4EACC,6B,CAlBqB,A,AAAA,YAsCvB,kCACA,A,kBACC,2GACA,2GACA,2HACA,wHACA,A,sCACC,8C,C,AAED,2BACC,wE,CAED,A,oCACC,oD,C,CAKF,0CACA,sIACA,uI,AACA,qCACC,uB,CAED,A,kBACC,AAAI,iBACH,mFACA,A,uGACC,kS,C,AAHqB,AAAA,c,CAQxB,iCACA,wBACA,AAEC,sBACA,wBAKA,sBACA,KAED,AAAI,kBACC,AAAJ,kBACC,AAAI,iBACH,mFACA,kLACI,AAAJ,gMA0BC,A,eACC,0MACA,A,WACC,c,MAEA,6EACA,uG,C,MAGD,+FACA,sEACA,gGACA,AAAA,aACA,A,4CACC,AAxCsD,AAAA,sB,C,CA6CxD,A,kBACC,qT,MAEA,sB,CAGD,A,eACC,AAAG,kN,uCACF,U,C,MAGD,KACA,A,WACC,AAAA,aAEA,yM,AACA,uCACC,U,CAED,A,UACC,uC,CAED,yCACA,A,uCACC,U,CAED,kKACA,uG,CAGD,A,sBACC,AAAA,+B,MAGA,sKACA,aACC,yCACA,A,uCACC,U,CAED,mBACA,e,AACA,gBACC,mBACA,A,SACC,M,CAED,yCACA,A,uCACC,U,CAED,6K,MAEA,A,iBACC,4C,AACA,gBACC,2CACA,A,uCACC,U,CAED,wC,CAED,AAAA,+BACA,M,CAED,c,C,AA9BmB,AAAA,c,C,CAoCvB,A,kBACC,A,6BAEC,qTAMA,AA7HsD,AAAA,sB,C,CAkIpD,AAAJ,kBACC,uW,AAD8B,AAAA,cAG/B,MACA,2B,AACA,gBACC,6F,MAEA,MACA,WACC,6F,AACD,iBACC,8F,AACD,iBACC,8F,MAEA,oC,C,CAIE,AAAJ,iBACC,WACA,YACA,AAAI,iBACH,yF,AACA,YACC,K,A,iBAEA,O,MAEA,e,CAED,qH,AATkB,AAAA,cAHD,A,AAAA,c,AAtJqC,AAAA,c,AAHnC,AAAA,cA0KvB,AAAA,a,AACA,sGAGC,AAAG,4C,uCACF,U,CAED,A,4CACC,+B,CAED,AAAA,mB,AACA,aACC,O,CAGD,iCAEA,uBAEA,W,CA9LqB,A,AAAA,c,AADD,AAAA,cAoMvB,iB,2KAKK,OAEL,A,U,AACC,eACC,mC,CAED,8BACA,A,sCACC,S,C,AAED,MACC,wK,CAED,iB,CAID,I,AACA,iBACA,AACC,iBACC,IACA,mCACA,A,sCACC,S,CAED,iBACA,aAEA,IACA,UACC,A,gBACC,wC,AACA,eACC,qCACA,A,sCACC,S,CAED,uC,CAED,W,C,AAEF,gBACC,IACA,8BACA,A,sCACC,S,C,AAED,OACC,K,C,MAGD,wC,CAGD,qD,AACA,sCACC,S,CAED,A,QACC,sC,CAED,A,eACC,yJ,CA3CmB,A,AAAA,Y,CA+CtB,A,eACC,AAAA,+BACG,AAAH,0C,uCACC,U,C,CAGF,iB,wJAKK,OACL,YACC,qEACA,A,wF,AACC,UACC,M,CAED,AAAA,WANmB,AAOnB,AAPmB,oB,CASpB,8BACA,A,sCACC,Y,CAED,A,OACC,AAdmB,AAAA,oB,CAgBpB,A,uFACC,2K,MAEA,2K,CAnBmB,A,AAAA,YAsBrB,oB,gLCpQK,OAAoB,eACzB,IACA,wHACC,A,aACC,S,C,KAGF,wFACA,gBACA,AAAI,gBACH,yBACA,AAAI,4FACH,6MACA,AAAA,YACA,AAAA,WAHkC,A,AAAA,kBAKnC,4B,AAP6B,AAAA,Y,4BAe9B,wGACC,wO,K,4G,gE,gE,gE,gE,wlI,uB,mN,4B,iiD,I;iiBCvJD,gD,kCAQI,AAAJ,UACA,A,kBACC,6BACA,O,CAIG,AAAJ,qBACA,KACA,gBACC,AAAA,WACA,AAAA,WACA,sJ,AAHuB,4FAKxB,qD,6EAGK,OAAqC,mBAC1C,+DACA,A,wBACC,A,wBACC,gCACA,SACA,6BACA,cACA,6BACA,SACA,6B,CAED,A,wBACC,iCACA,SACA,6BACA,SACA,6BACA,SACA,A,wBACC,6BACA,4G,CAED,6B,C,CAGF,A,yB,AACC,yBACC,IACA,AAAI,2BACH,A,yBACC,wBACA,M,C,AAH6B,AAAA,YAM/B,I,CAED,wDACA,6BACA,UACA,2D,C,uMAUI,OACL,yBACA,AAAI,KACA,AAAJ,IACA,YACA,+CACA,A,yBAEC,cACA,AAAI,QACJ,mCACA,A,OACC,QACA,I,CAED,Y,CAED,2BACA,wGACA,mD,AACA,wDACC,wB,CAED,4BACA,S,8MAKK,OACL,2B,0GAKK,OAAqC,wB,sGAIrC,OAAuC,0B,wGAGvC,OACL,wBACA,U,uGAIK,OACL,2BACA,U,4GAIK,OACL,0BACA,U,0GAIK,OACL,cACA,cACA,uB,yGAIK,OACL,iBACA,cACA,uB,8GAIK,OACL,gBACA,cACA,uB,+JAIK,OACL,YACA,+CACA,c,sPAIK,OACL,YACA,+CACA,S,kPAIK,OACL,YACA,+CACA,gB,yPAIK,OACL,YACA,+CACA,W,6KAoDA,wBACA,U,4G,gE,gE,gE,gE,gE,+qC;8SC5PA,AAAA,WACA,yBACA,kFACA,4BACA,sGACA,0BACA,AAAG,mB,sCACF,S,CAED,iB,4JAIA,AAAI,YACJ,+GACA,A,sCACC,oB,CAED,AAAG,gG,2DACF,oB,O,0J,gE,gE,gE,gE,wJ"} diff --git a/_docs/public/blocks.png b/_docs/public/images/example/blocks.png similarity index 100% rename from _docs/public/blocks.png rename to _docs/public/images/example/blocks.png diff --git a/_docs/public/images/example/hue.png b/_docs/public/images/example/hue.png new file mode 100644 index 000000000..fd79118e7 Binary files /dev/null and b/_docs/public/images/example/hue.png differ diff --git a/_docs/public/images/example/keyboard.png b/_docs/public/images/example/keyboard.png new file mode 100644 index 000000000..e76dd3a41 Binary files /dev/null and b/_docs/public/images/example/keyboard.png differ diff --git a/_docs/public/images/example/mosaic.png b/_docs/public/images/example/mosaic.png new file mode 100644 index 000000000..3f435a611 Binary files /dev/null and b/_docs/public/images/example/mosaic.png differ diff --git a/_docs/public/images/example/perspective.png b/_docs/public/images/example/perspective.png new file mode 100644 index 000000000..b11d05377 Binary files /dev/null and b/_docs/public/images/example/perspective.png differ diff --git a/_docs/public/images/example/rotate.png b/_docs/public/images/example/rotate.png new file mode 100644 index 000000000..fae039fbb Binary files /dev/null and b/_docs/public/images/example/rotate.png differ diff --git a/_docs/public/index.html b/_docs/public/index.html index 19a25ea5b..d14a71900 100644 --- a/_docs/public/index.html +++ b/_docs/public/index.html @@ -22,27 +22,11 @@ limitations under the License. body { font-family: sans-serif; } -table.examples { - border-collapse: separate; - border-spacing: 0 1em; -} -table.examples td { - padding: 0; - vertical-align: top; -} -table.examples td.code pre { - height: 240px; - margin: 0; - overflow: auto; -} -table.examples td.screen { - padding-left: 1em; -} -table.examples iframe, table.examples img { +img.example { + background-color: #000; border-color: #999; border-style: solid; border-width: 1px; - overflow: hidden; } pre { background: #eee; @@ -56,6 +40,10 @@ pre {
  • Works on
    • Web browsers (powered by GopherJS) +
        +
      • Supported browsers: Chrome, Firefox, Safari on desktops
      • +
      +
    • Mac OS X
    • Linux (maybe)
    • Windows (possibly)
    • @@ -72,246 +60,21 @@ pre {

    Example

    - +

    -

    - - - - - + Ebiten example: hue - - - - - - + Ebiten example: keyboard - - - - - - + Ebiten example: mosaic - - - - - - + Ebiten example: perspective - - - - - - + Ebiten example: rotate -
    // blocks
    -
    -// Please read example/blocks/main.go and example/blocks/blocks/*.go
    Click to play!
    // hue
    -
    -package main
    -
    -import (
    -    "github.com/hajimehoshi/ebiten"
    -    "github.com/hajimehoshi/ebiten/ebitenutil"
    -    _ "image/jpeg"
    -    "log"
    -    "math"
    -)
    -
    -const (
    -    screenWidth  = 320
    -    screenHeight = 240
    -)
    -
    -var (
    -    count        int
    -    gophersImage *ebiten.Image
    -)
    -
    -func update(screen *ebiten.Image) error {
    -    count++
    -    w, h := gophersImage.Size()
    -    op := &ebiten.DrawImageOptions{}
    -    op.GeoM.Translate(float64(screenWidth-w)/2, float64(screenHeight-h)/2)
    -    op.ColorM.Concat(ebiten.RotateHue(float64(count%360) * 2 * math.Pi / 360))
    -    if err := screen.DrawImage(gophersImage, op); err != nil {
    -        return err
    -    }
    -    return nil
    -}
    -
    -func main() {
    -    var err error
    -    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
    -    if err != nil {
    -        log.Fatal(err)
    -    }
    -    if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Hue (Ebiten Demo)"); err != nil {
    -        log.Fatal(err)
    -    }
    -}
    -
    // mosaic
    -
    -package main
    -
    -import (
    -    "github.com/hajimehoshi/ebiten"
    -    "github.com/hajimehoshi/ebiten/ebitenutil"
    -    _ "image/jpeg"
    -    "log"
    -)
    -
    -const (
    -    screenWidth  = 320
    -    screenHeight = 240
    -)
    -
    -const mosaicRatio = 16
    -
    -var (
    -    gophersImage        *ebiten.Image
    -    gophersRenderTarget *ebiten.Image
    -)
    -
    -func update(screen *ebiten.Image) error {
    -    op := &ebiten.DrawImageOptions{}
    -    op.GeoM.Scale(1.0/mosaicRatio, 1.0/mosaicRatio)
    -    gophersRenderTarget.DrawImage(gophersImage, op)
    -    op = &ebiten.DrawImageOptions{}
    -    op.GeoM.Scale(mosaicRatio, mosaicRatio)
    -    screen.DrawImage(gophersRenderTarget, op)
    -    return nil
    -}
    -
    -func main() {
    -    var err error
    -    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
    -    if err != nil {
    -        log.Fatal(err)
    -    }
    -    w, h := gophersImage.Size()
    -    gophersRenderTarget, err = ebiten.NewImage(w/mosaicRatio, h/mosaicRatio, ebiten.FilterNearest)
    -    if err != nil {
    -        log.Fatal(err)
    -    }
    -    if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Mosaic (Ebiten Demo)"); err != nil {
    -        log.Fatal(err)
    -    }
    -}
    -
    // perspective
    -
    -package main
    -
    -import (
    -    "github.com/hajimehoshi/ebiten"
    -    "github.com/hajimehoshi/ebiten/ebitenutil"
    -    _ "image/jpeg"
    -    "log"
    -)
    -
    -const (
    -    screenWidth  = 320
    -    screenHeight = 240
    -)
    -
    -var (
    -    gophersImage *ebiten.Image
    -)
    -
    -type parts struct {
    -    image *ebiten.Image
    -}
    -
    -func (p parts) Len() int {
    -    _, h := p.image.Size()
    -    return h
    -}
    -
    -func (p parts) Dst(i int) (x0, y0, x1, y1 int) {
    -    w, h := p.image.Size()
    -    width := w + i*3/4
    -    x := ((h - i) * 3 / 4) / 2
    -    return x, i, x + width, i + 1
    -}
    -
    -func (p parts) Src(i int) (x0, y0, x1, y1 int) {
    -    w, _ := p.image.Size()
    -    return 0, i, w, i + 1
    -}
    -
    -func update(screen *ebiten.Image) error {
    -    op := &ebiten.DrawImageOptions{
    -        ImageParts: &parts{gophersImage},
    -    }
    -    w, h := gophersImage.Size()
    -    maxWidth := float64(w) + float64(h)*0.75
    -    op.GeoM.Translate(-maxWidth/2, -float64(h)/2)
    -    op.GeoM.Translate(screenWidth/2, screenHeight/2)
    -    screen.DrawImage(gophersImage, op)
    -    return nil
    -}
    -
    -func main() {
    -    var err error
    -    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
    -    if err != nil {
    -        log.Fatal(err)
    -    }
    -    if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Perspective (Ebiten Demo)"); err != nil {
    -        log.Fatal(err)
    -    }
    -}
    -
    // rotate
    -
    -package main
    -
    -import (
    -    "github.com/hajimehoshi/ebiten"
    -    "github.com/hajimehoshi/ebiten/ebitenutil"
    -    _ "image/jpeg"
    -    "log"
    -    "math"
    -)
    -
    -const (
    -    screenWidth  = 320
    -    screenHeight = 240
    -)
    -
    -var (
    -    count        int
    -    gophersImage *ebiten.Image
    -)
    -
    -func update(screen *ebiten.Image) error {
    -    count++
    -    w, h := gophersImage.Size()
    -    op := &ebiten.DrawImageOptions{}
    -    op.GeoM.Translate(-float64(w)/2, -float64(h)/2)
    -    op.GeoM.Rotate(float64(count%360) * 2 * math.Pi / 360)
    -    op.GeoM.Translate(screenWidth/2, screenHeight/2)
    -    if err := screen.DrawImage(gophersImage, op); err != nil {
    -        return err
    -    }
    -    return nil
    -}
    -
    -func main() {
    -    var err error
    -    gophersImage, _, err = ebitenutil.NewImageFromFile("images/gophers.jpg", ebiten.FilterNearest)
    -    if err != nil {
    -        log.Fatal(err)
    -    }
    -    if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Rotate (Ebiten Demo)"); err != nil {
    -        log.Fatal(err)
    -    }
    -}
    -
    + Ebiten example: blocks + +

    Install on Mac OS X

    :; brew install glew
    @@ -325,19 +88,16 @@ func main() {
     
    :; cd $GOHOME/src/github.com/hajimehoshi/ebiten/example
     :; go run rotate/main.go
    -

    Execute the example on a web browser

    -

    If you can the example screens above, Ebiten is working on your browser! Each example above works as an independent html in an iframe. If you want to execute the examples apart from this site, execute this:

    -
    :; go run $GOPATH/src/github.com/hajimehoshi/ebiten/example/server/main.go
    -

    Then, open localhost:8000 on your browser.

    -

    localhost:8000/?EXAMPLE_NAME shows other examples (e.g. localhost:8000/?rotate).

    -

    Of cource, you can execute gopherjs yourself. Please see GopherJS site for more detail.

    +

    Run your game on a desktop

    +

    Just execute your Go program. That's it!

    Run your game on a web browser

    -

    Compile your game with GopherJS:

    +

    Compile your game with GopherJS:

    :; gopherjs build -o yourgame.js path/to/yourgame

    Then, open the below HTML on your HTTP server:

    <!DOCTYPE html>
     <script src="yourgame.js"></script>
    +

    NOTE: file:// URL may not work with Ebiten. Execute your game on a HTTP server.

    Change Log

    2015-??-??

    @@ -352,6 +112,7 @@ func main() {
  • A lot of keyboard keys have been added. KeyMax and MouseButtonMax were removed.
  • +
  • The game is stopped when the window is not active.
  • @@ -386,3 +147,5 @@ limitations under the License.

    Go Gopher photograph

    The original photograph of Go gophers by Chris Nokleberg is licensed under the Creative Commons 3.0 Attributions license.

    + + diff --git a/example/hue/main.go b/example/hue/main.go index e07737d66..017cf5028 100644 --- a/example/hue/main.go +++ b/example/hue/main.go @@ -50,7 +50,7 @@ func main() { if err != nil { log.Fatal(err) } - if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Hue (Ebiten Demo)"); err != nil { + if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Hue (Ebiten Demo)"); err != nil { log.Fatal(err) } } diff --git a/example/mosaic/main.go b/example/mosaic/main.go index 31f37119b..2f1c6c650 100644 --- a/example/mosaic/main.go +++ b/example/mosaic/main.go @@ -54,7 +54,7 @@ func main() { if err != nil { log.Fatal(err) } - if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Mosaic (Ebiten Demo)"); err != nil { + if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Mosaic (Ebiten Demo)"); err != nil { log.Fatal(err) } } diff --git a/example/perspective/main.go b/example/perspective/main.go index db90f5591..b22925455 100644 --- a/example/perspective/main.go +++ b/example/perspective/main.go @@ -69,7 +69,7 @@ func main() { if err != nil { log.Fatal(err) } - if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Perspective (Ebiten Demo)"); err != nil { + if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Perspective (Ebiten Demo)"); err != nil { log.Fatal(err) } } diff --git a/example/rotate/main.go b/example/rotate/main.go index c779c6447..50e5d546d 100644 --- a/example/rotate/main.go +++ b/example/rotate/main.go @@ -51,7 +51,7 @@ func main() { if err != nil { log.Fatal(err) } - if err := ebiten.Run(update, screenWidth, screenHeight, 1, "Rotate (Ebiten Demo)"); err != nil { + if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Rotate (Ebiten Demo)"); err != nil { log.Fatal(err) } } diff --git a/internal/ui/ui_js.go b/internal/ui/ui_js.go index 39e40b441..d9ac7fe31 100644 --- a/internal/ui/ui_js.go +++ b/internal/ui/ui_js.go @@ -27,8 +27,7 @@ var canvas js.Object var context *opengl.Context func shown() bool { - w := js.Global.Get("window").Get("top") - return !w.Get("document").Get("hidden").Bool() + return !js.Global.Get("document").Get("hidden").Bool() } func Use(f func(*opengl.Context)) {