Mercurial > hg > ugly-duckling
changeset 80:c7c57c2330ce
Merge pull request #3 from LucasThompson/feature/dynamically-load-remote-extractors
Feature/dynamically load remote extractors
author | Lucas Thompson <LucasThompson@users.noreply.github.com> |
---|---|
date | Wed, 18 Jan 2017 17:50:39 +0000 |
parents | f94a9bb319e3 (current diff) 5fb318ac16d5 (diff) |
children | 13955649f5af 5eb83175bed8 |
files | |
diffstat | 10 files changed, 191 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/angular-cli.json Mon Dec 19 14:18:09 2016 +0000 +++ b/angular-cli.json Wed Jan 18 17:50:39 2017 +0000 @@ -21,6 +21,7 @@ "styles.css" ], "scripts": [ + "../node_modules/requirejs/require.js", "externals.ts" ], "environments": {
--- a/package.json Mon Dec 19 14:18:09 2016 +0000 +++ b/package.json Wed Jan 18 17:50:39 2017 +0000 @@ -24,6 +24,7 @@ "core-js": "^2.4.1", "hammerjs": "^2.0.8", "piper": "bitbucket:ltdsp/piper-js", + "requirejs": "^2.3.2", "rxjs": "5.0.0-beta.12", "ts-helpers": "^1.1.1", "waves-ui": "github:wavesjs/ui",
--- a/src/app/app.module.ts Mon Dec 19 14:18:09 2016 +0000 +++ b/src/app/app.module.ts Wed Jan 18 17:50:39 2017 +0000 @@ -1,5 +1,5 @@ import { BrowserModule } from '@angular/platform-browser'; -import { NgModule } from '@angular/core'; +import {NgModule} from '@angular/core'; import { FormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; @@ -37,7 +37,8 @@ {provide: HTMLAudioElement, useValue: new Audio()}, // TODO use something more generic than HTMLAudioElement {provide: 'AudioContext', useValue: createAudioContext()}, // use a string token, Safari doesn't seem to like AudioContext AudioPlayerService, - FeatureExtractionService + FeatureExtractionService, + {provide: 'PiperRepoUri', useValue: 'assets/remote-plugins.json'} ], bootstrap: [AppComponent] })
--- a/src/app/feature-extraction-menu/feature-extraction-menu.component.html Mon Dec 19 14:18:09 2016 +0000 +++ b/src/app/feature-extraction-menu/feature-extraction-menu.component.html Wed Jan 18 17:50:39 2017 +0000 @@ -10,3 +10,7 @@ (click)="extract(extractorOutputs.value)" [disabled]="disabled">Extract</button> </p> +<p> + <button md-raised-button + (click)="load()">Load Remote Plugins</button> +</p>
--- a/src/app/feature-extraction-menu/feature-extraction-menu.component.ts Mon Dec 19 14:18:09 2016 +0000 +++ b/src/app/feature-extraction-menu/feature-extraction-menu.component.ts Wed Jan 18 17:50:39 2017 +0000 @@ -1,5 +1,10 @@ -import {Component, OnInit, Output, EventEmitter, Input} from '@angular/core'; +import { + Component, OnInit, Output, EventEmitter, Input, + OnDestroy +} from '@angular/core'; import {FeatureExtractionService} from "../services/feature-extraction/feature-extraction.service"; +import {ListResponse} from "piper"; +import {Subscription} from "rxjs"; export interface ExtractorOutputInfo { extractorKey: string; @@ -13,7 +18,7 @@ templateUrl: './feature-extraction-menu.component.html', styleUrls: ['./feature-extraction-menu.component.css'] }) -export class FeatureExtractionMenuComponent implements OnInit { +export class FeatureExtractionMenuComponent implements OnInit, OnDestroy { @Input() set disabled(isDisabled: boolean) { @@ -28,17 +33,16 @@ private isDisabled: boolean; private extractorsMap: Map<string, ExtractorOutputInfo>; + private populateExtractors: (available: ListResponse) => void; extractors: Iterable<ExtractorOutputInfo>; + private librariesUpdatedSubscription: Subscription; constructor(private piperService: FeatureExtractionService) { this.extractorsMap = new Map(); this.extractors = []; this.requestOutput = new EventEmitter<ExtractorOutputInfo>(); this.isDisabled = true; - } - - ngOnInit() { - this.piperService.list().then(available => { + this.populateExtractors = available => { const maxCharacterLimit = 50; available.available.forEach(staticData => { const isSingleOutputExtractor = staticData.basicOutputInfo.length === 1; @@ -57,11 +61,25 @@ }); }); this.extractors = [...this.extractorsMap.values()]; - }); + }; + } + + ngOnInit() { + this.piperService.list().then(this.populateExtractors); + this.librariesUpdatedSubscription = this.piperService.librariesUpdated$.subscribe(this.populateExtractors); } extract(combinedKey: string): void { this.requestOutput.emit(this.extractorsMap.get(combinedKey)); } + load(): void { + this.piperService.updateAvailableLibraries().subscribe(res => { + Object.keys(res).forEach(key => this.piperService.load(key)); + }); + } + + ngOnDestroy(): void { + this.librariesUpdatedSubscription.unsubscribe(); + } }
--- a/src/app/services/feature-extraction/FeatureExtractionWorker.ts Mon Dec 19 14:18:09 2016 +0000 +++ b/src/app/services/feature-extraction/FeatureExtractionWorker.ts Wed Jan 18 17:50:39 2017 +0000 @@ -2,27 +2,44 @@ * Created by lucas on 01/12/2016. */ -import { EmscriptenProxy } from 'piper'; -import { PiperSimpleClient } from 'piper/HigherLevelUtilities'; +import {EmscriptenProxy, ListRequest, ListResponse} from 'piper'; +import { + PiperSimpleClient, SimpleRequest, + SimpleResponse +} from 'piper/HigherLevelUtilities'; import { VampExamplePlugins } from 'piper/ext/VampExamplePluginsModule'; +import {AvailableLibraries} from "./feature-extraction.service"; // TODO TypeScript has a .d.ts file for webworkers, but for some reason it clashes with the typings for dom and causes compiler errors interface WorkerGlobalScope { onmessage: (this: this, ev: MessageEvent) => any; postMessage(data: any): void; + importScripts(uri: string): void; } interface MessageEvent { readonly data: any; } +type LibraryUri = string; +type LibraryKey = string; + +type RequireJs = (libs: string[], callback: (...libs: any[]) => void) => void; + export default class FeatureExtractionWorker { private workerScope: WorkerGlobalScope; - private piperClient: PiperSimpleClient; + private clients: Map<LibraryKey, PiperSimpleClient>; + private remoteLibraries: Map<LibraryKey, LibraryUri>; - constructor(workerScope: WorkerGlobalScope) { + constructor(workerScope: WorkerGlobalScope, private requireJs: RequireJs) { this.workerScope = workerScope; - this.piperClient = new PiperSimpleClient(new EmscriptenProxy(VampExamplePlugins())); + this.clients = new Map<LibraryKey, PiperSimpleClient>(); + this.remoteLibraries = new Map<LibraryKey, LibraryUri>(); + this.clients.set( + 'vamp-example-plugins', + new PiperSimpleClient(new EmscriptenProxy(VampExamplePlugins())) + ); + this.workerScope.onmessage = (ev: MessageEvent) => { const sendResponse = (result) => { this.workerScope.postMessage({ @@ -32,15 +49,67 @@ }; switch (ev.data.method) { case 'list': - this.piperClient.list({}).then(sendResponse); + this.list(ev.data.params) + .then(sendResponse) + .catch(err => console.error(err)); // TODO handle error break; case 'process': - this.piperClient.process(ev.data.params).then(sendResponse); + this.process(ev.data.params) + .then(sendResponse) + .catch(err => console.error(err)); // TODO handle error break; case 'collect': - this.piperClient.collect(ev.data.params).then(sendResponse).catch(err => console.error(err)); + this.collect(ev.data.params) + .then(sendResponse) + .catch(err => console.error(err)); // TODO handle error + break; + case 'import': + // this.workerScope.importScripts(ev.data.params); + const key: LibraryKey = ev.data.params; + if (this.remoteLibraries.has(key)) { + this.requireJs([this.remoteLibraries.get(key)], (plugin) => { + this.clients.set( + key, + new PiperSimpleClient(new EmscriptenProxy(plugin.createLibrary())) + ); // TODO won't always be an emscripten module + this.list({}).then(sendResponse); + }); + } else { + console.error('Non registered library key.'); // TODO handle error + } + break; + case 'addRemoteLibraries': // TODO rename + const available: AvailableLibraries = ev.data.params; + Object.keys(available).forEach(key => { + this.remoteLibraries.set(key, available[key]); + }); } }; } + private list(request: ListRequest): Promise<ListResponse> { + // TODO actually pay attention to ListRequest + return Promise.all([...this.clients.values()].map(client => client.list({}))) + .then(allAvailable => { + return { + available: allAvailable.reduce( + (all, current) => all.concat(current.available), + [] + ) + }; + }); + } + + // TODO reduce dupe + private process(request: SimpleRequest): Promise<SimpleResponse> { + const key: LibraryKey = request.key.split(':')[0]; + const client: PiperSimpleClient = this.clients.get(key); + return client ? client.process(request) : Promise.reject("Invalid plugin library key."); + } + + private collect(request: SimpleRequest): Promise<SimpleResponse> { + const key: LibraryKey = request.key.split(':')[0]; + const client: PiperSimpleClient = this.clients.get(key); + return client ? client.collect(request) : Promise.reject("Invalid plugin library key."); + } }
--- a/src/app/services/feature-extraction/feature-extraction.service.ts Mon Dec 19 14:18:09 2016 +0000 +++ b/src/app/services/feature-extraction/feature-extraction.service.ts Wed Jan 18 17:50:39 2017 +0000 @@ -1,4 +1,4 @@ -import {Injectable} from '@angular/core'; +import {Injectable, Inject} from '@angular/core'; import { ListResponse, ListRequest } from "piper"; @@ -7,6 +7,7 @@ } from "piper/HigherLevelUtilities"; import {Subject} from "rxjs/Subject"; import {Observable} from "rxjs"; +import {Http, Response} from "@angular/http"; interface RequestMessage<RequestType> { method: string; @@ -18,17 +19,33 @@ result: ResponseType; } +type RepoUri = string; +export interface AvailableLibraries { + [libraryKey: string]: RepoUri; +} + @Injectable() export class FeatureExtractionService { private worker: Worker; private featuresExtracted: Subject<SimpleResponse>; featuresExtracted$: Observable<SimpleResponse>; + private librariesUpdated: Subject<ListResponse>; + librariesUpdated$: Observable<ListResponse>; - constructor() { + constructor(private http: Http, @Inject('PiperRepoUri') private repositoryUri: RepoUri) { this.worker = new Worker('bootstrap-feature-extraction-worker.js'); this.featuresExtracted = new Subject<SimpleResponse>(); this.featuresExtracted$ = this.featuresExtracted.asObservable(); + this.librariesUpdated = new Subject<ListResponse>(); + this.librariesUpdated$ = this.librariesUpdated.asObservable(); + this.worker.addEventListener('message', (ev: MessageEvent) => { + const isValidResponse = ev.data.method === 'import' + && ev.data.result.available !== undefined; + if (isValidResponse) { + this.librariesUpdated.next(ev.data.result); + } + }); } list(): Promise<ListResponse> { @@ -58,6 +75,26 @@ }); } + updateAvailableLibraries(): Observable<AvailableLibraries> { + return this.http.get(this.repositoryUri) + .map(res => { + const map = res.json(); + this.worker.postMessage({ + method: 'addRemoteLibraries', + params: map + }); + return map; + }) + .catch((error: Response | any) => { + console.error(error); + return Observable.throw(error); + }); + } + + load(libraryKey: string): void { + this.worker.postMessage({method: 'import', params: libraryKey}); + } + private request<Req, Res>(request: RequestMessage<Req>, predicate: (ev: MessageEvent) => boolean) : Promise<ResponseMessage<Res>> {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/assets/VampTestPlugin.js Wed Jan 18 17:50:39 2017 +0000 @@ -0,0 +1,37 @@ +(function (factory) { + if (typeof module === 'object' && typeof module.exports === 'object') { + factory(module.exports); + } + else if (typeof define === 'function' && define.amd) { + define(["exports"], factory); + } +})(function (exports) { + "use strict"; + exports.createLibrary = function(Module) { + Module = Module || {}; + +var Module;if(!Module)Module=(typeof VampTestPluginModule!=="undefined"?VampTestPluginModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+32912;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_vamp_test_plugin_cpp()})},{func:(function(){__GLOBAL__sub_I_PluginLoader_cpp()})},{func:(function(){__GLOBAL__sub_I_PluginSummarisingAdapter_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});allocate([16,20,0,0,66,65,0,0,56,20,0,0,21,65,0,0,8,0,0,0,0,0,0,0,56,20,0,0,12,65,0,0,16,0,0,0,0,0,0,0,16,20,0,0,135,65,0,0,56,20,0,0,98,65,0,0,48,0,0,0,0,0,0,0,56,20,0,0,164,65,0,0,48,0,0,0,0,0,0,0,56,20,0,0,64,72,0,0,104,0,0,0,0,0,0,0,16,20,0,0,102,72,0,0,56,20,0,0,133,72,0,0,136,3,0,0,0,0,0,0,56,20,0,0,44,74,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,20,0,0,185,81,0,0,168,0,0,0,0,0,0,0,16,20,0,0,213,81,0,0,56,20,0,0,0,82,0,0,200,3,0,0,0,0,0,0,56,20,0,0,66,82,0,0,56,4,0,0,0,0,0,0,56,20,0,0,135,82,0,0,40,1,0,0,0,0,0,0,56,20,0,0,169,84,0,0,240,0,0,0,0,0,0,0,16,20,0,0,194,84,0,0,16,20,0,0,224,84,0,0,56,20,0,0,35,85,0,0,40,1,0,0,0,0,0,0,56,20,0,0,83,85,0,0,40,1,0,0,0,0,0,0,16,20,0,0,15,87,0,0,56,20,0,0,38,87,0,0,224,0,0,0,0,0,0,0,16,20,0,0,143,87,0,0,56,20,0,0,163,87,0,0,112,1,0,0,0,0,0,0,56,20,0,0,183,87,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,20,0,0,237,88,0,0,56,1,0,0,0,0,0,0,56,20,0,0,31,88,0,0,56,1,0,0,0,0,0,0,56,20,0,0,212,91,0,0,136,3,0,0,0,0,0,0,56,20,0,0,29,92,0,0,136,3,0,0,0,0,0,0,56,20,0,0,100,92,0,0,192,1,0,0,0,0,0,0,56,20,0,0,122,92,0,0,56,1,0,0,0,0,0,0,56,20,0,0,221,92,0,0,136,3,0,0,0,0,0,0,56,20,0,0,41,93,0,0,240,1,0,0,0,0,0,0,56,20,0,0,59,93,0,0,56,1,0,0,0,0,0,0,56,20,0,0,95,93,0,0,136,3,0,0,0,0,0,0,56,20,0,0,170,93,0,0,32,2,0,0,0,0,0,0,56,20,0,0,192,93,0,0,56,1,0,0,0,0,0,0,56,20,0,0,228,93,0,0,136,3,0,0,0,0,0,0,56,20,0,0,45,94,0,0,80,2,0,0,0,0,0,0,56,20,0,0,68,94,0,0,56,1,0,0,0,0,0,0,56,20,0,0,104,94,0,0,136,3,0,0,0,0,0,0,56,20,0,0,178,94,0,0,128,2,0,0,0,0,0,0,56,20,0,0,197,94,0,0,56,1,0,0,0,0,0,0,56,20,0,0,234,94,0,0,136,3,0,0,0,0,0,0,56,20,0,0,48,95,0,0,176,2,0,0,0,0,0,0,16,20,0,0,61,95,0,0,56,20,0,0,74,95,0,0,176,2,0,0,0,0,0,0,56,20,0,0,90,95,0,0,184,2,0,0,0,0,0,0,16,20,0,0,107,95,0,0,56,20,0,0,120,95,0,0,216,2,0,0,0,0,0,0,56,20,0,0,153,95,0,0,224,2,0,0,0,0,0,0,56,20,0,0,223,95,0,0,224,2,0,0,0,0,0,0,56,20,0,0,187,95,0,0,0,3,0,0,0,0,0,0,56,20,0,0,1,96,0,0,240,2,0,0,0,0,0,0,56,20,0,0,38,96,0,0,240,2,0,0,0,0,0,0,56,20,0,0,127,117,0,0,208,3,0,0,0,0,0,0,56,20,0,0,190,117,0,0,208,3,0,0,0,0,0,0,56,20,0,0,214,117,0,0,200,3,0,0,0,0,0,0,56,20,0,0,239,117,0,0,200,3,0,0,0,0,0,0,16,20,0,0,7,118,0,0,96,20,0,0,32,118,0,0,0,0,0,0,1,0,0,0,128,3,0,0,0,0,0,0,16,20,0,0,62,118,0,0,56,20,0,0,80,118,0,0,160,3,0,0,0,0,0,0,56,20,0,0,122,118,0,0,160,3,0,0,0,0,0,0,16,20,0,0,164,118,0,0,16,20,0,0,213,118,0,0,96,20,0,0,6,119,0,0,0,0,0,0,1,0,0,0,168,3,0,0,3,244,255,255,96,20,0,0,53,119,0,0,0,0,0,0,1,0,0,0,184,3,0,0,3,244,255,255,96,20,0,0,100,119,0,0,0,0,0,0,1,0,0,0,168,3,0,0,3,244,255,255,96,20,0,0,147,119,0,0,0,0,0,0,1,0,0,0,184,3,0,0,3,244,255,255,96,20,0,0,194,119,0,0,3,0,0,0,2,0,0,0,216,3,0,0,2,0,0,0,8,4,0,0,2,8,0,0,56,20,0,0,19,120,0,0,128,3,0,0,0,0,0,0,96,20,0,0,41,120,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,120,10,0,0,2,0,0,0,96,20,0,0,59,120,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,96,20,0,0,93,120,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,96,20,0,0,128,120,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,56,20,0,0,163,120,0,0,200,4,0,0,0,0,0,0,56,20,0,0,197,120,0,0,200,4,0,0,0,0,0,0,96,20,0,0,232,120,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,56,20,0,0,10,121,0,0,88,4,0,0,0,0,0,0,56,20,0,0,32,121,0,0,88,4,0,0,0,0,0,0,56,20,0,0,52,121,0,0,88,4,0,0,0,0,0,0,96,20,0,0,72,121,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,120,10,0,0,2,0,0,0,56,20,0,0,90,121,0,0,88,4,0,0,0,0,0,0,56,20,0,0,111,121,0,0,88,4,0,0,0,0,0,0,96,20,0,0,132,121,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,136,10,0,0,0,0,0,0,96,20,0,0,200,121,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,160,10,0,0,0,0,0,0,96,20,0,0,12,122,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,184,10,0,0,0,0,0,0,96,20,0,0,80,122,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,208,10,0,0,0,0,0,0,96,20,0,0,148,122,0,0,0,0,0,0,3,0,0,0,88,4,0,0,2,0,0,0,232,10,0,0,2,0,0,0,240,10,0,0,0,8,0,0,96,20,0,0,217,122,0,0,0,0,0,0,3,0,0,0,88,4,0,0,2,0,0,0,232,10,0,0,2,0,0,0,248,10,0,0,0,8,0,0,96,20,0,0,30,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,0,11,0,0,0,8,0,0,96,20,0,0,99,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,0,11,0,0,0,8,0,0,96,20,0,0,168,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,96,20,0,0,196,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,96,20,0,0,224,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,96,20,0,0,252,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,96,20,0,0,24,124,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,16,11,0,0,0,0,0,0,96,20,0,0,94,124,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,24,11,0,0,0,0,0,0,96,20,0,0,164,124,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,32,11,0,0,0,0,0,0,96,20,0,0,234,124,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,40,11,0,0,0,0,0,0,96,20,0,0,48,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,48,11,0,0,2,0,0,0,96,20,0,0,69,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,48,11,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,20,0,0,124,128,0,0,16,20,0,0,101,128,0,0,96,20,0,0,79,128,0,0,0,0,0,0,1,0,0,0,64,11,0,0,0,0,0,0,96,20,0,0,32,128,0,0,0,0,0,0,1,0,0,0,64,11,0,0,0,0,0,0,96,20,0,0,10,128,0,0,0,0,0,0,1,0,0,0,56,11,0,0,0,0,0,0,96,20,0,0,219,127,0,0,0,0,0,0,1,0,0,0,56,11,0,0,0,0,0,0,16,20,0,0,200,127,0,0,16,20,0,0,166,127,0,0,16,20,0,0,132,127,0,0,16,20,0,0,111,127,0,0,16,20,0,0,90,127,0,0,16,20,0,0,65,127,0,0,16,20,0,0,40,127,0,0,16,20,0,0,15,127,0,0,16,20,0,0,246,126,0,0,16,20,0,0,222,126,0,0,16,20,0,0,241,127,0,0,16,20,0,0,54,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,72,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,112,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,5,0,0,0,8,0,0,0,0,0,0,0,88,0,0,0,9,0,0,0,10,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,128,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,1,0,0,0,13,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,64,0,0,0,0,0,0,0,192,0,0,0,14,0,0,0,15,0,0,0,56,0,0,0,248,255,255,255,192,0,0,0,16,0,0,0,17,0,0,0,192,255,255,255,192,255,255,255,192,0,0,0,18,0,0,0,19,0,0,0,64,0,0,0,0,0,0,0,216,3,0,0,20,0,0,0,21,0,0,0,192,255,255,255,192,255,255,255,216,3,0,0,22,0,0,0,23,0,0,0,0,0,0,0,176,0,0,0,24,0,0,0,25,0,0,0,14,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,11,0,0,0,7,0,0,0,3,0,0,0,8,0,0,0,24,13,0,0,240,13,0,0,84,13,0,0,104,13,0,0,44,14,0,0,64,14,0,0,24,14,0,0,4,14,0,0,64,13,0,0,44,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,56,4,0,0,26,0,0,0,27,0,0,0,56,0,0,0,248,255,255,255,56,4,0,0,28,0,0,0,29,0,0,0,192,255,255,255,192,255,255,255,56,4,0,0,30,0,0,0,31,0,0,0,56,0,0,0,0,0,0,0,8,4,0,0,32,0,0,0,33,0,0,0,200,255,255,255,200,255,255,255,8,4,0,0,34,0,0,0,35,0,0,0,0,0,0,0,208,0,0,0,36,0,0,0,37,0,0,0,12,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,13,0,0,0,20,0,0,0,2,0,0,0,2,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,2,0,0,0,38,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,248,0,0,0,39,0,0,0,40,0,0,0,0,0,0,0,0,1,0,0,41,0,0,0,42,0,0,0,12,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,13,0,0,0,20,0,0,0,2,0,0,0,3,0,0,0,21,0,0,0,22,0,0,0,27,0,0,0,24,0,0,0,3,0,0,0,43,0,0,0,14,0,0,0,19,0,0,0,20,0,0,0,17,0,0,0,18,0,0,0,28,0,0,0,4,0,0,0,29,0,0,0,0,0,0,0,16,1,0,0,44,0,0,0,45,0,0,0,12,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,13,0,0,0,20,0,0,0,2,0,0,0,3,0,0,0,21,0,0,0,22,0,0,0,27,0,0,0,24,0,0,0,4,0,0,0,46,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,17,0,0,0,18,0,0,0,28,0,0,0,5,0,0,0,29,0,0,0,0,0,0,0,32,1,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,1,0,0,49,0,0,0,50,0,0,0,12,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,13,0,0,0,20,0,0,0,2,0,0,0,3,0,0,0,21,0,0,0,22,0,0,0,27,0,0,0,24,0,0,0,5,0,0,0,43,0,0,0,14,0,0,0,19,0,0,0,20,0,0,0,17,0,0,0,18,0,0,0,28,0,0,0,6,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,1,0,0,24,0,0,0,9,0,0,0,10,0,0,0,30,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,11,0,0,0,29,0,0,0,12,0,0,0,51,0,0,0,52,0,0,0,0,0,0,0,80,1,0,0,30,0,0,0,13,0,0,0,14,0,0,0,31,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,32,0,0,0,16,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,2,0,0,55,0,0,0,56,0,0,0,57,0,0,0,5,0,0,0,58,0,0,0,0,0,0,0,16,2,0,0,33,0,0,0,17,0,0,0,18,0,0,0,32,0,0,0,2,0,0,0,34,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,0,2,0,0,61,0,0,0,62,0,0,0,63,0,0,0,5,0,0,0,64,0,0,0,0,0,0,0,224,1,0,0,35,0,0,0,19,0,0,0,20,0,0,0,33,0,0,0,3,0,0,0,36,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,65,0,0,0,0,0,0,0,208,1,0,0,66,0,0,0,67,0,0,0,68,0,0,0,5,0,0,0,69,0,0,0,0,0,0,0,192,1,0,0,37,0,0,0,21,0,0,0,22,0,0,0,34,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,176,1,0,0,37,0,0,0,21,0,0,0,22,0,0,0,34,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,38,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,70,0,0,0,72,0,0,0,0,0,0,0,160,1,0,0,73,0,0,0,74,0,0,0,75,0,0,0,5,0,0,0,76,0,0,0,0,0,0,0,112,1,0,0,24,0,0,0,9,0,0,0,10,0,0,0,30,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,51,0,0,0,77,0,0,0,0,0,0,0,144,1,0,0,78,0,0,0,79,0,0,0,80,0,0,0,5,0,0,0,81,0,0,0,0,0,0,0,128,1,0,0,30,0,0,0,13,0,0,0,14,0,0,0,31,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,53,0,0,0,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,2,0,0,83,0,0,0,84,0,0,0,85,0,0,0,5,0,0,0,86,0,0,0,0,0,0,0,112,2,0,0,39,0,0,0,23,0,0,0,24,0,0,0,35,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,87,0,0,0,0,0,0,0,96,2,0,0,88,0,0,0,89,0,0,0,90,0,0,0,5,0,0,0,91,0,0,0,0,0,0,0,64,2,0,0,40,0,0,0,25,0,0,0,26,0,0,0,36,0,0,0,1,0,0,0,25,0,0,0,41,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,92,0,0,0,2,0,0,0,0,0,0,0,160,2,0,0,93,0,0,0,94,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,184,2,0,0,95,0,0,0,96,0,0,0,43,0,0,0,0,0,0,0,200,2,0,0,95,0,0,0,97,0,0,0,43,0,0,0,0,0,0,0,240,2,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,4,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,32,3,0,0,98,0,0,0,102,0,0,0,100,0,0,0,101,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,8,0,0,0,0,0,0,0,48,3,0,0,98,0,0,0,103,0,0,0,100,0,0,0,101,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,202,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,60,22,0,0,172,22,0,0,28,23,0,0,28,23,0,0,12,63,0,0,140,31,0,0,140,25,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,104,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,96,111,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,7,0,0,0,88,107,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+8072);allocate([64,3,0,0,104,0,0,0,105,0,0,0,37,0,0,0,10,0,0,0,5,0,0,0,10,0,0,0,45,0,0,0,46,0,0,0,11,0,0,0,47,0,0,0,48,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,0,0,0,0,80,3,0,0,104,0,0,0,106,0,0,0,38,0,0,0,10,0,0,0,5,0,0,0,10,0,0,0,49,0,0,0,46,0,0,0,11,0,0,0,50,0,0,0,51,0,0,0,29,0,0,0,13,0,0,0,30,0,0,0,0,0,0,0,96,3,0,0,107,0,0,0,108,0,0,0,39,0,0,0,1,0,0,0,6,0,0,0,11,0,0,0,52,0,0,0,9,0,0,0,2,0,0,0,53,0,0,0,11,0,0,0,31,0,0,0,14,0,0,0,32,0,0,0,0,0,0,0,112,3,0,0,107,0,0,0,109,0,0,0,40,0,0,0,1,0,0,0,6,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,54,0,0,0,55,0,0,0,33,0,0,0,3,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,3,0,0,107,0,0,0,110,0,0,0,14,0,0,0,1,0,0,0,6,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,53,0,0,0,11,0,0,0,31,0,0,0,3,0,0,0,34,0,0,0,0,0,0,0,208,3,0,0,104,0,0,0,111,0,0,0,41,0,0,0,10,0,0,0,5,0,0,0,10,0,0,0,49,0,0,0,46,0,0,0,11,0,0,0,47,0,0,0,48,0,0,0,27,0,0,0,13,0,0,0,30,0,0,0,8,0,0,0,0,0,0,0,216,3,0,0,20,0,0,0,21,0,0,0,248,255,255,255,248,255,255,255,216,3,0,0,22,0,0,0,23,0,0,0,8,0,0,0,0,0,0,0,240,3,0,0,112,0,0,0,113,0,0,0,248,255,255,255,248,255,255,255,240,3,0,0,114,0,0,0,115,0,0,0,4,0,0,0,0,0,0,0,8,4,0,0,32,0,0,0,33,0,0,0,252,255,255,255,252,255,255,255,8,4,0,0,34,0,0,0,35,0,0,0,4,0,0,0,0,0,0,0,32,4,0,0,116,0,0,0,117,0,0,0,252,255,255,255,252,255,255,255,32,4,0,0,118,0,0,0,119,0,0,0,0,0,0,0,160,3,0,0,120,0,0,0,121,0,0,0,0,0,0,0,56,5,0,0,122,0,0,0,123,0,0,0,124,0,0,0,1,0,0,0,12,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,5,0,0,125,0,0,0,126,0,0,0,124,0,0,0,2,0,0,0,13,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,5,0,0,127,0,0,0,128,0,0,0,124,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,5,0,0,129,0,0,0,130,0,0,0,124,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,5,0,0,131,0,0,0,132,0,0,0,124,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,5,0,0,133,0,0,0,134,0,0,0,124,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,6,0,0,135,0,0,0,136,0,0,0,124,0,0,0,56,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,24,6,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,6,0,0,137,0,0,0,138,0,0,0,124,0,0,0,64,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,64,6,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,6,0,0,139,0,0,0,140,0,0,0,124,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,6,0,0,141,0,0,0,142,0,0,0,124,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,6,0,0,143,0,0,0,144,0,0,0,124,0,0,0,72,0,0,0,73,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,74,0,0,0,46,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,6,0,0,145,0,0,0,146,0,0,0,124,0,0,0,75,0,0,0,76,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,77,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,0,0,147,0,0,0,148,0,0,0,124,0,0,0,78,0,0,0,79,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,80,0,0,0,58,0,0,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,7,0,0,149,0,0,0,150,0,0,0,124,0,0,0,81,0,0,0,82,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,83,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,7,0,0,151,0,0,0,152,0,0,0,124,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,7,0,0,153,0,0,0,154,0,0,0,124,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,7,0,0,155,0,0,0,156,0,0,0,124,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,7,0,0,157,0,0,0,158,0,0,0,124,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,7,0,0,159,0,0,0,160,0,0,0,124,0,0,0,17,0,0,0,7,0,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,7,0,0,161,0,0,0,162,0,0,0,124,0,0,0,18,0,0,0,8,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,5,0,0,163,0,0,0,164,0,0,0,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,5,0,0,165,0,0,0,166,0,0,0,124,0,0,0,35,0,0,0,19,0,0,0,36,0,0,0,20,0,0,0,37,0,0,0,6,0,0,0,21,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,0,0,167,0,0,0,168,0,0,0,124,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,84,0,0,0,85,0,0,0,13,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,5,0,0,169,0,0,0,170,0,0,0,124,0,0,0,87,0,0,0,88,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,0,0,0,0,136,5,0,0,171,0,0,0,172,0,0,0,124,0,0,0,89,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,0,0,0,0,88,4,0,0,173,0,0,0,174,0,0,0,124,0,0,0,0,0,0,0,104,4,0,0,173,0,0,0,175,0,0,0,124,0,0,0,22,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,38,0,0,0,23,0,0,0,39,0,0,0,24,0,0,0,40,0,0,0,10,0,0,0,25,0,0,0,14,0,0,0,0,0,0,0,136,4,0,0,173,0,0,0,176,0,0,0,124,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,91,0,0,0,92,0,0,0,16,0,0,0,93,0,0,0,0,0,0,0,168,4,0,0,173,0,0,0,177,0,0,0,124,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,94,0,0,0,95,0,0,0,18,0,0,0,96,0,0,0,0,0,0,0,200,4,0,0,173,0,0,0,178,0,0,0,124,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,97,0,0,0,98,0,0,0,20,0,0,0,99,0,0,0,0,0,0,0,232,4,0,0,173,0,0,0,179,0,0,0,124,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,97,0,0,0,98,0,0,0,20,0,0,0,99,0,0,0,0,0,0,0,248,4,0,0,173,0,0,0,180,0,0,0,124,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,97,0,0,0,98,0,0,0,20,0,0,0,99,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,65,100,97,112,116,101,114,0,78,53,112,105,112,101,114,49,54,80,105,112,101,114,65,100,97,112,116,101,114,66,97,115,101,73,49,52,86,97,109,112,84,101,115,116,80,108,117,103,105,110,69,69,0,78,53,112,105,112,101,114,50,49,80,105,112,101,114,65,100,97,112,116,101,114,73,110,116,101,114,102,97,99,101,69,0,78,53,112,105,112,101,114,50,54,67,111,117,110,116,105,110,103,80,108,117,103,105,110,72,97,110,100,108,101,77,97,112,112,101,114,69,0,78,53,112,105,112,101,114,49,56,80,108,117,103,105,110,72,97,110,100,108,101,77,97,112,112,101,114,69,0,78,53,112,105,112,101,114,50,54,65,115,115,105,103,110,101,100,80,108,117,103,105,110,72,97,110,100,108,101,77,97,112,112,101,114,69,0,105,110,118,97,108,105,100,32,106,115,111,110,58,32,0,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,32,97,116,32,116,111,112,32,108,101,118,101,108,0,109,97,112,58,58,97,116,58,32,32,107,101,121,32,110,111,116,32,102,111,117,110,100,0,102,97,105,108,101,100,32,116,111,32,99,111,110,115,116,114,117,99,116,32,112,108,117,103,105,110,32,119,105,116,104,32,107,101,121,32,0,110,111,32,97,100,97,112,116,101,114,32,102,111,114,32,112,108,117,103,105,110,32,107,101,121,32,0,99,111,110,102,105,103,117,114,97,116,105,111,110,32,102,97,105,108,101,100,32,40,119,114,111,110,103,32,99,104,97,110,110,101,108,32,99,111,117,110,116,44,32,115,116,101,112,32,115,105,122,101,44,32,98,108,111,99,107,32,115,105,122,101,63,41,0,117,110,107,110,111,119,110,32,112,108,117,103,105,110,32,104,97,110,100,108,101,0,112,108,117,103,105,110,32,104,97,115,32,110,111,116,32,98,101,101,110,32,99,111,110,102,105,103,117,114,101,100,0,105,100,0,117,110,107,110,111,119,110,32,111,114,32,105,110,118,97,108,105,100,32,112,108,117,103,105,110,32,104,97,110,100,108,101,0,112,108,117,103,105,110,32,104,97,115,32,97,108,114,101,97,100,121,32,98,101,101,110,32,99,111,110,102,105,103,117,114,101,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,115,117,112,112,108,105,101,100,0,119,114,111,110,103,32,98,108,111,99,107,32,115,105,122,101,32,115,117,112,112,108,105,101,100,0,105,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,104,97,110,100,108,101,0,102,101,97,116,117,114,101,115,0,109,101,116,104,111,100,0,102,105,110,105,115,104,0,114,101,115,117,108,116,0,102,101,97,116,117,114,101,86,97,108,117,101,115,0,108,97,98,101,108,0,116,105,109,101,115,116,97,109,112,0,100,117,114,97,116,105,111,110,0,115,0,110,0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47,0,115,116,97,114,116,95,98,105,116,32,43,32,98,105,116,115,95,99,111,117,110,116,32,60,32,49,54,0,46,46,47,112,105,112,101,114,45,99,112,112,47,98,97,115,101,45,110,47,105,110,99,108,117,100,101,47,98,97,115,101,110,46,104,112,112,0,101,120,116,114,97,99,116,95,111,118,101,114,108,97,112,112,105,110,103,95,98,105,116,115,0,106,115,111,110,114,112,99,0,50,46,48,0,112,97,114,97,109,115,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,109,101,116,104,111,100,0,101,120,112,101,99,116,101,100,32,118,97,108,117,101,32,34,0,34,32,102,111,114,32,116,121,112,101,0,112,114,111,99,101,115,115,0,112,114,111,99,101,115,115,73,110,112,117,116,0,109,97,108,102,111,114,109,101,100,32,112,114,111,99,101,115,115,32,114,101,113,117,101,115,116,58,32,0,105,110,112,117,116,66,117,102,102,101,114,115,0,101,120,112,101,99,116,101,100,32,97,114,114,97,121,115,32,111,114,32,115,116,114,105,110,103,115,32,105,110,32,105,110,112,117,116,66,117,102,102,101,114,115,32,97,114,114,97,121,0,105,110,118,97,108,105,100,32,86,97,109,112,58,58,82,101,97,108,84,105,109,101,32,111,98,106,101,99,116,32,0,99,111,110,102,105,103,117,114,101,0,70,97,105,108,101,100,32,116,111,32,99,111,110,102,105,103,117,114,101,32,112,108,117,103,105,110,0,111,117,116,112,117,116,76,105,115,116,0,98,97,115,105,99,0,99,111,110,102,105,103,117,114,101,100,0,117,110,105,116,0,79,110,101,83,97,109,112,108,101,80,101,114,83,116,101,112,0,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,0,86,97,114,105,97,98,108,101,83,97,109,112,108,101,82,97,116,101,0,115,97,109,112,108,101,84,121,112,101,0,115,97,109,112,108,101,82,97,116,101,0,104,97,115,68,117,114,97,116,105,111,110,0,98,105,110,67,111,117,110,116,0,98,105,110,78,97,109,101,115,0,101,120,116,101,110,116,115,0,113,117,97,110,116,105,122,101,83,116,101,112,0,109,105,110,0,109,97,120,0,105,100,101,110,116,105,102,105,101,114,0,110,97,109,101,0,100,101,115,99,114,105,112,116,105,111,110,0,99,111,110,102,105,103,117,114,97,116,105,111,110,0,109,97,108,102,111,114,109,101,100,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,114,101,113,117,101,115,116,58,32,0,99,104,97,110,110,101,108,67,111,117,110,116,0,115,116,101,112,83,105,122,101,0,98,108,111,99,107,83,105,122,101,0,109,97,108,102,111,114,109,101,100,32,112,108,117,103,105,110,32,99,111,110,102,105,103,117,114,97,116,105,111,110,58,32,0,112,97,114,97,109,101,116,101,114,86,97,108,117,101,115,0,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,32,102,111,114,32,112,97,114,97,109,101,116,101,114,32,118,97,108,117,101,115,0,110,117,109,98,101,114,32,101,120,112,101,99,116,101,100,32,102,111,114,32,112,97,114,97,109,101,116,101,114,32,118,97,108,117,101,0,99,117,114,114,101,110,116,80,114,111,103,114,97,109,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,112,114,111,103,114,97,109,32,110,97,109,101,0,108,111,97,100,0,70,97,105,108,101,100,32,116,111,32,108,111,97,100,32,112,108,117,103,105,110,0,115,116,97,116,105,99,68,97,116,97,0,100,101,102,97,117,108,116,67,111,110,102,105,103,117,114,97,116,105,111,110,0,107,101,121,0,109,97,107,101,114,0,99,111,112,121,114,105,103,104,116,0,118,101,114,115,105,111,110,0,99,97,116,101,103,111,114,121,0,109,105,110,67,104,97,110,110,101,108,67,111,117,110,116,0,109,97,120,67,104,97,110,110,101,108,67,111,117,110,116,0,112,97,114,97,109,101,116,101,114,115,0,112,114,111,103,114,97,109,115,0,105,110,112,117,116,68,111,109,97,105,110,0,84,105,109,101,68,111,109,97,105,110,0,70,114,101,113,117,101,110,99,121,68,111,109,97,105,110,0,98,97,115,105,99,79,117,116,112,117,116,73,110,102,111,0,100,101,102,97,117,108,116,86,97,108,117,101,0,118,97,108,117,101,78,97,109,101,115,0,69,82,82,79,82,58,32,68,117,112,108,105,99,97,116,101,32,112,108,117,103,105,110,32,104,97,110,100,108,101,32,0,32,102,111,114,32,112,108,117,103,105,110,32,0,32,40,97,108,114,101,97,100,121,32,117,115,101,100,32,102,111,114,32,112,108,117,103,105,110,32,0,68,117,112,108,105,99,97,116,101,32,112,108,117,103,105,110,32,104,97,110,100,108,101,0,78,53,112,105,112,101,114,50,55,68,101,102,97,117,108,116,80,108,117,103,105,110,79,117,116,112,117,116,73,100,77,97,112,112,101,114,69,0,78,53,112,105,112,101,114,50,48,80,108,117,103,105,110,79,117,116,112,117,116,73,100,77,97,112,112,101,114,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,53,112,105,112,101,114,50,55,68,101,102,97,117,108,116,80,108,117,103,105,110,79,117,116,112,117,116,73,100,77,97,112,112,101,114,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,105,110,112,117,116,83,97,109,112,108,101,82,97,116,101,0,109,97,108,102,111,114,109,101,100,32,108,111,97,100,32,114,101,113,117,101,115,116,58,32,0,97,100,97,112,116,101,114,70,108,97,103,115,0,97,114,114,97,121,32,101,120,112,101,99,116,101,100,32,102,111,114,32,97,100,97,112,116,101,114,32,102,108,97,103,115,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,97,100,97,112,116,101,114,32,102,108,97,103,0,65,100,97,112,116,73,110,112,117,116,68,111,109,97,105,110,0,65,100,97,112,116,67,104,97,110,110,101,108,67,111,117,110,116,0,65,100,97,112,116,66,117,102,102,101,114,83,105,122,101,0,65,100,97,112,116,65,108,108,83,97,102,101,0,65,100,97,112,116,65,108,108,0,105,110,118,97,108,105,100,32,97,100,97,112,116,101,114,32,102,108,97,103,32,115,116,114,105,110,103,58,32,0,97,118,97,105,108,97,98,108,101,0,108,105,115,116,0,105,110,118,97,108,105,100,0,117,110,107,110,111,119,110,32,111,114,32,117,110,101,120,112,101,99,116,101,100,32,114,101,113,117,101,115,116,47,114,101,115,112,111,110,115,101,32,116,121,112,101,32,34,0,34,0,99,111,100,101,0,109,101,115,115,97,103,101,0,101,114,114,111,114,32,105,110,32,0,32,114,101,113,117,101,115,116,58,32,0,101,114,114,111,114,0,49,52,86,97,109,112,84,101,115,116,80,108,117,103,105,110,0,118,97,109,112,45,116,101,115,116,45,112,108,117,103,105,110,45,102,114,101,113,0,118,97,109,112,45,116,101,115,116,45,112,108,117,103,105,110,0,86,97,109,112,32,84,101,115,116,32,80,108,117,103,105,110,32,40,70,114,101,113,117,101,110,99,121,45,68,111,109,97,105,110,32,73,110,112,117,116,41,0,86,97,109,112,32,84,101,115,116,32,80,108,117,103,105,110,0,84,101,115,116,32,112,108,117,103,105,110,32,102,111,114,32,104,111,115,116,115,32,104,97,110,100,108,105,110,103,32,118,97,114,105,111,117,115,32,111,117,116,112,117,116,32,116,121,112,101,115,0,67,104,114,105,115,32,67,97,110,110,97,109,0,66,83,68,0,112,114,111,100,117,99,101,95,111,117,116,112,117,116,0,80,114,111,100,117,99,101,32,115,111,109,101,32,111,117,116,112,117,116,0,87,104,101,116,104,101,114,32,116,111,32,112,114,111,100,117,99,101,32,97,110,121,32,111,117,116,112,117,116,46,32,73,102,32,116,104,105,115,32,112,97,114,97,109,101,116,101,114,32,105,115,32,115,119,105,116,99,104,101,100,32,111,102,102,44,32,116,104,101,32,112,108,117,103,105,110,32,119,105,108,108,32,112,114,111,100,117,99,101,32,110,111,32,111,117,116,112,117,116,46,32,84,104,105,115,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,98,97,115,105,99,32,116,101,115,116,105,110,103,32,111,102,32,119,104,101,116,104,101,114,32,97,32,104,111,115,116,39,115,32,112,97,114,97,109,101,116,101,114,32,115,101,116,116,105,110,103,32,108,111,103,105,99,32,105,115,32,102,117,110,99,116,105,111,110,105,110,103,46,0,105,110,115,116,97,110,116,115,0,73,110,115,116,97,110,116,115,0,83,105,110,103,108,101,32,116,105,109,101,32,112,111,105,110,116,115,32,119,105,116,104,111,117,116,32,118,97,108,117,101,115,0,99,117,114,118,101,45,111,115,115,0,67,117,114,118,101,58,32,79,110,101,83,97,109,112,108,101,80,101,114,83,116,101,112,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,111,110,101,32,118,97,108,117,101,32,112,101,114,32,112,114,111,99,101,115,115,32,98,108,111,99,107,0,99,117,114,118,101,45,102,115,114,0,67,117,114,118,101,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,101,113,117,97,108,108,121,45,115,112,97,99,101,100,32,118,97,108,117,101,115,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,0,99,117,114,118,101,45,102,115,114,45,116,105,109,101,100,0,67,117,114,118,101,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,47,84,105,109,101,100,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,97,32,102,105,120,101,100,32,115,97,109,112,108,101,32,114,97,116,101,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,32,98,117,116,32,119,105,116,104,32,116,105,109,101,115,116,97,109,112,115,32,111,110,32,102,101,97,116,117,114,101,115,0,99,117,114,118,101,45,102,115,114,45,109,105,120,101,100,0,67,117,114,118,101,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,47,77,105,120,101,100,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,97,32,102,105,120,101,100,32,115,97,109,112,108,101,32,114,97,116,101,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,32,97,110,100,32,119,105,116,104,32,116,105,109,101,115,116,97,109,112,115,32,111,110,32,115,111,109,101,32,102,101,97,116,117,114,101,115,0,99,117,114,118,101,45,118,115,114,0,67,117,114,118,101,58,32,86,97,114,105,97,98,108,101,83,97,109,112,108,101,82,97,116,101,0,65,32,118,97,114,105,97,98,108,121,45,115,112,97,99,101,100,32,115,101,114,105,101,115,32,111,102,32,118,97,108,117,101,115,0,103,114,105,100,45,111,115,115,0,71,114,105,100,58,32,79,110,101,83,97,109,112,108,101,80,101,114,83,116,101,112,0,65,32,102,105,120,101,100,45,104,101,105,103,104,116,32,103,114,105,100,32,111,102,32,118,97,108,117,101,115,32,119,105,116,104,32,111,110,101,32,99,111,108,117,109,110,32,112,101,114,32,112,114,111,99,101,115,115,32,98,108,111,99,107,0,103,114,105,100,45,102,115,114,0,71,114,105,100,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,0,65,32,102,105,120,101,100,45,104,101,105,103,104,116,32,103,114,105,100,32,111,102,32,118,97,108,117,101,115,32,119,105,116,104,32,101,113,117,97,108,108,121,45,115,112,97,99,101,100,32,99,111,108,117,109,110,115,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,0,110,111,116,101,115,45,114,101,103,105,111,110,115,0,78,111,116,101,115,32,111,114,32,82,101,103,105,111,110,115,0,86,97,114,105,97,98,108,121,45,115,112,97,99,101,100,32,102,101,97,116,117,114,101,115,32,119,105,116,104,32,111,110,101,32,118,97,108,117,101,32,97,110,100,32,100,117,114,97,116,105,111,110,0,105,110,112,117,116,45,115,117,109,109,97,114,121,0,68,97,116,97,32,100,101,114,105,118,101,100,32,102,114,111,109,32,105,110,112,117,116,115,0,79,110,101,45,115,97,109,112,108,101,45,112,101,114,45,115,116,101,112,32,102,101,97,116,117,114,101,115,32,119,105,116,104,32,110,32,118,97,108,117,101,115,44,32,119,104,101,114,101,32,110,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,110,112,117,116,32,99,104,97,110,110,101,108,115,46,32,69,97,99,104,32,102,101,97,116,117,114,101,32,99,111,110,116,97,105,110,115,44,32,102,111,114,32,101,97,99,104,32,105,110,112,117,116,32,99,104,97,110,110,101,108,44,32,116,104,101,32,102,105,114,115,116,32,115,97,109,112,108,101,32,118,97,108,117,101,32,111,110,32,116,104,97,116,32,99,104,97,110,110,101,108,32,112,108,117,115,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,110,111,110,45,122,101,114,111,32,115,97,109,112,108,101,115,32,111,110,32,116,104,97,116,32,99,104,97,110,110,101,108,46,32,40,34,78,111,110,45,122,101,114,111,34,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,99,111,109,112,97,114,105,115,111,110,32,97,103,97,105,110,115,116,32,97,32,109,97,103,110,105,116,117,100,101,32,116,104,114,101,115,104,111,108,100,32,119,104,105,99,104,32,105,115,32,97,99,116,117,97,108,108,121,32,49,101,45,54,32,114,97,116,104,101,114,32,116,104,97,110,32,101,120,97,99,116,108,121,32,122,101,114,111,46,41,0,105,110,112,117,116,45,116,105,109,101,115,116,97,109,112,0,73,110,112,117,116,32,116,105,109,101,115,116,97,109,112,0,79,110,101,45,115,97,109,112,108,101,45,112,101,114,45,115,116,101,112,32,102,101,97,116,117,114,101,115,32,119,105,116,104,32,111,110,101,32,118,97,108,117,101,44,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,116,105,109,101,32,105,110,32,115,97,109,112,108,101,32,102,114,97,109,101,115,32,99,111,110,118,101,114,116,101,100,32,102,114,111,109,32,116,104,101,32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104,101,32,99,111,114,114,101,115],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10624);allocate([112,111,110,100,105,110,103,32,112,114,111,99,101,115,115,32,105,110,112,117,116,32,98,108,111,99,107,46,0,115,97,109,112,108,101,115,0,32,97,116,32,0,32,100,117,114,46,32,0,78,49,49,95,86,97,109,112,80,108,117,103,105,110,52,86,97,109,112,54,80,108,117,103,105,110,69,0,78,49,49,95,86,97,109,112,80,108,117,103,105,110,52,86,97,109,112,49,48,80,108,117,103,105,110,66,97,115,101,69,0,32,115,110,97,112,32,116,111,32,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,56,98,97,115,105,99,95,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,50,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,69,0,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,105,110,112,117,116,32,115,116,101,112,83,105,122,101,32,109,117,115,116,32,98,101,32,101,113,117,97,108,32,116,111,32,98,108,111,99,107,83,105,122,101,32,102,111,114,32,116,104,105,115,32,97,100,97,112,116,101,114,32,40,115,116,101,112,83,105,122,101,32,61,32,0,44,32,98,108,111,99,107,83,105,122,101,32,61,32,0,41,0,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,87,65,82,78,73,78,71,58,32,115,116,101,112,32,115,105,122,101,32,0,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,98,108,111,99,107,32,115,105,122,101,32,0,58,32,99,97,110,110,111,116,32,104,97,110,100,108,101,32,116,104,105,115,32,105,110,32,97,100,97,112,116,101,114,59,32,97,100,106,117,115,116,105,110,103,32,98,108,111,99,107,32,115,105,122,101,32,116,111,32,0,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,112,114,111,99,101,115,115,58,32,69,82,82,79,82,58,32,80,108,117,103,105,110,32,104,97,115,32,110,111,116,32,98,101,101,110,32,105,110,105,116,105,97,108,105,115,101,100,0,87,65,82,78,73,78,71,58,32,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,73,109,112,108,58,58,112,114,111,99,101,115,115,58,32,0,66,117,102,102,101,114,32,111,118,101,114,102,108,111,119,58,32,119,114,111,116,101,32,0,32,111,102,32,0,32,105,110,112,117,116,32,115,97,109,112,108,101,115,32,40,102,111,114,32,112,108,117,103,105,110,32,115,116,101,112,32,115,105,122,101,32,0,44,32,98,108,111,99,107,32,115,105,122,101,32,0,70,101,97,116,117,114,101,32,69,120,116,114,97,99,116,105,111,110,32,80,108,117,103,105,110,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,54,80,108,117,103,105,110,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,49,48,80,108,117,103,105,110,66,97,115,101,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,50,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,52,73,109,112,108,49,48,82,105,110,103,66,117,102,102,101,114,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,48,80,108,117,103,105,110,67,104,97,110,110,101,108,65,100,97,112,116,101,114,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,52,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,69,0,82,101,97,108,32,70,70,84,32,111,112,116,105,109,105,122,97,116,105,111,110,32,109,117,115,116,32,98,101,32,101,118,101,110,46,10,0,107,105,115,115,32,102,102,116,32,117,115,97,103,101,32,101,114,114,111,114,58,32,105,109,112,114,111,112,101,114,32,97,108,108,111,99,10,0,69,82,82,79,82,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,98,108,111,99,107,115,105,122,101,32,60,32,50,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,82,82,79,82,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,111,100,100,32,98,108,111,99,107,115,105,122,101,32,0,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,87,65,82,78,73,78,71,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,98,108,111,99,107,115,105,122,101,32,60,32,50,32,110,111,116,0,115,117,112,112,111,114,116,101,100,44,32,105,110,99,114,101,97,115,105,110,103,32,102,114,111,109,32,0,32,116,111,32,50,0,87,65,82,78,73,78,71,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,111,100,100,32,98,108,111,99,107,115,105,122,101,32,110,111,116,0,32,116,111,32,0,78,57,95,86,97,109,112,72,111,115,116,54,87,105,110,100,111,119,73,100,69,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,49,51,80,108,117,103,105,110,87,114,97,112,112,101,114,69,0,69,82,82,79,82,58,32,78,97,78,47,73,110,102,32,112,97,115,115,101,100,32,116,111,32,86,97,109,112,58,58,82,101,97,108,84,105,109,101,58,58,102,114,111,109,83,101,99,111,110,100,115,0,45,0,48,0,58,0,46,48,48,48,0,78,54,106,115,111,110,49,49,57,74,115,111,110,86,97,108,117,101,69,0,78,54,106,115,111,110,49,49,57,74,115,111,110,65,114,114,97,121,69,0,78,54,106,115,111,110,49,49,49,48,74,115,111,110,79,98,106,101,99,116,69,0,39,37,99,39,32,40,37,100,41,0,40,37,100,41,0,117,110,101,120,112,101,99,116,101,100,32,116,114,97,105,108,105,110,103,32,0,101,120,112,101,99,116,101,100,32,74,83,79,78,32,111,98,106,101,99,116,44,32,103,111,116,32,0,98,97,100,32,116,121,112,101,32,102,111,114,32,0,32,105,110,32,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,53,69,78,83,116,51,95,95,49,51,109,97,112,73,78,83,51,95,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,51,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,51,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,83,49,95,78,83,51,95,52,108,101,115,115,73,83,65,95,69,69,78,83,56,95,73,78,83,51,95,52,112,97,105,114,73,75,83,65,95,83,49,95,69,69,69,69,69,69,69,69,0,123,0,44,32,0,58,32,0,125,0,92,92,0,92,34,0,92,98,0,92,102,0,92,110,0,92,114,0,92,116,0,92,117,37,48,52,120,0,92,117,50,48,50,56,0,92,117,50,48,50,57,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,52,69,78,83,116,51,95,95,49,54,118,101,99,116,111,114,73,83,49,95,78,83,51,95,57,97,108,108,111,99,97,116,111,114,73,83,49,95,69,69,69,69,69,69,0,91,0,93,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,115,105,100,101,32,99,111,109,109,101,110,116,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,115,105,100,101,32,105,110,108,105,110,101,32,99,111,109,109,101,110,116,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,115,105,100,101,32,109,117,108,116,105,45,108,105,110,101,32,99,111,109,109,101,110,116,0,109,97,108,102,111,114,109,101,100,32,99,111,109,109,101,110,116,0,101,120,99,101,101,100,101,100,32,109,97,120,105,109,117,109,32,110,101,115,116,105,110,103,32,100,101,112,116,104,0,110,117,108,108,0,101,120,112,101,99,116,101,100,32,39,34,39,32,105,110,32,111,98,106,101,99,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,39,58,39,32,105,110,32,111,98,106,101,99,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,39,44,39,32,105,110,32,111,98,106,101,99,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,39,44,39,32,105,110,32,108,105,115,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,118,97,108,117,101,44,32,103,111,116,32,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,32,115,116,114,105,110,103,0,117,110,101,115,99,97,112,101,100,32,0,32,105,110,32,115,116,114,105,110,103,0,98,97,100,32,92,117,32,101,115,99,97,112,101,58,32,0,105,110,118,97,108,105,100,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,0,105,32,33,61,32,48,0,46,46,47,112,105,112,101,114,45,99,112,112,47,106,115,111,110,49,49,47,106,115,111,110,49,49,46,99,112,112,0,101,120,112,101,99,116,0,112,97,114,115,101,32,101,114,114,111,114,58,32,101,120,112,101,99,116,101,100,32,0,44,32,103,111,116,32,0,108,101,97,100,105,110,103,32,48,115,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,105,110,32,110,117,109,98,101,114,115,0,105,110,118,97,108,105,100,32,0,32,105,110,32,110,117,109,98,101,114,0,97,116,32,108,101,97,115,116,32,111,110,101,32,100,105,103,105,116,32,114,101,113,117,105,114,101,100,32,105,110,32,102,114,97,99,116,105,111,110,97,108,32,112,97,114,116,0,97,116,32,108,101,97,115,116,32,111,110,101,32,100,105,103,105,116,32,114,101,113,117,105,114,101,100,32,105,110,32,101,120,112,111,110,101,110,116,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,48,74,115,111,110,79,98,106,101,99,116,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,57,74,115,111,110,65,114,114,97,121,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,54,106,115,111,110,49,49,49,48,74,115,111,110,83,116,114,105,110,103,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,51,69,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,51,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,51,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,48,74,115,111,110,83,116,114,105,110,103,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,37,100,0,78,54,106,115,111,110,49,49,55,74,115,111,110,73,110,116,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,49,69,105,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,55,74,115,111,110,73,110,116,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,37,46,49,55,103,0,78,54,106,115,111,110,49,49,49,48,74,115,111,110,68,111,117,98,108,101,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,49,69,100,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,48,74,115,111,110,68,111,117,98,108,101,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,54,106,115,111,110,49,49,49,49,74,115,111,110,66,111,111,108,101,97,110,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,50,69,98,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,49,74,115,111,110,66,111,111,108,101,97,110,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,54,106,115,111,110,49,49,56,74,115,111,110,78,117,108,108,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,48,69,68,110,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,56,74,115,111,110,78,117,108,108,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,49,108,111,103,105,99,95,101,114,114,111,114,0,83,116,49,50,111,117,116,95,111,102,95,114,97,110,103,101,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,108,117,99,97,115,116,47,99,111,100,101,47,115,100,107,115,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,108,117,99,97,115,116,47,99,111,100,101,47,115,100,107,115,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20864);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,57,95,95,115,104,97,114,101,100,95,119,101,97,107,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,52,98,97,115,105,99,95,105,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+29536);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;var _BDtoILow=true;function _pthread_mutex_lock(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var _floor=Math_floor;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}var _llvm_sqrt_f64=Math_sqrt;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}var _sin=Math_sin;Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _cos=Math_cos;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;Module["_memmove"]=_memmove;var _BItoD=true;function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_cond_wait(){return 0}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){var curr=HEAPU8[ptr+j];if(curr===0||curr===10){Module["print"](UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiii":invoke_iiii,"invoke_viid":invoke_viid,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiii":invoke_viiiii,"invoke_dii":invoke_dii,"invoke_di":invoke_di,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_iid":invoke_iid,"invoke_iiiiiid":invoke_iiiiiid,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiii":invoke_iiiii,"invoke_viiii":invoke_viiii,"invoke_iii":invoke_iii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiiii":invoke_iiiiii,"_fabs":_fabs,"_strftime":_strftime,"_pthread_cond_wait":_pthread_cond_wait,"_sin":_sin,"_pthread_key_create":_pthread_key_create,"_abort":_abort,"___cxa_guard_acquire":___cxa_guard_acquire,"___setErrNo":___setErrNo,"___assert_fail":___assert_fail,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_find_matching_catch":___cxa_find_matching_catch,"_floor":_floor,"__isLeapYear":__isLeapYear,"___cxa_guard_release":___cxa_guard_release,"__addDays":__addDays,"_llvm_sqrt_f64":_llvm_sqrt_f64,"_strftime_l":_strftime_l,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_fabsf":_fabsf,"_sbrk":_sbrk,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___resumeException":___resumeException,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_sysconf":_sysconf,"_pthread_getspecific":_pthread_getspecific,"__arraySum":__arraySum,"_cos":_cos,"_pthread_self":_pthread_self,"_pthread_mutex_unlock":_pthread_mutex_unlock,"_pthread_once":_pthread_once,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_pthread_cond_broadcast":_pthread_cond_broadcast,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_pthread_setspecific":_pthread_setspecific,"___cxa_atexit":___cxa_atexit,"___cxa_throw":___cxa_throw,"__exit":__exit,"___lock":___lock,"___syscall6":___syscall6,"_pthread_cleanup_push":_pthread_cleanup_push,"___cxa_pure_virtual":___cxa_pure_virtual,"_time":_time,"_pthread_mutex_lock":_pthread_mutex_lock,"_atexit":_atexit,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8,"___dso_handle":___dso_handle};// EMSCRIPTEN_START_ASM +var asm=(function(global,env,buffer) { +"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.___dso_handle|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=global.Math.min;var ba=global.Math.clz32;var ca=env.abort;var da=env.assert;var ea=env.invoke_iiiiiiii;var fa=env.invoke_iiii;var ga=env.invoke_viid;var ha=env.invoke_viiiiii;var ia=env.invoke_viiiii;var ja=env.invoke_dii;var ka=env.invoke_di;var la=env.invoke_vi;var ma=env.invoke_vii;var na=env.invoke_iiiiiii;var oa=env.invoke_ii;var pa=env.invoke_iid;var qa=env.invoke_iiiiiid;var ra=env.invoke_viii;var sa=env.invoke_v;var ta=env.invoke_iiiiiiiii;var ua=env.invoke_iiiii;var va=env.invoke_viiii;var wa=env.invoke_iii;var xa=env.invoke_iiiiid;var ya=env.invoke_iiiiii;var za=env._fabs;var Aa=env._strftime;var Ba=env._pthread_cond_wait;var Ca=env._sin;var Da=env._pthread_key_create;var Ea=env._abort;var Fa=env.___cxa_guard_acquire;var Ga=env.___setErrNo;var Ha=env.___assert_fail;var Ia=env.___cxa_allocate_exception;var Ja=env.___cxa_find_matching_catch;var Ka=env._floor;var La=env.__isLeapYear;var Ma=env.___cxa_guard_release;var Na=env.__addDays;var Oa=env._llvm_sqrt_f64;var Pa=env._strftime_l;var Qa=env._emscripten_set_main_loop_timing;var Ra=env._fabsf;var Sa=env._sbrk;var Ta=env.___cxa_begin_catch;var Ua=env._emscripten_memcpy_big;var Va=env.___resumeException;var Wa=env.__ZSt18uncaught_exceptionv;var Xa=env._sysconf;var Ya=env._pthread_getspecific;var Za=env.__arraySum;var _a=env._cos;var $a=env._pthread_self;var ab=env._pthread_mutex_unlock;var bb=env._pthread_once;var cb=env.___syscall54;var db=env.___unlock;var eb=env._pthread_cleanup_pop;var fb=env._pthread_cond_broadcast;var gb=env._emscripten_set_main_loop;var hb=env._pthread_setspecific;var ib=env.___cxa_atexit;var jb=env.___cxa_throw;var kb=env.__exit;var lb=env.___lock;var mb=env.___syscall6;var nb=env._pthread_cleanup_push;var ob=env.___cxa_pure_virtual;var pb=env._time;var qb=env._pthread_mutex_lock;var rb=env._atexit;var sb=env.___syscall140;var tb=env._exit;var ub=env.___syscall145;var vb=env.___syscall146;var wb=0.0; +// EMSCRIPTEN_START_FUNCS +function rq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Rb[m&31](b,h,e,f,g&1)|0}else{j=jo(e)|0;c[k>>2]=j;h=Gt(k,12508)|0;rn(j)|0;j=c[h>>2]|0;if(g)Fb[c[j+24>>2]&127](m,h);else Fb[c[j+28>>2]&127](m,h);e=a[m>>0]|0;l=(e&1)==0;h=m+1|0;g=m+8|0;b=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;f=(e&1)==0;if((h|0)!=((f?b:c[g>>2]|0)+(f?(e&255)>>>1:c[l>>2]|0)|0))do{j=a[h>>0]|0;k=c[d>>2]|0;do if(k){f=k+24|0;e=c[f>>2]|0;if((e|0)!=(c[k+28>>2]|0)){c[f>>2]=e+1;a[e>>0]=j;break}if((Pb[c[(c[k>>2]|0)+52>>2]&63](k,j&255)|0)==-1)c[d>>2]=0}while(0);h=h+1|0;e=a[m>>0]|0;f=(e&1)==0}while((h|0)!=((f?b:c[g>>2]|0)+(f?(e&255)>>>1:c[l>>2]|0)|0));h=c[d>>2]|0;Dn(m)}i=n;return h|0}function sq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+64|0;k=h;o=h+56|0;q=h+44|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[32095]|0;a[o+1>>0]=a[32096]|0;a[o+2>>0]=a[32097]|0;a[o+3>>0]=a[32098]|0;a[o+4>>0]=a[32099]|0;a[o+5>>0]=a[32100]|0;tq(o+1|0,32101,1,c[e+4>>2]|0);p=Wp()|0;c[k>>2]=g;o=q+(Nv(q,12,p,o,k)|0)|0;p=uq(q,o,e)|0;g=jo(e)|0;c[n>>2]=g;vq(q,p,o,j,m,b,n);rn(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=ue(k,j,g,b,e,f)|0;i=h;return b|0}function tq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}while(0);return}function uq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function vq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+16|0;s=t;r=Gt(j,12368)|0;m=Gt(j,12508)|0;Fb[c[(c[m>>2]|0)+20>>2]&127](s,m);p=a[s>>0]|0;q=s+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Pb[c[(c[r>>2]|0)+28>>2]&63](r,j)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=p;k=b+1|0;break}default:k=b}a:do if((e-k|0)>1?(a[k>>0]|0)==48:0){j=k+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}p=Pb[c[(c[r>>2]|0)+28>>2]&63](r,48)|0;o=c[h>>2]|0;c[h>>2]=o+1;a[o>>0]=p;o=Pb[c[(c[r>>2]|0)+28>>2]&63](r,a[j>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;k=k+2|0}while(0);if((k|0)!=(e|0)?(n=e+-1|0,k>>>0<n>>>0):0){l=k;j=n;do{p=a[l>>0]|0;a[l>>0]=a[j>>0]|0;a[j>>0]=p;l=l+1|0;j=j+-1|0}while(l>>>0<j>>>0)}m=Hb[c[(c[m>>2]|0)+16>>2]&127](m)|0;n=s+8|0;o=s+1|0;if(k>>>0<e>>>0){j=0;l=0;p=k;while(1){u=a[((a[s>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(u<<24>>24!=0&(j|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=m;u=a[s>>0]|0;j=0;l=(l>>>0<(((u&1)==0?(u&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}v=Pb[c[(c[r>>2]|0)+28>>2]&63](r,a[p>>0]|0)|0;u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=v;p=p+1|0;if(p>>>0>=e>>>0)break;else j=j+1|0}}j=f+(k-b)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){k=k+-1|0;if(j>>>0<k>>>0)do{v=a[j>>0]|0;a[j>>0]=a[k>>0]|0;a[k>>0]=v;j=j+1|0;k=k+-1|0}while(j>>>0<k>>>0);j=c[h>>2]|0}}else{Nb[c[(c[r>>2]|0)+32>>2]&15](r,b,e,f)|0;j=f+(e-b)|0;c[h>>2]=j}c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Dn(s);i=t;return}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+96|0;k=h+8|0;o=h;p=h+74|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;tq(o+1|0,32103,1,c[d+4>>2]|0);q=Wp()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Nv(p,22,q,o,k)|0)|0;o=uq(p,f,d)|0;g=jo(d)|0;c[n>>2]=g;vq(p,o,f,j,m,a,n);rn(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=ue(k,j,b,a,d,e)|0;i=h;return a|0}function xq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+64|0;k=h;o=h+56|0;q=h+44|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[32095]|0;a[o+1>>0]=a[32096]|0;a[o+2>>0]=a[32097]|0;a[o+3>>0]=a[32098]|0;a[o+4>>0]=a[32099]|0;a[o+5>>0]=a[32100]|0;tq(o+1|0,32101,0,c[e+4>>2]|0);p=Wp()|0;c[k>>2]=g;o=q+(Nv(q,12,p,o,k)|0)|0;p=uq(q,o,e)|0;g=jo(e)|0;c[n>>2]=g;vq(q,p,o,j,m,b,n);rn(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=ue(k,j,g,b,e,f)|0;i=h;return b|0}function yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+112|0;k=h+8|0;o=h;p=h+75|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;tq(o+1|0,32103,0,c[d+4>>2]|0);q=Wp()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Nv(p,23,q,o,k)|0)|0;o=uq(p,f,d)|0;g=jo(d)|0;c[n>>2]=g;vq(p,o,f,j,m,a,n);rn(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=ue(k,j,b,a,d,e)|0;i=h;return a|0}function zq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;v=i;i=i+160|0;p=v+68|0;l=v+32|0;j=v+24|0;g=v+8|0;k=v;n=v+72|0;m=v+64|0;o=v+102|0;u=v+60|0;t=v+56|0;q=v+52|0;r=v+48|0;B=k;c[B>>2]=37;c[B+4>>2]=0;B=Aq(k+1|0,32106,c[d+4>>2]|0)|0;c[m>>2]=n;a=Wp()|0;if(B){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Nv(n,30,a,k,g)|0}else{h[j>>3]=f;a=Nv(n,30,a,k,j)|0}if((a|0)>29){g=Wp()|0;c[l>>2]=c[d+8>>2];h[l+8>>3]=f;g=Ov(m,g,k,l)|0;a=c[m>>2]|0;if(!a)Pk();else{w=a;z=a;s=g}}else{w=c[m>>2]|0;z=0;s=a}g=w+s|0;j=uq(w,g,d)|0;if((w|0)!=(n|0)){a=Gm(s<<1)|0;if(!a)Pk();else{x=w;y=a;A=a}}else{x=n;y=0;A=o}B=jo(d)|0;c[q>>2]=B;Bq(x,j,g,A,u,t,q);rn(B)|0;c[r>>2]=c[b>>2];b=c[u>>2]|0;B=c[t>>2]|0;c[p>>2]=c[r>>2];B=ue(p,A,b,B,d,e)|0;Hm(y);Hm(z);i=v;return B|0}function Aq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}while(0);return g|0}function Bq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+16|0;w=x;v=Gt(j,12368)|0;t=Gt(j,12508)|0;Fb[c[(c[t>>2]|0)+20>>2]&127](w,t);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{u=Pb[c[(c[v>>2]|0)+28>>2]&63](v,j)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=u;m=b+1|0;break}default:m=b}u=e;a:do if((u-m|0)>1?(a[m>>0]|0)==48:0){j=m+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{n=4;break a}}s=Pb[c[(c[v>>2]|0)+28>>2]&63](v,48)|0;r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=s;m=m+2|0;r=Pb[c[(c[v>>2]|0)+28>>2]&63](v,a[j>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=r;if(m>>>0<e>>>0){j=m;while(1){s=a[j>>0]|0;if(!(ml(s,Wp()|0)|0)){s=m;break a}j=j+1|0;if(j>>>0>=e>>>0){s=m;break}}}else{s=m;j=m}}else n=4;while(0);b:do if((n|0)==4)if(m>>>0<e>>>0){j=m;while(1){s=a[j>>0]|0;if(!(ll(s,Wp()|0)|0)){s=m;break b}j=j+1|0;if(j>>>0>=e>>>0){s=m;break}}}else{s=m;j=m}while(0);q=a[w>>0]|0;r=w+4|0;if(((q&1)==0?(q&255)>>>1:c[r>>2]|0)|0){if((s|0)!=(j|0)?(l=j+-1|0,s>>>0<l>>>0):0){m=s;do{q=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=q;m=m+1|0;l=l+-1|0}while(m>>>0<l>>>0)}n=Hb[c[(c[t>>2]|0)+16>>2]&127](t)|0;o=w+8|0;p=w+1|0;if(s>>>0<j>>>0){l=0;m=0;q=s;while(1){y=a[((a[w>>0]&1)==0?p:c[o>>2]|0)+m>>0]|0;if(y<<24>>24>0&(l|0)==(y<<24>>24|0)){y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=n;y=a[w>>0]|0;l=0;m=(m>>>0<(((y&1)==0?(y&255)>>>1:c[r>>2]|0)+-1|0)>>>0&1)+m|0}z=Pb[c[(c[v>>2]|0)+28>>2]&63](v,a[q>>0]|0)|0;y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=z;q=q+1|0;if(q>>>0>=j>>>0)break;else l=l+1|0}}l=f+(s-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0<k>>>0):0){do{z=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=z;l=l+1|0;k=k+-1|0}while(l>>>0<k>>>0);l=v}else l=v}else{Nb[c[(c[v>>2]|0)+32>>2]&15](v,s,j,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(j-s);l=v}c:do if(j>>>0<e>>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;y=Pb[c[(c[l>>2]|0)+28>>2]&63](v,k)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;j=j+1|0;if(j>>>0>=e>>>0)break c}y=Hb[c[(c[t>>2]|0)+12>>2]&127](t)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;j=j+1|0}while(0);Nb[c[(c[v>>2]|0)+32>>2]&15](v,j,e,c[h>>2]|0)|0;z=(c[h>>2]|0)+(u-j)|0;c[h>>2]=z;c[g>>2]=(d|0)==(e|0)?z:f+(d-b)|0;Dn(w);i=x;return}function Cq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+176|0;r=x+76|0;n=x+48|0;m=x+32|0;j=x+24|0;g=x+8|0;l=x;p=x+80|0;o=x+72|0;q=x+110|0;w=x+68|0;v=x+64|0;s=x+60|0;t=x+56|0;k=l;c[k>>2]=37;c[k+4>>2]=0;k=Aq(l+1|0,32107,c[d+4>>2]|0)|0;c[o>>2]=p;a=Wp()|0;if(k){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Nv(p,30,a,l,g)|0}else{h[j>>3]=f;a=Nv(p,30,a,l,j)|0}if((a|0)>29){a=Wp()|0;if(k){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=Ov(o,a,l,m)|0}else{h[n>>3]=f;g=Ov(o,a,l,n)|0}a=c[o>>2]|0;if(!a)Pk();else{y=a;B=a;u=g}}else{y=c[o>>2]|0;B=0;u=a}g=y+u|0;j=uq(y,g,d)|0;if((y|0)!=(p|0)){a=Gm(u<<1)|0;if(!a)Pk();else{z=y;A=a;C=a}}else{z=p;A=0;C=q}y=jo(d)|0;c[s>>2]=y;Bq(z,j,g,C,w,v,s);rn(y)|0;c[t>>2]=c[b>>2];z=c[w>>2]|0;b=c[v>>2]|0;c[r>>2]=c[t>>2];b=ue(r,C,z,b,d,e)|0;Hm(A);Hm(B);i=x;return b|0}function Dq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+80|0;m=h;b=h+70|0;j=h+12|0;k=h+32|0;o=h+8|0;n=h+4|0;a[b>>0]=a[32109]|0;a[b+1>>0]=a[32110]|0;a[b+2>>0]=a[32111]|0;a[b+3>>0]=a[32112]|0;a[b+4>>0]=a[32113]|0;a[b+5>>0]=a[32114]|0;l=Wp()|0;c[m>>2]=g;b=Nv(j,20,l,b,m)|0;l=j+b|0;g=uq(j,l,e)|0;p=jo(e)|0;c[o>>2]=p;o=Gt(o,12368)|0;rn(p)|0;Nb[c[(c[o>>2]|0)+32>>2]&15](o,j,l,k)|0;b=k+b|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];b=ue(m,k,(g|0)==(l|0)?b:k+(g-j)|0,b,e,f)|0;i=h;return b|0}function Eq(a){a=a|0;return}function Fq(a){a=a|0;ck(a);return}function Gq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Rb[l&31](b,h,e,f,g&1)|0}else{j=jo(e)|0;c[k>>2]=j;h=Gt(k,12516)|0;rn(j)|0;j=c[h>>2]|0;if(g)Fb[c[j+24>>2]&127](l,h);else Fb[c[j+28>>2]&127](l,h);e=a[l>>0]|0;f=(e&1)==0;h=l+4|0;g=l+8|0;b=f?h:l+4|0;h=f?h:c[l+8>>2]|0;f=(e&1)==0;if((h|0)!=((f?b:c[g>>2]|0)+((f?(e&255)>>>1:c[b>>2]|0)<<2)|0))do{j=c[h>>2]|0;k=c[d>>2]|0;if(k){f=k+24|0;e=c[f>>2]|0;if((e|0)==(c[k+28>>2]|0))j=Pb[c[(c[k>>2]|0)+52>>2]&63](k,j)|0;else{c[f>>2]=e+4;c[e>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;e=a[l>>0]|0;f=(e&1)==0}while((h|0)!=((f?b:c[g>>2]|0)+((f?(e&255)>>>1:c[b>>2]|0)<<2)|0));h=c[d>>2]|0;Wn(l)}i=m;return h|0}function Hq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+128|0;k=h;o=h+116|0;q=h+104|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[32095]|0;a[o+1>>0]=a[32096]|0;a[o+2>>0]=a[32097]|0;a[o+3>>0]=a[32098]|0;a[o+4>>0]=a[32099]|0;a[o+5>>0]=a[32100]|0;tq(o+1|0,32101,1,c[e+4>>2]|0);p=Wp()|0;c[k>>2]=g;o=q+(Nv(q,12,p,o,k)|0)|0;p=uq(q,o,e)|0;g=jo(e)|0;c[n>>2]=g;Iq(q,p,o,j,m,b,n);rn(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=Pv(k,j,g,b,e,f)|0;i=h;return b|0}function Iq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+16|0;s=t;r=Gt(j,12360)|0;m=Gt(j,12516)|0;Fb[c[(c[m>>2]|0)+20>>2]&127](s,m);p=a[s>>0]|0;q=s+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Pb[c[(c[r>>2]|0)+44>>2]&63](r,j)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=p;k=b+1|0;break}default:k=b}a:do if((e-k|0)>1?(a[k>>0]|0)==48:0){j=k+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}p=Pb[c[(c[r>>2]|0)+44>>2]&63](r,48)|0;o=c[h>>2]|0;c[h>>2]=o+4;c[o>>2]=p;o=Pb[c[(c[r>>2]|0)+44>>2]&63](r,a[j>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;k=k+2|0}while(0);if((k|0)!=(e|0)?(n=e+-1|0,k>>>0<n>>>0):0){l=k;j=n;do{p=a[l>>0]|0;a[l>>0]=a[j>>0]|0;a[j>>0]=p;l=l+1|0;j=j+-1|0}while(l>>>0<j>>>0)}m=Hb[c[(c[m>>2]|0)+16>>2]&127](m)|0;n=s+8|0;o=s+1|0;if(k>>>0<e>>>0){j=0;l=0;p=k;while(1){u=a[((a[s>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(u<<24>>24!=0&(j|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=m;u=a[s>>0]|0;j=0;l=(l>>>0<(((u&1)==0?(u&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}v=Pb[c[(c[r>>2]|0)+44>>2]&63](r,a[p>>0]|0)|0;u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=v;p=p+1|0;if(p>>>0>=e>>>0)break;else j=j+1|0}}j=f+(k-b<<2)|0;l=c[h>>2]|0;if((j|0)!=(l|0)){k=l+-4|0;if(j>>>0<k>>>0){do{v=c[j>>2]|0;c[j>>2]=c[k>>2];c[k>>2]=v;j=j+4|0;k=k+-4|0}while(j>>>0<k>>>0);j=l}else j=l}}else{Nb[c[(c[r>>2]|0)+48>>2]&15](r,b,e,f)|0;j=f+(e-b<<2)|0;c[h>>2]=j}c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Dn(s);i=t;return}function Jq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+224|0;k=h+8|0;o=h;p=h+196|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;tq(o+1|0,32103,1,c[d+4>>2]|0);q=Wp()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Nv(p,22,q,o,k)|0)|0;o=uq(p,f,d)|0;g=jo(d)|0;c[n>>2]=g;Iq(p,o,f,j,m,a,n);rn(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=Pv(k,j,b,a,d,e)|0;i=h;return a|0}function Kq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+128|0;k=h;o=h+116|0;q=h+104|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[32095]|0;a[o+1>>0]=a[32096]|0;a[o+2>>0]=a[32097]|0;a[o+3>>0]=a[32098]|0;a[o+4>>0]=a[32099]|0;a[o+5>>0]=a[32100]|0;tq(o+1|0,32101,0,c[e+4>>2]|0);p=Wp()|0;c[k>>2]=g;o=q+(Nv(q,12,p,o,k)|0)|0;p=uq(q,o,e)|0;g=jo(e)|0;c[n>>2]=g;Iq(q,p,o,j,m,b,n);rn(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=Pv(k,j,g,b,e,f)|0;i=h;return b|0}function Lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+240|0;k=h+8|0;o=h;p=h+204|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;tq(o+1|0,32103,0,c[d+4>>2]|0);q=Wp()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Nv(p,23,q,o,k)|0)|0;o=uq(p,f,d)|0;g=jo(d)|0;c[n>>2]=g;Iq(p,o,f,j,m,a,n);rn(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=Pv(k,j,b,a,d,e)|0;i=h;return a|0}function Mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=i;i=i+336|0;p=y+296|0;l=y+32|0;j=y+24|0;g=y+8|0;k=y;n=y+300|0;m=y+64|0;o=y+68|0;u=y+60|0;t=y+56|0;q=y+52|0;r=y+48|0;B=k;c[B>>2]=37;c[B+4>>2]=0;B=Aq(k+1|0,32106,c[d+4>>2]|0)|0;c[m>>2]=n;a=Wp()|0;if(B){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Nv(n,30,a,k,g)|0}else{h[j>>3]=f;a=Nv(n,30,a,k,j)|0}if((a|0)>29){g=Wp()|0;c[l>>2]=c[d+8>>2];h[l+8>>3]=f;g=Ov(m,g,k,l)|0;a=c[m>>2]|0;if(!a)Pk();else{v=a;A=a;s=g}}else{v=c[m>>2]|0;A=0;s=a}g=v+s|0;j=uq(v,g,d)|0;if((v|0)!=(n|0)){a=Gm(s<<3)|0;if(!a)Pk();else{w=v;z=a;x=a}}else{w=n;z=0;x=o}B=jo(d)|0;c[q>>2]=B;Nq(w,j,g,x,u,t,q);rn(B)|0;c[r>>2]=c[b>>2];B=c[u>>2]|0;a=c[t>>2]|0;c[p>>2]=c[r>>2];a=Pv(p,x,B,a,d,e)|0;c[b>>2]=a;if(z)Hm(z);Hm(A);i=y;return a|0}function Nq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+16|0;v=w;u=Gt(j,12360)|0;s=Gt(j,12516)|0;Fb[c[(c[s>>2]|0)+20>>2]&127](v,s);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{t=Pb[c[(c[u>>2]|0)+44>>2]&63](u,j)|0;l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=t;l=b+1|0;break}default:l=b}t=e;a:do if((t-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{m=4;break a}}r=Pb[c[(c[u>>2]|0)+44>>2]&63](u,48)|0;q=c[h>>2]|0;c[h>>2]=q+4;c[q>>2]=r;l=l+2|0;q=Pb[c[(c[u>>2]|0)+44>>2]&63](u,a[j>>0]|0)|0;r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=q;if(l>>>0<e>>>0){j=l;while(1){r=a[j>>0]|0;if(!(ml(r,Wp()|0)|0)){r=l;break a}j=j+1|0;if(j>>>0>=e>>>0){r=l;break}}}else{r=l;j=l}}else m=4;while(0);b:do if((m|0)==4)if(l>>>0<e>>>0){j=l;while(1){r=a[j>>0]|0;if(!(ll(r,Wp()|0)|0)){r=l;break b}j=j+1|0;if(j>>>0>=e>>>0){r=l;break}}}else{r=l;j=l}while(0);p=a[v>>0]|0;q=v+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){if((r|0)!=(j|0)?(k=j+-1|0,r>>>0<k>>>0):0){l=r;do{p=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=p;l=l+1|0;k=k+-1|0}while(l>>>0<k>>>0)}m=Hb[c[(c[s>>2]|0)+16>>2]&127](s)|0;n=v+8|0;o=v+1|0;if(r>>>0<j>>>0){k=0;l=0;p=r;while(1){x=a[((a[v>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(x<<24>>24>0&(k|0)==(x<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=m;x=a[v>>0]|0;k=0;l=(l>>>0<(((x&1)==0?(x&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}y=Pb[c[(c[u>>2]|0)+44>>2]&63](u,a[p>>0]|0)|0;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=y;p=p+1|0;if(p>>>0>=j>>>0)break;else k=k+1|0}}k=f+(r-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0<l>>>0){do{y=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=y;k=k+4|0;l=l+-4|0}while(k>>>0<l>>>0);l=u;k=m}else{l=u;k=m}}else l=u}else{Nb[c[(c[u>>2]|0)+48>>2]&15](u,r,j,c[h>>2]|0)|0;k=(c[h>>2]|0)+(j-r<<2)|0;c[h>>2]=k;l=u}c:do if(j>>>0<e>>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;x=Pb[c[(c[l>>2]|0)+44>>2]&63](u,k)|0;y=c[h>>2]|0;k=y+4|0;c[h>>2]=k;c[y>>2]=x;j=j+1|0;if(j>>>0>=e>>>0)break c}x=Hb[c[(c[s>>2]|0)+12>>2]&127](s)|0;y=c[h>>2]|0;k=y+4|0;c[h>>2]=k;c[y>>2]=x;j=j+1|0}while(0);Nb[c[(c[u>>2]|0)+48>>2]&15](u,j,e,k)|0;y=(c[h>>2]|0)+(t-j<<2)|0;c[h>>2]=y;c[g>>2]=(d|0)==(e|0)?y:f+(d-b<<2)|0;Dn(v);i=w;return}function Oq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+352|0;r=A+304|0;n=A+48|0;m=A+32|0;j=A+24|0;g=A+8|0;l=A;p=A+308|0;o=A+72|0;q=A+76|0;w=A+68|0;v=A+64|0;s=A+60|0;t=A+56|0;k=l;c[k>>2]=37;c[k+4>>2]=0;k=Aq(l+1|0,32107,c[d+4>>2]|0)|0;c[o>>2]=p;a=Wp()|0;if(k){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Nv(p,30,a,l,g)|0}else{h[j>>3]=f;a=Nv(p,30,a,l,j)|0}if((a|0)>29){a=Wp()|0;if(k){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=Ov(o,a,l,m)|0}else{h[n>>3]=f;g=Ov(o,a,l,n)|0}a=c[o>>2]|0;if(!a)Pk();else{x=a;C=a;u=g}}else{x=c[o>>2]|0;C=0;u=a}g=x+u|0;j=uq(x,g,d)|0;if((x|0)!=(p|0)){a=Gm(u<<3)|0;if(!a)Pk();else{y=x;B=a;z=a}}else{y=p;B=0;z=q}a=jo(d)|0;c[s>>2]=a;Nq(y,j,g,z,w,v,s);rn(a)|0;c[t>>2]=c[b>>2];y=c[w>>2]|0;a=c[v>>2]|0;c[r>>2]=c[t>>2];a=Pv(r,z,y,a,d,e)|0;c[b>>2]=a;if(B)Hm(B);Hm(C);i=A;return a|0}function Pq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+192|0;m=h;b=h+180|0;j=h+160|0;k=h+12|0;o=h+8|0;n=h+4|0;a[b>>0]=a[32109]|0;a[b+1>>0]=a[32110]|0;a[b+2>>0]=a[32111]|0;a[b+3>>0]=a[32112]|0;a[b+4>>0]=a[32113]|0;a[b+5>>0]=a[32114]|0;l=Wp()|0;c[m>>2]=g;b=Nv(j,20,l,b,m)|0;l=j+b|0;g=uq(j,l,e)|0;p=jo(e)|0;c[o>>2]=p;o=Gt(o,12360)|0;rn(p)|0;Nb[c[(c[o>>2]|0)+48>>2]&15](o,j,l,k)|0;b=k+(b<<2)|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];b=Pv(m,k,(g|0)==(l|0)?b:k+(g-j<<2)|0,b,e,f)|0;i=h;return b|0}function Qq(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;u=B+16|0;t=B+12|0;x=B+8|0;v=B+4|0;w=B;y=jo(h)|0;c[x>>2]=y;x=Gt(x,12368)|0;rn(y)|0;c[j>>2]=0;y=x+8|0;n=c[f>>2]|0;a:do if((l|0)!=(m|0)){b:while(1){o=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;o=0}}else n=0;r=(n|0)==0;q=c[g>>2]|0;p=q;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)?(Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0)==-1:0){c[g>>2]=0;p=0;A=11;break}if(!r){A=12;break b}}else A=11;while(0);if((A|0)==11){A=0;if(r){A=12;break}else q=0}c:do if((yb[c[(c[x>>2]|0)+36>>2]&31](x,a[l>>0]|0,0)|0)<<24>>24==37){q=l+1|0;if((q|0)==(m|0)){A=15;break b}s=yb[c[(c[x>>2]|0)+36>>2]&31](x,a[q>>0]|0,0)|0;switch(s<<24>>24){case 48:case 69:{r=l+2|0;if((r|0)==(m|0)){A=18;break b}l=q;q=yb[c[(c[x>>2]|0)+36>>2]&31](x,a[r>>0]|0,0)|0;n=s;break}default:{q=s;n=0}}s=c[(c[e>>2]|0)+36>>2]|0;c[v>>2]=o;c[w>>2]=p;c[t>>2]=c[v>>2];c[u>>2]=c[w>>2];c[f>>2]=Mb[s&15](e,t,u,h,j,k,q,n)|0;l=l+2|0}else{o=a[l>>0]|0;if(o<<24>>24>-1?(z=c[y>>2]|0,(b[z+(o<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}o=a[l>>0]|0;if(o<<24>>24<=-1)break}while((b[z+(o<<24>>24<<1)>>1]&8192)!=0);o=q;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;p=(n|0)==0;do if(q){if((c[q+12>>2]|0)!=(c[q+16>>2]|0))if(p){s=o;break}else break c;if((Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0)!=-1)if(p^(o|0)==0){s=o;q=o;break}else break c;else{c[g>>2]=0;o=0;A=37;break}}else A=37;while(0);if((A|0)==37){A=0;if(p)break c;else{s=o;q=0}}p=n+12|0;o=c[p>>2]|0;r=n+16|0;if((o|0)==(c[r>>2]|0))o=Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else o=d[o>>0]|0;if((o&255)<<24>>24<=-1)break c;if(!(b[(c[y>>2]|0)+(o<<24>>24<<1)>>1]&8192))break c;o=c[p>>2]|0;if((o|0)==(c[r>>2]|0)){Hb[c[(c[n>>2]|0)+40>>2]&127](n)|0;o=s;continue}else{c[p>>2]=o+1;o=s;continue}}}p=n+12|0;o=c[p>>2]|0;q=n+16|0;if((o|0)==(c[q>>2]|0))o=Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else o=d[o>>0]|0;s=Pb[c[(c[x>>2]|0)+12>>2]&63](x,o&255)|0;if(s<<24>>24!=(Pb[c[(c[x>>2]|0)+12>>2]&63](x,a[l>>0]|0)|0)<<24>>24){A=55;break b}o=c[p>>2]|0;if((o|0)==(c[q>>2]|0))Hb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[p>>2]=o+1;l=l+1|0}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((A|0)==12){c[j>>2]=4;break}else if((A|0)==15){c[j>>2]=4;break}else if((A|0)==18){c[j>>2]=4;break}else if((A|0)==55){c[j>>2]=4;n=c[f>>2]|0;break}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;o=c[g>>2]|0;do if(o){if((c[o+12>>2]|0)==(c[o+16>>2]|0)?(Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0)==-1:0){c[g>>2]=0;A=65;break}if(!l)A=66}else A=65;while(0);if((A|0)==65?l:0)A=66;if((A|0)==66)c[j>>2]=c[j>>2]|2;i=B;return n|0}function Rq(a){a=a|0;return}function Sq(a){a=a|0;ck(a);return}function Tq(a){a=a|0;return 2}function Uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qq(a,k,j,e,f,g,32115,32123)|0;i=h;return a|0}function Vq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Hb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Qq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=jo(e)|0;c[m>>2]=l;e=Gt(m,12368)|0;rn(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Xq(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function Xq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Hb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(sv(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=jo(e)|0;c[m>>2]=l;e=Gt(m,12368)|0;rn(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Zq(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function Zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Hb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(sv(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function _q(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=jo(e)|0;c[m>>2]=l;e=Gt(m,12368)|0;rn(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];$q(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function $q(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function ar(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=i;i=i+144|0;l=S+132|0;k=S+116|0;L=S+128|0;w=S+124|0;H=S+120|0;M=S+112|0;N=S+108|0;O=S+104|0;P=S+100|0;Q=S+96|0;R=S+92|0;m=S+88|0;n=S+84|0;o=S+80|0;p=S+76|0;q=S+72|0;r=S+68|0;s=S+64|0;t=S+60|0;u=S+56|0;v=S+52|0;x=S+48|0;y=S+44|0;z=S+40|0;A=S+36|0;B=S+32|0;C=S+28|0;D=S+24|0;E=S+20|0;F=S+16|0;G=S+12|0;I=S+8|0;J=S+4|0;K=S;c[g>>2]=0;U=jo(f)|0;c[L>>2]=U;L=Gt(L,12368)|0;rn(U)|0;do switch(j<<24>>24|0){case 65:case 97:{c[w>>2]=c[e>>2];c[l>>2]=c[w>>2];Xq(b,h+24|0,d,l,g,L);T=26;break}case 104:case 66:case 98:{c[H>>2]=c[e>>2];c[l>>2]=c[H>>2];Zq(b,h+16|0,d,l,g,L);T=26;break}case 99:{T=b+8|0;T=Hb[c[(c[T>>2]|0)+12>>2]&127](T)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];j=a[T>>0]|0;e=(j&1)==0;U=e?T+1|0:c[T+8>>2]|0;T=U+(e?(j&255)>>>1:c[T+4>>2]|0)|0;c[k>>2]=c[M>>2];c[l>>2]=c[N>>2];c[d>>2]=Qq(b,k,l,f,g,h,U,T)|0;T=26;break}case 101:case 100:{c[O>>2]=c[e>>2];c[l>>2]=c[O>>2];br(b,h+12|0,d,l,g,L);T=26;break}case 68:{c[P>>2]=c[d>>2];c[Q>>2]=c[e>>2];c[k>>2]=c[P>>2];c[l>>2]=c[Q>>2];c[d>>2]=Qq(b,k,l,f,g,h,32123,32131)|0;T=26;break}case 70:{c[R>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[m>>2];c[d>>2]=Qq(b,k,l,f,g,h,32131,32139)|0;T=26;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];cr(b,h+8|0,d,l,g,L);T=26;break}case 73:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];dr(b,h+8|0,d,l,g,L);T=26;break}case 106:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];er(b,h+28|0,d,l,g,L);T=26;break}case 109:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fr(b,h+16|0,d,l,g,L);T=26;break}case 77:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gr(b,h+4|0,d,l,g,L);T=26;break}case 116:case 110:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hr(b,d,l,g,L);T=26;break}case 112:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];ir(b,h+8|0,d,l,g,L);T=26;break}case 114:{c[u>>2]=c[d>>2];c[v>>2]=c[e>>2];c[k>>2]=c[u>>2];c[l>>2]=c[v>>2];c[d>>2]=Qq(b,k,l,f,g,h,32139,32150)|0;T=26;break}case 82:{c[x>>2]=c[d>>2];c[y>>2]=c[e>>2];c[k>>2]=c[x>>2];c[l>>2]=c[y>>2];c[d>>2]=Qq(b,k,l,f,g,h,32150,32155)|0;T=26;break}case 83:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];jr(b,h,d,l,g,L);T=26;break}case 84:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[k>>2]=c[A>>2];c[l>>2]=c[B>>2];c[d>>2]=Qq(b,k,l,f,g,h,32155,32163)|0;T=26;break}case 119:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];kr(b,h+24|0,d,l,g,L);T=26;break}case 120:{U=c[(c[b>>2]|0)+20>>2]|0;c[D>>2]=c[d>>2];c[E>>2]=c[e>>2];c[k>>2]=c[D>>2];c[l>>2]=c[E>>2];k=Gb[U&63](b,k,l,f,g,h)|0;break}case 88:{T=b+8|0;T=Hb[c[(c[T>>2]|0)+24>>2]&127](T)|0;c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];j=a[T>>0]|0;e=(j&1)==0;U=e?T+1|0:c[T+8>>2]|0;T=U+(e?(j&255)>>>1:c[T+4>>2]|0)|0;c[k>>2]=c[F>>2];c[l>>2]=c[G>>2];c[d>>2]=Qq(b,k,l,f,g,h,U,T)|0;T=26;break}case 121:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];$q(b,h+20|0,d,l,g,L);T=26;break}case 89:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];lr(b,h+20|0,d,l,g,L);T=26;break}case 37:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mr(b,d,l,g,L);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)k=c[d>>2]|0;i=S;return k|0}function br(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function cr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function er(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function gr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function hr(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;a=c[f>>2]|0;do if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12;while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Hb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32;while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function ir(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Hb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=sv(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function jr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function kr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Qv(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function mr(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0;while(0);h=(a|0)==0;a=c[e>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11;while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((yb[c[(c[g>>2]|0)+36>>2]&31](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Hb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}while(0);a=(a|0)==0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30;while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function nr(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+32|0;r=w+16|0;q=w+12|0;u=w+8|0;s=w+4|0;t=w;k=jo(e)|0;c[u>>2]=k;u=Gt(u,12360)|0;rn(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;o=1;p=0}else{o=0;p=m}}else{k=0;o=1;p=m}n=c[d>>2]|0;l=n;do if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(o)break;else{v=16;break b}else{c[d>>2]=0;l=0;v=14;break}}else v=14;while(0);if((v|0)==14){v=0;if(o){v=16;break}else n=0}c:do if((yb[c[(c[u>>2]|0)+52>>2]&31](u,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){v=19;break b}o=yb[c[(c[u>>2]|0)+52>>2]&31](u,c[m>>2]|0,0)|0;switch(o<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){v=22;break b}h=m;m=yb[c[(c[u>>2]|0)+52>>2]&31](u,c[n>>2]|0,0)|0;k=o;break}default:{m=o;k=0}}o=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=p;c[t>>2]=l;c[q>>2]=c[s>>2];c[r>>2]=c[t>>2];c[b>>2]=Mb[o&15](a,q,r,e,f,g,m,k)|0;h=h+8|0}else{if(!(yb[c[(c[u>>2]|0)+12>>2]&31](u,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;p=Pb[c[(c[u>>2]|0)+28>>2]&63](u,l)|0;if((p|0)!=(Pb[c[(c[u>>2]|0)+28>>2]&63](u,c[h>>2]|0)|0)){v=59;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Hb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(yb[c[(c[u>>2]|0)+12>>2]&31](u,8192,c[h>>2]|0)|0);l=n;o=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do if(o){m=c[o+12>>2]|0;if((m|0)==(c[o+16>>2]|0))m=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){p=l;o=l;break}else break c;else{c[d>>2]=0;l=0;v=42;break}}else v=42;while(0);if((v|0)==42){v=0;if(n)break c;else{p=l;o=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(yb[c[(c[u>>2]|0)+12>>2]&31](u,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Hb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=p;continue}else{c[m>>2]=l+4;l=p;continue}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((v|0)==16){c[f>>2]=4;break}else if((v|0)==19){c[f>>2]=4;break}else if((v|0)==22){c[f>>2]=4;break}else if((v|0)==59){c[f>>2]=4;k=c[b>>2]|0;break}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{v=74;break}else{c[d>>2]=0;v=72;break}}else v=72;while(0);if((v|0)==72?m:0)v=74;if((v|0)==74)c[f>>2]=c[f>>2]|2;i=w;return k|0}function or(a){a=a|0;return}function pr(a){a=a|0;ck(a);return}function qr(a){a=a|0;return 2}function rr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=nr(a,k,j,e,f,g,12936,12968)|0;i=h;return a|0}function sr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Hb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=nr(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function tr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=jo(e)|0;c[m>>2]=l;e=Gt(m,12360)|0;rn(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];ur(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function ur(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Hb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Dv(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function vr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=jo(e)|0;c[m>>2]=l;e=Gt(m,12360)|0;rn(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];wr(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function wr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Hb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Dv(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function xr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=jo(e)|0;c[m>>2]=l;e=Gt(m,12360)|0;rn(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];yr(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function yr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function zr(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=i;i=i+144|0;l=S+132|0;k=S+116|0;L=S+128|0;w=S+124|0;H=S+120|0;M=S+112|0;N=S+108|0;O=S+104|0;P=S+100|0;Q=S+96|0;R=S+92|0;m=S+88|0;n=S+84|0;o=S+80|0;p=S+76|0;q=S+72|0;r=S+68|0;s=S+64|0;t=S+60|0;u=S+56|0;v=S+52|0;x=S+48|0;y=S+44|0;z=S+40|0;A=S+36|0;B=S+32|0;C=S+28|0;D=S+24|0;E=S+20|0;F=S+16|0;G=S+12|0;I=S+8|0;J=S+4|0;K=S;c[g>>2]=0;U=jo(f)|0;c[L>>2]=U;L=Gt(L,12360)|0;rn(U)|0;do switch(j<<24>>24|0){case 65:case 97:{c[w>>2]=c[e>>2];c[l>>2]=c[w>>2];ur(b,h+24|0,d,l,g,L);T=26;break}case 104:case 66:case 98:{c[H>>2]=c[e>>2];c[l>>2]=c[H>>2];wr(b,h+16|0,d,l,g,L);T=26;break}case 99:{U=b+8|0;U=Hb[c[(c[U>>2]|0)+12>>2]&127](U)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];j=a[U>>0]|0;e=(j&1)==0;T=U+4|0;U=e?T:c[U+8>>2]|0;T=U+((e?(j&255)>>>1:c[T>>2]|0)<<2)|0;c[k>>2]=c[M>>2];c[l>>2]=c[N>>2];c[d>>2]=nr(b,k,l,f,g,h,U,T)|0;T=26;break}case 101:case 100:{c[O>>2]=c[e>>2];c[l>>2]=c[O>>2];Ar(b,h+12|0,d,l,g,L);T=26;break}case 68:{c[P>>2]=c[d>>2];c[Q>>2]=c[e>>2];c[k>>2]=c[P>>2];c[l>>2]=c[Q>>2];c[d>>2]=nr(b,k,l,f,g,h,12968,13e3)|0;T=26;break}case 70:{c[R>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[m>>2];c[d>>2]=nr(b,k,l,f,g,h,13e3,13032)|0;T=26;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Br(b,h+8|0,d,l,g,L);T=26;break}case 73:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];Cr(b,h+8|0,d,l,g,L);T=26;break}case 106:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dr(b,h+28|0,d,l,g,L);T=26;break}case 109:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Er(b,h+16|0,d,l,g,L);T=26;break}case 77:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fr(b,h+4|0,d,l,g,L);T=26;break}case 116:case 110:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gr(b,d,l,g,L);T=26;break}case 112:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hr(b,h+8|0,d,l,g,L);T=26;break}case 114:{c[u>>2]=c[d>>2];c[v>>2]=c[e>>2];c[k>>2]=c[u>>2];c[l>>2]=c[v>>2];c[d>>2]=nr(b,k,l,f,g,h,13032,13076)|0;T=26;break}case 82:{c[x>>2]=c[d>>2];c[y>>2]=c[e>>2];c[k>>2]=c[x>>2];c[l>>2]=c[y>>2];c[d>>2]=nr(b,k,l,f,g,h,13076,13096)|0;T=26;break}case 83:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];Ir(b,h,d,l,g,L);T=26;break}case 84:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[k>>2]=c[A>>2];c[l>>2]=c[B>>2];c[d>>2]=nr(b,k,l,f,g,h,13096,13128)|0;T=26;break}case 119:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];Jr(b,h+24|0,d,l,g,L);T=26;break}case 120:{U=c[(c[b>>2]|0)+20>>2]|0;c[D>>2]=c[d>>2];c[E>>2]=c[e>>2];c[k>>2]=c[D>>2];c[l>>2]=c[E>>2];k=Gb[U&63](b,k,l,f,g,h)|0;break}case 88:{U=b+8|0;U=Hb[c[(c[U>>2]|0)+24>>2]&127](U)|0;c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];j=a[U>>0]|0;e=(j&1)==0;T=U+4|0;U=e?T:c[U+8>>2]|0;T=U+((e?(j&255)>>>1:c[T>>2]|0)<<2)|0;c[k>>2]=c[F>>2];c[l>>2]=c[G>>2];c[d>>2]=nr(b,k,l,f,g,h,U,T)|0;T=26;break}case 121:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];yr(b,h+20|0,d,l,g,L);T=26;break}case 89:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];Kr(b,h+20|0,d,l,g,L);T=26;break}case 37:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lr(b,d,l,g,L);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)k=c[d>>2]|0;i=S;return k|0}function Ar(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Br(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Er(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Fr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Gr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(yb[c[(c[f>>2]|0)+12>>2]&31](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Hb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37;while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Hr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Hb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Dv(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function Ir(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Jr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Rv(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Lr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((yb[c[(c[f>>2]|0)+52>>2]&31](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Hb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37;while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function Mr(a){a=a|0;Nr(a+8|0);return}function Nr(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(Wp()|0))kl(c[a>>2]|0);return}function Or(a){a=a|0;Nr(a+8|0);ck(a);return}function Pr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Qr(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Pb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0;while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Qr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Pa(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Rr(a){a=a|0;Nr(a+8|0);return}function Sr(a){a=a|0;Nr(a+8|0);ck(a);return}function Tr(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Ur(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Pb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Ur(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Qr(a,l,m,e,f,g);g=j;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=l;g=(c[d>>2]|0)-b>>2;f=ol(c[a>>2]|0)|0;g=Cl(b,k,g,j)|0;if(f)ol(f)|0;c[d>>2]=b+(g<<2);i=h;return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;ck(a);return}function Xr(a){a=a|0;return 127}function Yr(a){a=a|0;return 127}function Zr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function _r(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $r(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function as(a,b){a=a|0;b=b|0;Bn(a,1,45);return}function bs(a){a=a|0;return 0}function cs(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function ds(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function es(a){a=a|0;return}function fs(a){a=a|0;ck(a);return}function gs(a){a=a|0;return 127}function hs(a){a=a|0;return 127}function is(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function js(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ks(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ls(a,b){a=a|0;b=b|0;Bn(a,1,45);return}function ms(a){a=a|0;return 0}function ns(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function os(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function ps(a){a=a|0;return}function qs(a){a=a|0;ck(a);return}function rs(a){a=a|0;return 2147483647}function ss(a){a=a|0;return 2147483647}function ts(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function us(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vs(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ws(a,b){a=a|0;b=b|0;Vn(a,1,45);return}function xs(a){a=a|0;return 0}function ys(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zs(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function As(a){a=a|0;return}function Bs(a){a=a|0;ck(a);return}function Cs(a){a=a|0;return 2147483647}function Ds(a){a=a|0;return 2147483647}function Es(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Fs(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gs(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hs(a,b){a=a|0;b=b|0;Vn(a,1,45);return}function Is(a){a=a|0;return 0}function Js(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ks(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ls(a){a=a|0;return}function Ms(a){a=a|0;ck(a);return}function Ns(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+240|0;x=E+24|0;y=E;u=E+136|0;D=E+16|0;w=E+12|0;A=E+8|0;k=E+134|0;s=E+4|0;v=E+124|0;c[D>>2]=u;C=D+4|0;c[C>>2]=192;c[A>>2]=jo(g)|0;b=Gt(A,12368)|0;a[k>>0]=0;c[s>>2]=c[e>>2];t=c[g+4>>2]|0;c[x>>2]=c[s>>2];if(Ps(d,x,f,A,t,h,k,b,D,w,u+100|0)|0){Nb[c[(c[b>>2]|0)+32>>2]&15](b,32163,32173,v)|0;f=c[w>>2]|0;g=c[D>>2]|0;b=f-g|0;if((b|0)>98){b=Gm(b+2|0)|0;if(!b)Pk();else{z=b;l=b}}else{z=0;l=x}if(!(a[k>>0]|0))b=l;else{a[l>>0]=45;b=l+1|0}t=v+10|0;u=v;if(g>>>0<f>>>0){k=v+1|0;l=k+1|0;m=l+1|0;n=m+1|0;o=n+1|0;p=o+1|0;q=p+1|0;r=q+1|0;s=r+1|0;do{f=a[g>>0]|0;if((a[v>>0]|0)!=f<<24>>24)if((a[k>>0]|0)!=f<<24>>24)if((a[l>>0]|0)!=f<<24>>24)if((a[m>>0]|0)!=f<<24>>24)if((a[n>>0]|0)!=f<<24>>24)if((a[o>>0]|0)!=f<<24>>24)if((a[p>>0]|0)!=f<<24>>24)if((a[q>>0]|0)!=f<<24>>24)if((a[r>>0]|0)==f<<24>>24)f=r;else f=(a[s>>0]|0)==f<<24>>24?s:t;else f=q;else f=p;else f=o;else f=n;else f=m;else f=l;else f=k;else f=v;a[b>>0]=a[32163+(f-u)>>0]|0;g=g+1|0;b=b+1|0}while(g>>>0<(c[w>>2]|0)>>>0)}a[b>>0]=0;c[y>>2]=j;_l(x,32174,y)|0;if(z)Hm(z)}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0))if((Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}else b=0;while(0);b=(b|0)==0;f=c[e>>2]|0;do if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)?(Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1:0){c[e>>2]=0;B=25;break}if(!b)B=26}else B=25;while(0);if((B|0)==25?b:0)B=26;if((B|0)==26)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;rn(c[A>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if(b)Eb[c[C>>2]&255](b);i=E;return f|0}function Os(a){a=a|0;return}function Ps(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+512|0;O=ca+88|0;t=ca+96|0;ba=ca+80|0;S=ca+72|0;R=ca+68|0;T=ca+500|0;P=ca+497|0;U=ca+496|0;Y=ca+56|0;aa=ca+44|0;_=ca+32|0;Z=ca+20|0;$=ca+8|0;Q=ca+4|0;W=ca;c[O>>2]=p;c[ba>>2]=t;X=ba+4|0;c[X>>2]=192;c[S>>2]=t;c[R>>2]=t+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;Ss(g,h,T,P,U,Y,aa,_,Z,Q);c[o>>2]=c[n>>2];H=m+8|0;I=_+4|0;J=Z+4|0;K=Z+8|0;L=Z+1|0;M=_+8|0;N=_+1|0;x=(j&512|0)!=0;y=aa+8|0;z=aa+1|0;A=aa+4|0;B=$+4|0;C=$+8|0;D=$+1|0;E=T+3|0;F=Y+4|0;G=0;s=0;a:while(1){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(p)break;else{V=202;break a}if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)!=-1)if(p)break;else{V=202;break a}else{c[f>>2]=0;V=12;break}}else V=12;while(0);if((V|0)==12){V=0;if(p){V=202;break}else m=0}b:do switch(a[T+G>>0]|0){case 1:{if((G|0)!=3){p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else p=d[g>>0]|0;if((p&255)<<24>>24<=-1){V=26;break a}if(!(b[(c[H>>2]|0)+(p<<24>>24<<1)>>1]&8192)){V=26;break a}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))p=Hb[c[(c[p>>2]|0)+40>>2]&127](p)|0;else{c[g>>2]=h+1;p=d[h>>0]|0}Ln($,p&255);p=m;g=m;V=28}break}case 0:{if((G|0)!=3){p=m;g=m;V=28}break}case 3:{h=a[_>>0]|0;p=(h&1)==0?(h&255)>>>1:c[I>>2]|0;g=a[Z>>0]|0;g=(g&1)==0?(g&255)>>>1:c[J>>2]|0;if((p|0)!=(0-g|0)){j=(p|0)==0;q=c[e>>2]|0;r=c[q+12>>2]|0;p=c[q+16>>2]|0;m=(r|0)==(p|0);if(j|(g|0)==0){if(m)p=Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0;else p=d[r>>0]|0;p=p&255;if(j){if(p<<24>>24!=(a[((a[Z>>0]&1)==0?L:c[K>>2]|0)>>0]|0))break b;p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))Hb[c[(c[p>>2]|0)+40>>2]&127](p)|0;else c[m>>2]=g+1;a[l>>0]=1;w=a[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:c[J>>2]|0)>>>0>1?Z:s;break b}if(p<<24>>24!=(a[((a[_>>0]&1)==0?N:c[M>>2]|0)>>0]|0)){a[l>>0]=1;break b}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))Hb[c[(c[p>>2]|0)+40>>2]&127](p)|0;else c[m>>2]=g+1;w=a[_>>0]|0;s=((w&1)==0?(w&255)>>>1:c[I>>2]|0)>>>0>1?_:s;break b}if(m){j=Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0;p=c[e>>2]|0;h=a[_>>0]|0;q=p;g=c[p+12>>2]|0;p=c[p+16>>2]|0}else{j=d[r>>0]|0;g=r}m=q+12|0;p=(g|0)==(p|0);if((j&255)<<24>>24==(a[((h&1)==0?N:c[M>>2]|0)>>0]|0)){if(p)Hb[c[(c[q>>2]|0)+40>>2]&127](q)|0;else c[m>>2]=g+1;w=a[_>>0]|0;s=((w&1)==0?(w&255)>>>1:c[I>>2]|0)>>>0>1?_:s;break b}if(p)p=Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0;else p=d[g>>0]|0;if((p&255)<<24>>24!=(a[((a[Z>>0]&1)==0?L:c[K>>2]|0)>>0]|0)){V=82;break a}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))Hb[c[(c[p>>2]|0)+40>>2]&127](p)|0;else c[m>>2]=g+1;a[l>>0]=1;w=a[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:c[J>>2]|0)>>>0>1?Z:s}break}case 2:{if(!(G>>>0<2|(s|0)!=0)?!(x|(G|0)==2&(a[E>>0]|0)!=0):0){s=0;break b}v=a[aa>>0]|0;p=(v&1)==0;w=c[y>>2]|0;h=p?z:w;u=h;c:do if((G|0)!=0?(d[T+(G+-1)>>0]|0)<2:0){r=p?(v&255)>>>1:c[A>>2]|0;j=h+r|0;q=c[H>>2]|0;d:do if(!r)g=u;else{r=h;g=u;do{p=a[r>>0]|0;if(p<<24>>24<=-1)break d;if(!(b[q+(p<<24>>24<<1)>>1]&8192))break d;r=r+1|0;g=r}while((r|0)!=(j|0))}while(0);j=g-u|0;q=a[$>>0]|0;p=(q&1)==0;q=p?(q&255)>>>1:c[B>>2]|0;if(q>>>0>=j>>>0){p=p?D:c[C>>2]|0;r=p+q|0;if((g|0)!=(u|0)){p=p+(q-j)|0;while(1){if((a[p>>0]|0)!=(a[h>>0]|0)){g=u;break c}p=p+1|0;if((p|0)==(r|0))break;else h=h+1|0}}}else g=u}else g=u;while(0);p=(v&1)==0;p=(p?z:w)+(p?(v&255)>>>1:c[A>>2]|0)|0;e:do if((g|0)!=(p|0)){j=m;h=m;p=g;while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;q=h;break}else break e;if((Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0)!=-1)if(g^(j|0)==0){m=j;q=j;break}else break e;else{c[f>>2]=0;m=0;V=107;break}}else{m=j;V=107}while(0);if((V|0)==107){V=0;if(g)break e;else q=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[p>>0]|0))break e;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0))Hb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else c[h>>2]=j+1;p=p+1|0;g=a[aa>>0]|0;w=(g&1)==0;g=(w?z:c[y>>2]|0)+(w?(g&255)>>>1:c[A>>2]|0)|0;if((p|0)==(g|0)){p=g;break}else{j=m;h=q}}}while(0);if(x?(w=a[aa>>0]|0,v=(w&1)==0,(p|0)!=((v?z:c[y>>2]|0)+(v?(w&255)>>>1:c[A>>2]|0)|0)):0){V=119;break a}break}case 4:{r=a[U>>0]|0;j=m;h=m;p=0;f:while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;q=h;break}else{m=j;break f}if((Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0)!=-1)if(g^(j|0)==0){m=j;q=j;break}else{m=j;break f}else{c[f>>2]=0;m=0;V=130;break}}else{m=j;V=130}while(0);if((V|0)==130){V=0;if(g)break;else q=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=d[h>>0]|0;h=g&255;if(h<<24>>24>-1?(b[(c[H>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[o>>2]|0;if((g|0)==(c[O>>2]|0)){Sv(n,o,O);g=c[o>>2]|0}c[o>>2]=g+1;a[g>>0]=h;p=p+1|0}else{w=a[Y>>0]|0;if(!(h<<24>>24==r<<24>>24&((p|0)!=0?(((w&1)==0?(w&255)>>>1:c[F>>2]|0)|0)!=0:0)))break;if((t|0)==(c[R>>2]|0)){Tv(ba,S,R);t=c[S>>2]|0}w=t+4|0;c[S>>2]=w;c[t>>2]=p;t=w;p=0}g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){Hb[c[(c[g>>2]|0)+40>>2]&127](g)|0;j=m;h=q;continue}else{c[h>>2]=j+1;j=m;h=q;continue}}if((p|0)!=0?(c[ba>>2]|0)!=(t|0):0){if((t|0)==(c[R>>2]|0)){Tv(ba,S,R);t=c[S>>2]|0}w=t+4|0;c[S>>2]=w;c[t>>2]=p;t=w}q=c[Q>>2]|0;if((q|0)>0){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1:0){c[f>>2]=0;V=162;break}if(p)h=m;else{V=167;break a}}else V=162;while(0);if((V|0)==162){V=0;if(p){V=167;break a}else h=0}p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else p=d[m>>0]|0;if((p&255)<<24>>24!=(a[P>>0]|0)){V=167;break a}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))Hb[c[(c[p>>2]|0)+40>>2]&127](p)|0;else c[m>>2]=g+1;if((q|0)>0){j=h;g=h;while(1){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);m=(p|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){p=j;r=g;break}else{V=189;break a}if((Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0)!=-1)if(m^(j|0)==0){p=j;r=j;break}else{V=189;break a}else{c[f>>2]=0;p=0;V=182;break}}else{p=j;V=182}while(0);if((V|0)==182){V=0;if(m){V=189;break a}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0))m=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){V=189;break a}if(!(b[(c[H>>2]|0)+(m<<24>>24<<1)>>1]&2048)){V=189;break a}if((c[o>>2]|0)==(c[O>>2]|0))Sv(n,o,O);m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0))m=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else m=d[g>>0]|0;g=c[o>>2]|0;c[o>>2]=g+1;a[g>>0]=m;m=q;q=q+-1|0;c[Q>>2]=q;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0))Hb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else c[h>>2]=j+1;if((m|0)<=1)break;else{j=p;g=r}}}}if((c[o>>2]|0)==(c[n>>2]|0)){V=200;break a}break}default:{}}while(0);g:do if((V|0)==28)while(1){V=0;m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);m=(m|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){j=p;h=g;break}else break g;if((Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0)!=-1)if(m^(p|0)==0){j=p;h=p;break}else break g;else{c[f>>2]=0;p=0;V=38;break}}else V=38;while(0);if((V|0)==38){V=0;if(m)break g;else{j=p;h=0}}p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else p=d[m>>0]|0;if((p&255)<<24>>24<=-1)break g;if(!(b[(c[H>>2]|0)+(p<<24>>24<<1)>>1]&8192))break g;p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))p=Hb[c[(c[p>>2]|0)+40>>2]&127](p)|0;else{c[m>>2]=g+1;p=d[g>>0]|0}Ln($,p&255);p=j;g=h;V=28}while(0);G=G+1|0;if(G>>>0>=4){V=202;break}}h:do if((V|0)==26){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==82){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==119){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==167){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==189){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==200){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==202){i:do if(s){j=s+1|0;q=s+8|0;r=s+4|0;g=1;j:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[r>>2]|0;if(g>>>0>=p>>>0)break i;p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1:0){c[f>>2]=0;V=218;break}if(!p)break j}else V=218;while(0);if((V|0)==218?(V=0,p):0)break;p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else p=d[m>>0]|0;if(!(a[s>>0]&1))m=j;else m=c[q>>2]|0;if((p&255)<<24>>24!=(a[m+g>>0]|0))break;p=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){Hb[c[(c[m>>2]|0)+40>>2]&127](m)|0;g=p;continue}else{c[g>>2]=h+1;g=p;continue}}c[k>>2]=c[k>>2]|4;m=0;break h}while(0);p=c[ba>>2]|0;if((p|0)!=(t|0)?(c[W>>2]=0,Ts(Y,p,t,W),(c[W>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1}while(0);Dn($);Dn(Z);Dn(_);Dn(aa);Dn(Y);p=c[ba>>2]|0;c[ba>>2]=0;if(p)Eb[c[X>>2]&255](p);i=ca;return m|0}function Qs(a){a=a|0;return}function Rs(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+144|0;v=s+24|0;t=s+32|0;r=s+16|0;l=s+8|0;u=s+4|0;k=s+28|0;m=s;c[r>>2]=t;q=r+4|0;c[q>>2]=192;o=jo(g)|0;c[u>>2]=o;b=Gt(u,12368)|0;a[k>>0]=0;n=c[e>>2]|0;c[m>>2]=n;g=c[g+4>>2]|0;c[v>>2]=c[m>>2];m=n;if(Ps(d,v,f,u,g,h,k,b,r,l,t+100|0)|0){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[k>>0]|0)Ln(j,Pb[c[(c[b>>2]|0)+28>>2]&63](b,45)|0);k=Pb[c[(c[b>>2]|0)+28>>2]&63](b,48)|0;b=c[r>>2]|0;f=c[l>>2]|0;g=f+-1|0;a:do if(b>>>0<g>>>0)do{if((a[b>>0]|0)!=k<<24>>24)break a;b=b+1|0}while(b>>>0<g>>>0);while(0);Uv(j,b,f)|0}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0))if((Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}else b=0;while(0);b=(b|0)==0;do if(n){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](m)|0)==-1:0){c[e>>2]=0;p=21;break}if(!b)p=22}else p=21;while(0);if((p|0)==21?b:0)p=22;if((p|0)==22)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;rn(o)|0;b=c[r>>2]|0;c[r>>2]=0;if(b)Eb[c[q>>2]&255](b);i=s;return g|0}function Ss(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+112|0;n=x+100|0;o=x+88|0;p=x+76|0;q=x+64|0;r=x+52|0;s=x+48|0;t=x+36|0;u=x+24|0;v=x+12|0;w=x;if(b){b=Gt(d,11976)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](n,b);w=c[n>>2]|0;a[e>>0]=w;a[e+1>>0]=w>>8;a[e+2>>0]=w>>16;a[e+3>>0]=w>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](o,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Jn(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Dn(o);Fb[c[(c[b>>2]|0)+28>>2]&127](p,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}Jn(k,0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Dn(p);a[f>>0]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}Jn(h,0);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Dn(q);Fb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Jn(j,0);c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Dn(r);b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Gt(d,11912)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](s,b);s=c[s>>2]|0;a[e>>0]=s;a[e+1>>0]=s>>8;a[e+2>>0]=s>>16;a[e+3>>0]=s>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](t,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Jn(l,0);c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Dn(t);Fb[c[(c[b>>2]|0)+28>>2]&127](u,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}Jn(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Dn(u);a[f>>0]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](v,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}Jn(h,0);c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Dn(v);Fb[c[(c[b>>2]|0)+24>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Jn(j,0);c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Dn(w);b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[m>>2]=b;i=x;return}function Ts(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0<g>>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function Us(a){a=a|0;return}function Vs(a){a=a|0;ck(a);return}function Ws(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+576|0;v=E+424|0;y=E;u=E+24|0;D=E+16|0;w=E+12|0;A=E+8|0;k=E+464|0;s=E+4|0;x=E+468|0;c[D>>2]=u;C=D+4|0;c[C>>2]=192;c[A>>2]=jo(g)|0;b=Gt(A,12360)|0;a[k>>0]=0;c[s>>2]=c[e>>2];t=c[g+4>>2]|0;c[v>>2]=c[s>>2];if(Xs(d,v,f,A,t,h,k,b,D,w,u+400|0)|0){Nb[c[(c[b>>2]|0)+48>>2]&15](b,32178,32188,v)|0;f=c[w>>2]|0;g=c[D>>2]|0;b=f-g|0;if((b|0)>392){b=Gm((b>>2)+2|0)|0;if(!b)Pk();else{z=b;l=b}}else{z=0;l=x}if(!(a[k>>0]|0))b=l;else{a[l>>0]=45;b=l+1|0}t=v+40|0;u=v;if(g>>>0<f>>>0){k=v+4|0;l=k+4|0;m=l+4|0;n=m+4|0;o=n+4|0;p=o+4|0;q=p+4|0;r=q+4|0;s=r+4|0;do{f=c[g>>2]|0;if((c[v>>2]|0)!=(f|0))if((c[k>>2]|0)!=(f|0))if((c[l>>2]|0)!=(f|0))if((c[m>>2]|0)!=(f|0))if((c[n>>2]|0)!=(f|0))if((c[o>>2]|0)!=(f|0))if((c[p>>2]|0)!=(f|0))if((c[q>>2]|0)!=(f|0))if((c[r>>2]|0)==(f|0))f=r;else f=(c[s>>2]|0)==(f|0)?s:t;else f=q;else f=p;else f=o;else f=n;else f=m;else f=l;else f=k;else f=v;a[b>>0]=a[32178+(f-u>>2)>>0]|0;g=g+4|0;b=b+1|0}while(g>>>0<(c[w>>2]|0)>>>0)}a[b>>0]=0;c[y>>2]=j;_l(x,32174,y)|0;if(z)Hm(z)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=c[f>>2]|0;if((b|0)==-1){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=c[f>>2]|0;if((b|0)!=-1)if(g)break;else{B=30;break}else{c[e>>2]=0;B=28;break}}else B=28;while(0);if((B|0)==28?g:0)B=30;if((B|0)==30)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;rn(c[A>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if(b)Eb[c[C>>2]&255](b);i=E;return f|0}function Xs(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=i;i=i+512|0;J=Z+96|0;s=Z+104|0;Y=Z+88|0;N=Z+80|0;M=Z+76|0;O=Z+504|0;K=Z+72|0;P=Z+68|0;T=Z+56|0;X=Z+44|0;V=Z+32|0;U=Z+20|0;W=Z+8|0;L=Z+4|0;R=Z;c[J>>2]=o;c[Y>>2]=s;S=Y+4|0;c[S>>2]=192;c[N>>2]=s;c[M>>2]=s+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;Zs(f,g,O,K,P,T,X,V,U,L);c[n>>2]=c[m>>2];F=V+4|0;G=U+4|0;H=U+8|0;I=V+8|0;x=(h&512|0)!=0;y=X+8|0;z=X+4|0;A=W+4|0;B=W+8|0;C=O+3|0;D=T+4|0;E=0;r=0;a:while(1){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){o=c[f+12>>2]|0;if((o|0)==(c[f+16>>2]|0))o=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(g){w=f;break}else{Q=217;break a}else{c[e>>2]=0;Q=15;break}}else Q=15;while(0);if((Q|0)==15){Q=0;if(g){Q=217;break}else w=0}b:do switch(a[O+E>>0]|0){case 1:{if((E|0)!=3){o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,8192,o)|0)){Q=28;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[f>>2]=g+4;o=c[g>>2]|0}_n(W,o);o=w;h=w;Q=30}break}case 0:{if((E|0)!=3){o=w;h=w;Q=30}break}case 3:{p=a[V>>0]|0;o=(p&1)==0?(p&255)>>>1:c[F>>2]|0;g=a[U>>0]|0;g=(g&1)==0?(g&255)>>>1:c[G>>2]|0;if((o|0)!=(0-g|0)){h=(o|0)==0;q=c[b>>2]|0;t=c[q+12>>2]|0;o=c[q+16>>2]|0;f=(t|0)==(o|0);if(h|(g|0)==0){if(f)o=Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0;else o=c[t>>2]|0;if(h){if((o|0)!=(c[((a[U>>0]&1)==0?G:c[H>>2]|0)>>2]|0))break b;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))Hb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else c[f>>2]=g+4;a[k>>0]=1;w=a[U>>0]|0;r=((w&1)==0?(w&255)>>>1:c[G>>2]|0)>>>0>1?U:r;break b}if((o|0)!=(c[((a[V>>0]&1)==0?F:c[I>>2]|0)>>2]|0)){a[k>>0]=1;break b}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))Hb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else c[f>>2]=g+4;w=a[V>>0]|0;r=((w&1)==0?(w&255)>>>1:c[F>>2]|0)>>>0>1?V:r;break b}if(f){h=Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0;o=c[b>>2]|0;p=a[V>>0]|0;q=o;g=c[o+12>>2]|0;o=c[o+16>>2]|0}else{h=c[t>>2]|0;g=t}f=q+12|0;o=(g|0)==(o|0);if((h|0)==(c[((p&1)==0?F:c[I>>2]|0)>>2]|0)){if(o)Hb[c[(c[q>>2]|0)+40>>2]&127](q)|0;else c[f>>2]=g+4;w=a[V>>0]|0;r=((w&1)==0?(w&255)>>>1:c[F>>2]|0)>>>0>1?V:r;break b}if(o)o=Hb[c[(c[q>>2]|0)+36>>2]&127](q)|0;else o=c[g>>2]|0;if((o|0)!=(c[((a[U>>0]&1)==0?G:c[H>>2]|0)>>2]|0)){Q=86;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))Hb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else c[f>>2]=g+4;a[k>>0]=1;w=a[U>>0]|0;r=((w&1)==0?(w&255)>>>1:c[G>>2]|0)>>>0>1?U:r}break}case 2:{if(!(E>>>0<2|(r|0)!=0)?!(x|(E|0)==2&(a[C>>0]|0)!=0):0){r=0;break b}h=a[X>>0]|0;g=c[y>>2]|0;f=(h&1)==0?z:g;o=f;c:do if((E|0)!=0?(d[O+(E+-1)>>0]|0)<2:0){v=(h&1)==0;d:do if((f|0)!=((v?z:g)+((v?(h&255)>>>1:c[z>>2]|0)<<2)|0)){h=f;while(1){if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,8192,c[h>>2]|0)|0))break;h=h+4|0;o=h;f=a[X>>0]|0;g=c[y>>2]|0;v=(f&1)==0;if((h|0)==((v?z:g)+((v?(f&255)>>>1:c[z>>2]|0)<<2)|0)){h=f;break d}}h=a[X>>0]|0;g=c[y>>2]|0}while(0);q=(h&1)==0?z:g;f=q;t=o-f>>2;u=a[W>>0]|0;p=(u&1)==0;u=p?(u&255)>>>1:c[A>>2]|0;if(u>>>0>=t>>>0){p=p?A:c[B>>2]|0;v=p+(u<<2)|0;if(!t)f=o;else{p=p+(u-t<<2)|0;while(1){if((c[p>>2]|0)!=(c[q>>2]|0))break c;p=p+4|0;if((p|0)==(v|0)){f=o;break}else q=q+4|0}}}}else f=o;while(0);o=(h&1)==0;o=(o?z:g)+((o?(h&255)>>>1:c[z>>2]|0)<<2)|0;e:do if((f|0)!=(o|0)){p=w;h=w;o=f;while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){f=p;q=p;break}else break e;else{c[e>>2]=0;f=0;Q=114;break}}else{f=p;Q=114}while(0);if((Q|0)==114){Q=0;if(g)break e;else q=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)!=(c[o>>2]|0))break e;g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0))Hb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else c[h>>2]=p+4;o=o+4|0;g=a[X>>0]|0;w=(g&1)==0;g=(w?z:c[y>>2]|0)+((w?(g&255)>>>1:c[z>>2]|0)<<2)|0;if((o|0)==(g|0)){o=g;break}else{p=f;h=q}}}while(0);if(x?(w=a[X>>0]|0,v=(w&1)==0,(o|0)!=((v?z:c[y>>2]|0)+((v?(w&255)>>>1:c[z>>2]|0)<<2)|0)):0){Q=126;break a}break}case 4:{t=c[P>>2]|0;h=w;p=w;o=0;f:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0))f=Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(h|0)==0){f=h;q=h;break}else break f;else{c[e>>2]=0;f=0;Q=140;break}}else{f=h;Q=140}while(0);if((Q|0)==140){Q=0;if(g){h=f;break}else q=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))h=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else h=c[h>>2]|0;if(yb[c[(c[l>>2]|0)+12>>2]&31](l,2048,h)|0){g=c[n>>2]|0;if((g|0)==(c[J>>2]|0)){Vv(m,n,J);g=c[n>>2]|0}c[n>>2]=g+4;c[g>>2]=h;o=o+1|0}else{w=a[T>>0]|0;if(!((h|0)==(t|0)&((o|0)!=0?(((w&1)==0?(w&255)>>>1:c[D>>2]|0)|0)!=0:0))){h=f;break}if((s|0)==(c[M>>2]|0)){Tv(Y,N,M);s=c[N>>2]|0}w=s+4|0;c[N>>2]=w;c[s>>2]=o;s=w;o=0}g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0)){Hb[c[(c[g>>2]|0)+40>>2]&127](g)|0;h=f;p=q;continue}else{c[h>>2]=p+4;h=f;p=q;continue}}if((o|0)!=0?(c[Y>>2]|0)!=(s|0):0){if((s|0)==(c[M>>2]|0)){Tv(Y,N,M);s=c[N>>2]|0}w=s+4|0;c[N>>2]=w;c[s>>2]=o;s=w}q=c[L>>2]|0;if((q|0)>0){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(f)break;else{Q=180;break a}else{c[e>>2]=0;Q=174;break}}else Q=174;while(0);if((Q|0)==174){Q=0;if(f){Q=180;break a}else h=0}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if((o|0)!=(c[K>>2]|0)){Q=180;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))Hb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else c[f>>2]=g+4;if((q|0)>0){p=h;g=h;t=q;while(1){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(f^(p|0)==0){o=p;q=p;break}else{Q=204;break a}else{c[e>>2]=0;o=0;Q=198;break}}else{o=p;Q=198}while(0);if((Q|0)==198){Q=0;if(f){Q=204;break a}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[g>>2]|0;if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,2048,f)|0)){Q=204;break a}if((c[n>>2]|0)==(c[J>>2]|0))Vv(m,n,J);f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[g>>2]|0;g=c[n>>2]|0;c[n>>2]=g+4;c[g>>2]=f;f=t;t=t+-1|0;c[L>>2]=t;g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0))Hb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else c[h>>2]=p+4;if((f|0)<=1)break;else{p=o;g=q}}}}if((c[n>>2]|0)==(c[m>>2]|0)){Q=215;break a}break}default:{}}while(0);g:do if((Q|0)==30)while(1){Q=0;f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(o|0)==0){p=o;h=o;break}else break g;else{c[e>>2]=0;o=0;Q=43;break}}else Q=43;while(0);if((Q|0)==43){Q=0;if(g)break g;else{p=o;h=0}}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,8192,o)|0))break g;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[f>>2]=g+4;o=c[g>>2]|0}_n(W,o);o=p;Q=30}while(0);E=E+1|0;if(E>>>0>=4){Q=217;break}}h:do if((Q|0)==28){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==86){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==126){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==180){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==204){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==215){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==217){i:do if(r){p=r+4|0;q=r+8|0;h=1;j:while(1){o=a[r>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=c[p>>2]|0;if(h>>>0>=o>>>0)break i;o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);o=c[e>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if((o|0)!=-1)if(g)break;else break j;else{c[e>>2]=0;Q=236;break}}else Q=236;while(0);if((Q|0)==236?(Q=0,g):0)break;o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=c[f>>2]|0;if(!(a[r>>0]&1))f=p;else f=c[q>>2]|0;if((o|0)!=(c[f+(h<<2)>>2]|0))break;o=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){Hb[c[(c[f>>2]|0)+40>>2]&127](f)|0;h=o;continue}else{c[g>>2]=h+4;h=o;continue}}c[j>>2]=c[j>>2]|4;f=0;break h}while(0);o=c[Y>>2]|0;if((o|0)!=(s|0)?(c[R>>2]=0,Ts(T,o,s,R),(c[R>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1}while(0);Wn(W);Wn(U);Wn(V);Wn(X);Dn(T);o=c[Y>>2]|0;c[Y>>2]=0;if(o)Eb[c[S>>2]&255](o);i=Z;return f|0}function Ys(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+432|0;v=s+424|0;t=s+24|0;r=s+16|0;l=s+8|0;u=s+4|0;k=s+428|0;m=s;c[r>>2]=t;q=r+4|0;c[q>>2]=192;o=jo(g)|0;c[u>>2]=o;b=Gt(u,12360)|0;a[k>>0]=0;n=c[e>>2]|0;c[m>>2]=n;g=c[g+4>>2]|0;c[v>>2]=c[m>>2];m=n;if(Xs(d,v,f,u,g,h,k,b,r,l,t+400|0)|0){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[k>>0]|0)_n(j,Pb[c[(c[b>>2]|0)+44>>2]&63](b,45)|0);k=Pb[c[(c[b>>2]|0)+44>>2]&63](b,48)|0;b=c[r>>2]|0;f=c[l>>2]|0;g=f+-4|0;a:do if(b>>>0<g>>>0)do{if((c[b>>2]|0)!=(k|0))break a;b=b+4|0}while(b>>>0<g>>>0);while(0);Wv(j,b,f)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=c[g>>2]|0;if((b|0)==-1){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(n){b=c[m+12>>2]|0;if((b|0)==(c[m+16>>2]|0))b=Hb[c[(c[n>>2]|0)+36>>2]&127](m)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(g)break;else{p=26;break}else{c[e>>2]=0;p=24;break}}else p=24;while(0);if((p|0)==24?g:0)p=26;if((p|0)==26)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;rn(o)|0;b=c[r>>2]|0;c[r>>2]=0;if(b)Eb[c[q>>2]&255](b);i=s;return g|0}function Zs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+112|0;n=x+100|0;o=x+88|0;p=x+76|0;q=x+64|0;r=x+52|0;s=x+48|0;t=x+36|0;u=x+24|0;v=x+12|0;w=x;if(b){b=Gt(d,12104)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](n,b);w=c[n>>2]|0;a[e>>0]=w;a[e+1>>0]=w>>8;a[e+2>>0]=w>>16;a[e+3>>0]=w>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](o,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;Zn(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Wn(o);Fb[c[(c[b>>2]|0)+28>>2]&127](p,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;Zn(k,0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wn(p);c[f>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}Jn(h,0);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Dn(q);Fb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;Zn(j,0);c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wn(r);b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Gt(d,12040)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](s,b);s=c[s>>2]|0;a[e>>0]=s;a[e+1>>0]=s>>8;a[e+2>>0]=s>>16;a[e+3>>0]=s>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;Zn(l,0);c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wn(t);Fb[c[(c[b>>2]|0)+28>>2]&127](u,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;Zn(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wn(u);c[f>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](v,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}Jn(h,0);c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Dn(v);Fb[c[(c[b>>2]|0)+24>>2]&127](w,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;Zn(j,0);c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Wn(w);b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[m>>2]=b;i=x;return}function _s(a){a=a|0;return}function $s(a){a=a|0;ck(a);return}function at(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+384|0;q=F+8|0;l=F;b=F+284|0;m=F+72|0;k=F+184|0;y=F+68|0;v=F+80|0;s=F+77|0;w=F+76|0;C=F+56|0;E=F+44|0;D=F+32|0;o=F+28|0;p=F+84|0;u=F+24|0;t=F+20|0;r=F+16|0;c[m>>2]=b;h[q>>3]=j;b=Zl(b,100,32189,q)|0;if(b>>>0>99){b=Wp()|0;h[l>>3]=j;b=Ov(m,b,32189,l)|0;k=c[m>>2]|0;if(!k)Pk();l=Gm(b)|0;if(!l)Pk();else{G=l;H=k;x=l;A=b}}else{G=0;H=0;x=k;A=b}b=jo(f)|0;c[y>>2]=b;n=Gt(y,12368)|0;l=c[m>>2]|0;Nb[c[(c[n>>2]|0)+32>>2]&15](n,l,l+A|0,x)|0;if(!A)m=0;else m=(a[c[m>>2]>>0]|0)==45;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;bt(e,m,y,v,s,w,C,E,D,o);l=c[o>>2]|0;if((A|0)>(l|0)){e=a[D>>0]|0;k=a[E>>0]|0;k=(A-l<<1|1)+l+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{e=a[D>>0]|0;k=a[E>>0]|0;k=l+2+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}if(k>>>0>100){k=Gm(k)|0;if(!k)Pk();else{B=k;z=k}}else{B=0;z=p}ct(z,u,t,c[f+4>>2]|0,x,x+A|0,n,m,v,a[s>>0]|0,a[w>>0]|0,C,E,D,l);c[r>>2]=c[d>>2];d=c[u>>2]|0;k=c[t>>2]|0;c[q>>2]=c[r>>2];k=ue(q,z,d,k,f,g)|0;if(B){Hm(B);b=c[y>>2]|0}Dn(D);Dn(E);Dn(C);rn(b)|0;if(G)Hm(G);if(H)Hm(H);i=F;return k|0}function bt(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+108|0;o=z+96|0;p=z+92|0;q=z+80|0;x=z+68|0;y=z+56|0;r=z+52|0;s=z+40|0;t=z+36|0;u=z+24|0;v=z+12|0;w=z;if(b){e=Gt(e,11976)|0;b=c[e>>2]|0;if(d){Fb[c[b+44>>2]&127](n,e);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[e>>2]|0)+32>>2]&127](o,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Jn(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Dn(o);b=e}else{Fb[c[b+40>>2]&127](p,e);d=c[p>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[e>>2]|0)+28>>2]&127](q,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Jn(l,0);c[l>>2]=c[q>>2];c[l+4>>2]=c[q+4>>2];c[l+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Dn(q);b=e}a[g>>0]=Hb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[h>>0]=Hb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](x,e);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Jn(j,0);c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Dn(x);Fb[c[(c[b>>2]|0)+24>>2]&127](y,e);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}Jn(k,0);c[k>>2]=c[y>>2];c[k+4>>2]=c[y+4>>2];c[k+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;Dn(y);b=Hb[c[(c[e>>2]|0)+36>>2]&127](e)|0}else{e=Gt(e,11912)|0;b=c[e>>2]|0;if(d){Fb[c[b+44>>2]&127](r,e);d=c[r>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[e>>2]|0)+32>>2]&127](s,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Jn(l,0);c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Dn(s);b=e}else{Fb[c[b+40>>2]&127](t,e);d=c[t>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[e>>2]|0)+28>>2]&127](u,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Jn(l,0);c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Dn(u);b=e}a[g>>0]=Hb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[h>>0]=Hb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](v,e);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Jn(j,0);c[j>>2]=c[v>>2];c[j+4>>2]=c[v+4>>2];c[j+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Dn(v);Fb[c[(c[b>>2]|0)+24>>2]&127](w,e);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}Jn(k,0);c[k>>2]=c[w>>2];c[k+4>>2]=c[w+4>>2];c[k+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Dn(w);b=Hb[c[(c[e>>2]|0)+36>>2]&127](e)|0}c[m>>2]=b;i=z;return}function ct(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Pb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do if(h>>>0<i>>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0<i>>>0)}else t=h;while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Pb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Pb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0<E>>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0<t>>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function dt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+176|0;p=D+56|0;x=D+52|0;v=D+64|0;s=D+61|0;w=D+60|0;A=D+40|0;C=D+28|0;B=D+16|0;l=D+12|0;o=D+68|0;u=D+8|0;t=D+4|0;q=D;b=jo(f)|0;c[x>>2]=b;r=Gt(x,12368)|0;n=a[h>>0]|0;j=(n&1)==0;k=h+4|0;if(!((j?(n&255)>>>1:c[k>>2]|0)|0))n=0;else{n=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;n=n<<24>>24==(Pb[c[(c[r>>2]|0)+28>>2]&63](r,45)|0)<<24>>24}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;bt(e,n,x,v,s,w,A,C,B,l);m=a[h>>0]|0;e=c[k>>2]|0;j=(m&1)==0?(m&255)>>>1:e;k=c[l>>2]|0;if((j|0)>(k|0)){E=a[B>>0]|0;l=a[C>>0]|0;j=(j-k<<1|1)+k+((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)+((l&1)==0?(l&255)>>>1:c[C+4>>2]|0)|0}else{E=a[B>>0]|0;j=a[C>>0]|0;j=k+2+((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[C+4>>2]|0)|0}if(j>>>0>100){j=Gm(j)|0;if(!j)Pk();else{z=j;y=j}}else{z=0;y=o}E=(m&1)==0;j=E?h+1|0:c[h+8>>2]|0;ct(y,u,t,c[f+4>>2]|0,j,j+(E?(m&255)>>>1:e)|0,r,n,v,a[s>>0]|0,a[w>>0]|0,A,C,B,k);c[q>>2]=c[d>>2];E=c[u>>2]|0;j=c[t>>2]|0;c[p>>2]=c[q>>2];j=ue(p,y,E,j,f,g)|0;if(z){Hm(z);b=c[x>>2]|0}Dn(B);Dn(C);Dn(A);rn(b)|0;i=D;return j|0}function et(a){a=a|0;return}function ft(a){a=a|0;ck(a);return}function gt(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+992|0;q=F+8|0;l=F;b=F+888|0;m=F+880|0;k=F+480|0;y=F+76|0;v=F+884|0;s=F+72|0;w=F+68|0;C=F+56|0;E=F+44|0;D=F+32|0;o=F+28|0;p=F+80|0;u=F+24|0;t=F+20|0;r=F+16|0;c[m>>2]=b;h[q>>3]=j;b=Zl(b,100,32189,q)|0;if(b>>>0>99){b=Wp()|0;h[l>>3]=j;b=Ov(m,b,32189,l)|0;k=c[m>>2]|0;if(!k)Pk();l=Gm(b<<2)|0;if(!l)Pk();else{G=l;H=k;x=l;A=b}}else{G=0;H=0;x=k;A=b}b=jo(f)|0;c[y>>2]=b;n=Gt(y,12360)|0;l=c[m>>2]|0;Nb[c[(c[n>>2]|0)+48>>2]&15](n,l,l+A|0,x)|0;if(!A)m=0;else m=(a[c[m>>2]>>0]|0)==45;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;ht(e,m,y,v,s,w,C,E,D,o);l=c[o>>2]|0;if((A|0)>(l|0)){e=a[D>>0]|0;k=a[E>>0]|0;k=(A-l<<1|1)+l+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{e=a[D>>0]|0;k=a[E>>0]|0;k=l+2+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}if(k>>>0>100){k=Gm(k<<2)|0;if(!k)Pk();else{B=k;z=k}}else{B=0;z=p}it(z,u,t,c[f+4>>2]|0,x,x+(A<<2)|0,n,m,v,c[s>>2]|0,c[w>>2]|0,C,E,D,l);c[r>>2]=c[d>>2];d=c[u>>2]|0;k=c[t>>2]|0;c[q>>2]=c[r>>2];k=Pv(q,z,d,k,f,g)|0;if(B){Hm(B);b=c[y>>2]|0}Wn(D);Wn(E);Dn(C);rn(b)|0;if(G)Hm(G);if(H)Hm(H);i=F;return k|0}function ht(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+108|0;o=z+96|0;r=z+92|0;s=z+80|0;t=z+68|0;u=z+56|0;v=z+52|0;w=z+40|0;x=z+36|0;y=z+24|0;p=z+12|0;q=z;if(b){b=Gt(e,12104)|0;e=c[b>>2]|0;if(d){Fb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](o,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;Zn(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Wn(o)}else{Fb[c[e+40>>2]&127](r,b);d=c[r>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+28>>2]&127](s,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;Zn(l,0);c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wn(s)}c[g>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](t,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Jn(j,0);c[j>>2]=c[t>>2];c[j+4>>2]=c[t+4>>2];c[j+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Dn(t);Fb[c[(c[b>>2]|0)+24>>2]&127](u,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;Zn(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wn(u);b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Gt(e,12040)|0;e=c[b>>2]|0;if(d){Fb[c[e+44>>2]&127](v,b);d=c[v>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](w,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;Zn(l,0);c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Wn(w)}else{Fb[c[e+40>>2]&127](x,b);d=c[x>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+28>>2]&127](y,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;Zn(l,0);c[l>>2]=c[y>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;Wn(y)}c[g>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](p,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Jn(j,0);c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Dn(p);Fb[c[(c[b>>2]|0)+24>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;Zn(k,0);c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wn(q);b=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[m>>2]=b;i=z;return}function it(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Pb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do if(g>>>0<h>>>0){s=g;do{if(!(yb[c[(c[i>>2]|0)+12>>2]&31](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0<h>>>0)}else s=g;while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Pb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Pb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0<B>>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0<s>>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function jt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+480|0;p=E+468|0;y=E+464|0;w=E+472|0;t=E+56|0;x=E+52|0;B=E+40|0;D=E+28|0;C=E+16|0;k=E+12|0;o=E+64|0;v=E+8|0;u=E+4|0;q=E;b=jo(f)|0;c[y>>2]=b;r=Gt(y,12360)|0;n=a[h>>0]|0;j=(n&1)==0;s=h+4|0;if(!((j?(n&255)>>>1:c[s>>2]|0)|0))n=0;else{n=c[(j?s:c[h+8>>2]|0)>>2]|0;n=(n|0)==(Pb[c[(c[r>>2]|0)+44>>2]&63](r,45)|0)}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;ht(e,n,y,w,t,x,B,D,C,k);l=a[h>>0]|0;m=c[s>>2]|0;j=(l&1)==0?(l&255)>>>1:m;e=c[k>>2]|0;if((j|0)>(e|0)){F=a[C>>0]|0;k=a[D>>0]|0;j=(j-e<<1|1)+e+((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[D+4>>2]|0)|0}else{F=a[C>>0]|0;j=a[D>>0]|0;j=e+2+((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[D+4>>2]|0)|0}if(j>>>0>100){j=Gm(j<<2)|0;if(!j)Pk();else{A=j;z=j}}else{A=0;z=o}F=(l&1)==0;j=F?s:c[h+8>>2]|0;it(z,v,u,c[f+4>>2]|0,j,j+((F?(l&255)>>>1:m)<<2)|0,r,n,w,c[t>>2]|0,c[x>>2]|0,B,D,C,e);c[q>>2]=c[d>>2];F=c[v>>2]|0;j=c[u>>2]|0;c[p>>2]=c[q>>2];j=Pv(p,z,F,j,f,g)|0;if(A){Hm(A);b=c[y>>2]|0}Wn(C);Wn(D);Dn(B);rn(b)|0;i=E;return j|0}function kt(a){a=a|0;return}function lt(a){a=a|0;ck(a);return}function mt(b,d,e){b=b|0;d=d|0;e=e|0;b=jl((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function nt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;j=k;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;l=a[h>>0]|0;m=(l&1)==0;d=m?h+1|0:c[h+8>>2]|0;l=m?(l&255)>>>1:c[h+4>>2]|0;h=d+l|0;if((l|0)>0)do{Ln(j,a[d>>0]|0);d=d+1|0}while(d>>>0<h>>>0);d=il((e|0)==-1?-1:e<<1,f,g,(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=pm(d)|0;h=d+m|0;if((m|0)>0)do{Ln(b,a[d>>0]|0);d=d+1|0}while(d>>>0<h>>>0);Dn(j);i=k;return}function ot(a,b){a=a|0;b=b|0;return}function pt(a){a=a|0;return}function qt(a){a=a|0;ck(a);return}function rt(b,d,e){b=b|0;d=d|0;e=e|0;b=jl((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function st(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+176|0;p=s+168|0;o=s+40|0;n=s+32|0;r=s+28|0;q=s+16|0;l=s+8|0;m=s;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[l+4>>2]=0;c[l>>2]=12844;k=a[h>>0]|0;t=(k&1)==0;j=h+4|0;d=t?j:c[h+8>>2]|0;h=t?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=o+32|0;if((h|0)>0)do{c[r>>2]=d;h=Mb[c[(c[l>>2]|0)+12>>2]&15](l,p,d,j,r,o,k,n)|0;if(o>>>0<(c[n>>2]|0)>>>0){d=o;do{Ln(q,a[d>>0]|0);d=d+1|0}while(d>>>0<(c[n>>2]|0)>>>0)}d=c[r>>2]|0}while((h|0)!=2&d>>>0<j>>>0);d=il((e|0)==-1?-1:e<<1,f,g,(a[q>>0]&1)==0?q+1|0:c[q+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[m+4>>2]=0;c[m>>2]=12892;t=pm(d)|0;j=d+t|0;k=j;l=o+128|0;if((t|0)>0)do{c[r>>2]=d;h=Mb[c[(c[m>>2]|0)+16>>2]&15](m,p,d,(k-d|0)>32?d+32|0:j,r,o,l,n)|0;if(o>>>0<(c[n>>2]|0)>>>0){d=o;do{_n(b,c[d>>2]|0);d=d+4|0}while(d>>>0<(c[n>>2]|0)>>>0)}d=c[r>>2]|0}while((h|0)!=2&d>>>0<j>>>0);Dn(q);i=s;return}function tt(a,b){a=a|0;b=b|0;return}function ut(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=b+-1;c[a>>2]=12344;d=a+8|0;Xv(d,28);An(a+144|0,32093,1);d=c[d>>2]|0;e=a+12|0;b=c[e>>2]|0;if((b|0)!=(d|0)){do b=b+-4|0;while((b|0)!=(d|0));c[e>>2]=b}c[509]=0;c[508]=11272;Yv(a,2032);c[511]=0;c[510]=11312;Zv(a,2040);Xt(2048,0,0,1);_v(a,2048);c[517]=0;c[516]=12632;$v(a,2064);c[519]=0;c[518]=12700;aw(a,2072);c[521]=0;c[520]=12452;c[522]=Wp()|0;bw(a,2080);c[525]=0;c[524]=12748;cw(a,2096);c[527]=0;c[526]=12796;dw(a,2104);Ou(2112,1);ew(a,2112);Pu(2136,1);fw(a,2136);c[543]=0;c[542]=11352;gw(a,2168);c[545]=0;c[544]=11424;hw(a,2176);c[547]=0;c[546]=11496;iw(a,2184);c[549]=0;c[548]=11556;jw(a,2192);c[551]=0;c[550]=11864;kw(a,2200);c[553]=0;c[552]=11928;lw(a,2208);c[555]=0;c[554]=11992;mw(a,2216);c[557]=0;c[556]=12056;nw(a,2224);c[559]=0;c[558]=12120;ow(a,2232);c[561]=0;c[560]=12156;pw(a,2240);c[563]=0;c[562]=12192;qw(a,2248);c[565]=0;c[564]=12228;rw(a,2256);c[567]=0;c[566]=11616;c[568]=11664;sw(a,2264);c[571]=0;c[570]=11708;c[572]=11756;tw(a,2280);c[575]=0;c[574]=12612;c[576]=Wp()|0;c[574]=11800;uw(a,2296);c[579]=0;c[578]=12612;c[580]=Wp()|0;c[578]=11832;vw(a,2312);c[583]=0;c[582]=12264;ww(a,2328);c[585]=0;c[584]=12304;xw(a,2336);return}function vt(){if((a[2344]|0)==0?(Fa(2344)|0)!=0:0){zt()|0;c[3283]=13128;Ma(2344)}return c[3283]|0}function wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;qn(b);f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){yw(f,d+1|0);e=c[f>>2]|0}a=c[e+(d<<2)>>2]|0;if(a){rn(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function xt(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=12344;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)rn(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Dn(a+144|0);zw(e);return}function yt(a){a=a|0;xt(a);ck(a);return}function zt(){ut(2352,1);c[3282]=2352;return 13128}function At(){var a=0;a=c[(vt()|0)>>2]|0;c[3284]=a;qn(a);return 13136}function Bt(){if((a[2512]|0)==0?(Fa(2512)|0)!=0:0){At()|0;c[3285]=13136;Ma(2512)}return c[3285]|0}function Ct(a){a=a|0;var b=0;b=c[(Bt()|0)>>2]|0;c[a>>2]=b;qn(b);return}function Dt(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;qn(b);return}function Et(a){a=a|0;rn(c[a>>2]|0)|0;return}function Ft(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=193;c[b+8>>2]=0;yn(a,b,194)}i=d;return (c[a+4>>2]|0)+-1|0}function Gt(a,b){a=a|0;b=b|0;a=c[a>>2]|0;b=Ft(b)|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function Ht(a){a=a|0;ck(a);return}function It(a){a=a|0;if(a)Eb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Jt(a){a=a|0;var b=0;b=c[3089]|0;c[3089]=b+1;c[a+4>>2]=b+1;return}function Kt(a){a=a|0;ck(a);return}function Lt(a,d,e){a=a|0;d=d|0;e=e|0;if(e>>>0<128)e=(b[(c[(Xk()|0)>>2]|0)+(e<<1)>>1]&d)<<16>>16!=0;else e=0;return e|0}function Mt(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(c[(Xk()|0)>>2]|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Nt(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(c[(Xk()|0)>>2]|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Ot(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(c[(Xk()|0)>>2]|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Pt(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(c[(Zk()|0)>>2]|0)+(b<<2)>>2]|0;return b|0}function Qt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(c[(Zk()|0)>>2]|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Rt(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(c[(Yk()|0)>>2]|0)+(b<<2)>>2]|0;return b|0}function St(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(c[(Yk()|0)>>2]|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Tt(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Ut(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function Vt(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function Wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function Xt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=12384;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=c[(Xk()|0)>>2];return}function Yt(b){b=b|0;var d=0;c[b>>2]=12384;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dk(d);return}function Zt(a){a=a|0;Yt(a);ck(a);return}function _t(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(c[(Zk()|0)>>2]|0)+((b&255)<<2)>>2]&255;return b|0}function $t(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(c[(Zk()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function au(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(c[(Yk()|0)>>2]|0)+(b<<24>>24<<2)>>2]&255;return b|0}function bu(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(c[(Yk()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function cu(a,b){a=a|0;b=b|0;return b|0}function du(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function eu(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function fu(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function gu(a){a=a|0;ck(a);return}function hu(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function iu(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function ju(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ku(a){a=a|0;return 1}function lu(a){a=a|0;return 1}function mu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return (a>>>0<e>>>0?a:e)|0}function nu(a){a=a|0;return 1}function ou(a){a=a|0;rv(a);ck(a);return}function pu(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+16|0;q=s;o=s+8|0;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;p=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0))r=29;else{c:while(1){t=d;m=c[t+4>>2]|0;b=q;c[b>>2]=c[t>>2];c[b+4>>2]=m;b=ol(c[p>>2]|0)|0;m=Fl(h,g,l-e>>2,n-h|0,d)|0;if(b)ol(b)|0;switch(m|0){case 0:{e=1;break b}case -1:break c;default:{}}h=(c[k>>2]|0)+m|0;c[k>>2]=h;if((h|0)==(j|0)){r=15;break}if((l|0)==(f|0)){e=c[g>>2]|0;l=f}else{e=ol(c[p>>2]|0)|0;h=El(o,0,d)|0;if(e)ol(e)|0;if((h|0)==-1){e=2;break b}if(h>>>0>(n-(c[k>>2]|0)|0)>>>0){e=1;break b}if(h){e=o;while(1){m=a[e>>0]|0;t=c[k>>2]|0;c[k>>2]=t+1;a[t>>0]=m;h=h+-1|0;if(!h)break;else e=e+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);h=c[k>>2]|0}if((h|0)==(j|0)|(e|0)==(f|0)){r=29;break b}}if((r|0)==15){e=c[g>>2]|0;r=29;break}c[k>>2]=h;e:do if((e|0)!=(c[g>>2]|0))do{t=c[e>>2]|0;l=ol(c[p>>2]|0)|0;h=El(h,t,q)|0;if(l)ol(l)|0;if((h|0)==-1)break e;h=(c[k>>2]|0)+h|0;c[k>>2]=h;e=e+4|0}while((e|0)!=(c[g>>2]|0));while(0);c[g>>2]=e;e=2}while(0);if((r|0)==29)e=(e|0)!=(f|0)&1;i=s;return e|0}function qu(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;q=s;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;o=j;p=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0))r=29;else{c:while(1){n=d;m=c[n+4>>2]|0;b=q;c[b>>2]=c[n>>2];c[b+4>>2]=m;b=l;m=ol(c[p>>2]|0)|0;n=Bl(h,g,b-e|0,o-h>>2,d)|0;if(m)ol(m)|0;switch(n|0){case 0:{e=2;break b}case -1:break c;default:{}}h=(c[k>>2]|0)+(n<<2)|0;c[k>>2]=h;if((h|0)==(j|0)){r=19;break}e=c[g>>2]|0;if((l|0)==(f|0))l=f;else{l=ol(c[p>>2]|0)|0;e=zl(h,e,1,d)|0;if(l)ol(l)|0;if(e){e=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);h=c[k>>2]|0}if((h|0)==(j|0)|(e|0)==(f|0)){r=29;break b}}if((r|0)==19){e=c[g>>2]|0;r=29;break}c[k>>2]=h;e:do if((e|0)!=(c[g>>2]|0)){f:while(1){l=ol(c[p>>2]|0)|0;h=zl(h,e,b-e|0,q)|0;if(l)ol(l)|0;switch(h|0){case -1:{r=13;break f}case -2:{r=14;break f}case 0:{e=e+1|0;break}default:e=e+h|0}h=(c[k>>2]|0)+4|0;c[k>>2]=h;if((e|0)==(c[g>>2]|0))break e}if((r|0)==13){c[g>>2]=e;e=2;break b}else if((r|0)==14){c[g>>2]=e;e=1;break b}}while(0);c[g>>2]=e;e=(e|0)!=(f|0)&1}while(0);if((r|0)==29)e=(e|0)!=(f|0)&1;i=s;return e|0}function ru(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=ol(c[b+8>>2]|0)|0;b=El(h,0,d)|0;if(e)ol(e)|0;switch(b|0){case 0:case -1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function su(a){a=a|0;var b=0,d=0;a=a+8|0;b=ol(c[a>>2]|0)|0;d=Dl(0,0,4)|0;if(b)ol(b)|0;if(!d){a=c[a>>2]|0;if(a){a=ol(a)|0;if(!a)a=0;else{ol(a)|0;a=0}}else a=1}else a=-1;return a|0}function tu(a){a=a|0;return 0}function uu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;a:do if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=ol(c[j>>2]|0)|0;g=yl(d,k-d|0,b)|0;if(h)ol(h)|0;switch(g|0){case -2:case -1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}}while(0);return a|0}function vu(a){a=a|0;a=c[a+8>>2]|0;if(a){a=ol(a)|0;if(!a)a=4;else{ol(a)|0;a=4}}else a=1;return a|0}function wu(a){a=a|0;ck(a);return}function xu(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Bw(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function yu(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Cw(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function zu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Au(a){a=a|0;return 0}function Bu(a){a=a|0;return 0}function Cu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Dw(c,d,e,1114111,0)|0}function Du(a){a=a|0;return 4}function Eu(a){a=a|0;ck(a);return}function Fu(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Ew(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Gu(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Fw(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Hu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Iu(a){a=a|0;return 0}function Ju(a){a=a|0;return 0}function Ku(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Gw(c,d,e,1114111,0)|0}function Lu(a){a=a|0;return 4}function Mu(a){a=a|0;ck(a);return}function Nu(a){a=a|0;ck(a);return}function Ou(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=12532;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Pu(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=12572;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Qu(a){a=a|0;c[a>>2]=12532;Dn(a+12|0);return}function Ru(a){a=a|0;Qu(a);ck(a);return}function Su(a){a=a|0;c[a>>2]=12572;Dn(a+16|0);return}function Tu(a){a=a|0;Su(a);ck(a);return}function Uu(b){b=b|0;return a[b+8>>0]|0}function Vu(a){a=a|0;return c[a+8>>2]|0}function Wu(b){b=b|0;return a[b+9>>0]|0}function Xu(a){a=a|0;return c[a+12>>2]|0}function Yu(a,b){a=a|0;b=b|0;zn(a,b+12|0);return}function Zu(a,b){a=a|0;b=b|0;zn(a,b+16|0);return}function _u(a,b){a=a|0;b=b|0;An(a,32195,4);return}function $u(a,b){a=a|0;b=b|0;Un(a,13144,qm(13144)|0);return}function av(a,b){a=a|0;b=b|0;An(a,32200,5);return}function bv(a,b){a=a|0;b=b|0;Un(a,13164,qm(13164)|0);return}function cv(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function dv(b){b=b|0;if((a[2520]|0)==0?(Fa(2520)|0)!=0:0){if((a[2528]|0)==0?(Fa(2528)|0)!=0:0){b=13188;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=13356);ib(195,0,n|0)|0;Ma(2528)}Fn(13188,32206)|0;Fn(13200,32213)|0;Fn(13212,32220)|0;Fn(13224,32228)|0;Fn(13236,32238)|0;Fn(13248,32247)|0;Fn(13260,32254)|0;Fn(13272,32263)|0;Fn(13284,32267)|0;Fn(13296,32271)|0;Fn(13308,32275)|0;Fn(13320,32279)|0;Fn(13332,32283)|0;Fn(13344,32287)|0;c[3339]=13188;Ma(2520)}return c[3339]|0}function ev(b){b=b|0;if((a[2536]|0)==0?(Fa(2536)|0)!=0:0){if((a[2544]|0)==0?(Fa(2544)|0)!=0:0){b=13360;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=13528);ib(196,0,n|0)|0;Ma(2544)}Xn(13360,13528)|0;Xn(13372,13556)|0;Xn(13384,13584)|0;Xn(13396,13616)|0;Xn(13408,13656)|0;Xn(13420,13692)|0;Xn(13432,13720)|0;Xn(13444,13756)|0;Xn(13456,13772)|0;Xn(13468,13788)|0;Xn(13480,13804)|0;Xn(13492,13820)|0;Xn(13504,13836)|0;Xn(13516,13852)|0;c[3467]=13360;Ma(2536)}return c[3467]|0}function fv(b){b=b|0;if((a[2552]|0)==0?(Fa(2552)|0)!=0:0){if((a[2560]|0)==0?(Fa(2560)|0)!=0:0){b=13872;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=14160);ib(197,0,n|0)|0;Ma(2560)}Fn(13872,32291)|0;Fn(13884,32299)|0;Fn(13896,32308)|0;Fn(13908,32314)|0;Fn(13920,32320)|0;Fn(13932,32324)|0;Fn(13944,32329)|0;Fn(13956,32334)|0;Fn(13968,32341)|0;Fn(13980,32351)|0;Fn(13992,32359)|0;Fn(14004,32368)|0;Fn(14016,32377)|0;Fn(14028,32381)|0;Fn(14040,32385)|0;Fn(14052,32389)|0;Fn(14064,32320)|0;Fn(14076,32393)|0;Fn(14088,32397)|0;Fn(14100,32401)|0;Fn(14112,32405)|0;Fn(14124,32409)|0;Fn(14136,32413)|0;Fn(14148,32417)|0;c[3540]=13872;Ma(2552)}return c[3540]|0}function gv(b){b=b|0;if((a[2568]|0)==0?(Fa(2568)|0)!=0:0){if((a[2576]|0)==0?(Fa(2576)|0)!=0:0){b=14164;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=14452);ib(198,0,n|0)|0;Ma(2576)}Xn(14164,14452)|0;Xn(14176,14484)|0;Xn(14188,14520)|0;Xn(14200,14544)|0;Xn(14212,14568)|0;Xn(14224,14584)|0;Xn(14236,14604)|0;Xn(14248,14624)|0;Xn(14260,14652)|0;Xn(14272,14692)|0;Xn(14284,14724)|0;Xn(14296,14760)|0;Xn(14308,14796)|0;Xn(14320,14812)|0;Xn(14332,14828)|0;Xn(14344,14844)|0;Xn(14356,14568)|0;Xn(14368,14860)|0;Xn(14380,14876)|0;Xn(14392,14892)|0;Xn(14404,14908)|0;Xn(14416,14924)|0;Xn(14428,14940)|0;Xn(14440,14956)|0;c[3743]=14164;Ma(2568)}return c[3743]|0}function hv(b){b=b|0;if((a[2584]|0)==0?(Fa(2584)|0)!=0:0){if((a[2592]|0)==0?(Fa(2592)|0)!=0:0){b=14976;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=15264);ib(199,0,n|0)|0;Ma(2592)}Fn(14976,32421)|0;Fn(14988,32424)|0;c[3816]=14976;Ma(2584)}return c[3816]|0}function iv(b){b=b|0;if((a[2600]|0)==0?(Fa(2600)|0)!=0:0){if((a[2608]|0)==0?(Fa(2608)|0)!=0:0){b=15268;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=15556);ib(200,0,n|0)|0;Ma(2608)}Xn(15268,15556)|0;Xn(15280,15568)|0;c[3895]=15268;Ma(2600)}return c[3895]|0}function jv(b){b=b|0;if((a[2616]|0)==0?(Fa(2616)|0)!=0:0){An(15584,32427,8);ib(181,15584,n|0)|0;Ma(2616)}return 15584}function kv(b){b=b|0;if((a[2624]|0)==0?(Fa(2624)|0)!=0:0){Un(15632,15596,qm(15596)|0);ib(201,15632,n|0)|0;Ma(2624)}return 15632}function lv(b){b=b|0;if((a[2632]|0)==0?(Fa(2632)|0)!=0:0){An(15644,32436,8);ib(181,15644,n|0)|0;Ma(2632)}return 15644}function mv(b){b=b|0;if((a[2640]|0)==0?(Fa(2640)|0)!=0:0){Un(15692,15656,qm(15656)|0);ib(201,15692,n|0)|0;Ma(2640)}return 15692}function nv(b){b=b|0;if((a[2648]|0)==0?(Fa(2648)|0)!=0:0){An(15704,32445,20);ib(181,15704,n|0)|0;Ma(2648)}return 15704}function ov(b){b=b|0;if((a[2656]|0)==0?(Fa(2656)|0)!=0:0){Un(15800,15716,qm(15716)|0);ib(201,15800,n|0)|0;Ma(2656)}return 15800}function pv(b){b=b|0;if((a[2664]|0)==0?(Fa(2664)|0)!=0:0){An(15812,32466,11);ib(181,15812,n|0)|0;Ma(2664)}return 15812}function qv(b){b=b|0;if((a[2672]|0)==0?(Fa(2672)|0)!=0:0){Un(15872,15824,qm(15824)|0);ib(201,15872,n|0)|0;Ma(2672)}return 15872} +function bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;r=s+8|0;q=s;h=+g[(c[b+60>>2]|0)+(d*100|0)+92>>2];if(h==0.0)h=+g[b+48>>2]/+((c[b+20>>2]|0)>>>0);if(!(a[e>>0]|0)){o=b+88|0;f=o;n=b+84|0}else{l=~~((+(c[e+8>>2]|0)*1.0e-09+ +(c[e+4>>2]|0))*h+.5);n=b+84|0;m=b+88|0;f=c[m>>2]|0;do if(f){while(1){j=c[f+16>>2]|0;if((j|0)>(d|0)){j=c[f>>2]|0;if(!j){j=f;p=8;break}else f=j}else{if((j|0)>=(d|0)){p=14;break}j=f+4|0;k=c[j>>2]|0;if(!k){p=12;break}else f=k}}if((p|0)==8){c[r>>2]=f;p=15;break}else if((p|0)==12){c[r>>2]=f;p=15;break}else if((p|0)==14){c[r>>2]=f;if(!f){j=r;p=15;break}else break}}else{c[r>>2]=m;j=m;f=m;p=15}while(0);if((p|0)==15){k=ak(24)|0;c[k+16>>2]=d;c[k+20>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=f;c[j>>2]=k;f=c[c[n>>2]>>2]|0;if(!f)f=k;else{c[n>>2]=f;f=c[j>>2]|0}wc(c[b+88>>2]|0,f);f=b+92|0;c[f>>2]=(c[f>>2]|0)+1;f=k}c[f+20>>2]=l;f=m;o=m}j=c[o>>2]|0;do if(j){while(1){k=c[j+16>>2]|0;if((k|0)>(d|0)){k=c[j>>2]|0;if(!k){k=j;p=22;break}else j=k}else{if((k|0)>=(d|0)){p=28;break}k=j+4|0;l=c[k>>2]|0;if(!l){p=26;break}else j=l}}if((p|0)==22){c[r>>2]=j;p=29;break}else if((p|0)==26){c[r>>2]=j;p=29;break}else if((p|0)==28){c[r>>2]=j;if(!j){k=r;p=29;break}else break}}else{c[r>>2]=f;k=b+88|0;j=f;p=29}while(0);if((p|0)==29){l=ak(24)|0;c[l+16>>2]=d;c[l+20>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=j;c[k>>2]=l;j=c[c[n>>2]>>2]|0;if(!j)j=l;else{c[n>>2]=j;j=c[k>>2]|0}wc(c[b+88>>2]|0,j);j=b+92|0;c[j>>2]=(c[j>>2]|0)+1;j=l}sh(q,+(c[j+20>>2]|0)/h);c[e+4>>2]=c[q>>2];c[e+8>>2]=c[q+4>>2];a[e>>0]=1;m=c[o>>2]|0;do if(m){l=m;while(1){j=c[l+16>>2]|0;if((j|0)>(d|0)){j=c[l>>2]|0;if(!j){k=l;j=l;p=35;break}}else{if((j|0)>=(d|0)){j=l;p=41;break}k=l+4|0;j=c[k>>2]|0;if(!j){j=l;p=39;break}}l=j}if((p|0)==35){c[r>>2]=j;p=42;break}else if((p|0)==39){c[r>>2]=j;p=42;break}else if((p|0)==41){c[r>>2]=j;if(!j){k=r;p=42;break}else{k=m;break}}}else{c[r>>2]=f;k=b+88|0;j=f;p=42}while(0);if((p|0)==42){l=ak(24)|0;c[l+16>>2]=d;c[l+20>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=j;c[k>>2]=l;j=c[c[n>>2]>>2]|0;if(!j)j=l;else{c[n>>2]=j;j=c[k>>2]|0}wc(c[b+88>>2]|0,j);k=b+92|0;c[k>>2]=(c[k>>2]|0)+1;k=c[o>>2]|0;j=l}l=(c[j+20>>2]|0)+1|0;do if(k){f=k;while(1){j=c[f+16>>2]|0;if((j|0)>(d|0)){j=c[f>>2]|0;if(!j){j=f;p=48;break}else f=j}else{if((j|0)>=(d|0)){p=54;break}j=f+4|0;k=c[j>>2]|0;if(!k){p=52;break}else f=k}}if((p|0)==48){c[r>>2]=f;break}else if((p|0)==52){c[r>>2]=f;break}else if((p|0)==54){c[r>>2]=f;if(!f){j=r;break}b=f+20|0;c[b>>2]=l;i=s;return}}else{c[r>>2]=f;j=b+88|0}while(0);k=ak(24)|0;c[k+16>>2]=d;c[k+20>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=f;c[j>>2]=k;f=c[c[n>>2]>>2]|0;if(!f)f=k;else{c[n>>2]=f;f=c[j>>2]|0}wc(c[b+88>>2]|0,f);b=b+92|0;c[b>>2]=(c[b>>2]|0)+1;b=k;b=b+20|0;c[b>>2]=l;i=s;return}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=c[a>>2]|0;e=d;h=((c[l>>2]|0)-e>>2)+1|0;if(h>>>0>1073741823){_j(a);e=c[a>>2]|0;d=e}k=a+8|0;g=d;f=(c[k>>2]|0)-g|0;if(f>>2>>>0<536870911){f=f>>1;f=f>>>0<h>>>0?h:f;h=(c[l>>2]|0)-g|0;g=h>>2;if(!f){j=0;i=0;f=h}else m=6}else{h=(c[l>>2]|0)-g|0;f=1073741823;g=h>>2;m=6}if((m|0)==6){j=f;i=ak(f<<2)|0;f=h}c[i+(g<<2)>>2]=c[b>>2];fx(i|0,d|0,f|0)|0;c[a>>2]=i;c[l>>2]=i+(g+1<<2);c[k>>2]=i+(j<<2);if(!e)return;ck(e);return}function dg(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;zn(b,c);zn(b+12|0,c+12|0);zn(b+24|0,c+24|0);zn(b+36|0,c+36|0);f=c+48|0;h=f;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=f+4|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;e=b+48|0;g=e;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;e=e+4|0;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;fe(b+56|0,c+56|0);e=b+68|0;b=c+68|0;c=e+29|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(c|0));return}function eg(a,b){a=a|0;b=b|0;if(!b)return;else{eg(a,c[b>>2]|0);eg(a,c[b+4>>2]|0);ck(b);return}}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;i=c[l>>2]|0;f=c[a+12>>2]|0;j=c[a+16>>2]|0;k=f-i+j|0;e=(k|0)>(j|0)?0-j|0:0;k=k+-1+e|0;k=(k|0)<(d|0)?k:d;if(!k)return k|0;g=j-i|0;h=c[a+4>>2]|0;if((k|0)>(g|0)){if((g|0)>0){a=0;do{c[h+(a+i<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(g|0))}if((k|0)>(g|0)){e=i-e-f-j|0;a=~d;a=i+-1-j-((e|0)>(a|0)?e:a)|0;e=0;do{c[h+(e<<2)>>2]=c[b+(e+g<<2)>>2];e=e+1|0}while((e|0)!=(a|0))}}else if((k|0)>0){e=i-e-f-j|0;a=~d;a=~((e|0)>(a|0)?e:a);e=0;do{c[h+(e+i<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=(a|0))}a=k+i|0;while(1)if((a|0)<(j|0))break;else a=a-j|0;c[l>>2]=a;return k|0}function gg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=0;h=b+4|0;c[h>>2]=0;c[b+8>>2]=0;g=d+4|0;j=c[g>>2]|0;i=c[d>>2]|0;e=j-i|0;f=(e|0)/48|0;if((j|0)==(i|0))return;if(f>>>0>89478485)_j(b);e=ak(e)|0;c[h>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(f*48|0);f=c[d>>2]|0;d=c[g>>2]|0;if((f|0)==(d|0))return;do{a[e>>0]=a[f>>0]|0;c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];a[e+12>>0]=a[f+12>>0]|0;c[e+16>>2]=c[f+16>>2];c[e+20>>2]=c[f+20>>2];Ld(e+24|0,f+24|0);zn(e+36|0,f+36|0);e=(c[h>>2]|0)+48|0;c[h>>2]=e;f=f+48|0}while((f|0)!=(d|0));return}function hg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;h=b+4|0;e=c[b>>2]|0;g=(((c[h>>2]|0)-e|0)/48|0)+1|0;if(g>>>0>89478485){_j(b);e=c[b>>2]|0}f=((c[b+8>>2]|0)-e|0)/48|0;if(f>>>0<44739242){l=f<<1;g=l>>>0<g>>>0?g:l}else g=89478485;e=((c[h>>2]|0)-e|0)/48|0;c[m+12>>2]=0;c[m+16>>2]=b+8;if(!g)f=0;else f=ak(g*48|0)|0;c[m>>2]=f;j=f+(e*48|0)|0;l=m+8|0;c[l>>2]=j;k=m+4|0;c[k>>2]=j;c[m+12>>2]=f+(g*48|0);a[j>>0]=a[d>>0]|0;c[f+(e*48|0)+4>>2]=c[d+4>>2];c[f+(e*48|0)+8>>2]=c[d+8>>2];a[f+(e*48|0)+12>>0]=a[d+12>>0]|0;c[f+(e*48|0)+16>>2]=c[d+16>>2];c[f+(e*48|0)+20>>2]=c[d+20>>2];Ld(f+(e*48|0)+24|0,d+24|0);zn(f+(e*48|0)+36|0,d+36|0);c[l>>2]=f+((e+1|0)*48|0);kg(b,m);e=c[k>>2]|0;f=c[l>>2]|0;if((f|0)!=(e|0)){g=~(((f+-48-e|0)>>>0)/48|0);h=f;do{Dn(h+-12|0);d=c[h+-24>>2]|0;b=d;if(d){j=h+-20|0;k=c[j>>2]|0;if((k|0)!=(d|0))c[j>>2]=k+(~((k+-4-b|0)>>>2)<<2);ck(d)}h=h+-48|0}while((h|0)!=(e|0));c[l>>2]=f+(g*48|0)}e=c[m>>2]|0;if(!e){i=n;return}ck(e);i=n;return}function ig(a,b){a=a|0;b=b|0;if(!b)return;else{ig(a,c[b>>2]|0);ig(a,c[b+4>>2]|0);ck(b);return}}function jg(a,b){a=a|0;b=b|0;An(a,21647,25);return}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[b>>2]|0;k=b+4|0;e=c[k>>2]|0;j=d+4|0;if((e|0)==(i|0)){g=j;h=b;e=c[j>>2]|0;f=i}else{f=c[j>>2]|0;do{h=e;e=e+-48|0;a[f+-48>>0]=a[e>>0]|0;c[f+-44>>2]=c[h+-44>>2];c[f+-40>>2]=c[h+-40>>2];a[f+-36>>0]=a[h+-36>>0]|0;c[f+-32>>2]=c[h+-32>>2];c[f+-28>>2]=c[h+-28>>2];Ld(f+-24|0,h+-24|0);zn(f+-12|0,h+-12|0);f=(c[j>>2]|0)+-48|0;c[j>>2]=f}while((e|0)!=(i|0));e=f;g=j;h=b;f=c[b>>2]|0}c[h>>2]=e;c[g>>2]=f;j=d+8|0;i=c[k>>2]|0;c[k>>2]=c[j>>2];c[j>>2]=i;j=b+8|0;b=d+12|0;k=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=k;c[d>>2]=c[g>>2];return}function lg(a){a=a|0;c[a>>2]=3776;a=c[a+4>>2]|0;if(!a)return;dk(a);return}function mg(a){a=a|0;var b=0;c[a>>2]=3776;b=c[a+4>>2]|0;if(!b){ck(a);return}dk(b);ck(a);return}function ng(a,b){a=a|0;b=b|0;var d=0;Tg(a,b);c[a>>2]=3792;d=ak(28)|0;c[d>>2]=b;b=d+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+12>>2]=d;return}function og(a){a=a|0;var b=0;c[a>>2]=3792;b=c[a+12>>2]|0;if(b){ug(b);ck(b)}Ug(a);return}function pg(a){a=a|0;var b=0;c[a>>2]=3792;b=c[a+12>>2]|0;if(b){ug(b);ck(b)}Ug(a);ck(a);return}function qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return rg(c[a+12>>2]|0,b,d,e)|0}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;c[a+4>>2]=e;j=c[a>>2]|0;j=Hb[c[(c[j>>2]|0)+84>>2]&127](j)|0;f=c[a>>2]|0;f=Hb[c[(c[f>>2]|0)+88>>2]&127](f)|0;c[a+8>>2]=b;if(j>>>0<=b>>>0){if(f>>>0>=b>>>0){c[a+12>>2]=b;j=b;a=c[a>>2]|0;i=c[a>>2]|0;i=i+64|0;i=c[i>>2]|0;a=Nb[i&15](a,j,d,e)|0;return a|0}if((f|0)==1){j=bk(4)|0;c[a+16>>2]=j;c[j>>2]=bk(e>>>0>1073741823?-1:e<<2)|0}c[a+12>>2]=f;j=f;a=c[a>>2]|0;i=c[a>>2]|0;i=i+64|0;i=c[i>>2]|0;a=Nb[i&15](a,j,d,e)|0;return a|0}c[a+24>>2]=bk(j>>>0>1073741823?-1:j<<2)|0;do if(b>>>0>1?(g=j-b|0,g=bk(g>>>0>1073741823?-1:g<<2)|0,i=a+16|0,c[i>>2]=g,(j|0)!=0):0){h=e>>>0>1073741823?-1:e<<2;if(!e){c[g>>2]=bk(h)|0;if((j|0)==1)break;else f=1;do{g=c[i>>2]|0;c[g+(f<<2)>>2]=bk(h)|0;f=f+1|0}while((f|0)!=(j|0))}else{b=e<<2;c[g>>2]=bk(h)|0;cx(c[c[i>>2]>>2]|0,0,b|0)|0;if((j|0)==1)break;else f=1;do{g=c[i>>2]|0;c[g+(f<<2)>>2]=bk(h)|0;cx(c[(c[i>>2]|0)+(f<<2)>>2]|0,0,b|0)|0;f=f+1|0}while((f|0)!=(j|0))}}while(0);c[a+12>>2]=j;a=c[a>>2]|0;i=c[a>>2]|0;i=i+64|0;i=c[i>>2]|0;a=Nb[i&15](a,j,d,e)|0;return a|0}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;b=c[b+12>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];tg(a,b,d,g);i=f;return}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;l=r+24|0;p=r+16|0;h=r+8|0;j=r;q=c[b+8>>2]|0;m=c[b+12>>2]|0;if(q>>>0<m>>>0){switch(q|0){case 1:{if(m){h=b+24|0;j=0;do{c[(c[h>>2]|0)+(j<<2)>>2]=c[d>>2];j=j+1|0}while(j>>>0<m>>>0)}break}case 0:{f=0;o=7;break}default:{f=b+24|0;h=0;do{c[(c[f>>2]|0)+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while(h>>>0<q>>>0);f=q;o=7}}if((o|0)==7?f>>>0<m>>>0:0){h=b+16|0;j=b+24|0;do{c[(c[j>>2]|0)+(f<<2)>>2]=c[(c[h>>2]|0)+(f-q<<2)>>2];f=f+1|0}while(f>>>0<m>>>0)}q=c[b>>2]|0;p=c[(c[q>>2]|0)+96>>2]|0;b=c[b+24>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];Ob[p&15](a,q,b,l);i=r;return}if(q>>>0<=m>>>0){b=c[b>>2]|0;q=c[(c[b>>2]|0)+96>>2]|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];Ob[q&15](a,b,d,j);i=r;return}if((m|0)!=1){b=c[b>>2]|0;q=c[(c[b>>2]|0)+96>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];Ob[q&15](a,b,d,h);i=r;return}n=c[b+4>>2]|0;m=(n|0)==0;if(!m){f=c[d>>2]|0;h=c[c[b+16>>2]>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[f+(j<<2)>>2];j=j+1|0}while(j>>>0<n>>>0)}if(q>>>0>1)if(m)o=24;else{f=c[c[b+16>>2]>>2]|0;j=1;do{h=c[d+(j<<2)>>2]|0;l=0;do{o=f+(l<<2)|0;g[o>>2]=+g[o>>2]+ +g[h+(l<<2)>>2];l=l+1|0}while(l>>>0<n>>>0);j=j+1|0}while(j>>>0<q>>>0);o=23}else o=23;if((o|0)==23)if(m)o=24;else{k=+(q>>>0);f=b+16|0;h=c[c[f>>2]>>2]|0;j=0;do{q=h+(j<<2)|0;g[q>>2]=+g[q>>2]/k;j=j+1|0}while(j>>>0<n>>>0)}if((o|0)==24)f=b+16|0;q=c[b>>2]|0;d=c[(c[q>>2]|0)+96>>2]|0;b=c[f>>2]|0;c[p>>2]=c[e>>2];c[p+4>>2]=c[e+4>>2];Ob[d&15](a,q,b,p);i=r;return}function ug(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;b=c[i>>2]|0;if(b){g=a+8|0;d=c[g>>2]|0;h=a+12|0;e=c[h>>2]|0;a:do if(d>>>0>e>>>0){b=c[b>>2]|0;if(b)dk(b)}else if((e|0)!=(d|0)){f=0;while(1){b=c[b+(f<<2)>>2]|0;if(b){dk(b);e=c[h>>2]|0;d=c[g>>2]|0}f=f+1|0;if(f>>>0>=(e-d|0)>>>0)break a;b=c[i>>2]|0}}while(0);b=c[i>>2]|0;if(b)dk(b);c[i>>2]=0}h=a+20|0;b=c[h>>2]|0;if(b){g=a+8|0;d=c[g>>2]|0;if(d){f=0;do{e=c[b+(f<<2)>>2]|0;if(e){dk(e);b=c[h>>2]|0;d=c[g>>2]|0}f=f+1|0}while(f>>>0<d>>>0);if(b)j=19}else j=19;if((j|0)==19)dk(b);c[h>>2]=0}b=a+24|0;d=c[b>>2]|0;if(!d)return;dk(d);c[b>>2]=0;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,l=0,m=0.0;if(a&1){Xl(21895,36,1,c[1377]|0)|0;b=0;return b|0}l=a>>1;g=(l<<4)+276|0;a=g+(((l*3|0)/2|0)<<4)|0;if(e){k=(c[e>>2]|0)>>>0<a>>>0;c[e>>2]=a;if(k){b=0;return b|0}}else d=Gm(a)|0;if(!d){b=0;return b|0}j=d+12|0;c[d>>2]=j;a=d+g|0;c[d+4>>2]=a;k=d+8|0;c[k>>2]=a+(l<<4);c[j>>2]=l;a=d+16|0;c[a>>2]=b;f=+(l|0);if(((l|0)>0?(i=(b|0)==0?-0.0:0.0,h[d+276>>3]=+R(+i),h[d+284>>3]=+S(+i),(l|0)!=1):0)?(i=-6.283185307179586/f,i=(b|0)==0?i:-i,h[d+292>>3]=+R(+i),h[d+300>>3]=+S(+i),(l|0)!=2):0){e=2;do{i=+(e|0)*-6.283185307179586/f;i=(c[a>>2]|0)==0?i:-i;h[j+264+(e<<4)>>3]=+R(+i);h[j+264+(e<<4)+8>>3]=+S(+i);e=e+1|0}while((e|0)!=(l|0))}f=+N(+(+P(+f)));e=l;g=d+20|0;a=4;while(1){a:do if((e|0)%(a|0)|0)while(1){switch(a|0){case 4:{a=2;break}case 2:{a=3;break}default:a=a+2|0}a=+(a|0)>f?e:a;if(!((e|0)%(a|0)|0))break a}while(0);e=(e|0)/(a|0)|0;c[g>>2]=a;c[g+4>>2]=e;if((e|0)<=1)break;else g=g+8|0}g=(l|0)/2|0;if((l|0)<=1){b=d;return b|0}i=+(l|0);f=(b|0)==0?-3.141592653589793:3.141592653589793;a=c[k>>2]|0;e=0;do{b=e;e=e+1|0;m=f*(+(e|0)/i+.5);h[a+(b<<4)>>3]=+R(+m);h[a+(b<<4)+8>>3]=+S(+m)}while((e|0)<(g|0));return d|0}function wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;e=c[a>>2]|0;if(c[e+4>>2]|0){Xl(21932,37,1,c[1377]|0)|0;tb(1)}i=c[e>>2]|0;f=a+4|0;g=c[f>>2]|0;if((b|0)==(g|0)){g=Gm(i<<4)|0;Mg(g,b,1,1,e+8|0,e);fx(b|0,g|0,c[e>>2]<<4|0)|0;Hm(g)}else Mg(g,b,1,1,e+8|0,e);g=c[f>>2]|0;k=+h[g>>3];j=+h[g+8>>3];h[d>>3]=j+k;h[d+(i<<4)>>3]=k-j;h[d+8>>3]=0.0;h[d+(i<<4)+8>>3]=0.0;b=(i|0)/2|0;if((i|0)<2)return;e=c[a+8>>2]|0;f=1;while(1){p=+h[g+(f<<4)>>3];j=+h[g+(f<<4)+8>>3];a=i-f|0;o=+h[g+(a<<4)>>3];n=+h[g+(a<<4)+8>>3];m=o+p;k=j-n;o=p-o;j=n+j;q=f+-1|0;n=+h[e+(q<<4)>>3];p=+h[e+(q<<4)+8>>3];l=n*o-p*j;j=p*o+n*j;h[d+(f<<4)>>3]=(l+m)*.5;h[d+(f<<4)+8>>3]=(j+k)*.5;h[d+(a<<4)>>3]=(m-l)*.5;h[d+(a<<4)+8>>3]=(j-k)*.5;if((f|0)<(b|0))f=f+1|0;else break}return}function xg(a,b){a=a|0;b=b|0;var d=0,e=0;Tg(a,b);c[a>>2]=3904;d=ak(56)|0;e=c[a+4>>2]|0;c[d>>2]=b;c[d+4>>2]=e;b=d+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[d+28>>2]=3;b=d+32|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+12>>2]=d;return}function yg(a){a=a|0;var b=0;c[a>>2]=3904;b=c[a+12>>2]|0;if(b){Ig(b);ck(b)}Ug(a);return}function zg(a){a=a|0;var b=0;c[a>>2]=3904;b=c[a+12>>2]|0;if(b){Ig(b);ck(b)}Ug(a);ck(a);return}function Ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Bg(c[a+12>>2]|0,b,d,e)|0}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;f=n;l=c[a>>2]|0;if(!(Hb[c[(c[l>>2]|0)+72>>2]&127](l)|0)){c[a+12>>2]=d;c[a+16>>2]=e;c[a+8>>2]=b;a=c[a>>2]|0;a=Nb[c[(c[a>>2]|0)+64>>2]&15](a,b,d,e)|0;i=n;return a|0}if(e>>>0<2){a=je(9768,21970,72)|0;c[f>>2]=jo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;d=Gt(f,12368)|0;d=Pb[c[(c[d>>2]|0)+28>>2]&63](d,10)|0;Et(f);hp(a,d)|0;To(a)|0;a=0;i=n;return a|0}if(e&1){a=je(ep(je(9768,22043,59)|0,e)|0,22103,14)|0;c[f>>2]=jo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;d=Gt(f,12368)|0;d=Pb[c[(c[d>>2]|0)+28>>2]&63](d,10)|0;Et(f);hp(a,d)|0;To(a)|0;a=0;i=n;return a|0}k=a+8|0;f=c[k>>2]|0;l=a+20|0;if((f|0)>0){g=f;f=c[l>>2]|0;j=0;do{h=c[f+(j<<2)>>2]|0;if(h){dk(h);f=c[l>>2]|0;g=c[k>>2]|0}j=j+1|0}while((j|0)<(g|0));if(f)dk(f);f=c[a+24>>2]|0;if(f)dk(f);f=a+48|0;g=c[f>>2]|0;if(g){Hm(g);c[f>>2]=0;f=a+52|0;g=c[f>>2]|0;if(g)dk(g);c[f>>2]=0}f=c[a+32>>2]|0;if(f)Eb[c[(c[f>>2]|0)+4>>2]&255](f)}c[a+12>>2]=d;h=a+16|0;c[h>>2]=e;c[k>>2]=b;f=bk(b>>>0>1073741823?-1:b<<2)|0;c[l>>2]=f;if((b|0)>0?(m=e+2|0,m=m>>>0>1073741823?-1:m<<2,c[f>>2]=bk(m)|0,(b|0)>1):0){f=1;do{k=c[l>>2]|0;c[k+(f<<2)>>2]=bk(m)|0;f=f+1|0}while((f|0)<(b|0))}c[a+24>>2]=bk(e>>>0>536870911?-1:e<<3)|0;g=ak(24)|0;f=c[a+28>>2]|0;switch(f|0){case 4:case 3:case 2:case 1:case 0:break;case 7:{f=5;break}case 8:{f=6;break}default:f=3}c[g>>2]=4016;c[g+4>>2]=f;c[g+8>>2]=e;Ng(g);c[a+32>>2]=g;c[a+48>>2]=vg(c[h>>2]|0,0,0,0)|0;e=c[h>>2]|0;m=((e|0)/2|0)+1|0;c[a+52>>2]=bk(m>>>0>268435455?-1:m<<4)|0;c[a+40>>2]=0;a=c[a>>2]|0;a=Nb[c[(c[a>>2]|0)+64>>2]&15](a,b,d,e)|0;i=n;return a|0}function Cg(a){a=a|0;a=c[a+12>>2]|0;c[a+40>>2]=0;a=c[a>>2]|0;Eb[c[(c[a>>2]|0)+68>>2]&255](a);return}function Dg(a){a=a|0;return 0}function Eg(a){a=a|0;var b=0;b=c[a+12>>2]|0;a=c[b>>2]|0;a=Hb[c[(c[a>>2]|0)+80>>2]&127](a)|0;if(a){b=a;return b|0}a=c[b>>2]|0;if((Hb[c[(c[a>>2]|0)+72>>2]&127](a)|0)!=1){b=0;return b|0}a=c[b>>2]|0;a=Hb[c[(c[a>>2]|0)+76>>2]&127](a)|0;b=c[b>>2]|0;if((Hb[c[(c[b>>2]|0)+72>>2]&127](b)|0)==1)if(!a)a=1024;else a=Jg(0,a)|0;b=a>>>1;return b|0}function Fg(a){a=a|0;var b=0;b=c[a+12>>2]|0;a=c[b>>2]|0;a=Hb[c[(c[a>>2]|0)+76>>2]&127](a)|0;b=c[b>>2]|0;if((Hb[c[(c[b>>2]|0)+72>>2]&127](b)|0)!=1){b=a;return b|0}if(!a){b=1024;return b|0}b=Jg(0,a)|0;return b|0}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+8|0;k=l;f=c[b+12>>2]|0;g=c[e>>2]|0;b=c[e+4>>2]|0;e=c[f>>2]|0;if(!(Hb[c[(c[e>>2]|0)+72>>2]&127](e)|0)){k=c[f>>2]|0;j=c[(c[k>>2]|0)+96>>2]|0;c[h>>2]=g;c[h+4>>2]=b;Ob[j&15](a,k,d,h);i=l;return}switch(c[f+36>>2]|0){case 2:case 0:{c[j>>2]=g;c[j+4>>2]=b;Kg(a,f,d,j);i=l;return}default:{c[k>>2]=g;c[k+4>>2]=b;Lg(a,f,d,k);i=l;return}}}function Hg(a,b){a=a|0;b=b|0;var d=0;b=c[b+12>>2]|0;d=c[b>>2]|0;if(!(Hb[c[(c[d>>2]|0)+72>>2]&127](d)|0)){c[a>>2]=c[1037];c[a+4>>2]=c[1038];return}if(((c[b+36>>2]|0)+-1|0)>>>0<2){c[a>>2]=c[1037];c[a+4>>2]=c[1038];return}else{uh(a,(c[b+16>>2]|0)/2|0,~~(+g[b+4>>2]+.5));return}}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+44|0;b=c[g>>2]|0;h=a+8|0;do if(b){d=c[h>>2]|0;if((d|0)>0){f=0;do{e=c[b+(f<<2)>>2]|0;if(e){dk(e);b=c[g>>2]|0;d=c[h>>2]|0}f=f+1|0}while((f|0)<(d|0));if(!b)break}dk(b)}while(0);d=c[h>>2]|0;if((d|0)<=0)return;g=a+20|0;b=c[g>>2]|0;f=0;do{e=c[b+(f<<2)>>2]|0;if(e){dk(e);d=c[h>>2]|0;b=c[g>>2]|0}f=f+1|0}while((f|0)<(d|0));if(b)dk(b);b=c[a+24>>2]|0;if(b)dk(b);b=a+48|0;d=c[b>>2]|0;if(d){Hm(d);c[b>>2]=0;b=a+52|0;d=c[b>>2]|0;if(d)dk(d);c[b>>2]=0}b=c[a+32>>2]|0;if(!b)return;Eb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;a=d;if(b>>>0<2){e=je(9768,22118,64)|0;c[a>>2]=jo(e+(c[(c[e>>2]|0)+-12>>2]|0)|0)|0;f=Gt(a,12368)|0;f=Pb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;Et(a);hp(e,f)|0;To(e)|0;b=je(ep(je(e,22183,27)|0,b)|0,22211,5)|0;c[a>>2]=jo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;e=Gt(a,12368)|0;e=Pb[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;Et(a);hp(b,e)|0;To(b)|0;b=2;i=d;return b|0}if(!(b&1)){f=b;i=d;return f|0}e=je(9768,22217,64)|0;c[a>>2]=jo(e+(c[(c[e>>2]|0)+-12>>2]|0)|0)|0;f=Gt(a,12368)|0;f=Pb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;Et(a);hp(e,f)|0;To(e)|0;f=b+1|0;e=ep(je(ep(je(e,22183,27)|0,b)|0,22282,4)|0,f)|0;c[a>>2]=jo(e+(c[(c[e>>2]|0)+-12>>2]|0)|0)|0;b=Gt(a,12368)|0;b=Pb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;Et(a);hp(e,b)|0;To(e)|0;i=d;return f|0}function Kg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;m=x+40|0;l=x+32|0;q=x+24|0;o=x+16|0;p=x+8|0;w=x;k=b+4|0;j=+g[k>>2];if(j>0.0)n=~~+vl(j)>>>0;else n=1;f=b+36|0;if(!(c[f>>2]|0)){v=c[b>>2]|0;do if(Hb[c[(c[v>>2]|0)+72>>2]&127](v)|0)if(((c[f>>2]|0)+-1|0)>>>0<2){k=c[1037]|0;c[l>>2]=k;f=c[1038]|0;c[l+4>>2]=f;break}else{uh(l,(c[b+16>>2]|0)/2|0,~~(+g[k>>2]+.5));k=c[l>>2]|0;f=c[l+4>>2]|0;break}else{k=c[1037]|0;c[l>>2]=k;f=c[1038]|0;c[l+4>>2]=f}while(0);l=e+4|0;rh(m,k+(c[e>>2]|0)|0,f+(c[l>>2]|0)|0);c[e>>2]=c[m>>2];c[l>>2]=c[m+4>>2];rh(q,0,1);v=th(e,n)|0;f=q+4|0;rh(o,(c[q>>2]|0)+(c[e>>2]|0)|0,(c[f>>2]|0)+(c[l>>2]|0)|0);if((v|0)<(th(o,n)|0)){rh(p,(c[q>>2]|0)+(c[e>>2]|0)|0,(c[f>>2]|0)+(c[l>>2]|0)|0);c[e>>2]=c[p>>2];c[l>>2]=c[p+4>>2]}}p=b+8|0;if((c[p>>2]|0)<=0){u=b+20|0;d=c[b>>2]|0;v=c[d>>2]|0;v=v+96|0;v=c[v>>2]|0;b=c[u>>2]|0;u=c[e>>2]|0;c[w>>2]=u;u=w+4|0;e=e+4|0;e=c[e>>2]|0;c[u>>2]=e;Ob[v&15](a,d,b,w);i=x;return}q=b+32|0;r=b+24|0;s=b+16|0;t=b+48|0;u=b+52|0;f=b+20|0;v=0;do{k=c[q>>2]|0;m=c[d+(v<<2)>>2]|0;o=c[r>>2]|0;n=c[k+8>>2]|0;if(n){k=c[k+12>>2]|0;l=0;do{h[o+(l<<3)>>3]=+h[k+(l<<3)>>3]*+g[m+(l<<2)>>2];l=l+1|0}while((l|0)!=(n|0))}k=c[s>>2]|0;if((k|0)>1){k=(k|0)/2|0;l=0;do{m=o+(l<<3)|0;j=+h[m>>3];n=o+(k+l<<3)|0;h[m>>3]=+h[n>>3];h[n>>3]=j;l=l+1|0}while((l|0)<(k|0))}wg(c[t>>2]|0,o,c[u>>2]|0);k=c[s>>2]|0;if((k|0)>=-1){m=c[u>>2]|0;n=c[(c[f>>2]|0)+(v<<2)>>2]|0;k=(k|0)/2|0;l=0;while(1){o=l<<1;g[n+(o<<2)>>2]=+h[m+(l<<4)>>3];g[n+((o|1)<<2)>>2]=+h[m+(l<<4)+8>>3];if((l|0)<(k|0))l=l+1|0;else break}}v=v+1|0}while((v|0)<(c[p>>2]|0));d=c[b>>2]|0;v=c[d>>2]|0;v=v+96|0;v=c[v>>2]|0;b=c[f>>2]|0;u=c[e>>2]|0;c[w>>2]=u;u=w+4|0;e=e+4|0;e=c[e>>2]|0;c[u>>2]=e;Ob[v&15](a,d,b,w);i=x;return}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=i;i=i+16|0;w=y;x=b+40|0;do if(!(c[x>>2]|0)){l=b+44|0;m=b+8|0;n=c[m>>2]|0;if(!(c[l>>2]|0)){f=bk(n>>>0>1073741823?-1:n<<2)|0;c[l>>2]=f;if((n|0)<=0)break;j=c[b+16>>2]|0;j=((j|0)/2|0)+j|0;j=j>>>0>1073741823?-1:j<<2;c[f>>2]=bk(j)|0;if((n|0)>1){f=1;do{v=c[l>>2]|0;c[v+(f<<2)>>2]=bk(j)|0;f=f+1|0}while((f|0)<(n|0))}}if((n|0)>0){f=b+16|0;j=c[f>>2]|0;j=(((j|0)/2|0)+j|0)>0;k=0;do{if(j){v=c[f>>2]|0;v=((v|0)/2|0)+v|0;cx(c[(c[l>>2]|0)+(k<<2)>>2]|0,0,((v|0)>1?v<<2:4)|0)|0}k=k+1|0}while((k|0)<(n|0))}}else m=b+8|0;while(0);t=c[m>>2]|0;u=(t|0)>0;if(u){p=c[b+12>>2]|0;v=c[b+16>>2]|0;r=(v|0)/2|0;l=r+v|0;s=b+44|0;if((p|0)<(l|0)){n=c[s>>2]|0;o=(v|0)>0;q=0;do{f=c[n+(q<<2)>>2]|0;j=p;do{c[f+(j-p<<2)>>2]=c[f+(j<<2)>>2];j=j+1|0}while((j|0)<(l|0));if(o){f=c[d+(q<<2)>>2]|0;j=c[(c[s>>2]|0)+(q<<2)>>2]|0;k=0;do{c[j+(r+k<<2)>>2]=c[f+(k<<2)>>2];k=k+1|0}while((k|0)<(v|0))}q=q+1|0}while((q|0)<(t|0))}else{f=(v|0)>0;l=0;do{if(f){j=c[d+(l<<2)>>2]|0;k=c[(c[s>>2]|0)+(l<<2)>>2]|0;n=0;do{c[k+(r+n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0}while((n|0)<(v|0))}l=l+1|0}while((l|0)<(t|0))}if(u){p=b+32|0;q=b+44|0;r=b+24|0;s=b+16|0;t=b+48|0;u=b+52|0;f=b+20|0;v=0;do{j=c[p>>2]|0;l=c[(c[q>>2]|0)+(v<<2)>>2]|0;o=c[r>>2]|0;n=c[j+8>>2]|0;if(n){j=c[j+12>>2]|0;k=0;do{h[o+(k<<3)>>3]=+h[j+(k<<3)>>3]*+g[l+(k<<2)>>2];k=k+1|0}while((k|0)!=(n|0))}j=c[s>>2]|0;if((j|0)>1){j=(j|0)/2|0;k=0;do{n=o+(k<<3)|0;z=+h[n>>3];d=o+(j+k<<3)|0;h[n>>3]=+h[d>>3];h[d>>3]=z;k=k+1|0}while((k|0)<(j|0))}wg(c[t>>2]|0,o,c[u>>2]|0);j=c[s>>2]|0;if((j|0)>=-1){l=c[u>>2]|0;n=c[(c[f>>2]|0)+(v<<2)>>2]|0;j=(j|0)/2|0;k=0;while(1){d=k<<1;g[n+(d<<2)>>2]=+h[l+(k<<4)>>3];g[n+((d|1)<<2)>>2]=+h[l+(k<<4)+8>>3];if((k|0)<(j|0))k=k+1|0;else break}}v=v+1|0}while((v|0)<(c[m>>2]|0));d=c[x>>2]|0;d=d+1|0;c[x>>2]=d;x=c[b>>2]|0;d=c[x>>2]|0;d=d+96|0;d=c[d>>2]|0;b=c[f>>2]|0;v=c[e>>2]|0;c[w>>2]=v;v=w+4|0;e=e+4|0;e=c[e>>2]|0;c[v>>2]=e;Ob[d&15](a,x,b,w);i=y;return}}v=b+20|0;d=c[x>>2]|0;d=d+1|0;c[x>>2]=d;x=c[b>>2]|0;d=c[x>>2]|0;d=d+96|0;d=c[d>>2]|0;b=c[v>>2]|0;v=c[e>>2]|0;c[w>>2]=v;v=w+4|0;e=e+4|0;e=c[e>>2]|0;c[v>>2]=e;Ob[d&15](a,x,b,w);i=y;return}function Mg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0;v=c[f>>2]|0;l=f+8|0;w=c[f+4>>2]|0;q=a+(($(w,v)|0)<<4)|0;if((w|0)==1){j=$(e,d)|0;i=a;f=b;while(1){h[i>>3]=+h[f>>3];h[i+8>>3]=+h[f+8>>3];i=i+16|0;if((i|0)==(q|0))break;else f=f+(j<<4)|0}}else{j=$(v,d)|0;k=$(e,d)|0;i=a;f=b;while(1){Mg(i,f,j,e,l,g);i=i+(w<<4)|0;if((i|0)==(q|0))break;else f=f+(k<<4)|0}}switch(v|0){case 2:{j=a;k=w;i=a+(w<<4)|0;f=g+264|0;while(1){m=+h[i>>3];p=+h[f>>3];g=i+8|0;n=+h[g>>3];x=+h[f+8>>3];o=p*m-x*n;p=x*m+n*p;h[i>>3]=+h[j>>3]-o;w=j+8|0;h[g>>3]=+h[w>>3]-p;h[j>>3]=+h[j>>3]+o;h[w>>3]=+h[w>>3]+p;k=k+-1|0;if(!k)break;else{j=j+16|0;i=i+16|0;f=f+(d<<4)|0}}return}case 3:{e=w<<1;m=+h[g+264+(($(w,d)|0)<<4)+8>>3];k=g+264|0;l=d<<1;f=a;i=w;j=k;while(1){a=f+(w<<4)|0;p=+h[a>>3];y=+h[j>>3];g=f+(w<<4)+8|0;o=+h[g>>3];n=+h[j+8>>3];z=y*p-n*o;y=n*p+o*y;u=f+(e<<4)|0;o=+h[u>>3];p=+h[k>>3];v=f+(e<<4)+8|0;n=+h[v>>3];A=+h[k+8>>3];x=p*o-A*n;p=A*o+n*p;n=x+z;o=p+y;h[a>>3]=+h[f>>3]-n*.5;t=f+8|0;h[g>>3]=+h[t>>3]-o*.5;x=(z-x)*m;p=(y-p)*m;h[f>>3]=+h[f>>3]+n;h[t>>3]=+h[t>>3]+o;h[u>>3]=+h[a>>3]+p;h[v>>3]=+h[g>>3]-x;h[a>>3]=+h[a>>3]-p;h[g>>3]=+h[g>>3]+x;i=i+-1|0;if(!i)break;else{f=f+16|0;j=j+(d<<4)|0;k=k+(l<<4)|0}}return}case 4:{e=w<<1;b=w*3|0;f=g+264|0;q=d<<1;r=d*3|0;if(!(c[g+4>>2]|0)){i=a;j=w;k=f;l=f;while(1){u=i+(w<<4)|0;n=+h[u>>3];C=+h[k>>3];v=i+(w<<4)+8|0;y=+h[v>>3];x=+h[k+8>>3];D=C*n-x*y;C=x*n+y*C;B=i+(e<<4)|0;y=+h[B>>3];n=+h[l>>3];s=i+(e<<4)+8|0;x=+h[s>>3];p=+h[l+8>>3];m=n*y-p*x;n=p*y+x*n;a=i+(b<<4)|0;x=+h[a>>3];y=+h[f>>3];g=i+(b<<4)+8|0;p=+h[g>>3];o=+h[f+8>>3];A=y*x-o*p;y=o*x+p*y;p=+h[i>>3];x=p-m;t=i+8|0;o=+h[t>>3];z=o-n;m=p+m;h[i>>3]=m;n=o+n;h[t>>3]=n;o=A+D;p=y+C;A=D-A;y=C-y;h[B>>3]=m-o;h[s>>3]=n-p;h[i>>3]=+h[i>>3]+o;h[t>>3]=+h[t>>3]+p;h[u>>3]=y+x;h[v>>3]=z-A;h[a>>3]=x-y;h[g>>3]=z+A;j=j+-1|0;if(!j)break;else{i=i+16|0;k=k+(d<<4)|0;l=l+(q<<4)|0;f=f+(r<<4)|0}}return}else{i=a;j=w;k=f;l=f;while(1){v=i+(w<<4)|0;p=+h[v>>3];n=+h[k>>3];a=i+(w<<4)+8|0;z=+h[a>>3];A=+h[k+8>>3];m=n*p-A*z;n=A*p+z*n;s=i+(e<<4)|0;z=+h[s>>3];p=+h[l>>3];t=i+(e<<4)+8|0;A=+h[t>>3];y=+h[l+8>>3];o=p*z-y*A;p=y*z+A*p;g=i+(b<<4)|0;A=+h[g>>3];z=+h[f>>3];B=i+(b<<4)+8|0;y=+h[B>>3];x=+h[f+8>>3];D=z*A-x*y;z=x*A+y*z;y=+h[i>>3];A=y-o;u=i+8|0;x=+h[u>>3];C=x-p;o=y+o;h[i>>3]=o;p=x+p;h[u>>3]=p;x=D+m;y=z+n;D=m-D;z=n-z;h[s>>3]=o-x;h[t>>3]=p-y;h[i>>3]=+h[i>>3]+x;h[u>>3]=+h[u>>3]+y;h[v>>3]=A-z;h[a>>3]=C+D;h[g>>3]=z+A;h[B>>3]=C-D;j=j+-1|0;if(!j)break;else{i=i+16|0;k=k+(d<<4)|0;l=l+(q<<4)|0;f=f+(r<<4)|0}}return}}case 5:{B=$(w,d)|0;m=+h[g+264+(B<<4)>>3];n=+h[g+264+(B<<4)+8>>3];B=$(w,d<<1)|0;o=+h[g+264+(B<<4)>>3];p=+h[g+264+(B<<4)+8>>3];if((w|0)<=0)return;j=d*3|0;k=a;l=a+(w<<4)|0;e=a+(w<<1<<4)|0;b=a+(w*3<<4)|0;f=a+(w<<2<<4)|0;i=0;while(1){G=+h[k>>3];t=k+8|0;E=+h[t>>3];L=+h[l>>3];s=$(i,d)|0;H=+h[g+264+(s<<4)>>3];u=l+8|0;x=+h[u>>3];A=+h[g+264+(s<<4)+8>>3];F=H*L-A*x;H=A*L+x*H;x=+h[e>>3];s=$(i<<1,d)|0;L=+h[g+264+(s<<4)>>3];a=e+8|0;A=+h[a>>3];C=+h[g+264+(s<<4)+8>>3];J=L*x-C*A;L=C*x+A*L;A=+h[b>>3];s=$(j,i)|0;x=+h[g+264+(s<<4)>>3];B=b+8|0;C=+h[B>>3];z=+h[g+264+(s<<4)+8>>3];D=x*A-z*C;x=z*A+C*x;C=+h[f>>3];s=$(i<<2,d)|0;A=+h[g+264+(s<<4)>>3];v=f+8|0;z=+h[v>>3];K=+h[g+264+(s<<4)+8>>3];y=A*C-K*z;A=K*C+z*A;z=y+F;C=A+H;y=F-y;A=H-A;H=D+J;F=x+L;D=J-D;x=L-x;h[k>>3]=H+G+z;h[t>>3]=F+E+C;L=H*o+G+z*m;J=F*o+E+C*m;K=A*n+x*p;I=-(n*y)-D*p;h[l>>3]=L-K;h[u>>3]=J-I;h[f>>3]=L+K;h[v>>3]=J+I;z=H*m+G+z*o;C=F*m+E+C*o;A=x*n-A*p;D=y*p-D*n;h[e>>3]=z+A;h[a>>3]=C+D;h[b>>3]=z-A;h[B>>3]=C-D;i=i+1|0;if((i|0)==(w|0))break;else{k=k+16|0;l=l+16|0;e=e+16|0;b=b+16|0;f=f+16|0}}return}default:{q=c[g>>2]|0;r=Gm(v<<4)|0;if((w|0)>0){s=(v|0)>0;t=(v|0)>1;u=0;do{a:do if(s){f=u;i=0;while(1){B=r+(i<<4)|0;b=a+(f<<4)|0;c[B>>2]=c[b>>2];c[B+4>>2]=c[b+4>>2];c[B+8>>2]=c[b+8>>2];c[B+12>>2]=c[b+12>>2];i=i+1|0;if((i|0)==(v|0))break;else f=f+w|0}if(t){k=u;e=0}else{f=u;i=0;while(1){B=a+(f<<4)|0;c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];i=i+1|0;if((i|0)==(v|0))break a;else f=f+w|0}}while(1){i=a+(k<<4)|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];f=$(k,d)|0;j=a+(k<<4)+8|0;m=+h[i>>3];n=+h[j>>3];l=1;b=0;do{B=b+f|0;b=B-((B|0)<(q|0)?0:q)|0;L=+h[r+(l<<4)>>3];J=+h[g+264+(b<<4)>>3];I=+h[r+(l<<4)+8>>3];K=+h[g+264+(b<<4)+8>>3];m=J*L-K*I+m;h[i>>3]=m;n=I*J+n+K*L;h[j>>3]=n;l=l+1|0}while((l|0)!=(v|0));e=e+1|0;if((e|0)==(v|0))break;else k=k+w|0}}while(0);u=u+1|0}while((u|0)!=(w|0))}Hm(r);return}}}function Ng(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=c[a+8>>2]|0;i=bk(j>>>0>536870911?-1:j<<3)|0;g=(j|0)>0;if(g){d=0;do{h[i+(d<<3)>>3]=1.0;d=d+1|0}while((d|0)!=(j|0))}switch(c[a+4>>2]|0){case 0:{if(g){d=0;do{e=i+(d<<3)|0;h[e>>3]=+h[e>>3]*.5;d=d+1|0}while((d|0)!=(j|0))}else f=24;break}case 1:{d=(j|0)/2|0;if((j|0)>1){b=+(d|0);e=0;do{l=+(e|0)/b;k=i+(e<<3)|0;h[k>>3]=+h[k>>3]*l;k=i+(d+e<<3)|0;h[k>>3]=+h[k>>3]*(1.0-l);e=e+1|0}while((e|0)<(d|0))}break}case 2:{if(g){b=+(j|0);d=0;do{l=.54-+R(+(+(d|0)*6.283185307179586/b))*.46;k=i+(d<<3)|0;h[k>>3]=l*+h[k>>3];d=d+1|0}while((d|0)!=(j|0))}else f=24;break}case 3:{if(g){b=+(j|0);d=0;do{l=.5-+R(+(+(d|0)*6.283185307179586/b))*.5;k=i+(d<<3)|0;h[k>>3]=l*+h[k>>3];d=d+1|0}while((d|0)!=(j|0))}else f=24;break}case 4:{if(g){b=+(j|0);d=0;do{l=+(d|0);l=.42-+R(+(l*6.283185307179586/b))*.5+ +R(+(l*12.566370614359172/b))*.08;k=i+(d<<3)|0;h[k>>3]=l*+h[k>>3];d=d+1|0}while((d|0)!=(j|0))}else f=24;break}case 5:{if(g){b=+(j|0);d=0;do{l=+(d|0);l=.3635819-+R(+(l*6.283185307179586/b))*.4891775+ +R(+(l*12.566370614359172/b))*.1365995-+R(+(l*18.84955592153876/b))*.0106411;k=i+(d<<3)|0;h[k>>3]=l*+h[k>>3];d=d+1|0}while((d|0)!=(j|0))}else f=24;break}case 6:{if(g){b=+(j|0);d=0;do{l=+(d|0);l=.35875-+R(+(l*6.283185307179586/b))*.48829+ +R(+(l*12.566370614359172/b))*.14128-+R(+(l*18.84955592153876/b))*.01168;k=i+(d<<3)|0;h[k>>3]=l*+h[k>>3];d=d+1|0}while((d|0)!=(j|0))}else f=24;break}default:{}}if((f|0)==24){c[a+12>>2]=i;k=a+16|0;h[k>>3]=0.0;b=0.0;l=+(j|0);l=b/l;h[k>>3]=l;return}c[a+12>>2]=i;e=a+16|0;h[e>>3]=0.0;if(g){b=0.0;d=0}else{b=0.0;k=e;l=+(j|0);l=b/l;h[k>>3]=l;return}do{b=b+ +h[i+(d<<3)>>3];d=d+1|0}while((d|0)!=(j|0));h[e>>3]=b;k=e;l=+(j|0);l=b/l;h[k>>3]=l;return}function Og(a){a=a|0;c[a>>2]=4016;a=c[a+12>>2]|0;if(!a)return;dk(a);return}function Pg(a){a=a|0;var b=0;c[a>>2]=4016;b=c[a+12>>2]|0;if(!b){ck(a);return}dk(b);ck(a);return}function Qg(){c[1006]=0;ib(185,4024,n|0)|0;return}function Rg(a){a=a|0;a=c[a>>2]|0;if(!a)return;Eb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Sg(){rh(4028,-2147483648,-2147483648);return}function Tg(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b+4>>2];c[a>>2]=4044;c[a+8>>2]=b;return}function Ug(a){a=a|0;c[a>>2]=4044;a=c[a+8>>2]|0;if(!a)return;Eb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Vg(a){a=a|0;var b=0;c[a>>2]=4044;b=c[a+8>>2]|0;if(!b){ck(a);return}Eb[c[(c[b>>2]|0)+4>>2]&255](b);ck(a);return}function Wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+8>>2]|0;return Nb[c[(c[a>>2]|0)+64>>2]&15](a,b,d,e)|0}function Xg(a){a=a|0;a=c[a+8>>2]|0;Eb[c[(c[a>>2]|0)+68>>2]&255](a);return}function Yg(a){a=a|0;a=c[a+8>>2]|0;return Hb[c[(c[a>>2]|0)+72>>2]&127](a)|0}function Zg(a){a=a|0;a=c[a+8>>2]|0;return Hb[c[(c[a>>2]|0)+8>>2]&127](a)|0}function _g(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+12>>2]&127](a,b);return}function $g(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+16>>2]&127](a,b);return}function ah(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+20>>2]&127](a,b);return}function bh(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+24>>2]&127](a,b);return}function ch(a){a=a|0;a=c[a+8>>2]|0;return Hb[c[(c[a>>2]|0)+32>>2]&127](a)|0}function dh(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+28>>2]&127](a,b);return}function eh(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+36>>2]&127](a,b);return}function fh(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;a=c[a+8>>2]|0;g=c[(c[a>>2]|0)+40>>2]|0;zn(f,b);d=+Cb[g&3](a,f);Dn(f);i=e;return +d}function gh(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;a=c[a+8>>2]|0;g=c[(c[a>>2]|0)+44>>2]|0;zn(f,b);zb[g&3](a,f,d);Dn(f);i=e;return}function hh(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+48>>2]&127](a,b);return}function ih(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+52>>2]&127](a,b);return}function jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;a=c[a+8>>2]|0;f=c[(c[a>>2]|0)+56>>2]|0;zn(e,b);Fb[f&127](a,e);Dn(e);i=d;return}function kh(a){a=a|0;a=c[a+8>>2]|0;return Hb[c[(c[a>>2]|0)+80>>2]&127](a)|0}function lh(a){a=a|0;a=c[a+8>>2]|0;return Hb[c[(c[a>>2]|0)+76>>2]&127](a)|0}function mh(a){a=a|0;a=c[a+8>>2]|0;return Hb[c[(c[a>>2]|0)+84>>2]&127](a)|0}function nh(a){a=a|0;a=c[a+8>>2]|0;return Hb[c[(c[a>>2]|0)+88>>2]&127](a)|0}function oh(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+92>>2]&127](a,b);return}function ph(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;b=c[b+8>>2]|0;h=c[(c[b>>2]|0)+96>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Ob[h&15](a,b,d,g);i=f;return}function qh(a,b){a=a|0;b=b|0;b=c[b+8>>2]|0;Fb[c[(c[b>>2]|0)+100>>2]&127](a,b);return}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a>>2]=b;f=a+4|0;c[f>>2]=d;if(!b){if((d|0)<-999999999){b=((-1e9-d|0)>>>0)/1e9|0;e=~b;b=($(b,1e9)|0)+d+1e9|0;c[f>>2]=b;c[a>>2]=e}else{e=0;b=d}if((b|0)<=999999999)return;b=b+-1e9|0;d=(b>>>0)/1e9|0;c[f>>2]=b+($(d,-1e9)|0);c[a>>2]=e+d+1;return}if((b|0)<0){if((d|0)<-999999999){e=((-1e9-d|0)>>>0)/1e9|0;b=b+-1-e|0;d=($(e,1e9)|0)+d+1e9|0;c[f>>2]=d;c[a>>2]=b}if((d|0)<=0)return;e=((d+((d|0)<1e9?~d:-1000000001)+1e9|0)>>>0)/1e9|0;c[f>>2]=d+-1e9+($(e,-1e9)|0);c[a>>2]=b+e+1;return}else{if((d|0)>999999999){e=d+-1e9|0;d=(e>>>0)/1e9|0;b=d+b+1|0;d=e+($(d,-1e9)|0)|0;c[f>>2]=d;c[a>>2]=b}if((d|0)>=0)return;e=((((d|0)>-1e9?d+999999999|0:-1)-d|0)>>>0)/1e9|0;c[f>>2]=d+($(e,1e9)|0)+1e9;c[a>>2]=b+-1-e;return}}function sh(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;if(b!=b|0.0!=0.0){e=je(9768,22351,52)|0;c[d>>2]=jo(e+(c[(c[e>>2]|0)+-12>>2]|0)|0)|0;g=Gt(d,12368)|0;g=Pb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;Et(d);hp(e,g)|0;To(e)|0;c[a>>2]=0;c[a+4>>2]=0;i=f;return}if(!(b>=0.0)){sh(e,-b);rh(a,0-(c[e>>2]|0)|0,0-(c[e+4>>2]|0)|0);i=f;return}else{g=~~b;rh(a,g,~~((b-+(g|0))*1.0e9+.5));i=f;return}}function th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=c[a>>2]|0;if(!f){a=c[a+4>>2]|0;if((a|0)<0)d=4;else d=5}else{a=c[a+4>>2]|0;if((f|0)<0)d=4;else d=5}if((d|0)==4){rh(e,0-f|0,0-a|0);b=0-(th(e,b)|0)|0;i=g;return b|0}else if((d|0)==5){b=~~((+(a+1|0)*1.0e-09+ +(f|0))*+(b>>>0));i=g;return b|0}return 0}function uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if((b|0)<0){uh(e,0-b|0,d);rh(a,0-(c[e>>2]|0)|0,0-(c[e+4>>2]|0)|0);i=f;return}else{e=(b|0)/(d|0)|0;d=~~(+(b-($(e,d)|0)|0)*1.0e6/+(d>>>0)*1.0e3);c[a>>2]=e;c[a+4>>2]=d;i=f;return}}function vh(a){a=a|0;var b=0,d=0;d=a+-8|0;c[d>>2]=3352;a=d+64|0;c[a>>2]=3392;c[d+8>>2]=3372;b=d+12|0;c[b>>2]=3448;Dn(d+44|0);lo(b);fo(a);return}function wh(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=3352;b=a+(e+64)|0;c[b>>2]=3392;c[a+(e+8)>>2]=3372;d=a+(e+12)|0;c[d>>2]=3448;Dn(a+(e+44)|0);lo(d);fo(b);return}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a>>2]=b;f=a+4|0;c[f>>2]=d;if(!b){if((d|0)<-999999999){b=((-1e9-d|0)>>>0)/1e9|0;e=~b;b=($(b,1e9)|0)+d+1e9|0;c[f>>2]=b;c[a>>2]=e}else{e=0;b=d}if((b|0)<=999999999)return;b=b+-1e9|0;d=(b>>>0)/1e9|0;c[f>>2]=b+($(d,-1e9)|0);c[a>>2]=e+d+1;return}if((b|0)<0){if((d|0)<-999999999){e=((-1e9-d|0)>>>0)/1e9|0;b=b+-1-e|0;d=($(e,1e9)|0)+d+1e9|0;c[f>>2]=d;c[a>>2]=b}if((d|0)<=0)return;e=((d+((d|0)<1e9?~d:-1000000001)+1e9|0)>>>0)/1e9|0;c[f>>2]=d+-1e9+($(e,-1e9)|0);c[a>>2]=b+e+1;return}else{if((d|0)>999999999){e=d+-1e9|0;d=(e>>>0)/1e9|0;b=d+b+1|0;d=e+($(d,-1e9)|0)|0;c[f>>2]=d;c[a>>2]=b}if((d|0)>=0)return;e=((((d|0)>-1e9?d+999999999|0:-1)-d|0)>>>0)/1e9|0;c[f>>2]=d+($(e,1e9)|0)+1e9;c[a>>2]=b+-1-e;return}}function yh(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;if(b!=b|0.0!=0.0){e=je(9768,22351,52)|0;c[d>>2]=jo(e+(c[(c[e>>2]|0)+-12>>2]|0)|0)|0;g=Gt(d,12368)|0;g=Pb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;Et(d);hp(e,g)|0;To(e)|0;c[a>>2]=0;c[a+4>>2]=0;i=f;return}if(!(b>=0.0)){yh(e,-b);xh(a,0-(c[e>>2]|0)|0,0-(c[e+4>>2]|0)|0);i=f;return}else{g=~~b;xh(a,g,~~((b-+(g|0))*1.0e9+.5));i=f;return}}function zh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+208|0;k=o+184|0;f=o+24|0;g=o+16|0;m=o+40|0;n=o;h=c[b>>2]|0;if(!h){e=c[b+4>>2]|0;if((e|0)<0)j=5}else if((h|0)<0){e=c[b+4>>2]|0;j=5}if((j|0)==5){xh(g,0-h|0,0-e|0);zh(f,g,0);n=Qn(f,0,22404)|0;c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Dn(f);i=o;return}h=m+64|0;l=m+8|0;c[l>>2]=3372;j=m+12|0;c[m>>2]=3412;c[h>>2]=3432;c[m+4>>2]=0;ko(m+64|0,j);c[m+136>>2]=0;c[m+140>>2]=-1;c[m>>2]=3352;c[m+64>>2]=3392;c[l>>2]=3372;no(j);c[j>>2]=3448;l=m+44|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[m+60>>2]=24;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;gf(j,k);Dn(k);e=c[b>>2]|0;if((e|0)>3599){je(dp(m+8|0,(e|0)/3600|0)|0,22408,1)|0;e=c[b>>2]|0}if((e|0)>59){f=(e|0)%3600|0;g=m+8|0;if((e|0)>3599&(f|0)<600)je(g,22406,1)|0;je(dp(g,(f|0)/60|0)|0,22408,1)|0;e=c[b>>2]|0}g=m+8|0;if((e|0)>9){dp(g,((e|0)%60|0|0)/10|0)|0;e=c[b>>2]|0}dp(g,(e|0)%10|0)|0;e=c[b+4>>2]|0;f=(e|0)/1e6|0;a:do if((e+999999|0)>>>0<1999999){if(d)je(g,22410,4)|0}else{je(g,30076,1)|0;dp(g,(e|0)/1e8|0)|0;e=(f|0)%100|0;do if(e){dp(g,(e|0)/10|0)|0;e=(e|0)%10|0;if(!e)if(d)break;else break a;else{dp(g,e)|0;break a}}else{if(!d)break a;je(g,22406,1)|0}while(0);je(g,22406,1)|0}while(0);hf(n,j);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Dn(n);c[m>>2]=3352;c[h>>2]=3392;c[g>>2]=3372;c[j>>2]=3448;Dn(l);lo(j);fo(h);i=o;return}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;xh(a,(e|0)/(d|0)|0,~~((+(c[b+4>>2]|0)+ +((e|0)%(d|0)|0|0)*1.0e9)/+(d|0)+.5));return}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=c[a>>2]|0;if(!f){a=c[a+4>>2]|0;if((a|0)<0)d=4;else d=5}else{a=c[a+4>>2]|0;if((f|0)<0)d=4;else d=5}if((d|0)==4){xh(e,0-f|0,0-a|0);b=0-(Bh(e,b)|0)|0;i=g;return b|0}else if((d|0)==5){b=~~((+(a+1|0)*1.0e-09+ +(f|0))*+(b>>>0));i=g;return b|0}return 0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if((b|0)<0){Ch(e,0-b|0,d);xh(a,0-(c[e>>2]|0)|0,0-(c[e+4>>2]|0)|0);i=f;return}else{e=(b|0)/(d|0)|0;d=~~(+(b-($(e,d)|0)|0)*1.0e6/+(d>>>0)*1.0e3);c[a>>2]=e;c[a+4>>2]=d;i=f;return}}function Dh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=Gm((a<<4)+264|0)|0;if(m){c[m>>2]=a;i=m+4|0;c[i>>2]=1;j=+(a|0);if(((a|0)>0?(h[m+264>>3]=1.0,h[m+272>>3]=0.0,(a|0)!=1):0)?(n=-6.283185307179586/j,h[m+280>>3]=+R(+n),h[m+288>>3]=+S(+-n),(a|0)!=2):0){g=2;do{n=+(g|0)*-6.283185307179586/j;n=(c[i>>2]|0)==0?n:-n;h[m+264+(g<<4)>>3]=+R(+n);h[m+264+(g<<4)+8>>3]=+S(+n);g=g+1|0}while((g|0)!=(a|0))}j=+N(+(+P(+j)));i=a;k=m+8|0;g=4;while(1){a:do if((i|0)%(g|0)|0)while(1){switch(g|0){case 4:{g=2;break}case 2:{g=3;break}default:g=g+2|0}g=+(g|0)>j?i:g;if(!((i|0)%(g|0)|0))break a}while(0);i=(i|0)/(g|0)|0;c[k>>2]=g;c[k+4>>2]=i;if((i|0)<=1)break;else k=k+8|0}}l=a>>>0>268435455?-1:a<<4;k=bk(l)|0;l=bk(l)|0;i=(a|0)>0;if(i){g=0;do{h[k+(g<<4)>>3]=+h[b+(g<<3)>>3];h[k+(g<<4)+8>>3]=0.0;g=g+1|0}while((g|0)!=(a|0))}if(!((d|0)==0|i^1)){g=0;do{h[k+(g<<4)+8>>3]=+h[d+(g<<3)>>3];g=g+1|0}while((g|0)!=(a|0))}if((k|0)==(l|0)){d=Gm(c[m>>2]<<4)|0;Eh(d,k,1,1,m+8|0,m);fx(k|0,d|0,c[m>>2]<<4|0)|0;Hm(d)}else Eh(l,k,1,1,m+8|0,m);j=1.0/+(a|0);if(i)g=0;else{Hm(m);dk(k);dk(l);return}do{h[e+(g<<3)>>3]=+h[l+(g<<4)>>3]*j;h[f+(g<<3)>>3]=+h[l+(g<<4)+8>>3]*j;g=g+1|0}while((g|0)!=(a|0));Hm(m);dk(k);dk(l);return}function Eh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0;v=c[f>>2]|0;l=f+8|0;w=c[f+4>>2]|0;q=a+(($(w,v)|0)<<4)|0;if((w|0)==1){j=$(e,d)|0;i=a;f=b;while(1){h[i>>3]=+h[f>>3];h[i+8>>3]=+h[f+8>>3];i=i+16|0;if((i|0)==(q|0))break;else f=f+(j<<4)|0}}else{j=$(v,d)|0;k=$(e,d)|0;i=a;f=b;while(1){Eh(i,f,j,e,l,g);i=i+(w<<4)|0;if((i|0)==(q|0))break;else f=f+(k<<4)|0}}switch(v|0){case 2:{j=a;k=w;i=a+(w<<4)|0;f=g+264|0;while(1){m=+h[i>>3];p=+h[f>>3];g=i+8|0;n=+h[g>>3];x=+h[f+8>>3];o=p*m-x*n;p=x*m+n*p;h[i>>3]=+h[j>>3]-o;w=j+8|0;h[g>>3]=+h[w>>3]-p;h[j>>3]=+h[j>>3]+o;h[w>>3]=+h[w>>3]+p;k=k+-1|0;if(!k)break;else{j=j+16|0;i=i+16|0;f=f+(d<<4)|0}}return}case 3:{e=w<<1;m=+h[g+264+(($(w,d)|0)<<4)+8>>3];k=g+264|0;l=d<<1;f=a;i=w;j=k;while(1){a=f+(w<<4)|0;p=+h[a>>3];y=+h[j>>3];g=f+(w<<4)+8|0;o=+h[g>>3];n=+h[j+8>>3];z=y*p-n*o;y=n*p+o*y;u=f+(e<<4)|0;o=+h[u>>3];p=+h[k>>3];v=f+(e<<4)+8|0;n=+h[v>>3];A=+h[k+8>>3];x=p*o-A*n;p=A*o+n*p;n=x+z;o=p+y;h[a>>3]=+h[f>>3]-n*.5;t=f+8|0;h[g>>3]=+h[t>>3]-o*.5;x=(z-x)*m;p=(y-p)*m;h[f>>3]=+h[f>>3]+n;h[t>>3]=+h[t>>3]+o;h[u>>3]=+h[a>>3]+p;h[v>>3]=+h[g>>3]-x;h[a>>3]=+h[a>>3]-p;h[g>>3]=+h[g>>3]+x;i=i+-1|0;if(!i)break;else{f=f+16|0;j=j+(d<<4)|0;k=k+(l<<4)|0}}return}case 4:{e=w<<1;b=w*3|0;f=g+264|0;q=d<<1;r=d*3|0;if(!(c[g+4>>2]|0)){i=a;j=w;k=f;l=f;while(1){u=i+(w<<4)|0;n=+h[u>>3];C=+h[k>>3];v=i+(w<<4)+8|0;y=+h[v>>3];x=+h[k+8>>3];D=C*n-x*y;C=x*n+y*C;B=i+(e<<4)|0;y=+h[B>>3];n=+h[l>>3];s=i+(e<<4)+8|0;x=+h[s>>3];p=+h[l+8>>3];m=n*y-p*x;n=p*y+x*n;a=i+(b<<4)|0;x=+h[a>>3];y=+h[f>>3];g=i+(b<<4)+8|0;p=+h[g>>3];o=+h[f+8>>3];A=y*x-o*p;y=o*x+p*y;p=+h[i>>3];x=p-m;t=i+8|0;o=+h[t>>3];z=o-n;m=p+m;h[i>>3]=m;n=o+n;h[t>>3]=n;o=A+D;p=y+C;A=D-A;y=C-y;h[B>>3]=m-o;h[s>>3]=n-p;h[i>>3]=+h[i>>3]+o;h[t>>3]=+h[t>>3]+p;h[u>>3]=y+x;h[v>>3]=z-A;h[a>>3]=x-y;h[g>>3]=z+A;j=j+-1|0;if(!j)break;else{i=i+16|0;k=k+(d<<4)|0;l=l+(q<<4)|0;f=f+(r<<4)|0}}return}else{i=a;j=w;k=f;l=f;while(1){v=i+(w<<4)|0;p=+h[v>>3];n=+h[k>>3];a=i+(w<<4)+8|0;z=+h[a>>3];A=+h[k+8>>3];m=n*p-A*z;n=A*p+z*n;s=i+(e<<4)|0;z=+h[s>>3];p=+h[l>>3];t=i+(e<<4)+8|0;A=+h[t>>3];y=+h[l+8>>3];o=p*z-y*A;p=y*z+A*p;g=i+(b<<4)|0;A=+h[g>>3];z=+h[f>>3];B=i+(b<<4)+8|0;y=+h[B>>3];x=+h[f+8>>3];D=z*A-x*y;z=x*A+y*z;y=+h[i>>3];A=y-o;u=i+8|0;x=+h[u>>3];C=x-p;o=y+o;h[i>>3]=o;p=x+p;h[u>>3]=p;x=D+m;y=z+n;D=m-D;z=n-z;h[s>>3]=o-x;h[t>>3]=p-y;h[i>>3]=+h[i>>3]+x;h[u>>3]=+h[u>>3]+y;h[v>>3]=A-z;h[a>>3]=C+D;h[g>>3]=z+A;h[B>>3]=C-D;j=j+-1|0;if(!j)break;else{i=i+16|0;k=k+(d<<4)|0;l=l+(q<<4)|0;f=f+(r<<4)|0}}return}}case 5:{B=$(w,d)|0;m=+h[g+264+(B<<4)>>3];n=+h[g+264+(B<<4)+8>>3];B=$(w,d<<1)|0;o=+h[g+264+(B<<4)>>3];p=+h[g+264+(B<<4)+8>>3];if((w|0)<=0)return;j=d*3|0;k=a;l=a+(w<<4)|0;e=a+(w<<1<<4)|0;b=a+(w*3<<4)|0;f=a+(w<<2<<4)|0;i=0;while(1){G=+h[k>>3];t=k+8|0;E=+h[t>>3];L=+h[l>>3];s=$(i,d)|0;H=+h[g+264+(s<<4)>>3];u=l+8|0;x=+h[u>>3];A=+h[g+264+(s<<4)+8>>3];F=H*L-A*x;H=A*L+x*H;x=+h[e>>3];s=$(i<<1,d)|0;L=+h[g+264+(s<<4)>>3];a=e+8|0;A=+h[a>>3];C=+h[g+264+(s<<4)+8>>3];J=L*x-C*A;L=C*x+A*L;A=+h[b>>3];s=$(j,i)|0;x=+h[g+264+(s<<4)>>3];B=b+8|0;C=+h[B>>3];z=+h[g+264+(s<<4)+8>>3];D=x*A-z*C;x=z*A+C*x;C=+h[f>>3];s=$(i<<2,d)|0;A=+h[g+264+(s<<4)>>3];v=f+8|0;z=+h[v>>3];K=+h[g+264+(s<<4)+8>>3];y=A*C-K*z;A=K*C+z*A;z=y+F;C=A+H;y=F-y;A=H-A;H=D+J;F=x+L;D=J-D;x=L-x;h[k>>3]=H+G+z;h[t>>3]=F+E+C;L=H*o+G+z*m;J=F*o+E+C*m;K=A*n+x*p;I=-(n*y)-D*p;h[l>>3]=L-K;h[u>>3]=J-I;h[f>>3]=L+K;h[v>>3]=J+I;z=H*m+G+z*o;C=F*m+E+C*o;A=x*n-A*p;D=y*p-D*n;h[e>>3]=z+A;h[a>>3]=C+D;h[b>>3]=z-A;h[B>>3]=C-D;i=i+1|0;if((i|0)==(w|0))break;else{k=k+16|0;l=l+16|0;e=e+16|0;b=b+16|0;f=f+16|0}}return}default:{q=c[g>>2]|0;r=Gm(v<<4)|0;if((w|0)>0){s=(v|0)>0;t=(v|0)>1;u=0;do{a:do if(s){f=u;i=0;while(1){B=r+(i<<4)|0;b=a+(f<<4)|0;c[B>>2]=c[b>>2];c[B+4>>2]=c[b+4>>2];c[B+8>>2]=c[b+8>>2];c[B+12>>2]=c[b+12>>2];i=i+1|0;if((i|0)==(v|0))break;else f=f+w|0}if(t){k=u;e=0}else{f=u;i=0;while(1){B=a+(f<<4)|0;c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];i=i+1|0;if((i|0)==(v|0))break a;else f=f+w|0}}while(1){i=a+(k<<4)|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];f=$(k,d)|0;j=a+(k<<4)+8|0;m=+h[i>>3];n=+h[j>>3];l=1;b=0;do{B=b+f|0;b=B-((B|0)<(q|0)?0:q)|0;L=+h[r+(l<<4)>>3];J=+h[g+264+(b<<4)>>3];I=+h[r+(l<<4)+8>>3];K=+h[g+264+(b<<4)+8>>3];m=J*L-K*I+m;h[i>>3]=m;n=I*J+n+K*L;h[j>>3]=n;l=l+1|0}while((l|0)!=(v|0));e=e+1|0;if((e|0)==(v|0))break;else k=k+w|0}}while(0);u=u+1|0}while((u|0)!=(w|0))}Hm(r);return}}}function Fh(a,b){a=a|0;b=b|0;a=c[a>>2]|0;Fb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Gh(b){b=b|0;var d=0;if((a[352]|0)==0?(Fa(352)|0)!=0:0){ii(4284);ib(186,4284,n|0)|0;Ma(352)}c[b>>2]=c[1071];d=c[1072]|0;c[b+4>>2]=d;if(!d)return;sn(d);return}function Hh(a,b){a=a|0;b=+b;var d=0,e=0;d=ak(32)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4352;e=d+16|0;h[d+24>>3]=b;c[e>>2]=4380;c[a>>2]=e;c[a+4>>2]=d;return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0;d=ak(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4444;e=d+12|0;c[d+16>>2]=b;c[e>>2]=4472;c[a>>2]=e;c[a+4>>2]=d;return}function Jh(b,d){b=b|0;d=d|0;if((a[352]|0)==0?(Fa(352)|0)!=0:0){ii(4284);ib(186,4284,n|0)|0;Ma(352)}d=d?4292:4300;c[b>>2]=c[d>>2];d=c[d+4>>2]|0;c[b+4>>2]=d;if(!d)return;sn(d);return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0;d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4536;e=d+12|0;c[e>>2]=4564;zn(d+16|0,b);c[e>>2]=4628;c[a>>2]=e;c[a+4>>2]=d;return}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4536;e=d+12|0;f=d+16|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[e>>2]=4628;c[a>>2]=e;c[a+4>>2]=d;return}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d;e=ak(28)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=4536;An(f,b,pm(b)|0);b=e+12|0;g=e+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[b>>2]=4628;Dn(f);c[a>>2]=b;c[a+4>>2]=e;i=d;return}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0;d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4692;e=d+12|0;c[e>>2]=4720;ki(d+16|0,b);c[e>>2]=4164;c[a>>2]=e;c[a+4>>2]=d;return}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4692;e=d+12|0;c[d+16>>2]=c[b>>2];f=b+4|0;c[d+20>>2]=c[f>>2];g=b+8|0;c[d+24>>2]=c[g>>2];c[g>>2]=0;c[f>>2]=0;c[b>>2]=0;c[e>>2]=4164;c[a>>2]=e;c[a+4>>2]=d;return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;li(e,b);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];i=d;return}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4784;e=d+12|0;c[e>>2]=4812;f=d+16|0;c[f>>2]=c[b>>2];g=d+20|0;h=c[b+4>>2]|0;c[g>>2]=h;i=b+8|0;j=c[i>>2]|0;c[d+24>>2]=j;if(!j){c[f>>2]=g;c[e>>2]=4228;j=e;b=d;c[a>>2]=j;j=a+4|0;c[j>>2]=b;return}else{c[h+8>>2]=g;j=b+4|0;c[b>>2]=j;c[j>>2]=0;c[i>>2]=0;c[e>>2]=4228;j=e;b=d;c[a>>2]=j;j=a+4|0;c[j>>2]=b;return}}function Rh(a){a=a|0;a=c[a>>2]|0;return Hb[c[c[a>>2]>>2]&127](a)|0}function Sh(a){a=a|0;a=c[a>>2]|0;return +(+Db[c[(c[a>>2]|0)+16>>2]&3](a))}function Th(a){a=a|0;a=c[a>>2]|0;return Hb[c[(c[a>>2]|0)+20>>2]&127](a)|0}function Uh(a){a=a|0;a=c[a>>2]|0;return Hb[c[(c[a>>2]|0)+28>>2]&127](a)|0}function Vh(a){a=a|0;a=c[a>>2]|0;return Hb[c[(c[a>>2]|0)+32>>2]&127](a)|0}function Wh(a){a=a|0;a=c[a>>2]|0;return Hb[c[(c[a>>2]|0)+40>>2]&127](a)|0}function Xh(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return Pb[c[(c[a>>2]|0)+44>>2]&63](a,b)|0}function Yh(a){a=a|0;return 0.0}function Zh(a){a=a|0;return 0}function _h(a){a=a|0;return 0}function $h(b){b=b|0;if(a[352]|0)return 4308;if(!(Fa(352)|0))return 4308;ii(4284);ib(186,4284,n|0)|0;Ma(352);return 4308}function ai(b){b=b|0;if(a[352]|0)return 4320;if(!(Fa(352)|0))return 4320;ii(4284);ib(186,4284,n|0)|0;Ma(352);return 4320}function bi(b){b=b|0;if(a[352]|0)return 4332;if(!(Fa(352)|0))return 4332;ii(4284);ib(186,4284,n|0)|0;Ma(352);return 4332}function ci(b,c){b=b|0;c=c|0;if(a[360]|0)return 4868;if(!(Fa(360)|0))return 4868;Gh(4868);ib(187,4868,n|0)|0;Ma(360);return 4868}function di(b,c){b=b|0;c=c|0;if(a[360]|0)return 4868;if(!(Fa(360)|0))return 4868;Gh(4868);ib(187,4868,n|0)|0;Ma(360);return 4868}function ei(b,c){b=b|0;c=c|0;c=ni(b+4|0,c)|0;if((c|0)!=(b+8|0)){b=c+28|0;return b|0}if(a[360]|0){b=4868;return b|0}if(!(Fa(360)|0)){b=4868;return b|0}Gh(4868);ib(187,4868,n|0)|0;Ma(360);b=4868;return b|0}function fi(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if((c[b+8>>2]|0)-e>>3>>>0>d>>>0){b=e+(d<<3)|0;return b|0}if(a[360]|0){b=4868;return b|0}if(!(Fa(360)|0)){b=4868;return b|0}Gh(4868);ib(187,4868,n|0)|0;Ma(360);b=4868;return b|0}function gi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;n=o+8|0;m=o;j=o+68|0;k=o+48|0;l=o+40|0;g=o+24|0;h=o+12|0;c[k>>2]=d;p=k+4|0;c[p>>2]=0;c[k+8>>2]=e;a[k+12>>0]=0;c[k+16>>2]=f;oi(l,k,0);pi(k);e=c[p>>2]|0;p=a[d>>0]|0;f=(p&1)==0;if((e|0)==((f?(p&255)>>>1:c[d+4>>2]|0)|0)){c[b>>2]=c[l>>2];p=l+4|0;c[b+4>>2]=c[p>>2];c[l>>2]=0;c[p>>2]=0;i=o;return}p=a[(f?d+1|0:c[d+8>>2]|0)+e>>0]|0;e=p<<24>>24;if((p&255)>31&p<<24>>24>-1){c[m>>2]=e;c[m+4>>2]=e;Zl(j,12,22477,m)|0}else{c[n>>2]=e;Zl(j,12,22487,n)|0}An(h,j,pm(j)|0);e=Qn(h,0,22492)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;qi(b,k,g);Dn(g);Dn(h);e=c[l+4>>2]|0;if(!e){i=o;return}tn(e);i=o;return}function hi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+80|0;f=n+60|0;g=n+48|0;h=n+36|0;j=n+24|0;k=n+12|0;l=n;o=c[b>>2]|0;if((Hb[c[c[o>>2]>>2]&127](o)|0)!=5){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;o=c[b>>2]|0;Fb[c[(c[o>>2]|0)+12>>2]&127](o,g);o=Qn(g,0,22513)|0;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Dn(f);Dn(g);o=0;i=n;return o|0}f=c[d>>2]|0;o=c[d+4>>2]|0;g=f+(o<<4)|0;if(!o){o=1;i=n;return o|0}while(1){o=c[b>>2]|0;o=c[(Pb[c[(c[o>>2]|0)+44>>2]&63](o,f)|0)>>2]|0;o=Hb[c[c[o>>2]>>2]&127](o)|0;if((o|0)!=(c[f+12>>2]|0))break;f=f+16|0;if((f|0)==(g|0)){f=1;m=13;break}}if((m|0)==13){i=n;return f|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;o=a[f>>0]|0;o=(o&1)==0?(o&255)>>>1:c[f+4>>2]|0;Tn(k,22540,13,o+13|0);Mn(k,(a[f>>0]&1)==0?f+1|0:c[f+8>>2]|0,o)|0;o=Kn(k,22554)|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;o=c[b>>2]|0;Fb[c[(c[o>>2]|0)+12>>2]&127](o,l);o=a[l>>0]|0;m=(o&1)==0;o=Mn(j,m?l+1|0:c[l+8>>2]|0,m?(o&255)>>>1:c[l+4>>2]|0)|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Dn(h);Dn(l);Dn(j);Dn(k);o=0;i=n;return o|0}function ii(b){b=b|0;var d=0,e=0;d=ak(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4884;e=d+12|0;c[d+16>>2]=0;c[e>>2]=4912;c[b>>2]=e;c[b+4>>2]=d;d=ak(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4976;e=d+12|0;a[d+16>>0]=1;c[e>>2]=5004;c[b+8>>2]=e;c[b+12>>2]=d;d=ak(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4976;e=d+12|0;a[d+16>>0]=0;c[e>>2]=5004;c[b+16>>2]=e;c[b+20>>2]=d;d=b+24|0;c[b+52>>2]=0;c[b+56>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+48>>2]=b+52;return}function ji(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;yd(a+48|0,c[a+52>>2]|0);f=a+36|0;b=c[f>>2]|0;if(b){g=a+40|0;d=c[g>>2]|0;if((d|0)!=(b|0)){do{e=d+-8|0;c[g>>2]=e;d=c[d+-4>>2]|0;if(!d)d=e;else{tn(d);d=c[g>>2]|0}}while((d|0)!=(b|0));b=c[f>>2]|0}ck(b)}Dn(a+24|0);b=c[a+20>>2]|0;if(b)tn(b);b=c[a+12>>2]|0;if(b)tn(b);b=c[a+4>>2]|0;if(!b)return;tn(b);return}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a>>2]=0;g=a+4|0;c[g>>2]=0;c[a+8>>2]=0;f=b+4|0;d=(c[f>>2]|0)-(c[b>>2]|0)|0;e=d>>3;if(!e)return;if(e>>>0>536870911)_j(a);d=ak(d)|0;c[g>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(e<<3);e=c[b>>2]|0;a=c[f>>2]|0;if((e|0)==(a|0))return;do{c[d>>2]=c[e>>2];b=c[e+4>>2]|0;c[d+4>>2]=b;if(b){sn(b);d=c[g>>2]|0}d=d+8|0;c[g>>2]=d;e=e+8|0}while((e|0)!=(a|0));return}function li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;h=n+4|0;j=n;k=ak(28)|0;c[k+4>>2]=0;c[k+8>>2]=0;c[k>>2]=4784;l=k+12|0;c[l>>2]=4812;m=k+16|0;d=k+20|0;c[d>>2]=0;c[k+24>>2]=0;c[m>>2]=d;e=c[b>>2]|0;g=b+4|0;if((e|0)==(g|0)){c[l>>2]=4228;m=a+4|0;c[a>>2]=l;c[m>>2]=k;i=n;return}f=d;d=e;b=e;while(1){c[j>>2]=f;c[h>>2]=c[j>>2];Ed(m,h,d+16|0)|0;d=c[b+4>>2]|0;if(!d)while(1){d=c[b+8>>2]|0;if((c[d>>2]|0)==(b|0)){b=d;break}else b=d}else{b=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}}if((b|0)==(g|0))break;else d=b}c[l>>2]=4228;m=a+4|0;c[a>>2]=l;c[m>>2]=k;i=n;return}function mi(a){a=a|0;a=c[a+4>>2]|0;if(!a)return;tn(a);return}function ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+4|0;e=c[f>>2]|0;if(e){g=a[d>>0]|0;b=(g&1)==0;g=b?(g&255)>>>1:c[d+4>>2]|0;d=b?d+1|0:c[d+8>>2]|0;b=f;a:do{while(1){h=e+16|0;i=a[h>>0]|0;j=(i&1)==0;i=j?(i&255)>>>1:c[e+20>>2]|0;h=mm(j?h+1|0:c[e+24>>2]|0,d,g>>>0<i>>>0?g:i)|0;if((((h|0)==0?(i>>>0<g>>>0?-2147483648:0):h)|0)>=0){b=e;break}e=c[e+4>>2]|0;if(!e)break a}e=c[b>>2]|0}while((e|0)!=0);if((b|0)!=(f|0)?(j=b+16|0,i=a[j>>0]|0,h=(i&1)==0,i=h?(i&255)>>>1:c[b+20>>2]|0,j=mm(d,h?j+1|0:c[b+24>>2]|0,i>>>0<g>>>0?i:g)|0,(((j|0)==0?(g>>>0<i>>>0?-2147483648:0):j)|0)>=0):0){j=b;return j|0}}j=f;return j|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+368|0;p=S+72|0;o=S+64|0;y=S+56|0;x=S+48|0;K=S+40|0;J=S+32|0;N=S+24|0;M=S+16|0;L=S+8|0;I=S;R=S+352|0;f=S+340|0;s=S+328|0;q=S+320|0;t=S+304|0;r=S+296|0;m=S+280|0;h=S+272|0;j=S+256|0;P=S+244|0;H=S+232|0;C=S+220|0;O=S+208|0;D=S+196|0;E=S+184|0;B=S+176|0;F=S+160|0;G=S+148|0;A=S+136|0;u=S+128|0;v=S+112|0;w=S+100|0;k=S+88|0;l=S+76|0;if((e|0)>200){An(f,22997,30);qi(b,d,f);Dn(f);i=S;return}g=Ki(d)|0;Q=d+12|0;if(a[Q>>0]|0){Gh(b);i=S;return}if(g<<24>>24==45|(g+-48&255)<10){R=d+4|0;c[R>>2]=(c[R>>2]|0)+-1;Li(b,d);i=S;return}switch(g<<24>>24){case 116:{An(s,32195,4);if((a[352]|0)==0?(Fa(352)|0)!=0:0){ii(4284);ib(186,4284,n|0)|0;Ma(352)}c[q>>2]=c[1073];f=q+4|0;g=c[1074]|0;c[f>>2]=g;if(g)sn(g);Mi(b,d,s,q);f=c[f>>2]|0;if(f)tn(f);Dn(s);i=S;return}case 102:{An(t,32200,5);if((a[352]|0)==0?(Fa(352)|0)!=0:0){ii(4284);ib(186,4284,n|0)|0;Ma(352)}c[r>>2]=c[1075];f=r+4|0;g=c[1076]|0;c[f>>2]=g;if(g)sn(g);Mi(b,d,t,r);f=c[f>>2]|0;if(f)tn(f);Dn(t);i=S;return}case 110:{An(m,23028,4);Gh(h);Mi(b,d,m,h);f=c[h+4>>2]|0;if(f)tn(f);Dn(m);i=S;return}case 34:{Ni(j,d);d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4536;R=d+12|0;Q=d+16|0;c[Q>>2]=c[j>>2];c[Q+4>>2]=c[j+4>>2];c[Q+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[R>>2]=4628;c[b>>2]=R;c[b+4>>2]=d;Dn(j);i=S;return}case 123:{l=P+4|0;c[l>>2]=0;m=P+8|0;c[m>>2]=0;o=P+4|0;c[P>>2]=o;g=Ki(d)|0;a:do switch(g<<24>>24){case 125:{li(R,P);c[b>>2]=c[R>>2];c[b+4>>2]=c[R+4>>2];break}case 34:{j=e+1|0;k=B+4|0;b:while(1){Ni(O,d);if(a[Q>>0]|0){z=36;break}f=Ki(d)|0;if(f<<24>>24!=58){z=38;break}h=vd(P,R,O)|0;f=c[h>>2]|0;if(!f){f=ak(36)|0;g=f+16|0;c[g>>2]=c[O>>2];c[g+4>>2]=c[O+4>>2];c[g+8>>2]=c[O+8>>2];c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;Gh(f+28|0);g=c[R>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[P>>2]>>2]|0;if(!g)g=f;else{c[P>>2]=g;g=c[h>>2]|0}wc(c[l>>2]|0,g);c[m>>2]=(c[m>>2]|0)+1}oi(B,d,j);A=c[B>>2]|0;z=c[k>>2]|0;c[B>>2]=0;c[k>>2]=0;c[f+28>>2]=A;A=f+32|0;f=c[A>>2]|0;c[A>>2]=z;if(f)tn(f);f=c[k>>2]|0;if(f)tn(f);if(a[Q>>0]|0){z=51;break}f=Ki(d)|0;switch(f<<24>>24){case 125:{z=59;break b}case 44:break;default:{z=53;break b}}g=Ki(d)|0;Dn(O);if(g<<24>>24!=34){z=31;break a}}if((z|0)==36)Gh(b);else if((z|0)==38){g=f<<24>>24;if((f&255)>31&f<<24>>24>-1){c[M>>2]=g;c[M+4>>2]=g;Zl(R,12,22477,M)|0}else{c[N>>2]=g;Zl(R,12,22487,N)|0}An(E,R,pm(R)|0);R=Qn(E,0,23062)|0;c[D>>2]=c[R>>2];c[D+4>>2]=c[R+4>>2];c[D+8>>2]=c[R+8>>2];c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;qi(b,d,D);Dn(D);Dn(E)}else if((z|0)==51)Gh(b);else if((z|0)==53){g=f<<24>>24;if((f&255)>31&f<<24>>24>-1){c[J>>2]=g;c[J+4>>2]=g;Zl(R,12,22477,J)|0}else{c[K>>2]=g;Zl(R,12,22487,K)|0}An(G,R,pm(R)|0);R=Qn(G,0,23091)|0;c[F>>2]=c[R>>2];c[F+4>>2]=c[R+4>>2];c[F+8>>2]=c[R+8>>2];c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;qi(b,d,F);Dn(F);Dn(G)}else if((z|0)==59){Dn(O);li(R,P);c[b>>2]=c[R>>2];c[b+4>>2]=c[R+4>>2];break a}Dn(O);break}default:z=31}while(0);if((z|0)==31){f=g<<24>>24;if((g&255)>31&g<<24>>24>-1){c[I>>2]=f;c[I+4>>2]=f;Zl(R,12,22477,I)|0}else{c[L>>2]=f;Zl(R,12,22487,L)|0}An(C,R,pm(R)|0);R=Qn(C,0,23033)|0;c[H>>2]=c[R>>2];c[H+4>>2]=c[R+4>>2];c[H+8>>2]=c[R+8>>2];c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;qi(b,d,H);Dn(H);Dn(C)}yd(P,c[o>>2]|0);i=S;return}case 91:{c[A>>2]=0;m=A+4|0;c[m>>2]=0;c[A+8>>2]=0;do if((Ki(d)|0)<<24>>24!=93){l=d+4|0;h=e+1|0;j=A+8|0;k=u+4|0;c:while(1){c[l>>2]=(c[l>>2]|0)+-1;oi(u,d,h);f=c[m>>2]|0;if(f>>>0>=(c[j>>2]|0)>>>0){Ad(A,u);f=c[k>>2]|0;if(f)tn(f)}else{c[f>>2]=c[u>>2];c[f+4>>2]=c[k>>2];c[u>>2]=0;c[k>>2]=0;c[m>>2]=f+8}if(a[Q>>0]|0){z=69;break}g=Ki(d)|0;switch(g<<24>>24){case 93:{z=76;break c}case 44:break;default:{z=71;break c}}Ki(d)|0}if((z|0)==69){Gh(b);break}else if((z|0)==71){f=g<<24>>24;if((g&255)>31&g<<24>>24>-1){c[x>>2]=f;c[x+4>>2]=f;Zl(R,12,22477,x)|0}else{c[y>>2]=f;Zl(R,12,22487,y)|0}An(w,R,pm(R)|0);R=Qn(w,0,23120)|0;c[v>>2]=c[R>>2];c[v+4>>2]=c[R+4>>2];c[v+8>>2]=c[R+8>>2];c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;qi(b,d,v);Dn(v);Dn(w);break}else if((z|0)==76){d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4692;R=d+12|0;c[R>>2]=4720;ki(d+16|0,A);c[R>>2]=4164;c[b>>2]=R;c[b+4>>2]=d;break}}else{d=ak(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4692;R=d+12|0;c[R>>2]=4720;ki(d+16|0,A);c[R>>2]=4164;c[b>>2]=R;c[b+4>>2]=d}while(0);f=c[A>>2]|0;if(!f){i=S;return}g=c[m>>2]|0;if((g|0)!=(f|0)){do{h=g+-8|0;c[m>>2]=h;g=c[g+-4>>2]|0;if(!g)g=h;else{tn(g);g=c[m>>2]|0}}while((g|0)!=(f|0));f=c[A>>2]|0}ck(f);i=S;return}default:{f=g<<24>>24;if((g&255)>31&g<<24>>24>-1){c[o>>2]=f;c[o+4>>2]=f;Zl(R,12,22477,o)|0}else{c[p>>2]=f;Zl(R,12,22487,p)|0}An(l,R,pm(R)|0);R=Qn(l,0,23147)|0;c[k>>2]=c[R>>2];c[k+4>>2]=c[R+4>>2];c[k+8>>2]=c[R+8>>2];c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;qi(b,d,k);Dn(k);Dn(l);i=S;return}}}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;f=c[b>>2]|0;g=f+1|0;h=f+8|0;i=c[k>>2]|0;while(1){e=(a[f>>0]&1)==0;if(e)d=g;else d=c[h>>2]|0;if((a[d+i>>0]|0)!=32){if(e)d=g;else d=c[h>>2]|0;if((a[d+i>>0]|0)!=13){if(e)d=g;else d=c[h>>2]|0;if((a[d+i>>0]|0)!=10){if(e)d=g;else d=c[h>>2]|0;if((a[d+i>>0]|0)!=9)break}}}j=i+1|0;c[k>>2]=j;i=j}if((c[b+16>>2]|0)!=1)return;do{g=Ji(b)|0;f=c[b>>2]|0;h=f+1|0;i=f+8|0;j=c[k>>2]|0;while(1){e=(a[f>>0]&1)==0;if(e)d=h;else d=c[i>>2]|0;if((a[d+j>>0]|0)!=32){if(e)d=h;else d=c[i>>2]|0;if((a[d+j>>0]|0)!=13){if(e)d=h;else d=c[i>>2]|0;if((a[d+j>>0]|0)!=10){if(e)d=h;else d=c[i>>2]|0;if((a[d+j>>0]|0)!=9)break}}}e=j+1|0;c[k>>2]=e;j=e}}while(g);return}function qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;Gh(f);g=d+12|0;if(!(a[g>>0]|0)){d=c[d+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}a[g>>0]=1;c[b>>2]=c[f>>2];d=c[f+4>>2]|0;c[b+4>>2]=d;if(!d){i=h;return}sn(d);tn(d);i=h;return}function ri(a){a=a|0;return}function si(a){a=a|0;return 4}function ti(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+8>>2]|0;d=c[a+4>>2]|0;a=c[b+4>>2]|0;if((e-d|0)!=((c[b+8>>2]|0)-a|0)){e=0;return e|0}if((d|0)==(e|0)){e=1;return e|0}while(1){f=c[d>>2]|0;f=Hb[c[c[f>>2]>>2]&127](f)|0;b=c[a>>2]|0;if((f|0)!=(Hb[c[c[b>>2]>>2]&127](b)|0)){a=0;d=6;break}f=c[d>>2]|0;if(!(Pb[c[(c[f>>2]|0)+4>>2]&63](f,c[a>>2]|0)|0)){a=0;d=6;break}d=d+8|0;if((d|0)==(e|0)){a=1;d=6;break}else a=a+8|0}if((d|0)==6)return a|0;return 0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+20|0;m=d+16|0;l=d+12|0;k=d+8|0;j=d+4|0;n=c[b+8>>2]|0;b=c[b+4>>2]|0;o=c[a+8>>2]|0;c[m>>2]=c[a+4>>2];c[l>>2]=o;c[k>>2]=b;c[j>>2]=n;c[h>>2]=c[m>>2];c[g>>2]=c[l>>2];c[f>>2]=c[k>>2];c[e>>2]=c[j>>2];a=Ii(h,g,f,e,d)|0;i=d;return a|0}function vi(a,b){a=a|0;b=b|0;var d=0,e=0;Kn(b,22840)|0;d=c[a+4>>2]|0;e=c[a+8>>2]|0;if((d|0)==(e|0)){Kn(b,22842)|0;return}else a=1;while(1){if(!a)Kn(b,22715)|0;a=c[d>>2]|0;Fb[c[(c[a>>2]|0)+12>>2]&127](a,b);d=d+8|0;if((d|0)==(e|0))break;else a=0}Kn(b,22842)|0;return}function wi(a){a=a|0;return a+4|0}function xi(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=4720;f=a+4|0;b=c[f>>2]|0;if(!b)return;e=a+8|0;a=c[e>>2]|0;if((a|0)!=(b|0)){d=a;while(1){a=d+-8|0;c[e>>2]=a;d=c[d+-4>>2]|0;if(d){tn(d);a=c[e>>2]|0}if((a|0)==(b|0))break;else d=a}b=c[f>>2]|0}ck(b);return}function yi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=4720;f=a+4|0;b=c[f>>2]|0;if(!b){ck(a);return}g=a+8|0;d=c[g>>2]|0;if((d|0)!=(b|0)){e=d;while(1){d=e+-8|0;c[g>>2]=d;e=c[e+-4>>2]|0;if(e){tn(e);d=c[g>>2]|0}if((d|0)==(b|0))break;else e=d}b=c[f>>2]|0}ck(b);ck(a);return}function zi(a){a=a|0;return 5}function Ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((c[b+12>>2]|0)!=(c[d+12>>2]|0)){m=0;return m|0}e=c[b+4>>2]|0;m=b+8|0;b=c[d+4>>2]|0;if((e|0)==(m|0)){m=1;return m|0}k=e;l=b;a:while(1){d=k+16|0;h=l+16|0;g=a[d>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:c[k+20>>2]|0;f=a[h>>0]|0;i=(f&1)==0;if((g|0)!=((i?(f&255)>>>1:c[l+20>>2]|0)|0)){b=0;d=19;break}f=j?d+1|0:c[k+24>>2]|0;d=i?h+1|0:c[l+24>>2]|0;if(j){if(g)while(1){if((a[f>>0]|0)!=(a[d>>0]|0)){b=0;d=19;break a}g=g+-1|0;if(!g)break;else{f=f+1|0;d=d+1|0}}}else if(mm(f,d,g)|0){b=0;d=19;break}f=k+28|0;k=c[f>>2]|0;k=Hb[c[c[k>>2]>>2]&127](k)|0;d=l+28|0;l=c[d>>2]|0;if((k|0)!=(Hb[c[c[l>>2]>>2]&127](l)|0)){b=0;d=19;break}l=c[f>>2]|0;if(!(Pb[c[(c[l>>2]|0)+4>>2]&63](l,c[d>>2]|0)|0)){b=0;d=19;break}d=c[e+4>>2]|0;if(!d)while(1){d=c[e+8>>2]|0;if((c[d>>2]|0)==(e|0))break;else e=d}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}e=c[b+4>>2]|0;if(!e)while(1){e=c[b+8>>2]|0;if((c[e>>2]|0)==(b|0)){b=e;break}else b=e}else{b=e;while(1){e=c[b>>2]|0;if(!e)break;else b=e}}if((d|0)==(m|0)){b=1;d=19;break}else{k=d;l=b;e=d}}if((d|0)==19)return b|0;return 0}function Bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+20|0;m=d+16|0;l=d+12|0;k=d+8|0;j=d+4|0;n=c[b+4>>2]|0;c[m>>2]=c[a+4>>2];c[l>>2]=a+8;c[k>>2]=n;c[j>>2]=b+8;c[h>>2]=c[m>>2];c[g>>2]=c[l>>2];c[f>>2]=c[k>>2];c[e>>2]=c[j>>2];a=Hi(h,g,f,e,d)|0;i=d;return a|0}function Ci(a,b){a=a|0;b=b|0;var d=0,e=0;Kn(b,22713)|0;d=c[a+4>>2]|0;e=a+8|0;if((d|0)==(e|0)){Kn(b,22721)|0;return}a=1;while(1){if(!a)Kn(b,22715)|0;Gi(d+16|0,b);Kn(b,22718)|0;a=c[d+28>>2]|0;Fb[c[(c[a>>2]|0)+12>>2]&127](a,b);a=c[d+4>>2]|0;if(!a)while(1){a=c[d+8>>2]|0;if((c[a>>2]|0)==(d|0))break;else d=a}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(e|0))break;else{d=a;a=0}}Kn(b,22721)|0;return}function Di(a){a=a|0;return a+4|0}function Ei(a){a=a|0;c[a>>2]=4812;yd(a+4|0,c[a+8>>2]|0);return}function Fi(a){a=a|0;c[a>>2]=4812;yd(a+4|0,c[a+8>>2]|0);ck(a);return}function Gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o;m=o+8|0;Ln(d,34);e=a[b>>0]|0;k=b+4|0;if(!(((e&1)==0?(e&255)>>>1:c[k>>2]|0)|0)){Ln(d,34);i=o;return}l=b+8|0;j=b+1|0;h=0;do{f=(e&1)==0?j:c[l>>2]|0;g=a[f+h>>0]|0;a:do switch(g<<24>>24){case 92:{Kn(d,22723)|0;e=h;break}case 34:{Kn(d,22726)|0;e=h;break}case 8:{Kn(d,22729)|0;e=h;break}case 12:{Kn(d,22732)|0;e=h;break}case 10:{Kn(d,22735)|0;e=h;break}case 13:{Kn(d,22738)|0;e=h;break}case 9:{Kn(d,22741)|0;e=h;break}default:{if((g&255)<32){c[n>>2]=g<<24>>24;Zl(m,8,22744,n)|0;Kn(d,m)|0;e=h;break a}if(g<<24>>24==-30?(a[f+(h+1)>>0]|0)==-128:0){e=h+2|0;if((a[f+e>>0]|0)==-88){Kn(d,22751)|0;break a}e=h+2|0;if((a[f+e>>0]|0)==-87){Kn(d,22758)|0;break a}}Ln(d,g);e=h}}while(0);h=e+1|0;e=a[b>>0]|0}while(h>>>0<((e&1)==0?(e&255)>>>1:c[k>>2]|0)>>>0);Ln(d,34);i=o;return}function Hi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[e>>2]|0;q=c[f>>2]|0;if((h|0)==(q|0)){e=0;return e|0}o=c[b>>2]|0;p=c[d>>2]|0;d=o;g=h;m=h;n=h;a:while(1){if((o|0)==(p|0)){g=1;f=21;break}i=o+16|0;j=m+16|0;f=a[i>>0]|0;r=(f&1)==0;f=r?(f&255)>>>1:c[o+20>>2]|0;h=a[j>>0]|0;k=(h&1)==0;h=k?(h&255)>>>1:c[m+20>>2]|0;i=r?i+1|0:c[o+24>>2]|0;j=k?j+1|0:c[m+24>>2]|0;k=h>>>0<f>>>0;r=mm(i,j,k?h:f)|0;l=f>>>0<h>>>0;if((((r|0)==0?(l?-2147483648:0):r)|0)<0){g=1;f=21;break}r=mm(j,i,l?f:h)|0;do if((((r|0)==0?(k?-2147483648:0):r)|0)>=0){h=o+28|0;l=c[h>>2]|0;l=Hb[c[c[l>>2]>>2]&127](l)|0;f=m+28|0;r=c[f>>2]|0;r=(l|0)==(Hb[c[c[r>>2]>>2]&127](r)|0);h=c[h>>2]|0;if(r)if(Pb[c[(c[h>>2]|0)+8>>2]&63](h,c[f>>2]|0)|0){g=1;f=21;break a}else break;else{m=Hb[c[c[h>>2]>>2]&127](h)|0;r=c[f>>2]|0;if((m|0)<(Hb[c[c[r>>2]>>2]&127](r)|0)){g=1;f=21;break a}else break}}while(0);j=n+16|0;k=o+16|0;h=a[j>>0]|0;r=(h&1)==0;h=r?(h&255)>>>1:c[n+20>>2]|0;i=a[k>>0]|0;l=(i&1)==0;i=l?(i&255)>>>1:c[o+20>>2]|0;j=r?j+1|0:c[n+24>>2]|0;k=l?k+1|0:c[o+24>>2]|0;l=i>>>0<h>>>0;r=mm(j,k,l?i:h)|0;f=h>>>0<i>>>0;if((((r|0)==0?(f?-2147483648:0):r)|0)<0){g=0;f=21;break}r=mm(k,j,f?h:i)|0;do if((((r|0)==0?(l?-2147483648:0):r)|0)>=0){h=n+28|0;n=c[h>>2]|0;n=Hb[c[c[n>>2]>>2]&127](n)|0;f=o+28|0;r=c[f>>2]|0;r=(n|0)==(Hb[c[c[r>>2]>>2]&127](r)|0);h=c[h>>2]|0;if(r)if(Pb[c[(c[h>>2]|0)+8>>2]&63](h,c[f>>2]|0)|0){g=0;f=21;break a}else break;else{o=Hb[c[c[h>>2]>>2]&127](h)|0;r=c[f>>2]|0;if((o|0)<(Hb[c[c[r>>2]>>2]&127](r)|0)){g=0;f=21;break a}else break}}while(0);f=c[d+4>>2]|0;if(!f)while(1){f=c[d+8>>2]|0;if((c[f>>2]|0)==(d|0))break;else d=f}else while(1){d=c[f>>2]|0;if(!d)break;else f=d}c[b>>2]=f;d=c[g+4>>2]|0;if(!d)while(1){d=c[g+8>>2]|0;if((c[d>>2]|0)==(g|0)){h=d;break}else g=d}else{g=d;while(1){d=c[g>>2]|0;if(!d){h=g;break}else g=d}}c[e>>2]=h;if((h|0)==(q|0)){g=0;f=21;break}else{d=f;g=h;o=f;m=h;n=h}}if((f|0)==21)return g|0;return 0}function Ii(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;h=c[e>>2]|0;if((f|0)==(h|0)){d=0;return d|0}g=c[b>>2]|0;b=c[a>>2]|0;while(1){if((b|0)==(g|0)){f=1;e=11;break}e=c[b>>2]|0;e=Hb[c[c[e>>2]>>2]&127](e)|0;i=c[f>>2]|0;i=(e|0)==(Hb[c[c[i>>2]>>2]&127](i)|0);e=c[b>>2]|0;if(i){if(Pb[c[(c[e>>2]|0)+8>>2]&63](e,c[f>>2]|0)|0){f=1;e=11;break}}else{e=Hb[c[c[e>>2]>>2]&127](e)|0;i=c[f>>2]|0;if((e|0)<(Hb[c[c[i>>2]>>2]&127](i)|0)){f=1;e=11;break}}e=c[f>>2]|0;e=Hb[c[c[e>>2]>>2]&127](e)|0;i=c[b>>2]|0;i=(e|0)==(Hb[c[c[i>>2]>>2]&127](i)|0);e=c[f>>2]|0;if(i){if(Pb[c[(c[e>>2]|0)+8>>2]&63](e,c[b>>2]|0)|0){f=0;e=11;break}}else{e=Hb[c[c[e>>2]>>2]&127](e)|0;i=c[b>>2]|0;if((e|0)<(Hb[c[c[i>>2]>>2]&127](i)|0)){f=0;e=11;break}}b=b+8|0;c[a>>2]=b;f=f+8|0;c[d>>2]=f;if((f|0)==(h|0)){f=0;e=11;break}}if((e|0)==11)return f|0;return 0}function Ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+96|0;g=s+72|0;k=s+60|0;m=s+48|0;l=s+36|0;n=s+24|0;o=s+12|0;j=s;r=c[b>>2]|0;p=b+4|0;h=c[p>>2]|0;if(!(a[r>>0]&1))d=r+1|0;else d=c[r+8>>2]|0;if((a[d+h>>0]|0)!=47){b=0;i=s;return b|0}f=h+1|0;c[p>>2]=f;d=a[r>>0]|0;e=(d&1)==0;if(e)d=(d&255)>>>1;else d=c[r+4>>2]|0;if((f|0)==(d|0)){An(g,22844,38);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0}a[e>>0]=1;Dn(g);b=0;i=s;return b|0}if(e)d=r+1|0;else d=c[r+8>>2]|0;if((a[d+f>>0]|0)==47){f=h+2|0;c[p>>2]=f;e=a[r>>0]|0;if(!(e&1))d=(e&255)>>>1;else d=c[r+4>>2]|0;if((f|0)==(d|0)){An(k,22883,45);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}a[e>>0]=1;Dn(k);b=0;i=s;return b|0}g=r+1|0;h=r+4|0;j=r+8|0;do{if(!(e&1))d=g;else d=c[j>>2]|0;if((a[d+f>>0]|0)==10){d=1;q=90;break}f=f+1|0;c[p>>2]=f;e=a[r>>0]|0;if(!(e&1))d=(e&255)>>>1;else d=c[h>>2]|0}while((f|0)!=(d|0));if((q|0)==90){i=s;return d|0}An(m,22883,45);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0}a[e>>0]=1;Dn(m);b=0;i=s;return b|0}if(e)d=r+1|0;else d=c[r+8>>2]|0;if((a[d+f>>0]|0)!=42){An(j,22979,17);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0}a[e>>0]=1;Dn(j);b=0;i=s;return b|0}f=h+2|0;c[p>>2]=f;e=a[r>>0]|0;if(!(e&1))d=(e&255)>>>1;else d=c[r+4>>2]|0;if(f>>>0>(d+-2|0)>>>0){An(l,22929,49);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0}a[e>>0]=1;Dn(l);b=0;i=s;return b|0}h=r+1|0;j=r+1|0;k=r+8|0;l=r+4|0;m=r+8|0;g=f;while(1){e=(e&1)==0;if(e)f=h;else f=c[m>>2]|0;d=g;g=g+1|0;if((a[f+d>>0]|0)==42){if(e)e=j;else e=c[k>>2]|0;if((a[e+g>>0]|0)==47)break}c[p>>2]=g;e=a[r>>0]|0;if(!(e&1))d=(e&255)>>>1;else d=c[l>>2]|0;if(g>>>0>(d+-2|0)>>>0){q=68;break}}if((q|0)==68){An(n,22929,49);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0}a[e>>0]=1;Dn(n);b=0;i=s;return b|0}e=d+2|0;c[p>>2]=e;d=a[r>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=c[r+4>>2]|0;if((e|0)!=(d|0)){b=1;i=s;return b|0}An(o,22929,49);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0}a[e>>0]=1;Dn(o);b=0;i=s;return b|0}function Ki(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;pi(b);e=b+4|0;g=c[e>>2]|0;f=c[b>>2]|0;d=a[f>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=c[f+4>>2]|0;if((g|0)!=(d|0)){c[e>>2]=g+1;if(!(a[f>>0]&1))d=f+1|0;else d=c[f+8>>2]|0;h=a[d+g>>0]|0;i=j;return h|0}An(h,23484,23);e=b+12|0;if(!(a[e>>0]|0)){d=c[b+8>>2]|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0}a[e>>0]=1;Dn(h);h=0;i=j;return h|0}function Li(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=i;i=i+96|0;p=w+8|0;o=w;n=w+84|0;j=w+72|0;k=w+60|0;l=w+48|0;m=w+36|0;q=w+24|0;r=w+12|0;t=d+4|0;v=c[t>>2]|0;u=c[d>>2]|0;f=a[u>>0]|0;if(!(f&1))e=u+1|0;else e=c[u+8>>2]|0;if((a[e+v>>0]|0)==45){g=v+1|0;c[t>>2]=g;e=a[u>>0]|0}else{e=f;g=v}f=(e&1)==0;if(f)e=u+1|0;else e=c[u+8>>2]|0;a:do if((a[e+g>>0]|0)==48){g=g+1|0;c[t>>2]=g;e=a[u>>0]|0;if(!(e&1))f=u+1|0;else f=c[u+8>>2]|0;if(((a[f+g>>0]|0)+-48&255)<10){An(j,23341,35);qi(b,d,j);Dn(j);i=w;return}}else{if(f)e=u+1|0;else e=c[u+8>>2]|0;if(((a[e+g>>0]|0)+-49&255)<9){j=u+1|0;k=u+8|0;e=g;while(1){g=e+1|0;c[t>>2]=g;e=a[u>>0]|0;if(!(e&1))f=j;else f=c[k>>2]|0;if(((a[f+g>>0]|0)+-48&255)<10)e=g;else break a}}if(f)e=u+1|0;else e=c[u+8>>2]|0;v=a[e+g>>0]|0;e=v<<24>>24;if((v&255)>31&v<<24>>24>-1){c[o>>2]=e;c[o+4>>2]=e;Zl(n,12,22477,o)|0}else{c[p>>2]=e;Zl(n,12,22487,p)|0}An(m,n,pm(n)|0);v=Qn(m,0,23377)|0;c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;v=Kn(l,23386)|0;c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;qi(b,d,k);Dn(k);Dn(l);Dn(m);i=w;return}while(0);j=(e&1)==0;if(j)f=u+1|0;else f=c[u+8>>2]|0;if((a[f+g>>0]|0)!=46){if(j)f=u+1|0;else f=c[u+8>>2]|0;if((a[f+g>>0]|0)!=101){if(j)f=u+1|0;else f=c[u+8>>2]|0;if((g-v|0)>>>0<10?(a[f+g>>0]|0)!=69:0){if(j)e=u+1|0;else e=c[u+8>>2]|0;t=fm(e+v|0)|0;v=ak(20)|0;c[v+4>>2]=0;c[v+8>>2]=0;c[v>>2]=4444;u=v+12|0;c[v+16>>2]=t;c[u>>2]=4472;c[b>>2]=u;c[b+4>>2]=v;i=w;return}}}if(j)f=u+1|0;else f=c[u+8>>2]|0;b:do if((a[f+g>>0]|0)==46){g=g+1|0;c[t>>2]=g;e=a[u>>0]|0;if(!(e&1))f=u+1|0;else f=c[u+8>>2]|0;if(((a[f+g>>0]|0)+-48&255)>=10){An(q,23397,46);qi(b,d,q);Dn(q);i=w;return}j=u+1|0;k=u+8|0;while(1){if(!(e&1))f=j;else f=c[k>>2]|0;if(((a[f+g>>0]|0)+-48&255)>=10){k=g;break b}q=g+1|0;c[t>>2]=q;e=a[u>>0]|0;g=q}}else k=g;while(0);f=(e&1)==0;if(f)g=u+1|0;else g=c[u+8>>2]|0;if((a[g+k>>0]|0)!=101){if(f)f=u+1|0;else f=c[u+8>>2]|0;if((a[f+k>>0]|0)==69)s=68}else s=68;c:do if((s|0)==68){g=k+1|0;c[t>>2]=g;e=a[u>>0]|0;f=(e&1)==0;if(f)j=u+1|0;else j=c[u+8>>2]|0;if((a[j+g>>0]|0)!=43){if(f)f=u+1|0;else f=c[u+8>>2]|0;if((a[f+g>>0]|0)==45)s=76}else s=76;if((s|0)==76){g=k+2|0;c[t>>2]=g;e=a[u>>0]|0}if(!(e&1))f=u+1|0;else f=c[u+8>>2]|0;if(((a[f+g>>0]|0)+-48&255)>=10){An(r,23444,39);qi(b,d,r);Dn(r);i=w;return}j=u+1|0;k=u+8|0;while(1){if(!(e&1))f=j;else f=c[k>>2]|0;if(((a[f+g>>0]|0)+-48&255)>=10)break c;d=g+1|0;c[t>>2]=d;e=a[u>>0]|0;g=d}}while(0);if(!(e&1))e=u+1|0;else e=c[u+8>>2]|0;x=+gm(e+v|0,0);v=ak(32)|0;c[v+4>>2]=0;c[v+8>>2]=0;c[v>>2]=4352;u=v+16|0;h[v+24>>3]=x;c[u>>2]=4380;c[b>>2]=u;c[b+4>>2]=v;i=w;return}function Mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;k=p+36|0;l=p+24|0;m=p+12|0;n=p;o=d+4|0;g=c[o>>2]|0;if(!g)Ha(23266,23273,621,23304);s=g+-1|0;c[o>>2]=s;q=a[e>>0]|0;r=(q&1)==0;g=e+4|0;q=r?(q&255)>>>1:c[g>>2]|0;h=e+8|0;j=e+1|0;if(!(Rn(c[d>>2]|0,s,q,r?j:c[h>>2]|0,q)|0)){s=a[e>>0]|0;c[o>>2]=((s&1)==0?(s&255)>>>1:c[g>>2]|0)+(c[o>>2]|0);c[b>>2]=c[f>>2];s=f+4|0;c[b+4>>2]=c[s>>2];c[f>>2]=0;c[s>>2]=0;i=p;return}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;s=a[e>>0]|0;s=(s&1)==0?(s&255)>>>1:c[g>>2]|0;Tn(m,23311,22,s+22|0);Mn(m,(a[e>>0]&1)==0?j:c[h>>2]|0,s)|0;s=Kn(m,23334)|0;c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;s=c[d>>2]|0;r=a[e>>0]|0;Cn(n,s,c[o>>2]|0,(r&1)==0?(r&255)>>>1:c[g>>2]|0,s);s=a[n>>0]|0;r=(s&1)==0;s=Mn(l,r?n+1|0:c[n+8>>2]|0,r?(s&255)>>>1:c[n+4>>2]|0)|0;c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;qi(b,d,k);Dn(k);Dn(n);Dn(l);Dn(m);i=p;return}}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+176|0;u=F+16|0;t=F+8|0;o=F;A=F+152|0;E=F+140|0;p=F+128|0;v=F+116|0;w=F+104|0;x=F+92|0;s=F+80|0;D=F+68|0;y=F+56|0;z=F+44|0;B=F+32|0;C=F+20|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;n=d+4|0;m=D+4|0;q=D+8|0;r=D+1|0;e=-1;a:while(1){j=c[n>>2]|0;l=c[d>>2]|0;f=a[l>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[l+4>>2]|0;if((j|0)==(f|0)){g=6;break}k=j+1|0;c[n>>2]=k;g=a[l>>0]|0;h=(g&1)==0;if(h)f=l+1|0;else f=c[l+8>>2]|0;f=a[f+j>>0]|0;if(f<<24>>24==34){g=16;break}if((f&255)<32){e=f;g=18;break}if(f<<24>>24!=92){Oi(d,e,E);Ln(E,f);e=-1;continue}if(h)f=(g&255)>>>1;else f=c[l+4>>2]|0;if((k|0)==(f|0)){g=30;break}g=j+2|0;c[n>>2]=g;if(!(a[l>>0]&1))f=l+1|0;else f=c[l+8>>2]|0;f=a[f+k>>0]|0;if(f<<24>>24!=117){Oi(d,e,E);switch(f<<24>>24){case 98:{Ln(E,8);e=-1;continue a}case 102:{Ln(E,12);e=-1;continue a}case 110:{Ln(E,10);e=-1;continue a}case 114:{Ln(E,13);e=-1;continue a}case 116:{Ln(E,9);e=-1;continue a}case 47:case 92:case 34:{Ln(E,f);e=-1;continue a}default:{g=68;break a}}}Cn(D,l,g,4,l);h=a[D>>0]|0;f=(h&1)==0;h=f?(h&255)>>>1:c[m>>2]|0;if(h>>>0<4){e=h;g=43;break}g=f?r:c[q>>2]|0;f=a[g>>0]|0;if((f+-48&255)>=10)switch(f<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{e=h;g=49;break a}}f=a[g+1>>0]|0;if((f+-48&255)>=10)switch(f<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{e=h;g=49;break a}}f=a[g+2>>0]|0;if((f+-48&255)>=10)switch(f<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{e=h;g=49;break a}}f=a[g+3>>0]|0;if((f+-48&255)>=10)switch(f<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{e=h;g=49;break a}}f=km(g,0,16)|0;if((e&-1024|0)==55296&(f&-1024|0)==56320){Oi(d,(f+-56320|(e<<10)+-56623104)+65536|0,E);e=-1}else{Oi(d,e,E);e=f}c[n>>2]=(c[n>>2]|0)+4;Dn(D)}if((g|0)==6){An(p,23168,33);f=d+12|0;if(!(a[f>>0]|0)){e=c[d+8>>2]|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[p>>2];c[e+4>>2]=c[p+4>>2];c[e+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0}a[f>>0]=1;An(b,32106,0);Dn(p);Dn(E);i=F;return}else if((g|0)==16){Oi(d,e,E);c[b>>2]=c[E>>2];c[b+4>>2]=c[E+4>>2];c[b+8>>2]=c[E+8>>2];c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;Dn(E);i=F;return}else if((g|0)==18){c[o>>2]=e<<24>>24;Zl(A,12,22487,o)|0;An(x,A,pm(A)|0);f=Qn(x,0,23202)|0;c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=Kn(w,23213)|0;c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=d+12|0;if(!(a[f>>0]|0)){e=c[d+8>>2]|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0}a[f>>0]=1;An(b,32106,0);Dn(v);Dn(w);Dn(x);Dn(E);i=F;return}else if((g|0)==30){An(s,23168,33);f=d+12|0;if(!(a[f>>0]|0)){e=c[d+8>>2]|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[s>>2];c[e+4>>2]=c[s+4>>2];c[e+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0}a[f>>0]=1;An(b,32106,0);Dn(s);Dn(E);i=F;return}else if((g|0)==43){c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;Tn(y,23224,15,e+15|0);Mn(y,(a[D>>0]&1)==0?r:c[q>>2]|0,e)|0;f=d+12|0;if(!(a[f>>0]|0)){e=c[d+8>>2]|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[y>>2];c[e+4>>2]=c[y+4>>2];c[e+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0}a[f>>0]=1;An(b,32106,0);Dn(y)}else if((g|0)==49){c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Tn(z,23224,15,e+15|0);Mn(z,(a[D>>0]&1)==0?r:c[q>>2]|0,e)|0;f=d+12|0;if(!(a[f>>0]|0)){e=c[d+8>>2]|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[z>>2];c[e+4>>2]=c[z+4>>2];c[e+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0}a[f>>0]=1;An(b,32106,0);Dn(z)}else if((g|0)==68){e=f<<24>>24;if((f&255)>31&f<<24>>24>-1){c[t>>2]=e;c[t+4>>2]=e;Zl(A,12,22477,t)|0}else{c[u>>2]=e;Zl(A,12,22487,u)|0}An(C,A,pm(A)|0);f=Qn(C,0,23240)|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=d+12|0;if(!(a[f>>0]|0)){e=c[d+8>>2]|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[B>>2];c[e+4>>2]=c[B+4>>2];c[e+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0}a[f>>0]=1;An(b,32106,0);Dn(B);Dn(C);Dn(E);i=F;return}Dn(D);Dn(E);i=F;return}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)<0)return;if((b|0)<128){Ln(c,b&255);return}if((b|0)<2048){Ln(c,(b>>>6|192)&255);Ln(c,(b&63|128)&255);return}if((b|0)<65536){Ln(c,(b>>>12|224)&255);Ln(c,(b>>>6&63|128)&255);Ln(c,(b&63|128)&255);return}else{Ln(c,(b>>>18|240)&255);Ln(c,(b>>>12&63|128)&255);Ln(c,(b>>>6&63|128)&255);Ln(c,(b&63|128)&255);return}}function Pi(a){a=a|0;c[a>>2]=4812;yd(a+4|0,c[a+8>>2]|0);ck(a);return}function Qi(a){a=a|0;c[a>>2]=4784;c[a+12>>2]=4812;yd(a+16|0,c[a+20>>2]|0);pn(a);return}function Ri(a){a=a|0;c[a>>2]=4784;c[a+12>>2]=4812;yd(a+16|0,c[a+20>>2]|0);pn(a);ck(a);return}function Si(a){a=a|0;c[a+12>>2]=4812;yd(a+16|0,c[a+20>>2]|0);return}function Ti(a){a=a|0;ck(a);return}function Ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=4720;f=a+4|0;b=c[f>>2]|0;if(!b){ck(a);return}g=a+8|0;d=c[g>>2]|0;if((d|0)!=(b|0)){e=d;while(1){d=e+-8|0;c[g>>2]=d;e=c[e+-4>>2]|0;if(e){tn(e);d=c[g>>2]|0}if((d|0)==(b|0))break;else e=d}b=c[f>>2]|0}ck(b);ck(a);return}function Vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=4692;c[a+12>>2]=4720;f=a+16|0;b=c[f>>2]|0;if(!b){pn(a);return}g=a+20|0;d=c[g>>2]|0;if((d|0)!=(b|0)){e=d;while(1){d=e+-8|0;c[g>>2]=d;e=c[e+-4>>2]|0;if(e){tn(e);d=c[g>>2]|0}if((d|0)==(b|0))break;else e=d}b=c[f>>2]|0}ck(b);pn(a);return}function Wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=4692;c[a+12>>2]=4720;f=a+16|0;b=c[f>>2]|0;if(!b){pn(a);ck(a);return}g=a+20|0;d=c[g>>2]|0;if((d|0)!=(b|0)){e=d;while(1){d=e+-8|0;c[g>>2]=d;e=c[e+-4>>2]|0;if(e){tn(e);d=c[g>>2]|0}if((d|0)==(b|0))break;else e=d}b=c[f>>2]|0}ck(b);pn(a);ck(a);return}function Xi(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+12>>2]=4720;f=a+16|0;b=c[f>>2]|0;if(!b)return;e=a+20|0;a=c[e>>2]|0;if((a|0)!=(b|0)){d=a;while(1){a=d+-8|0;c[e>>2]=a;d=c[d+-4>>2]|0;if(d){tn(d);a=c[e>>2]|0}if((a|0)==(b|0))break;else d=a}b=c[f>>2]|0}ck(b);return}function Yi(a){a=a|0;ck(a);return}function Zi(a){a=a|0;return 3}function _i(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;g=d+4|0;f=a[e>>0]|0;i=(f&1)==0;f=i?(f&255)>>>1:c[b+8>>2]|0;j=a[g>>0]|0;h=(j&1)==0;if((f|0)!=((h?(j&255)>>>1:c[d+8>>2]|0)|0)){j=0;return j|0}b=i?e+1|0:c[b+12>>2]|0;e=h?g+1|0:c[d+12>>2]|0;if(!i){j=(mm(b,e,f)|0)==0;return j|0}if(!f){j=1;return j|0}while(1){if((a[b>>0]|0)!=(a[e>>0]|0)){e=0;b=7;break}f=f+-1|0;if(!f){e=1;b=7;break}else{b=b+1|0;e=e+1|0}}if((b|0)==7)return e|0;return 0}function $i(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;g=d+4|0;f=a[i>>0]|0;j=(f&1)==0;f=j?(f&255)>>>1:c[b+8>>2]|0;e=a[g>>0]|0;h=(e&1)==0;e=h?(e&255)>>>1:c[d+8>>2]|0;b=mm(j?i+1|0:c[b+12>>2]|0,h?g+1|0:c[d+12>>2]|0,e>>>0<f>>>0?e:f)|0;return (((b|0)==0?(f>>>0<e>>>0?-2147483648:0):b)|0)<0|0}function aj(a,b){a=a|0;b=b|0;Gi(a+4|0,b);return}function bj(a){a=a|0;return a+4|0}function cj(a){a=a|0;c[a>>2]=4564;Dn(a+4|0);return}function dj(a){a=a|0;c[a>>2]=4564;Dn(a+4|0);ck(a);return}function ej(a){a=a|0;c[a>>2]=4564;Dn(a+4|0);ck(a);return}function fj(a){a=a|0;c[a>>2]=4536;c[a+12>>2]=4564;Dn(a+16|0);pn(a);return}function gj(a){a=a|0;c[a>>2]=4536;c[a+12>>2]=4564;Dn(a+16|0);pn(a);ck(a);return}function hj(a){a=a|0;c[a+12>>2]=4564;Dn(a+16|0);return}function ij(a){a=a|0;ck(a);return}function jj(a){a=a|0;return 1}function kj(a,b){a=a|0;b=b|0;var d=0.0;d=+(c[a+4>>2]|0);return d==+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function lj(a,b){a=a|0;b=b|0;var d=0.0;d=+(c[a+4>>2]|0);return d<+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+48|0;f=d;e=d+8|0;c[f>>2]=c[a+4>>2];Zl(e,32,23846,f)|0;Kn(b,e)|0;i=d;return}function nj(a){a=a|0;return +(+(c[a+4>>2]|0))}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;ck(a);return}function qj(a){a=a|0;pn(a);return}function rj(a){a=a|0;pn(a);ck(a);return}function sj(a){a=a|0;return}function tj(a){a=a|0;ck(a);return}function uj(a){a=a|0;return 1}function vj(a,b){a=a|0;b=b|0;var d=0.0;d=+h[a+8>>3];return d==+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function wj(a,b){a=a|0;b=b|0;var d=0.0;d=+h[a+8>>3];return d<+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function xj(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;g=i;i=i+48|0;f=g;e=g+8|0;d=+h[a+8>>3];h[k>>3]=d;a=c[k+4>>2]&2146435072;if(a>>>0<2146435072|(a|0)==2146435072&0<0){h[f>>3]=d;Zl(e,32,23972,f)|0;Kn(b,e)|0;i=g;return}else{Kn(b,23028)|0;i=g;return}}function yj(a){a=a|0;return +(+h[a+8>>3])}function zj(a){a=a|0;return ~~+h[a+8>>3]|0}function Aj(a){a=a|0;ck(a);return}function Bj(a){a=a|0;pn(a);return}function Cj(a){a=a|0;pn(a);ck(a);return}function Dj(a){a=a|0;return}function Ej(a){a=a|0;ck(a);return}function Fj(a){a=a|0;return 2}function Gj(b,c){b=b|0;c=c|0;return (a[b+4>>0]|0)==(a[c+4>>0]|0)|0}function Hj(a,b){a=a|0;b=b|0;return (d[a+4>>0]|0)<(d[b+4>>0]|0)|0}function Ij(b,c){b=b|0;c=c|0;Kn(c,(a[b+4>>0]|0)!=0?32195:32200)|0;return}function Jj(b){b=b|0;return (a[b+4>>0]|0)!=0|0}function Kj(a){a=a|0;ck(a);return}function Lj(a){a=a|0;pn(a);return}function Mj(a){a=a|0;pn(a);ck(a);return}function Nj(a){a=a|0;return}function Oj(a){a=a|0;ck(a);return}function Pj(a){a=a|0;return 0}function Qj(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0}function Rj(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0<(c[b+4>>2]|0)>>>0|0}function Sj(a,b){a=a|0;b=b|0;Kn(b,23028)|0;return}function Tj(a){a=a|0;ck(a);return}function Uj(a){a=a|0;pn(a);return}function Vj(a){a=a|0;pn(a);ck(a);return}function Wj(a){a=a|0;return}function Xj(a){a=a|0;ck(a);return}function Yj(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[1377]|0;bm(b,a,d)|0;Vl(10,b)|0;Ea()}function Zj(a){a=a|0;Ha(24652,24681,1164,24767)}function _j(a){a=a|0;Ha(24788,24811,303,24767)}function $j(){var a=0,b=0;a=i;i=i+16|0;if(!(bb(5252,3)|0)){b=Ya(c[1312]|0)|0;i=a;return b|0}else Yj(24897,a);return 0}function ak(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Gm(b)|0;a:do if(!a){while(1){a=kk()|0;if(!a)break;Lb[a&3]();a=Gm(b)|0;if(a)break a}b=Ia(4)|0;c[b>>2]=5072;jb(b|0,672,93)}while(0);return a|0}function bk(a){a=a|0;return ak(a)|0}function ck(a){a=a|0;Hm(a);return}function dk(a){a=a|0;ck(a);return}function ek(a){a=a|0;c[a>>2]=5072;return}function fk(a){a=a|0;return}function gk(a){a=a|0;ck(a);return}function hk(a){a=a|0;return 24946}function ik(a){a=a|0;var b=0;b=i;i=i+16|0;Lb[a&3]();Yj(24961,b)}function jk(){var a=0,b=0;a=$j()|0;if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)ik(c[b+12>>2]|0);b=c[1265]|0;c[1265]=b+0;ik(b)}function kk(){var a=0;a=c[1271]|0;c[1271]=a+0;return a|0}function lk(a){a=a|0;return}function mk(a){a=a|0;c[a>>2]=5096;Sk(a+4|0);return}function nk(a){a=a|0;mk(a);ck(a);return}function ok(a){a=a|0;return c[a+4>>2]|0}function pk(a){a=a|0;mk(a);ck(a);return}function qk(a){a=a|0;return}function rk(a){a=a|0;return}function sk(a){a=a|0;return}function tk(a){a=a|0;return}function uk(a){a=a|0;ck(a);return}function vk(a){a=a|0;ck(a);return}function wk(a){a=a|0;ck(a);return}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Dk(b,736,752,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Ob[c[(c[f>>2]|0)+28>>2]&15](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function yk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))yk(0,b,d,e);return}function Ak(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))yk(0,b,d,e);else{a=c[a+8>>2]|0;Ob[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function Bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ob[c[(c[a>>2]|0)+28>>2]&15](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Ck(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Bk(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Bk(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else yk(0,d,e,f);while(0);return}function Dk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;Ab[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{Bb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function Ek(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Fk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Hk(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Hk(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Hk(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Hk(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Gk(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Gk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ab[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Hk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Bb[c[(c[a>>2]|0)+24>>2]&3](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Ik(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;Bb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ab[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Jk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Kk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Ek(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Gk(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Gk(b,d,e,f,g,h);b=b+8|0}while(b>>>0<i>>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function Lk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Ek(0,b,d,e,f);else{a=c[a+8>>2]|0;Ab[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Mk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Ek(0,b,d,e,f);return}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=yb[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Ok(a){a=a|0;if(!a)a=0;else a=(Dk(a,736,784,0)|0)!=0;return a&1|0}function Pk(){var a=0;a=Ia(4)|0;ek(a);jb(a|0,672,93)}function Qk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=$j()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[1314];Yj(25240,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(yb[c[(c[688>>2]|0)+16>>2]&31](688,e,f)|0){j=c[f>>2]|0;f=c[1314]|0;j=Hb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Yj(25154,g)}else{c[j>>2]=c[1314];c[j+4>>2]=a;Yj(25199,j)}}Yj(25278,h)}function Rk(){var a=0;a=i;i=i+16|0;if(!(Da(5248,188)|0)){i=a;return}else Yj(25001,a)}function Sk(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)ck((c[a>>2]|0)+-12|0);return}function Tk(a){a=a|0;var b=0;b=i;i=i+16|0;Hm(a);if(!(hb(c[1312]|0,0)|0)){i=b;return}else Yj(25051,b)}function Uk(a){a=a|0;Ha(25104,24681,1175,25133)}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=im(a,b,c)|0;return a|0}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=jm(a,b,c)|0;return a|0}function Xk(){return 5524}function Yk(){return 5528}function Zk(){return 5532}function _k(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function $k(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function al(){var a=0;if(!(c[1315]|0))a=5536;else a=c[($a()|0)+60>>2]|0;return a|0}function bl(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[25299+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=25387;e=5;break}}if((e|0)==2)if(!c)b=25387;else{b=25387;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function cl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0}while((_k(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=fl(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[27191+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=fl(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[30068+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=fl(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=fl(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(al()|0)>>2]=22;el(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=fl(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=fl(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;k=dx(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=dx(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=fl(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else el(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=dx(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=um(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){el(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=gx(o|0,n|0,2)|0;H=dx(H|0,D|0,-32,-1)|0;e=dx(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(al()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0<H>>>0){c[(al()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=dx(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=bx(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=dx(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+ql(+wl(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(al()|0)>>2]=34;g=+xl(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=fl(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;if((e|0)==48){h=0;e=0;while(1){h=dx(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=dx(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=fl(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=um(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){el(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=dx(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(al()|0)>>2]=22;el(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(al()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0<b>>>0){c[(al()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[5540+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[5540+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[5540+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=gx(c[p>>2]|0,0,29)|0;o=dx(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=ox(o|0,n|0,1e9,0)|0;o=px(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<<w)+-1|0;v=1e9>>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+ql(+wl(1.0,105-o|0),j);m=+sl(j,+wl(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+sl(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(al()|0)>>2]=34}while(0);g=+xl(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(al()|0)>>2]=22;el(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function dl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(al()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0}while((_k(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=fl(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=fl(b)|0;if((d[27200+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){el(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[27200+(i+1)>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;el(b,0);c[(al()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=fl(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=nx(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=dx(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[27457+((e*23|0)>>>5&7)>>0]|0;j=a[27200+(i+1)>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f|i<<n;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;j=a[27200+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0<e>>>0))break;else i=k}f=0}else{f=0;k=0}l=ex(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=gx(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;j=a[27200+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[27200+(i+1)>>0]|0;f=j&255;if(f>>>0<e>>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;j=a[27200+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0<e>>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0<e>>>0){n=ox(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=nx(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=dx(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0;j=a[27200+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[27200+(i+1)>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=fl(b)|0}while((d[27200+(i+1)>>0]|0)>>>0<e>>>0);c[(al()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(al()|0)>>2]=34;g=dx(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(al()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=bx(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function el(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function fl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Tl(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function gl(a){a=a|0;if(a>>>0>4294963200){c[(al()|0)>>2]=0-a;a=-1}return a|0}function hl(a){a=a|0;return 0}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function jl(a,b){a=a|0;b=b|0;return -1|0}function kl(a){a=a|0;Hm(a);return}function ll(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function ml(a,b){a=a|0;b=b|0;return $k(a)|0}function nl(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(nm(c,32093)|0)!=0:0)?(nm(c,27466)|0)!=0:0)d=0;else if(!d)d=Im(1,4)|0;return d|0}function ol(a){a=a|0;var b=0,d=0;b=($a()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function pl(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function ql(a,b){a=+a;b=+b;return +(+pl(a,b))}function rl(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=ex(d|0,m|0,52)|0;e=e&2047;j=ex(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=gx(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=gx(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=gx(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=gx(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=gx(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=gx(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=gx(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=gx(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=bx(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=gx(d|0,f|0,1)|0;f=D;e=e+-1|0;l=bx(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=gx(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=dx(d|0,f|0,0,-1048576)|0;d=D;e=gx(e|0,0,52)|0;d=d|D;e=o|e}else{e=ex(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function sl(a,b){a=+a;b=+b;return +(+rl(a,b))}function tl(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=ex(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+tl(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function ul(a,b){a=+a;b=b|0;return +(+tl(a,b))}function vl(a){a=+a;var b=0,d=0.0,e=0.0,f=0;b=(g[k>>2]=a,c[k>>2]|0);f=b>>>23&255;do if(f>>>0<=149){b=(b|0)<0;e=b?-a:a;if(f>>>0<126){a=a*0.0;break}d=e+8388608.0+-8388608.0-e;if(!(d>.5)){a=e+d;if(d<=-.5)a=a+1.0}else a=e+d+-1.0;a=b?-a:a}while(0);return +a}function wl(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=gx(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function xl(a,b){a=+a;b=b|0;return +(+wl(a,b))}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return zl(0,a,b,(c|0)!=0?c:5572)|0}function zl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?5576:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[5304+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(al()|0)>>2]=84;f=-1}i=l;return f|0}function Al(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Bl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Cl(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}while(0);b:do if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=zl(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case -1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0} +function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;m=t+80|0;s=t+68|0;j=t+56|0;h=t+48|0;l=t+32|0;k=t+24|0;q=t+8|0;p=t;n=s+4|0;c[n>>2]=0;o=s+8|0;c[o>>2]=0;r=s+4|0;c[s>>2]=r;An(j,17240,6);g=vd(s,m,j)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Gh(e+28|0);f=c[m>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[s>>2]>>2]|0;if(!f)f=e;else{c[s>>2]=f;f=c[g>>2]|0}wc(c[n>>2]|0,f);c[o>>2]=(c[o>>2]|0)+1}Hh(h,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));g=c[h>>2]|0;f=h+4|0;d=c[f>>2]|0;c[h>>2]=0;c[f>>2]=0;c[e+28>>2]=g;h=e+32|0;e=c[h>>2]|0;c[h>>2]=d;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(j);An(l,18200,10);g=vd(s,m,l)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[l>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Gh(e+28|0);f=c[m>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[s>>2]>>2]|0;if(!f)f=e;else{c[s>>2]=f;f=c[g>>2]|0}wc(c[n>>2]|0,f);c[o>>2]=(c[o>>2]|0)+1}$d(k,b+4|0);h=c[k>>2]|0;f=k+4|0;j=c[f>>2]|0;c[k>>2]=0;c[f>>2]=0;c[e+28>>2]=h;k=e+32|0;e=c[k>>2]|0;c[k>>2]=j;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(l);An(q,18211,20);g=vd(s,m,q)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(e+28|0);f=c[m>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[s>>2]>>2]|0;if(!f)f=e;else{c[s>>2]=f;f=c[g>>2]|0}wc(c[n>>2]|0,f);c[o>>2]=(c[o>>2]|0)+1}ae(p,b+140|0);o=c[p>>2]|0;f=p+4|0;b=c[f>>2]|0;c[p>>2]=0;c[f>>2]=0;c[e+28>>2]=o;p=e+32|0;e=c[p>>2]|0;c[p>>2]=b;if(e)tn(e);e=c[f>>2]|0;if(!e){Dn(q);Ph(a,s);a=c[r>>2]|0;yd(s,a);i=t;return}tn(e);Dn(q);Ph(a,s);a=c[r>>2]|0;yd(s,a);i=t;return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+448|0;I=W+432|0;V=W+420|0;h=W+408|0;g=W+400|0;k=W+384|0;j=W+376|0;m=W+360|0;l=W+352|0;o=W+336|0;n=W+328|0;q=W+312|0;p=W+304|0;T=W+288|0;r=W+280|0;t=W+264|0;s=W+256|0;v=W+240|0;u=W+232|0;x=W+216|0;w=W+208|0;S=W+196|0;R=W+184|0;y=W+176|0;A=W+160|0;z=W+152|0;Q=W+140|0;P=W+128|0;B=W+120|0;D=W+104|0;C=W+96|0;F=W+80|0;E=W+72|0;G=W+56|0;O=W+44|0;N=W+32|0;H=W+24|0;M=W+8|0;L=W;J=V+4|0;c[J>>2]=0;K=V+8|0;c[K>>2]=0;U=V+4|0;c[V>>2]=U;An(h,18232,3);f=vd(V,I,h)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Kh(g,b);X=c[g>>2]|0;e=g+4|0;f=c[e>>2]|0;c[g>>2]=0;c[e>>2]=0;c[d+28>>2]=X;g=d+32|0;d=c[g>>2]|0;c[g>>2]=f;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(h);An(k,17740,5);f=vd(V,I,k)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}ce(j,b+12|0);X=c[j>>2]|0;e=j+4|0;h=c[e>>2]|0;c[j>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=h;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(k);An(m,18236,5);e=vd(V,I,m)|0;d=c[e>>2]|0;if(!d){f=ak(36)|0;d=f+16|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Gh(f+28|0);d=c[I>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=d;c[e>>2]=f;d=c[c[V>>2]>>2]|0;if(!d)d=f;else{c[V>>2]=d;d=c[e>>2]|0}wc(c[J>>2]|0,d);c[K>>2]=(c[K>>2]|0)+1;d=f}Kh(l,b+48|0);X=c[l>>2]|0;e=l+4|0;k=c[e>>2]|0;c[l>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=k;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(m);An(o,18242,9);f=vd(V,I,o)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Kh(n,b+60|0);X=c[n>>2]|0;e=n+4|0;m=c[e>>2]|0;c[n>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=m;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(o);An(q,18252,7);f=vd(V,I,q)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Ih(p,c[b+72>>2]|0);X=c[p>>2]|0;e=p+4|0;o=c[e>>2]|0;c[p>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=o;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(q);c[T>>2]=0;o=T+4|0;c[o>>2]=0;c[T+8>>2]=0;d=c[b+76>>2]|0;f=c[b+80>>2]|0;if((d|0)!=(f|0)){g=T+8|0;h=r+4|0;do{Kh(r,d);e=c[o>>2]|0;do if(e>>>0<(c[g>>2]|0)>>>0){c[e>>2]=c[r>>2];c[e+4>>2]=c[h>>2];c[r>>2]=0;c[h>>2]=0;c[o>>2]=e+8}else{Ad(T,r);e=c[h>>2]|0;if(!e)break;tn(e)}while(0);d=d+12|0}while((d|0)!=(f|0))}An(t,18260,8);f=vd(V,I,t)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Nh(s,T);X=c[s>>2]|0;e=s+4|0;r=c[e>>2]|0;c[s>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=r;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(t);An(v,18269,15);f=vd(V,I,v)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Ih(u,c[b+88>>2]|0);X=c[u>>2]|0;e=u+4|0;t=c[e>>2]|0;c[u>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=t;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(v);An(x,18285,15);f=vd(V,I,x)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];c[e+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Ih(w,c[b+92>>2]|0);X=c[w>>2]|0;e=w+4|0;v=c[e>>2]|0;c[w>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=v;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(x);c[S>>2]=0;n=S+4|0;c[n>>2]=0;c[S+8>>2]=0;c[R>>2]=0;h=R+4|0;c[h>>2]=0;c[R+8>>2]=0;g=b+100|0;x=c[g>>2]|0;e=b+96|0;X=c[e>>2]|0;d=x-X|0;f=(d|0)/80|0;do if((x|0)!=(X|0)){if(f>>>0>53687091)_j(R);d=ak(d)|0;c[h>>2]=d;c[R>>2]=d;c[R+8>>2]=d+(f*80|0);e=c[e>>2]|0;g=c[g>>2]|0;if((e|0)==(g|0))break;do{de(d,e);f=c[h>>2]|0;d=f+80|0;c[h>>2]=d;e=e+80|0}while((e|0)!=(g|0));e=c[R>>2]|0;if((e|0)==(d|0))break;g=S+8|0;h=y+4|0;while(1){ee(y,e);d=c[n>>2]|0;do if(d>>>0<(c[g>>2]|0)>>>0){c[d>>2]=c[y>>2];c[d+4>>2]=c[h>>2];c[y>>2]=0;c[h>>2]=0;c[n>>2]=d+8}else{Ad(S,y);d=c[h>>2]|0;if(!d)break;tn(d)}while(0);if((e|0)==(f|0))break;else e=e+80|0}}while(0);An(A,18301,10);f=vd(V,I,A)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[A>>2];c[e+4>>2]=c[A+4>>2];c[e+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Nh(z,S);X=c[z>>2]|0;e=z+4|0;y=c[e>>2]|0;c[z>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=y;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(A);c[Q>>2]=0;m=Q+4|0;c[m>>2]=0;c[Q+8>>2]=0;fe(P,b+108|0);d=c[P>>2]|0;l=P+4|0;f=c[l>>2]|0;if((d|0)!=(f|0)){g=Q+8|0;h=B+4|0;do{Kh(B,d);e=c[m>>2]|0;do if(e>>>0<(c[g>>2]|0)>>>0){c[e>>2]=c[B>>2];c[e+4>>2]=c[h>>2];c[B>>2]=0;c[h>>2]=0;c[m>>2]=e+8}else{Ad(Q,B);e=c[h>>2]|0;if(!e)break;tn(e)}while(0);d=d+12|0}while((d|0)!=(f|0))}An(D,18312,8);f=vd(V,I,D)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[D>>2];c[e+4>>2]=c[D+4>>2];c[e+8>>2]=c[D+8>>2];c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Nh(C,Q);X=c[C>>2]|0;e=C+4|0;B=c[e>>2]|0;c[C>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=B;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(D);An(F,18321,11);f=vd(V,I,F)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[F>>2];c[e+4>>2]=c[F+4>>2];c[e+8>>2]=c[F+8>>2];c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}e=d+28|0;switch(c[b+120>>2]|0){case 0:{An(G,18333,10);break}case 1:{An(G,18344,15);break}default:An(G,32106,0)}Lh(E,G);X=c[E>>2]|0;f=E+4|0;D=c[f>>2]|0;c[E>>2]=0;c[f>>2]=0;c[e>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=D;if(d)tn(d);d=c[f>>2]|0;if(d)tn(d);Dn(G);Dn(F);c[O>>2]=0;k=O+4|0;c[k>>2]=0;c[O+8>>2]=0;ge(N,b+124|0);d=c[N>>2]|0;j=N+4|0;f=c[j>>2]|0;if((d|0)!=(f|0)){g=O+8|0;h=H+4|0;do{ce(H,d);e=c[k>>2]|0;do if(e>>>0<(c[g>>2]|0)>>>0){c[e>>2]=c[H>>2];c[e+4>>2]=c[h>>2];c[H>>2]=0;c[h>>2]=0;c[k>>2]=e+8}else{Ad(O,H);e=c[h>>2]|0;if(!e)break;tn(e)}while(0);d=d+36|0}while((d|0)!=(f|0))}An(M,18360,15);f=vd(V,I,M)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[M>>2];c[e+4>>2]=c[M+4>>2];c[e+8>>2]=c[M+8>>2];c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;Gh(d+28|0);e=c[I>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[V>>2]>>2]|0;if(!e)e=d;else{c[V>>2]=e;e=c[f>>2]|0}wc(c[J>>2]|0,e);c[K>>2]=(c[K>>2]|0)+1}Nh(L,O);X=c[L>>2]|0;e=L+4|0;K=c[e>>2]|0;c[L>>2]=0;c[e>>2]=0;c[d+28>>2]=X;X=d+32|0;d=c[X>>2]|0;c[X>>2]=K;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(M);Ph(a,V);d=c[N>>2]|0;if(d){e=c[j>>2]|0;if((e|0)!=(d|0)){do{X=e+-36|0;c[j>>2]=X;Dn(e+-12|0);Dn(e+-24|0);Dn(X);e=c[j>>2]|0}while((e|0)!=(d|0));d=c[N>>2]|0}ck(d)}d=c[O>>2]|0;if(d){e=c[k>>2]|0;if((e|0)!=(d|0)){do{f=e+-8|0;c[k>>2]=f;e=c[e+-4>>2]|0;if(!e)e=f;else{tn(e);e=c[k>>2]|0}}while((e|0)!=(d|0));d=c[O>>2]|0}ck(d)}d=c[P>>2]|0;if(d){e=c[l>>2]|0;if((e|0)!=(d|0)){do{X=e+-12|0;c[l>>2]=X;Dn(X);e=c[l>>2]|0}while((e|0)!=(d|0));d=c[P>>2]|0}ck(d)}d=c[Q>>2]|0;if(d){e=c[m>>2]|0;if((e|0)!=(d|0)){do{f=e+-8|0;c[m>>2]=f;e=c[e+-4>>2]|0;if(!e)e=f;else{tn(e);e=c[m>>2]|0}}while((e|0)!=(d|0));d=c[Q>>2]|0}ck(d)}kc(R);d=c[S>>2]|0;if(d){e=c[n>>2]|0;if((e|0)!=(d|0)){do{f=e+-8|0;c[n>>2]=f;e=c[e+-4>>2]|0;if(!e)e=f;else{tn(e);e=c[n>>2]|0}}while((e|0)!=(d|0));d=c[S>>2]|0}ck(d)}d=c[T>>2]|0;if(!d){X=c[U>>2]|0;yd(V,X);i=W;return}e=c[o>>2]|0;if((e|0)!=(d|0)){do{f=e+-8|0;c[o>>2]=f;e=c[e+-4>>2]|0;if(!e)e=f;else{tn(e);e=c[o>>2]|0}}while((e|0)!=(d|0));d=c[T>>2]|0}ck(d);X=c[U>>2]|0;yd(V,X);i=W;return}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=i;i=i+160|0;s=B+152|0;z=B+140|0;A=B+128|0;f=B+120|0;l=B+104|0;k=B+96|0;n=B+80|0;m=B+72|0;p=B+56|0;o=B+48|0;r=B+32|0;q=B+24|0;y=B+8|0;v=B;t=z+4|0;c[t>>2]=0;u=z+8|0;c[u>>2]=0;w=z+4|0;c[z>>2]=w;c[A+4>>2]=0;c[A+8>>2]=0;x=A+4|0;c[A>>2]=x;d=c[b+12>>2]|0;h=b+16|0;if((d|0)!=(h|0)){j=f+4|0;e=d;while(1){C=be(A,e+16|0)|0;Hh(f,+g[e+28>>2]);d=c[f>>2]|0;D=c[j>>2]|0;c[f>>2]=0;c[j>>2]=0;c[C>>2]=d;C=C+4|0;d=c[C>>2]|0;c[C>>2]=D;if(d)tn(d);d=c[j>>2]|0;if(d)tn(d);d=c[e+4>>2]|0;if(!d)while(1){d=c[e+8>>2]|0;if((c[d>>2]|0)==(e|0))break;else e=d}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((d|0)==(h|0))break;else e=d}}An(l,18036,15);f=vd(z,s,l)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Gh(d+28|0);e=c[s>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[z>>2]>>2]|0;if(!e)e=d;else{c[z>>2]=e;e=c[f>>2]|0}wc(c[t>>2]|0,e);c[u>>2]=(c[u>>2]|0)+1}Ph(k,A);D=c[k>>2]|0;e=k+4|0;C=c[e>>2]|0;c[k>>2]=0;c[e>>2]=0;c[d+28>>2]=D;D=d+32|0;d=c[D>>2]|0;c[D>>2]=C;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(l);h=b+24|0;if(Sn(h,32106)|0){An(n,18125,14);f=vd(z,s,n)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Gh(d+28|0);e=c[s>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[z>>2]>>2]|0;if(!e)e=d;else{c[z>>2]=e;e=c[f>>2]|0}wc(c[t>>2]|0,e);c[u>>2]=(c[u>>2]|0)+1}Kh(m,h);D=c[m>>2]|0;e=m+4|0;C=c[e>>2]|0;c[m>>2]=0;c[e>>2]=0;c[d+28>>2]=D;D=d+32|0;d=c[D>>2]|0;c[D>>2]=C;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(n)}An(p,17971,12);f=vd(z,s,p)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[p>>2];c[e+4>>2]=c[p+4>>2];c[e+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Gh(d+28|0);e=c[s>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[z>>2]>>2]|0;if(!e)e=d;else{c[z>>2]=e;e=c[f>>2]|0}wc(c[t>>2]|0,e);c[u>>2]=(c[u>>2]|0)+1}Ih(o,c[b>>2]|0);D=c[o>>2]|0;e=o+4|0;C=c[e>>2]|0;c[o>>2]=0;c[e>>2]=0;c[d+28>>2]=D;D=d+32|0;d=c[D>>2]|0;c[D>>2]=C;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(p);An(r,17984,8);f=vd(z,s,r)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Gh(d+28|0);e=c[s>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[z>>2]>>2]|0;if(!e)e=d;else{c[z>>2]=e;e=c[f>>2]|0}wc(c[t>>2]|0,e);c[u>>2]=(c[u>>2]|0)+1}Ih(q,c[b+4>>2]|0);D=c[q>>2]|0;e=q+4|0;C=c[e>>2]|0;c[q>>2]=0;c[e>>2]=0;c[d+28>>2]=D;D=d+32|0;d=c[D>>2]|0;c[D>>2]=C;if(d)tn(d);d=c[e>>2]|0;if(d)tn(d);Dn(r);An(y,17993,9);f=vd(z,s,y)|0;d=c[f>>2]|0;if(!d){d=ak(36)|0;e=d+16|0;c[e>>2]=c[y>>2];c[e+4>>2]=c[y+4>>2];c[e+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;Gh(d+28|0);e=c[s>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=e;c[f>>2]=d;e=c[c[z>>2]>>2]|0;if(!e)e=d;else{c[z>>2]=e;e=c[f>>2]|0}wc(c[t>>2]|0,e);c[u>>2]=(c[u>>2]|0)+1}Ih(v,c[b+8>>2]|0);D=c[v>>2]|0;e=v+4|0;C=c[e>>2]|0;c[v>>2]=0;c[e>>2]=0;c[d+28>>2]=D;D=d+32|0;d=c[D>>2]|0;c[D>>2]=C;if(d)tn(d);d=c[e>>2]|0;if(!d){Dn(y);Ph(a,z);D=c[x>>2]|0;yd(A,D);D=c[w>>2]|0;yd(z,D);i=B;return}tn(d);Dn(y);Ph(a,z);D=c[x>>2]|0;yd(A,D);D=c[w>>2]|0;yd(z,D);i=B;return}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;f=vd(a,e,b)|0;d=c[f>>2]|0;if(d){a=d;a=a+28|0;i=h;return a|0}g=ak(36)|0;zn(g+16|0,b);Gh(g+28|0);d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}wc(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;i=h;return a|0}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+80|0;g=e+76|0;h=e;f=e+64|0;d=e+4|0;An(d,17895,10);Kh(d+12|0,b);An(d+20|0,17906,4);Kh(d+32|0,b+12|0);An(d+40|0,17911,11);Kh(d+52|0,b+24|0);c[f+4>>2]=0;c[f+8>>2]=0;b=f+4|0;c[f>>2]=b;j=b;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d)|0;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d+20|0)|0;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d+40|0)|0;Qh(a,f);yd(f,c[b>>2]|0);a=c[d+56>>2]|0;if(a)tn(a);Dn(d+40|0);a=c[d+36>>2]|0;if(a)tn(a);Dn(d+20|0);a=c[d+16>>2]|0;if(!a){Dn(d);i=e;return}tn(a);Dn(d);i=e;return}function de(a,b){a=a|0;b=b|0;var d=0,e=0;zn(a,b);zn(a+12|0,b+12|0);zn(a+24|0,b+24|0);zn(a+36|0,b+36|0);d=a+48|0;e=b+48|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];fe(a+68|0,b+68|0);return}function ee(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+192|0;n=u+176|0;e=u+40|0;t=u+164|0;f=u+64|0;l=u+56|0;r=u+48|0;k=u+28|0;p=u+24|0;o=u+20|0;s=u+8|0;q=u;he(l,d);An(f,17740,5);c[f+12>>2]=c[l>>2];m=l+4|0;c[f+16>>2]=c[m>>2];c[l>>2]=0;c[m>>2]=0;An(f+20|0,17757,4);Kh(f+32|0,d+36|0);ie(r,d);An(f+40|0,17866,7);c[f+52>>2]=c[r>>2];l=r+4|0;c[f+56>>2]=c[l>>2];c[r>>2]=0;c[l>>2]=0;An(f+60|0,18376,12);Hh(f+72|0,+g[d+56>>2]);c[p>>2]=c[d+68>>2];c[o>>2]=c[d+72>>2];c[e>>2]=c[p>>2];c[n>>2]=c[o>>2];Ud(k,e,n);An(f+80|0,18389,10);Oh(f+92|0,k);o=t+4|0;c[o>>2]=0;p=t+8|0;c[p>>2]=0;r=t+4|0;c[t>>2]=r;j=r;c[e>>2]=j;c[n>>2]=c[e>>2];Ed(t,n,f)|0;c[e>>2]=j;c[n>>2]=c[e>>2];Ed(t,n,f+20|0)|0;c[e>>2]=j;c[n>>2]=c[e>>2];Ed(t,n,f+40|0)|0;c[e>>2]=j;c[n>>2]=c[e>>2];Ed(t,n,f+60|0)|0;c[e>>2]=j;c[n>>2]=c[e>>2];Ed(t,n,f+80|0)|0;e=c[f+96>>2]|0;if(e)tn(e);Dn(f+80|0);e=c[f+76>>2]|0;if(e)tn(e);Dn(f+60|0);e=c[f+56>>2]|0;if(e)tn(e);Dn(f+40|0);e=c[f+36>>2]|0;if(e)tn(e);Dn(f+20|0);e=c[f+16>>2]|0;if(e)tn(e);Dn(f);e=c[k>>2]|0;if(e){j=k+4|0;f=c[j>>2]|0;if((f|0)!=(e|0)){do{h=f+-8|0;c[j>>2]=h;f=c[f+-4>>2]|0;if(!f)f=h;else{tn(f);f=c[j>>2]|0}}while((f|0)!=(e|0));e=c[k>>2]|0}ck(e)}e=c[l>>2]|0;if(e)tn(e);e=c[m>>2]|0;if(e)tn(e);if(!(a[d+60>>0]|0)){Ph(b,t);b=c[r>>2]|0;yd(t,b);i=u;return}An(s,17874,12);h=vd(t,n,s)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Gh(e+28|0);f=c[n>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[h>>2]=e;f=c[c[t>>2]>>2]|0;if(!f)f=e;else{c[t>>2]=f;f=c[h>>2]|0}wc(c[o>>2]|0,f);c[p>>2]=(c[p>>2]|0)+1}Hh(q,+g[d+64>>2]);p=c[q>>2]|0;f=q+4|0;d=c[f>>2]|0;c[q>>2]=0;c[f>>2]=0;c[e+28>>2]=p;q=e+32|0;e=c[q>>2]|0;c[q>>2]=d;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(s);Ph(b,t);b=c[r>>2]|0;yd(t,b);i=u;return}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;g=a+4|0;c[g>>2]=0;c[a+8>>2]=0;f=b+4|0;i=c[f>>2]|0;h=c[b>>2]|0;d=i-h|0;e=(d|0)/12|0;if((i|0)==(h|0))return;if(e>>>0>357913941)_j(a);d=ak(d)|0;c[g>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(e*12|0);e=c[b>>2]|0;b=c[f>>2]|0;if((e|0)==(b|0))return;do{zn(d,e);d=(c[g>>2]|0)+12|0;c[g>>2]=d;e=e+12|0}while((e|0)!=(b|0));return}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;g=a+4|0;c[g>>2]=0;c[a+8>>2]=0;f=b+4|0;i=c[f>>2]|0;h=c[b>>2]|0;d=i-h|0;e=(d|0)/36|0;if((i|0)==(h|0))return;if(e>>>0>119304647)_j(a);d=ak(d)|0;c[g>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(e*36|0);e=c[b>>2]|0;b=c[f>>2]|0;if((e|0)==(b|0))return;do{zn(d,e);zn(d+12|0,e+12|0);zn(d+24|0,e+24|0);d=(c[g>>2]|0)+36|0;c[g>>2]=d;e=e+36|0}while((e|0)!=(b|0));return}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+80|0;g=e+76|0;h=e;f=e+64|0;d=e+4|0;An(d,17895,10);Kh(d+12|0,b);An(d+20|0,17906,4);Kh(d+32|0,b+12|0);An(d+40|0,17911,11);Kh(d+52|0,b+24|0);c[f+4>>2]=0;c[f+8>>2]=0;b=f+4|0;c[f>>2]=b;j=b;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d)|0;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d+20|0)|0;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d+40|0)|0;Qh(a,f);yd(f,c[b>>2]|0);a=c[d+56>>2]|0;if(a)tn(a);Dn(d+40|0);a=c[d+36>>2]|0;if(a)tn(a);Dn(d+20|0);a=c[d+16>>2]|0;if(!a){Dn(d);i=e;return}tn(a);Dn(d);i=e;return}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0;e=i;i=i+64|0;h=e+56|0;j=e+40|0;f=e+44|0;d=e;An(d,17887,3);Hh(d+12|0,+g[b+48>>2]);An(d+20|0,17891,3);Hh(d+32|0,+g[b+52>>2]);c[f+4>>2]=0;c[f+8>>2]=0;b=f+4|0;c[f>>2]=b;k=b;c[j>>2]=k;c[h>>2]=c[j>>2];Ed(f,h,d)|0;c[j>>2]=k;c[h>>2]=c[j>>2];Ed(f,h,d+20|0)|0;Qh(a,f);yd(f,c[b>>2]|0);a=c[d+36>>2]|0;if(a)tn(a);Dn(d+20|0);a=c[d+16>>2]|0;if(!a){Dn(d);i=e;return}tn(a);Dn(d);i=e;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;m=n+8|0;j=n;bp(m,b);if(!(a[m>>0]|0)){cp(m);i=n;return b|0}f=c[(c[b>>2]|0)+-12>>2]|0;c[j>>2]=c[b+(f+24)>>2];l=b+f|0;k=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[h>>2]=jo(l)|0;e=Gt(h,12368)|0;e=Pb[c[(c[e>>2]|0)+28>>2]&63](e,32)|0;Et(h);e=e<<24>>24;c[f>>2]=e}c[h>>2]=c[j>>2];if(ue(h,d,(k&176|0)==32?g:d,g,l,e&255)|0){cp(m);i=n;return b|0}d=c[(c[b>>2]|0)+-12>>2]|0;eo(b+d|0,c[b+(d+16)>>2]|5);cp(m);i=n;return b|0}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;c[a>>2]=3212;f=a+4|0;c[f>>2]=0;g=a+8|0;c[g>>2]=0;c[a+12>>2]=0;Fb[c[(c[b>>2]|0)+92>>2]&127](h,b);d=c[h>>2]|0;e=c[h+4>>2]|0;if((d|0)==(e|0)){lc(h);i=j;return}a=a+12|0;do{b=c[g>>2]|0;if((b|0)==(c[a>>2]|0))le(f,d);else{zn(b,d);c[g>>2]=(c[g>>2]|0)+12}d=d+100|0}while((d|0)!=(e|0));lc(h);i=j;return}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=(((c[k>>2]|0)-d|0)/12|0)+1|0;if(f>>>0>357913941){_j(a);d=c[a>>2]|0}l=a+8|0;e=((c[l>>2]|0)-d|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;d=((c[k>>2]|0)-d|0)/12|0;if(!e){g=0;h=0}else i=6}else{e=357913941;d=((c[k>>2]|0)-d|0)/12|0;i=6}if((i|0)==6){g=e;h=ak(e*12|0)|0}f=h+(d*12|0)|0;e=f;j=h+(g*12|0)|0;zn(f,b);b=h+((d+1|0)*12|0)|0;i=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(i|0)){g=a;h=k;f=i}else{do{h=f+-12|0;d=d+-12|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;f=e+-12|0;e=f}while((d|0)!=(i|0));d=e;g=a;h=k;e=d;f=c[a>>2]|0;d=c[k>>2]|0}c[g>>2]=e;c[h>>2]=b;c[l>>2]=j;e=f;if((d|0)!=(e|0))do{d=d+-12|0;Dn(d)}while((d|0)!=(e|0));if(!f)return;ck(f);return}function me(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=3212;e=a+4|0;b=c[e>>2]|0;if(!b)return;d=a+8|0;a=c[d>>2]|0;if((a|0)!=(b|0)){do{f=a+-12|0;c[d>>2]=f;Dn(f);a=c[d>>2]|0}while((a|0)!=(b|0));b=c[e>>2]|0}ck(b);return}function ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=3212;e=a+4|0;b=c[e>>2]|0;if(!b){ck(a);return}f=a+8|0;d=c[f>>2]|0;if((d|0)!=(b|0)){do{g=d+-12|0;c[f>>2]=g;Dn(g);d=c[f>>2]|0}while((d|0)!=(b|0));b=c[e>>2]|0}ck(b);ck(a);return}function oe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+4>>2]|0;k=(c[b+8>>2]|0)-m|0;l=(k|0)/12|0;if((k|0)<=0){n=-1;return n|0}j=a[d>>0]|0;h=(j&1)==0;j=h?(j&255)>>>1:c[d+4>>2]|0;k=d+8|0;f=d+1|0;i=(j|0)==0;if(h){b=0;a:while(1){d=m+(b*12|0)|0;h=a[d>>0]|0;e=(h&1)==0;b:do if((j|0)==((e?(h&255)>>>1:c[m+(b*12|0)+4>>2]|0)|0)){if(i){d=15;break a}g=j;h=f;d=e?d+1|0:c[m+(b*12|0)+8>>2]|0;while(1){if((a[h>>0]|0)!=(a[d>>0]|0))break b;g=g+-1|0;if(!g){d=15;break a}else{h=h+1|0;d=d+1|0}}}while(0);b=b+1|0;if((b|0)>=(l|0)){b=-1;d=15;break}}if((d|0)==15)return b|0}if(i){b=0;while(1){i=a[m+(b*12|0)>>0]|0;if(!(((i&1)==0?(i&255)>>>1:c[m+(b*12|0)+4>>2]|0)|0)){d=15;break}b=b+1|0;if((b|0)>=(l|0)){b=-1;d=15;break}}if((d|0)==15)return b|0}else n=0;while(1){b=m+(n*12|0)|0;i=a[b>>0]|0;d=(i&1)==0;if((j|0)==((d?(i&255)>>>1:c[m+(n*12|0)+4>>2]|0)|0)?(mm(c[k>>2]|0,d?b+1|0:c[m+(n*12|0)+8>>2]|0,j)|0)==0:0){b=n;d=15;break}n=n+1|0;if((n|0)>=(l|0)){b=-1;d=15;break}}if((d|0)==15)return b|0;return 0}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((d|0)>=0?(e=c[b+4>>2]|0,(((c[b+8>>2]|0)-e|0)/12|0)>>>0>d>>>0):0){zn(a,e+(d*12|0)|0);return}An(a,32106,0);return}function qe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=3184;c[a+12>>2]=3212;e=a+16|0;b=c[e>>2]|0;if(!b){pn(a);return}f=a+20|0;d=c[f>>2]|0;if((d|0)!=(b|0)){do{g=d+-12|0;c[f>>2]=g;Dn(g);d=c[f>>2]|0}while((d|0)!=(b|0));b=c[e>>2]|0}ck(b);pn(a);return}function re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=3184;c[a+12>>2]=3212;e=a+16|0;b=c[e>>2]|0;if(!b){pn(a);ck(a);return}f=a+20|0;d=c[f>>2]|0;if((d|0)!=(b|0)){do{g=d+-12|0;c[f>>2]=g;Dn(g);d=c[f>>2]|0}while((d|0)!=(b|0));b=c[e>>2]|0}ck(b);pn(a);ck(a);return}function se(a){a=a|0;a=a+12|0;Eb[c[c[a>>2]>>2]&255](a);return}function te(a){a=a|0;ck(a);return}function ue(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;m=o;n=c[b>>2]|0;if(!n){b=0;i=o;return b|0}p=d;k=f-p|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-p|0;if((g|0)>0?(yb[c[(c[n>>2]|0)+48>>2]&31](n,d,g)|0)!=(g|0):0){c[b>>2]=0;p=0;i=o;return p|0}do if((k|0)>0){Bn(m,k,h);if((yb[c[(c[n>>2]|0)+48>>2]&31](n,(a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0,k)|0)==(k|0)){Dn(m);break}c[b>>2]=0;Dn(m);p=0;i=o;return p|0}while(0);f=f-j|0;if((f|0)>0?(yb[c[(c[n>>2]|0)+48>>2]&31](n,e,f)|0)!=(f|0):0){c[b>>2]=0;p=0;i=o;return p|0}c[l>>2]=0;p=n;i=o;return p|0}function ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+144|0;q=p+128|0;r=p+96|0;k=p+80|0;n=p+60|0;f=p+48|0;h=p+36|0;j=p+24|0;l=p+16|0;m=p;An(r,18232,3);c[r+12>>2]=3;An(r+16|0,18654,15);c[r+28>>2]=1;c[q>>2]=r;c[q+4>>2]=2;q=hi(d,q,e)|0;Dn(r+16|0);Dn(r);if(!q){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;r=a[e>>0]|0;f=e+4|0;r=(r&1)==0?(r&255)>>>1:c[f>>2]|0;Tn(k,18670,24,r+24|0);h=e+8|0;j=e+1|0;Mn(k,(a[e>>0]&1)==0?j:c[h>>2]|0,r)|0;if(!(a[e>>0]&1)){a[j>>0]=0;a[e>>0]=0}else{a[c[h>>2]>>0]=0;c[f>>2]=0}Jn(e,0);c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;i=p;return};c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;An(f,18232,3);En(n,Uh(Xh(d,f)|0)|0)|0;Dn(f);An(h,18654,15);k=n+12|0;g[k>>2]=+Sh(Xh(d,h)|0);Dn(h);An(j,18695,12);r=(Rh(Xh(d,j)|0)|0)==0;Dn(j);if(!r){An(m,18695,12);h=Xh(d,m)|0;c[l>>2]=c[h>>2];f=l+4|0;h=c[h+4>>2]|0;c[f>>2]=h;if(h)sn(h);c[n+16>>2]=we(l,e)|0;f=c[f>>2]|0;if(f)tn(f);Dn(m);if(Sn(e,32106)|0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0}else o=13}else o=13;if((o|0)==13){c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;e=k;q=c[e+4>>2]|0;r=b+12|0;c[r>>2]=c[e>>2];c[r+4>>2]=q}Dn(n);i=p;return}function we(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+12|0;g=j;if((Rh(b)|0)!=4){Fn(d,18708)|0;d=0;i=j;return d|0}f=Vh(b)|0;b=c[f>>2]|0;f=c[f+4>>2]|0;if((b|0)==(f|0)){d=0;i=j;return d|0}else{e=b;b=0}a:while(1){if((Rh(e)|0)!=3){e=5;break}zn(h,Uh(e)|0);do if(!(Sn(h,18774)|0))b=b|1;else{if(!(Sn(h,18791)|0)){b=b|2;break}if(!(Sn(h,18809)|0)){b=b|4;break}if(!(Sn(h,18825)|0)){b=b|3;break}if(Sn(h,18838)|0){e=16;break a}b=b|255}while(0);Dn(h);e=e+8|0;if((e|0)==(f|0)){e=21;break}}if((e|0)==5){Fn(d,18741)|0;d=b;i=j;return d|0}else if((e|0)==16){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;f=a[h>>0]|0;f=(f&1)==0?(f&255)>>>1:c[h+4>>2]|0;Tn(g,18847,29,f+29|0);Mn(g,(a[h>>0]&1)==0?h+1|0:c[h+8>>2]|0,f)|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Dn(g);Dn(h);d=b;i=j;return d|0}else if((e|0)==21){i=j;return b|0}return 0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[a>>2]|0;g=a+4|0;d=c[g>>2]|0;h=b+4|0;if((d|0)==(f|0)){e=h;d=a;i=c[h>>2]|0;h=f;c[d>>2]=i;c[e>>2]=h;h=b+8|0;f=c[g>>2]|0;d=c[h>>2]|0;c[g>>2]=d;c[h>>2]=f;g=a+8|0;a=b+12|0;h=c[g>>2]|0;f=c[a>>2]|0;c[g>>2]=f;c[a>>2]=h;a=c[e>>2]|0;c[b>>2]=a;return}e=d;d=c[h>>2]|0;do{l=d+-136|0;m=e;e=e+-136|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;l=d+-124|0;j=m+-124|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;j=d+-112|0;l=m+-112|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;l=d+-100|0;j=m+-100|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;j=d+-88|0;l=m+-88|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;l=d+-76|0;j=m+-76|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[d+-64>>2]=c[m+-64>>2];j=d+-60|0;l=m+-60|0;c[j>>2]=0;i=d+-56|0;c[i>>2]=0;c[d+-52>>2]=0;c[j>>2]=c[l>>2];j=m+-56|0;c[i>>2]=c[j>>2];i=m+-52|0;c[d+-52>>2]=c[i>>2];c[i>>2]=0;c[j>>2]=0;c[l>>2]=0;l=m+-48|0;j=c[l+4>>2]|0;i=d+-48|0;c[i>>2]=c[l>>2];c[i+4>>2]=j;i=d+-40|0;j=m+-40|0;c[i>>2]=0;l=d+-36|0;c[l>>2]=0;c[d+-32>>2]=0;c[i>>2]=c[j>>2];i=m+-36|0;c[l>>2]=c[i>>2];l=m+-32|0;c[d+-32>>2]=c[l>>2];c[l>>2]=0;c[i>>2]=0;c[j>>2]=0;j=d+-28|0;i=m+-28|0;c[j>>2]=0;l=d+-24|0;c[l>>2]=0;c[d+-20>>2]=0;c[j>>2]=c[i>>2];j=m+-24|0;c[l>>2]=c[j>>2];l=m+-20|0;c[d+-20>>2]=c[l>>2];c[l>>2]=0;c[j>>2]=0;c[i>>2]=0;i=d+-16|0;j=m+-16|0;c[i>>2]=c[j>>2];l=d+-12|0;k=m+-12|0;c[l>>2]=0;n=d+-8|0;c[n>>2]=0;c[d+-4>>2]=0;c[l>>2]=c[k>>2];l=m+-8|0;c[n>>2]=c[l>>2];m=m+-4|0;c[d+-4>>2]=c[m>>2];c[m>>2]=0;c[l>>2]=0;c[k>>2]=0;c[i>>2]=c[j>>2];d=(c[h>>2]|0)+-136|0;c[h>>2]=d}while((e|0)!=(f|0));n=h;m=a;l=d;k=c[a>>2]|0;c[m>>2]=l;c[n>>2]=k;k=b+8|0;m=c[g>>2]|0;l=c[k>>2]|0;c[g>>2]=l;c[k>>2]=m;k=a+8|0;m=b+12|0;l=c[k>>2]|0;j=c[m>>2]|0;c[k>>2]=j;c[m>>2]=l;n=c[n>>2]|0;c[b>>2]=n;return}function ye(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;d=f;return d|0}j=a[e>>0]|0;i=(j&1)==0;j=i?(j&255)>>>1:c[e+4>>2]|0;i=i?e+1|0:c[e+8>>2]|0;while(1){e=b+16|0;f=a[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:c[b+20>>2]|0;e=g?e+1|0:c[b+24>>2]|0;g=f>>>0<j>>>0;k=mm(i,e,g?f:j)|0;h=j>>>0<f>>>0;if((((k|0)==0?(h?-2147483648:0):k)|0)<0){f=c[b>>2]|0;if(!f){f=b;e=5;break}else b=f}else{k=mm(e,i,h?j:f)|0;if((((k|0)==0?(g?-2147483648:0):k)|0)>=0){e=10;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=9;break}else b=e}}if((e|0)==5){c[d>>2]=b;k=f;return k|0}else if((e|0)==9){c[d>>2]=b;k=f;return k|0}else if((e|0)==10){c[d>>2]=b;k=d;return k|0}return 0}function ze(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;g[b+4>>2]=d;c[b>>2]=3236;a[b+8>>0]=e&1;a[b+9>>0]=1;e=b+12|0;j=b+16|0;k=b+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+28>>2]=1;e=b+32|0;c[b+52>>2]=0;c[b+56>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+48>>2]=b+52;e=b+24|0;b=l+4|0;h=0;do{yh(l,+(h|0)*1.5);f=c[k>>2]|0;if(f>>>0<(c[e>>2]|0)>>>0){c[f>>2]=c[l>>2];c[f+4>>2]=c[b>>2];c[k>>2]=f+8}else Ze(j,l);h=h+1|0}while((h|0)<10);i=m;return}function Ae(a){a=a|0;var b=0,d=0;c[a>>2]=3236;_e(a+48|0,c[a+52>>2]|0);d=c[a+16>>2]|0;if(!d)return;a=a+20|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);ck(d);return}function Be(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=3236;_e(a+48|0,c[a+52>>2]|0);b=c[a+16>>2]|0;if(!b){ck(a);return}d=a+20|0;e=c[d>>2]|0;if((e|0)!=(b|0))c[d>>2]=e+(~((e+-8-b|0)>>>3)<<3);ck(b);ck(a);return}function Ce(b,c){b=b|0;c=c|0;if(!(a[c+8>>0]|0)){An(b,19027,16);return}else{An(b,19005,21);return}}function De(b,c){b=b|0;c=c|0;if(!(a[c+8>>0]|0)){An(b,19086,16);return}else{An(b,19044,41);return}}function Ee(a,b){a=a|0;b=b|0;An(a,19103,51);return}function Fe(a,b){a=a|0;b=b|0;An(a,19155,12);return}function Ge(a){a=a|0;return 4}function He(a,b){a=a|0;b=b|0;An(a,19168,3);return}function Ie(a){a=a|0;return d[a+8>>0]|0|0}function Je(a){a=a|0;return 0}function Ke(a){a=a|0;return 0}function Le(a){a=a|0;return 1}function Me(a){a=a|0;return 10}function Ne(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+80|0;l=m;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=l+64|0;d=l;e=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[l+60>>0]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Fn(l,19172)|0;h=l+12|0;Fn(h,19187)|0;j=l+24|0;Fn(j,19207)|0;k=l+36|0;Fn(k,32106)|0;g[l+48>>2]=0.0;g[l+52>>2]=1.0;g[l+56>>2]=1.0;a[l+60>>0]=1;g[f>>2]=1.0;$e(b,l);f=l+68|0;d=c[f>>2]|0;if(!d){Dn(k);Dn(j);Dn(h);Dn(l);i=m;return}b=l+72|0;e=c[b>>2]|0;if((e|0)!=(d|0)){do{n=e+-12|0;c[b>>2]=n;Dn(n);e=c[b>>2]|0}while((e|0)!=(d|0));d=c[f>>2]|0}ck(d);Dn(k);Dn(j);Dn(h);Dn(l);i=m;return}function Oe(b,c){b=b|0;c=c|0;var d=0.0;if(Sn(c,19172)|0){d=0.0;return +d}d=(a[b+9>>0]|0)!=0?1.0:0.0;return +d}function Pe(b,c,d){b=b|0;c=c|0;d=+d;if(Sn(c,19172)|0)return;a[b+9>>0]=d>.5&1;return}function Qe(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Re(a,b){a=a|0;b=b|0;An(a,32106,0);return}function Se(a,b){a=a|0;b=b|0;return}function Te(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+112|0;u=v;c[b>>2]=0;q=b+4|0;c[q>>2]=0;c[b+8>>2]=0;o=u+52|0;g[u+72>>2]=0.0;g[u+76>>2]=0.0;p=u+80|0;a[p>>0]=0;e=u+84|0;f=u;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));a[u+48>>0]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;a[o+16>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;Fn(u,19403)|0;r=u+12|0;Fn(r,19412)|0;s=u+24|0;Fn(s,19421)|0;t=u+36|0;Fn(t,32106)|0;h=u+48|0;a[h>>0]=1;c[o>>2]=0;j=u+68|0;a[j>>0]=0;a[p>>0]=0;k=u+88|0;c[k>>2]=2;l=u+96|0;a[l>>0]=0;m=d+48|0;c[(bf(m,u)|0)>>2]=0;e=c[q>>2]|0;n=b+8|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,19455)|0;Fn(r,19465)|0;Fn(s,19489)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=1;a[j>>0]=0;a[p>>0]=0;c[k>>2]=0;a[l>>0]=0;c[(bf(m,u)|0)>>2]=1;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,19536)|0;Fn(r,19546)|0;Fn(s,19569)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=1;a[j>>0]=0;a[p>>0]=0;c[k>>2]=1;f=u+92|0;g[f>>2]=2.5;a[l>>0]=0;c[(bf(m,u)|0)>>2]=2;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,19645)|0;Fn(r,19661)|0;Fn(s,19690)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=1;a[j>>0]=0;a[p>>0]=0;c[k>>2]=1;g[f>>2]=2.5;a[l>>0]=0;c[(bf(m,u)|0)>>2]=3;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,19796)|0;Fn(r,19812)|0;Fn(s,19841)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=1;a[j>>0]=0;a[p>>0]=0;c[k>>2]=1;g[f>>2]=2.5;a[l>>0]=0;c[(bf(m,u)|0)>>2]=4;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,19952)|0;Fn(r,19962)|0;Fn(s,19988)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=1;a[j>>0]=0;a[p>>0]=0;c[k>>2]=2;g[f>>2]=0.0;a[l>>0]=0;c[(bf(m,u)|0)>>2]=5;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,20023)|0;Fn(r,20032)|0;Fn(s,20055)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=10;a[j>>0]=0;a[p>>0]=0;c[k>>2]=0;g[f>>2]=0.0;a[l>>0]=0;c[(bf(m,u)|0)>>2]=6;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,20119)|0;Fn(r,20128)|0;Fn(s,20150)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=10;a[j>>0]=0;a[p>>0]=0;c[k>>2]=1;g[f>>2]=2.5;a[l>>0]=0;c[(bf(m,u)|0)>>2]=7;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,20243)|0;Fn(r,20257)|0;Fn(s,20274)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=1;a[j>>0]=0;a[p>>0]=0;c[k>>2]=2;g[f>>2]=0.0;a[l>>0]=1;c[(bf(m,u)|0)>>2]=8;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,20327)|0;Fn(r,20341)|0;Fn(s,20366)|0;Fn(t,32106)|0;a[h>>0]=1;c[o>>2]=c[d+28>>2];a[j>>0]=0;a[p>>0]=0;c[k>>2]=0;a[l>>0]=0;c[(bf(m,u)|0)>>2]=9;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}Fn(u,20716)|0;Fn(r,20732)|0;Fn(s,20748)|0;Fn(t,20901)|0;a[h>>0]=1;c[o>>2]=1;a[j>>0]=0;a[p>>0]=0;c[k>>2]=0;a[l>>0]=0;c[(bf(m,u)|0)>>2]=10;e=c[q>>2]|0;if((e|0)==(c[n>>2]|0))df(b,u);else{cf(e,u);c[q>>2]=(c[q>>2]|0)+100}h=u+56|0;e=c[h>>2]|0;if(!e){Dn(t);Dn(s);Dn(r);Dn(u);i=v;return}j=u+60|0;f=c[j>>2]|0;if((f|0)!=(e|0)){do{b=f+-12|0;c[j>>2]=b;Dn(b);f=c[j>>2]|0}while((f|0)!=(e|0));e=c[h>>2]|0}ck(e);Dn(t);Dn(s);Dn(r);Dn(u);i=v;return}function Ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((Hb[c[(c[a>>2]|0)+84>>2]&127](a)|0)>>>0>b>>>0){a=0;return a|0}if((Hb[c[(c[a>>2]|0)+88>>2]&127](a)|0)>>>0<b>>>0){a=0;return a|0}c[a+28>>2]=b;c[a+32>>2]=d;c[a+36>>2]=e;a=1;return a|0}function Ve(a){a=a|0;c[a+12>>2]=0;return}function We(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0;mc=i;i=i+1168|0;ic=mc+1144|0;Ab=mc+744|0;Bb=mc+728|0;q=mc+696|0;r=mc+672|0;Ka=mc+608|0;lc=mc+1136|0;Pa=mc+1128|0;La=mc+1112|0;Na=mc+1064|0;Oa=mc+1056|0;Cb=mc+1048|0;Sa=mc+1032|0;bb=mc+984|0;nb=mc+976|0;zb=mc+968|0;s=mc+960|0;yb=mc+952|0;E=mc+936|0;P=mc+888|0;_=mc+720|0;ja=mc+712|0;Fb=mc+684|0;Eb=mc+624|0;Db=mc+600|0;Ib=mc+584|0;Hb=mc+536|0;Gb=mc+528|0;Tb=mc+512|0;Sb=mc+464|0;Qb=mc+456|0;Rb=mc+448|0;Yb=mc+432|0;Xb=mc+384|0;Vb=mc+376|0;Jb=mc+360|0;Kb=mc+312|0;Lb=mc+304|0;Mb=mc+288|0;Nb=mc+240|0;Ob=mc+232|0;Pb=mc+224|0;Zb=mc+208|0;_b=mc+160|0;$b=mc+152|0;ac=mc+136|0;bc=mc+88|0;cc=mc+80|0;dc=mc+72|0;ec=mc+56|0;fc=mc+8|0;gc=mc;jc=b+4|0;c[jc>>2]=0;kc=b+8|0;c[kc>>2]=0;hc=b+4|0;c[b>>2]=hc;Ch(Pa,c[d+32>>2]|0,~~+g[d+4>>2]>>>0);Wb=e+4|0;xh(lc,(c[Pa>>2]|0)+(c[e>>2]|0)|0,(c[Pa+4>>2]|0)+(c[Wb>>2]|0)|0);Pa=d+20|0;Qa=d+16|0;h=c[Qa>>2]|0;if(((c[Pa>>2]|0)-h|0)>0){Ra=Cb+4|0;Ta=zb+4|0;Ua=d+48|0;Va=d+52|0;Wa=d+56|0;Xa=hc;Ya=_+4|0;Za=ja+4|0;_a=yb+4|0;$a=Ab+64|0;ab=Ab+8|0;cb=Ab+12|0;db=Ab+4|0;eb=Ab+64|0;fb=Ab+64|0;gb=Ab+136|0;hb=Ab+140|0;jb=Ab+44|0;kb=Ab+60|0;lb=P+4|0;mb=P+8|0;ob=P+12|0;pb=P+16|0;qb=P+20|0;rb=P+28|0;sb=P+24|0;tb=Ab+8|0;ub=q+8|0;vb=q+1|0;wb=q+4|0;xb=r+8|0;t=r+1|0;u=r+4|0;v=P+36|0;w=v+1|0;x=P+32|0;y=P+24|0;z=P+44|0;B=P+40|0;C=lc+4|0;D=nb+4|0;F=Ab+64|0;G=Ab+8|0;H=Ab+12|0;I=Ab+4|0;J=Ab+64|0;K=Ab+64|0;L=Ab+136|0;M=Ab+140|0;N=Ab+44|0;O=Ab+60|0;Q=bb+4|0;R=bb+8|0;S=bb+12|0;T=bb+16|0;U=bb+28|0;V=bb+24|0;W=Ab+8|0;X=q+8|0;Y=q+1|0;Z=q+4|0;$=bb+36|0;aa=$+1|0;ba=bb+20|0;ca=bb+32|0;da=bb+24|0;ea=bb+44|0;fa=bb+40|0;ga=Oa+4|0;ha=Ab+64|0;ia=Ab+8|0;ka=Ab+12|0;la=Ab+4|0;ma=Ab+64|0;na=Ab+64|0;oa=Ab+136|0;pa=Ab+140|0;qa=Ab+44|0;ra=Ab+60|0;sa=Na+4|0;ta=Na+8|0;ua=Na+12|0;va=Na+16|0;wa=Ab+8|0;xa=Bb+8|0;ya=Bb+1|0;za=Bb+4|0;Aa=Na+36|0;Ba=Aa+1|0;Ca=Na+20|0;Da=Na+24|0;Ea=Na+28|0;Ga=Na+32|0;Ha=Na+24|0;Ia=Na+44|0;Ja=Na+40|0;p=0;do{j=c[h+(p<<3)>>2]|0;k=c[e>>2]|0;if((j|0)==(k|0)){if((c[h+(p<<3)+4>>2]|0)>=(c[Wb>>2]|0))Ub=6}else if((j|0)>=(k|0))Ub=6;a:do if((Ub|0)==6){Ub=0;do if(!f){h=c[Qa>>2]|0;j=c[h+(p<<3)>>2]|0;k=c[lc>>2]|0;if((j|0)==(k|0))if((c[h+(p<<3)+4>>2]|0)<(c[C>>2]|0))break;else break a;else if((j|0)<(k|0))break;else break a}while(0);An(La,19403,8);k=ff(Ua,ic,La)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[La>>2];c[j+4>>2]=c[La+4>>2];c[j+8>>2]=c[La+8>>2];c[La>>2]=0;c[La+4>>2]=0;c[La+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[Ua>>2]>>2]|0;if(!j)j=h;else{c[Ua>>2]=j;j=c[k>>2]|0}wc(c[Va>>2]|0,j);c[Wa>>2]=(c[Wa>>2]|0)+1}o=h+28|0;h=c[hc>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=18;break}else h=j}else{if((j|0)>=(l|0)){Ub=24;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=22;break}else h=k}}if((Ub|0)==18){c[ic>>2]=h;Ub=25;break}else if((Ub|0)==22){c[ic>>2]=h;Ub=25;break}else if((Ub|0)==24){Ub=0;c[ic>>2]=h;if(!h){j=ic;Ub=25;break}else break}}else{c[ic>>2]=hc;j=hc;h=Xa;Ub=25}while(0);if((Ub|0)==25){Ub=0;k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[b>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1;h=k}k=c[Qa>>2]|0;c[Oa>>2]=c[k+(p<<3)>>2];c[ga>>2]=c[k+(p<<3)+4>>2];k=(c[Pa>>2]|0)-k>>3;c[ia>>2]=3372;c[Ab>>2]=3412;c[ha>>2]=3432;c[la>>2]=0;ko(ma,ka);c[oa>>2]=0;c[pa>>2]=-1;c[Ab>>2]=3352;c[na>>2]=3392;c[ia>>2]=3372;no(ka);c[ka>>2]=3448;c[qa>>2]=0;c[qa+4>>2]=0;c[qa+8>>2]=0;c[qa+12>>2]=0;c[ra>>2]=24;c[ic>>2]=0;c[ic+4>>2]=0;c[ic+8>>2]=0;gf(ka,ic);Dn(ic);c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;c[va+12>>2]=0;c[va+16>>2]=0;c[va+20>>2]=0;c[va+24>>2]=0;c[va+28>>2]=0;a[Na>>0]=1;c[sa>>2]=c[Oa>>2];c[ta>>2]=c[ga>>2];a[ua>>0]=0;k=je(dp(je(dp(wa,p+1|0)|0,21590,4)|0,k)|0,20909,4)|0;zh(Bb,Oa,0);o=a[Bb>>0]|0;l=(o&1)==0;je(k,l?ya:c[xa>>2]|0,l?(o&255)>>>1:c[za>>2]|0)|0;Dn(Bb);hf(q,ka);if(!(a[Aa>>0]&1)){a[Ba>>0]=0;a[Aa>>0]=0}else{a[c[Ia>>2]>>0]=0;c[Ja>>2]=0}Jn(Aa,0);c[Aa>>2]=c[q>>2];c[Aa+4>>2]=c[q+4>>2];c[Aa+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Dn(q);c[Ab>>2]=3352;c[ha>>2]=3392;c[wa>>2]=3372;c[ka>>2]=3448;Dn(qa);lo(ka);fo(ha);j=h+24|0;k=c[j>>2]|0;if(k>>>0<(c[h+28>>2]|0)>>>0){a[k>>0]=a[Na>>0]|0;c[k+4>>2]=c[sa>>2];c[k+8>>2]=c[ta>>2];a[k+12>>0]=a[ua>>0]|0;c[k+16>>2]=c[va>>2];c[k+20>>2]=c[Ca>>2];l=k+24|0;c[l>>2]=0;o=k+28|0;c[o>>2]=0;c[k+32>>2]=0;c[l>>2]=c[Da>>2];c[o>>2]=c[Ea>>2];c[k+32>>2]=c[Ga>>2];c[Ga>>2]=0;c[Ea>>2]=0;c[Da>>2]=0;o=k+36|0;c[o>>2]=c[Aa>>2];c[o+4>>2]=c[Aa+4>>2];c[o+8>>2]=c[Aa+8>>2];c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[j>>2]=(c[j>>2]|0)+48}else jf(h+20|0,Na);Dn(Aa);h=c[Ha>>2]|0;j=h;if(h){k=c[Ea>>2]|0;if((k|0)!=(h|0))c[Ea>>2]=k+(~((k+-4-j|0)>>>2)<<2);ck(h)}Dn(La)}while(0);Ah(Cb,(c[Qa>>2]|0)+(p<<3)|0,2);j=c[Cb>>2]|0;h=c[e>>2]|0;if((j|0)==(h|0)){if((c[Ra>>2]|0)>=(c[Wb>>2]|0))Ub=42}else if((j|0)>=(h|0))Ub=42;b:do if((Ub|0)==42){Ub=0;do if(!f){h=c[lc>>2]|0;if((j|0)==(h|0))if((c[Ra>>2]|0)<(c[C>>2]|0))break;else break b;else if((j|0)<(h|0))break;else break b}while(0);An(Sa,19952,9);k=ff(Ua,ic,Sa)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[Sa>>2];c[j+4>>2]=c[Sa+4>>2];c[j+8>>2]=c[Sa+8>>2];c[Sa>>2]=0;c[Sa+4>>2]=0;c[Sa+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[Ua>>2]>>2]|0;if(!j)j=h;else{c[Ua>>2]=j;j=c[k>>2]|0}wc(c[Va>>2]|0,j);c[Wa>>2]=(c[Wa>>2]|0)+1}o=h+28|0;h=c[hc>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=54;break}else h=j}else{if((j|0)>=(l|0)){Ub=60;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=58;break}else h=k}}if((Ub|0)==54){c[ic>>2]=h;Ub=61;break}else if((Ub|0)==58){c[ic>>2]=h;Ub=61;break}else if((Ub|0)==60){Ub=0;c[ic>>2]=h;if(!h){j=ic;Ub=61;break}else break}}else{c[ic>>2]=hc;j=hc;h=Xa;Ub=61}while(0);if((Ub|0)==61){Ub=0;k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[b>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1;h=k}c[nb>>2]=c[Cb>>2];c[D>>2]=c[Ra>>2];k=(c[Pa>>2]|0)-(c[Qa>>2]|0)>>3;c[G>>2]=3372;c[Ab>>2]=3412;c[F>>2]=3432;c[I>>2]=0;ko(J,H);c[L>>2]=0;c[M>>2]=-1;c[Ab>>2]=3352;c[K>>2]=3392;c[G>>2]=3372;no(H);c[H>>2]=3448;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[O>>2]=24;c[ic>>2]=0;c[ic+4>>2]=0;c[ic+8>>2]=0;gf(H,ic);Dn(ic);c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[T+16>>2]=0;c[T+20>>2]=0;c[T+24>>2]=0;c[T+28>>2]=0;a[bb>>0]=1;c[Q>>2]=c[nb>>2];c[R>>2]=c[D>>2];a[S>>0]=0;A=+(p|0)/+(k|0);g[Bb>>2]=A;kf(V,Bb);k=je(fp(je(dp(je(dp(W,p+1|0)|0,21590,4)|0,k)|0,22718,2)|0,A)|0,20909,4)|0;zh(q,nb,0);o=a[q>>0]|0;l=(o&1)==0;je(k,l?Y:c[X>>2]|0,l?(o&255)>>>1:c[Z>>2]|0)|0;Dn(q);hf(r,H);if(!(a[$>>0]&1)){a[aa>>0]=0;a[$>>0]=0}else{a[c[ea>>2]>>0]=0;c[fa>>2]=0}Jn($,0);c[$>>2]=c[r>>2];c[$+4>>2]=c[r+4>>2];c[$+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Dn(r);c[Ab>>2]=3352;c[F>>2]=3392;c[W>>2]=3372;c[H>>2]=3448;Dn(N);lo(H);fo(F);j=h+24|0;k=c[j>>2]|0;if(k>>>0<(c[h+28>>2]|0)>>>0){a[k>>0]=a[bb>>0]|0;c[k+4>>2]=c[Q>>2];c[k+8>>2]=c[R>>2];a[k+12>>0]=a[S>>0]|0;c[k+16>>2]=c[T>>2];c[k+20>>2]=c[ba>>2];l=k+24|0;c[l>>2]=0;o=k+28|0;c[o>>2]=0;c[k+32>>2]=0;c[l>>2]=c[V>>2];c[o>>2]=c[U>>2];c[k+32>>2]=c[ca>>2];c[ca>>2]=0;c[U>>2]=0;c[V>>2]=0;o=k+36|0;c[o>>2]=c[$>>2];c[o+4>>2]=c[$+4>>2];c[o+8>>2]=c[$+8>>2];c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;c[j>>2]=(c[j>>2]|0)+48}else jf(h+20|0,bb);Dn($);h=c[da>>2]|0;j=h;if(h){k=c[U>>2]|0;if((k|0)!=(h|0))c[U>>2]=k+(~((k+-4-j|0)>>>2)<<2);ck(h)}Dn(Sa)}while(0);j=c[Qa>>2]|0;xh(s,c[j+(p<<3)>>2]<<1,c[j+(p<<3)+4>>2]<<1);Ah(zb,s,3);yh(yb,(p&1|0)==0?1.75:.5);j=c[zb>>2]|0;h=c[e>>2]|0;if((j|0)==(h|0)){if((c[Ta>>2]|0)>=(c[Wb>>2]|0))Ub=78}else if((j|0)>=(h|0))Ub=78;c:do if((Ub|0)==78){Ub=0;do if(!f){h=c[lc>>2]|0;if((j|0)==(h|0))if((c[Ta>>2]|0)<(c[C>>2]|0))break;else break c;else if((j|0)<(h|0))break;else break c}while(0);An(E,20243,13);k=ff(Ua,ic,E)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[Ua>>2]>>2]|0;if(!j)j=h;else{c[Ua>>2]=j;j=c[k>>2]|0}wc(c[Va>>2]|0,j);c[Wa>>2]=(c[Wa>>2]|0)+1}o=h+28|0;h=c[hc>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=90;break}else h=j}else{if((j|0)>=(l|0)){Ub=96;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=94;break}else h=k}}if((Ub|0)==90){c[ic>>2]=h;Ub=97;break}else if((Ub|0)==94){c[ic>>2]=h;Ub=97;break}else if((Ub|0)==96){Ub=0;c[ic>>2]=h;if(!h){j=ic;Ub=97;break}else break}}else{c[ic>>2]=hc;j=hc;h=Xa;Ub=97}while(0);if((Ub|0)==97){Ub=0;k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[b>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1;h=k}c[_>>2]=c[zb>>2];c[Ya>>2]=c[Ta>>2];c[ja>>2]=c[yb>>2];c[Za>>2]=c[_a>>2];l=(c[Pa>>2]|0)-(c[Qa>>2]|0)>>3;c[ab>>2]=3372;c[Ab>>2]=3412;c[$a>>2]=3432;c[db>>2]=0;ko(eb,cb);c[gb>>2]=0;c[hb>>2]=-1;c[Ab>>2]=3352;c[fb>>2]=3392;c[ab>>2]=3372;no(cb);c[cb>>2]=3448;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[jb+12>>2]=0;c[kb>>2]=24;c[ic>>2]=0;c[ic+4>>2]=0;c[ic+8>>2]=0;gf(cb,ic);Dn(ic);c[pb>>2]=0;c[pb+4>>2]=0;c[pb+8>>2]=0;c[pb+12>>2]=0;c[pb+16>>2]=0;c[pb+20>>2]=0;c[pb+24>>2]=0;c[pb+28>>2]=0;a[P>>0]=1;c[lb>>2]=c[_>>2];c[mb>>2]=c[Ya>>2];a[ob>>0]=1;c[pb>>2]=c[ja>>2];c[qb>>2]=c[Za>>2];A=+(p|0)/+(l|0);g[Bb>>2]=A;kf(sb,Bb);l=je(fp(je(dp(je(dp(tb,p+1|0)|0,21590,4)|0,l)|0,22718,2)|0,A)|0,20909,4)|0;zh(q,_,0);k=a[q>>0]|0;o=(k&1)==0;k=je(je(l,o?vb:c[ub>>2]|0,o?(k&255)>>>1:c[wb>>2]|0)|0,20914,6)|0;zh(r,ja,0);o=a[r>>0]|0;l=(o&1)==0;je(k,l?t:c[xb>>2]|0,l?(o&255)>>>1:c[u>>2]|0)|0;Dn(r);Dn(q);hf(Ka,cb);if(!(a[v>>0]&1)){a[w>>0]=0;a[v>>0]=0}else{a[c[z>>2]>>0]=0;c[B>>2]=0}Jn(v,0);c[v>>2]=c[Ka>>2];c[v+4>>2]=c[Ka+4>>2];c[v+8>>2]=c[Ka+8>>2];c[Ka>>2]=0;c[Ka+4>>2]=0;c[Ka+8>>2]=0;Dn(Ka);c[Ab>>2]=3352;c[$a>>2]=3392;c[tb>>2]=3372;c[cb>>2]=3448;Dn(jb);lo(cb);fo($a);j=h+24|0;k=c[j>>2]|0;if(k>>>0<(c[h+28>>2]|0)>>>0){a[k>>0]=a[P>>0]|0;c[k+4>>2]=c[lb>>2];c[k+8>>2]=c[mb>>2];a[k+12>>0]=a[ob>>0]|0;c[k+16>>2]=c[pb>>2];c[k+20>>2]=c[qb>>2];l=k+24|0;c[l>>2]=0;o=k+28|0;c[o>>2]=0;c[k+32>>2]=0;c[l>>2]=c[sb>>2];c[o>>2]=c[rb>>2];c[k+32>>2]=c[x>>2];c[x>>2]=0;c[rb>>2]=0;c[sb>>2]=0;o=k+36|0;c[o>>2]=c[v>>2];c[o+4>>2]=c[v+4>>2];c[o+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[j>>2]=(c[j>>2]|0)+48}else jf(h+20|0,P);Dn(v);h=c[y>>2]|0;j=h;if(h){k=c[rb>>2]|0;if((k|0)!=(h|0))c[rb>>2]=k+(~((k+-4-j|0)>>>2)<<2);ck(h)}Dn(E)}while(0);p=p+1|0;h=c[Qa>>2]|0}while((p|0)<((c[Pa>>2]|0)-h>>3|0))}U=d+12|0;h=c[U>>2]|0;if(!f){if((h|0)>=20){jc=c[lc>>2]|0;kc=d+40|0;c[kc>>2]=jc;lc=lc+4|0;lc=c[lc>>2]|0;d=d+44|0;c[d>>2]=lc;d=c[U>>2]|0;d=d+1|0;c[U>>2]=d;i=mc;return}An(Fb,19455,9);k=d+48|0;l=ff(k,ic,Fb)|0;h=c[l>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[Fb>>2];c[j+4>>2]=c[Fb+4>>2];c[j+8>>2]=c[Fb+8>>2];c[Fb>>2]=0;c[Fb+4>>2]=0;c[Fb+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[l>>2]=h;j=c[c[k>>2]>>2]|0;if(!j)j=h;else{c[k>>2]=j;j=c[l>>2]|0}wc(c[d+52>>2]|0,j);gc=d+56|0;c[gc>>2]=(c[gc>>2]|0)+1}o=h+28|0;h=c[hc>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=122;break}else h=j}else{if((j|0)>=(l|0)){Ub=128;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=126;break}else h=k}}if((Ub|0)==122){c[ic>>2]=h;Ub=129;break}else if((Ub|0)==126){c[ic>>2]=h;Ub=129;break}else if((Ub|0)==128){c[ic>>2]=h;if(!h){j=ic;Ub=129;break}else{k=h;break}}}else{c[ic>>2]=hc;j=hc;h=hc;Ub=129}while(0);if((Ub|0)==129){k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[b>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1}c[Db>>2]=c[e>>2];c[Db+4>>2]=c[Wb>>2];lf(Eb,Db,c[U>>2]|0,20);h=k+24|0;j=c[h>>2]|0;if(j>>>0<(c[k+28>>2]|0)>>>0){a[j>>0]=a[Eb>>0]|0;c[j+4>>2]=c[Eb+4>>2];c[j+8>>2]=c[Eb+8>>2];a[j+12>>0]=a[Eb+12>>0]|0;c[j+16>>2]=c[Eb+16>>2];c[j+20>>2]=c[Eb+20>>2];gc=j+24|0;fc=Eb+24|0;c[gc>>2]=0;ec=j+28|0;c[ec>>2]=0;c[j+32>>2]=0;c[gc>>2]=c[fc>>2];gc=Eb+28|0;c[ec>>2]=c[gc>>2];ec=Eb+32|0;c[j+32>>2]=c[ec>>2];c[ec>>2]=0;c[gc>>2]=0;c[fc>>2]=0;fc=j+36|0;gc=Eb+36|0;c[fc>>2]=c[gc>>2];c[fc+4>>2]=c[gc+4>>2];c[fc+8>>2]=c[gc+8>>2];c[gc>>2]=0;c[gc+4>>2]=0;c[gc+8>>2]=0;c[h>>2]=(c[h>>2]|0)+48;h=gc}else{jf(k+20|0,Eb);h=Eb+36|0}Dn(h);k=c[Eb+24>>2]|0;l=k;if(k){h=Eb+28|0;j=c[h>>2]|0;if((j|0)!=(k|0))c[h>>2]=j+(~((j+-4-l|0)>>>2)<<2);ck(k)}Dn(Fb);h=c[U>>2]|0;if((h|0)<5){p=d+48|0;An(Ib,19536,9);k=ff(p,ic,Ib)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[Ib>>2];c[j+4>>2]=c[Ib+4>>2];c[j+8>>2]=c[Ib+8>>2];c[Ib>>2]=0;c[Ib+4>>2]=0;c[Ib+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[p>>2]>>2]|0;if(!j)j=h;else{c[p>>2]=j;j=c[k>>2]|0}wc(c[d+52>>2]|0,j);gc=d+56|0;c[gc>>2]=(c[gc>>2]|0)+1}o=h+28|0;h=c[hc>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=148;break}else h=j}else{if((j|0)>=(l|0)){Ub=154;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=152;break}else h=k}}if((Ub|0)==148){c[ic>>2]=h;Ub=155;break}else if((Ub|0)==152){c[ic>>2]=h;Ub=155;break}else if((Ub|0)==154){c[ic>>2]=h;if(!h){j=ic;Ub=155;break}else{k=h;break}}}else{c[ic>>2]=hc;j=hc;h=hc;Ub=155}while(0);if((Ub|0)==155){k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[b>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1}yh(Gb,+(c[U>>2]|0)*.4);lf(Hb,Gb,c[U>>2]|0,10);h=k+24|0;j=c[h>>2]|0;if(j>>>0<(c[k+28>>2]|0)>>>0){a[j>>0]=a[Hb>>0]|0;c[j+4>>2]=c[Hb+4>>2];c[j+8>>2]=c[Hb+8>>2];a[j+12>>0]=a[Hb+12>>0]|0;c[j+16>>2]=c[Hb+16>>2];c[j+20>>2]=c[Hb+20>>2];gc=j+24|0;fc=Hb+24|0;c[gc>>2]=0;ec=j+28|0;c[ec>>2]=0;c[j+32>>2]=0;c[gc>>2]=c[fc>>2];gc=Hb+28|0;c[ec>>2]=c[gc>>2];ec=Hb+32|0;c[j+32>>2]=c[ec>>2];c[ec>>2]=0;c[gc>>2]=0;c[fc>>2]=0;fc=j+36|0;gc=Hb+36|0;c[fc>>2]=c[gc>>2];c[fc+4>>2]=c[gc+4>>2];c[fc+8>>2]=c[gc+8>>2];c[gc>>2]=0;c[gc+4>>2]=0;c[gc+8>>2]=0;c[h>>2]=(c[h>>2]|0)+48;h=gc}else{jf(k+20|0,Hb);h=Hb+36|0}Dn(h);k=c[Hb+24>>2]|0;l=k;if(k){h=Hb+28|0;j=c[h>>2]|0;if((j|0)!=(k|0))c[h>>2]=j+(~((j+-4-l|0)>>>2)<<2);ck(k)}Dn(Ib);h=c[U>>2]|0;m=+(((h|0)/4|0)<<1|0);h=(h|0)%4|0;if((h|0)>0)m=+(h+-1|0)*.16666666666666666+m;An(Tb,19645,15);k=ff(p,ic,Tb)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[Tb>>2];c[j+4>>2]=c[Tb+4>>2];c[j+8>>2]=c[Tb+8>>2];c[Tb>>2]=0;c[Tb+4>>2]=0;c[Tb+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[p>>2]>>2]|0;if(!j)j=h;else{c[p>>2]=j;j=c[k>>2]|0}wc(c[d+52>>2]|0,j);gc=d+56|0;c[gc>>2]=(c[gc>>2]|0)+1}o=h+28|0;h=c[hc>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=175;break}else h=j}else{if((j|0)>=(l|0)){Ub=181;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=179;break}else h=k}}if((Ub|0)==175){c[ic>>2]=h;Ub=182;break}else if((Ub|0)==179){c[ic>>2]=h;Ub=182;break}else if((Ub|0)==181){c[ic>>2]=h;if(!h){j=ic;Ub=182;break}else{k=h;break}}}else{c[ic>>2]=hc;j=hc;h=hc;Ub=182}while(0);if((Ub|0)==182){k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[b>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1}yh(Qb,m);yh(Rb,+(~~(m*2.5+.5)|0)*.4000000059604645);mf(Sb,Qb,Rb,c[U>>2]|0);h=k+24|0;j=c[h>>2]|0;if(j>>>0<(c[k+28>>2]|0)>>>0){a[j>>0]=a[Sb>>0]|0;c[j+4>>2]=c[Sb+4>>2];c[j+8>>2]=c[Sb+8>>2];a[j+12>>0]=a[Sb+12>>0]|0;c[j+16>>2]=c[Sb+16>>2];c[j+20>>2]=c[Sb+20>>2];gc=j+24|0;fc=Sb+24|0;c[gc>>2]=0;ec=j+28|0;c[ec>>2]=0;c[j+32>>2]=0;c[gc>>2]=c[fc>>2];gc=Sb+28|0;c[ec>>2]=c[gc>>2];ec=Sb+32|0;c[j+32>>2]=c[ec>>2];c[ec>>2]=0;c[gc>>2]=0;c[fc>>2]=0;fc=j+36|0;gc=Sb+36|0;c[fc>>2]=c[gc>>2];c[fc+4>>2]=c[gc+4>>2];c[fc+8>>2]=c[gc+8>>2];c[gc>>2]=0;c[gc+4>>2]=0;c[gc+8>>2]=0;c[h>>2]=(c[h>>2]|0)+48;h=gc}else{jf(k+20|0,Sb);h=Sb+36|0}Dn(h);k=c[Sb+24>>2]|0;l=k;if(k){h=Sb+28|0;j=c[h>>2]|0;if((j|0)!=(k|0))c[h>>2]=j+(~((j+-4-l|0)>>>2)<<2);ck(k)}Dn(Tb);h=c[U>>2]|0}if((h|0)>=20){jc=c[lc>>2]|0;kc=d+40|0;c[kc>>2]=jc;lc=lc+4|0;lc=c[lc>>2]|0;d=d+44|0;c[d>>2]=lc;d=c[U>>2]|0;d=d+1|0;c[U>>2]=d;i=mc;return}An(Yb,20023,8);k=d+48|0;l=ff(k,ic,Yb)|0;h=c[l>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[Yb>>2];c[j+4>>2]=c[Yb+4>>2];c[j+8>>2]=c[Yb+8>>2];c[Yb>>2]=0;c[Yb+4>>2]=0;c[Yb+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[l>>2]=h;j=c[c[k>>2]>>2]|0;if(!j)j=h;else{c[k>>2]=j;j=c[l>>2]|0}wc(c[d+52>>2]|0,j);gc=d+56|0;c[gc>>2]=(c[gc>>2]|0)+1}o=h+28|0;k=c[hc>>2]|0;do if(k){l=c[o>>2]|0;while(1){h=c[k+16>>2]|0;if((l|0)<(h|0)){h=c[k>>2]|0;if(!h){j=k;h=k;Ub=202;break}else k=h}else{if((h|0)>=(l|0)){Ub=208;break}h=k+4|0;j=c[h>>2]|0;if(!j){Ub=206;break}else k=j}}if((Ub|0)==202){c[ic>>2]=h;Ub=209;break}else if((Ub|0)==206){c[ic>>2]=k;j=h;h=k;Ub=209;break}else if((Ub|0)==208){c[ic>>2]=k;if(!k){j=ic;h=k;Ub=209;break}else break}}else{c[ic>>2]=hc;j=hc;h=hc;Ub=209}while(0);if((Ub|0)==209){k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[b>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1}c[Vb>>2]=c[e>>2];c[Vb+4>>2]=c[Wb>>2];nf(Xb,Vb,c[U>>2]|0,20);h=k+24|0;j=c[h>>2]|0;if(j>>>0<(c[k+28>>2]|0)>>>0){a[j>>0]=a[Xb>>0]|0;c[j+4>>2]=c[Xb+4>>2];c[j+8>>2]=c[Xb+8>>2];a[j+12>>0]=a[Xb+12>>0]|0;c[j+16>>2]=c[Xb+16>>2];c[j+20>>2]=c[Xb+20>>2];kc=j+24|0;jc=Xb+24|0;c[kc>>2]=0;b=j+28|0;c[b>>2]=0;c[j+32>>2]=0;c[kc>>2]=c[jc>>2];kc=Xb+28|0;c[b>>2]=c[kc>>2];b=Xb+32|0;c[j+32>>2]=c[b>>2];c[b>>2]=0;c[kc>>2]=0;c[jc>>2]=0;jc=j+36|0;kc=Xb+36|0;c[jc>>2]=c[kc>>2];c[jc+4>>2]=c[kc+4>>2];c[jc+8>>2]=c[kc+8>>2];c[kc>>2]=0;c[kc+4>>2]=0;c[kc+8>>2]=0;c[h>>2]=(c[h>>2]|0)+48;h=kc}else{jf(k+20|0,Xb);h=Xb+36|0}Dn(h);k=c[Xb+24>>2]|0;l=k;if(k){h=Xb+28|0;j=c[h>>2]|0;if((j|0)!=(k|0))c[h>>2]=j+(~((j+-4-l|0)>>>2)<<2);ck(k)}Dn(Yb);jc=c[lc>>2]|0;kc=d+40|0;c[kc>>2]=jc;lc=lc+4|0;lc=c[lc>>2]|0;d=d+44|0;c[d>>2]=lc;d=c[U>>2]|0;d=d+1|0;c[U>>2]=d;i=mc;return}h=(h|0)>5?5:h;T=d+48|0;if((h|0)<10){L=d+52|0;M=d+56|0;N=hc;q=Kb+4|0;r=Kb+8|0;s=Kb+12|0;t=Kb+16|0;u=Kb+20|0;v=Kb+24|0;w=Kb+28|0;x=Kb+32|0;y=Kb+36|0;z=Kb+24|0;B=Nb+4|0;C=Nb+8|0;D=Nb+12|0;E=Nb+16|0;F=Nb+20|0;G=Nb+24|0;H=Nb+28|0;I=Nb+32|0;J=Nb+36|0;K=Nb+24|0;do{An(Jb,19536,9);l=ff(T,ic,Jb)|0;j=c[l>>2]|0;if(!j){j=ak(32)|0;k=j+16|0;c[k>>2]=c[Jb>>2];c[k+4>>2]=c[Jb+4>>2];c[k+8>>2]=c[Jb+8>>2];c[Jb>>2]=0;c[Jb+4>>2]=0;c[Jb+8>>2]=0;c[j+28>>2]=0;k=c[ic>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=k;c[l>>2]=j;k=c[c[T>>2]>>2]|0;if(!k)k=j;else{c[T>>2]=k;k=c[l>>2]|0}wc(c[L>>2]|0,k);c[M>>2]=(c[M>>2]|0)+1}p=j+28|0;j=c[hc>>2]|0;do if(j){o=c[p>>2]|0;while(1){k=c[j+16>>2]|0;if((o|0)<(k|0)){k=c[j>>2]|0;if(!k){k=j;Ub=232;break}else j=k}else{if((k|0)>=(o|0)){Ub=238;break}k=j+4|0;l=c[k>>2]|0;if(!l){Ub=236;break}else j=l}}if((Ub|0)==232){c[ic>>2]=j;Ub=239;break}else if((Ub|0)==236){c[ic>>2]=j;Ub=239;break}else if((Ub|0)==238){Ub=0;c[ic>>2]=j;if(!j){k=ic;Ub=239;break}else break}}else{c[ic>>2]=hc;k=hc;j=N;Ub=239}while(0);if((Ub|0)==239){l=ak(32)|0;c[l+16>>2]=c[p>>2];c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=j;c[k>>2]=l;j=c[c[b>>2]>>2]|0;if(!j)j=l;else{c[b>>2]=j;j=c[k>>2]|0}wc(c[jc>>2]|0,j);c[kc>>2]=(c[kc>>2]|0)+1;j=l}yh(Lb,+(h|0)*.4);lf(Kb,Lb,h,10);k=j+24|0;l=c[k>>2]|0;if(l>>>0<(c[j+28>>2]|0)>>>0){a[l>>0]=a[Kb>>0]|0;c[l+4>>2]=c[q>>2];c[l+8>>2]=c[r>>2];a[l+12>>0]=a[s>>0]|0;c[l+16>>2]=c[t>>2];c[l+20>>2]=c[u>>2];Xb=l+24|0;c[Xb>>2]=0;Yb=l+28|0;c[Yb>>2]=0;c[l+32>>2]=0;c[Xb>>2]=c[v>>2];c[Yb>>2]=c[w>>2];c[l+32>>2]=c[x>>2];c[x>>2]=0;c[w>>2]=0;c[v>>2]=0;Yb=l+36|0;c[Yb>>2]=c[y>>2];c[Yb+4>>2]=c[y+4>>2];c[Yb+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[k>>2]=(c[k>>2]|0)+48}else jf(j+20|0,Kb);Dn(y);j=c[z>>2]|0;k=j;if(j){l=c[w>>2]|0;if((l|0)!=(j|0))c[w>>2]=l+(~((l+-4-k|0)>>>2)<<2);ck(j)}Dn(Jb);m=+(((h|0)/4|0)<<1|0);j=(h|0)%4|0;if((j|0)>0)m=+(j+-1|0)*.16666666666666666+m;An(Mb,19645,15);l=ff(T,ic,Mb)|0;j=c[l>>2]|0;if(!j){j=ak(32)|0;k=j+16|0;c[k>>2]=c[Mb>>2];c[k+4>>2]=c[Mb+4>>2];c[k+8>>2]=c[Mb+8>>2];c[Mb>>2]=0;c[Mb+4>>2]=0;c[Mb+8>>2]=0;c[j+28>>2]=0;k=c[ic>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=k;c[l>>2]=j;k=c[c[T>>2]>>2]|0;if(!k)k=j;else{c[T>>2]=k;k=c[l>>2]|0}wc(c[L>>2]|0,k);c[M>>2]=(c[M>>2]|0)+1}p=j+28|0;j=c[hc>>2]|0;do if(j){o=c[p>>2]|0;while(1){k=c[j+16>>2]|0;if((o|0)<(k|0)){k=c[j>>2]|0;if(!k){k=j;Ub=259;break}else j=k}else{if((k|0)>=(o|0)){Ub=265;break}k=j+4|0;l=c[k>>2]|0;if(!l){Ub=263;break}else j=l}}if((Ub|0)==259){c[ic>>2]=j;Ub=266;break}else if((Ub|0)==263){c[ic>>2]=j;Ub=266;break}else if((Ub|0)==265){Ub=0;c[ic>>2]=j;if(!j){k=ic;Ub=266;break}else{l=j;break}}}else{c[ic>>2]=hc;k=hc;j=N;Ub=266}while(0);if((Ub|0)==266){l=ak(32)|0;c[l+16>>2]=c[p>>2];c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=j;c[k>>2]=l;j=c[c[b>>2]>>2]|0;if(!j)j=l;else{c[b>>2]=j;j=c[k>>2]|0}wc(c[jc>>2]|0,j);c[kc>>2]=(c[kc>>2]|0)+1}yh(Ob,m);yh(Pb,+(~~(m*2.5+.5)|0)*.4000000059604645);mf(Nb,Ob,Pb,h);j=l+24|0;k=c[j>>2]|0;if(k>>>0<(c[l+28>>2]|0)>>>0){a[k>>0]=a[Nb>>0]|0;c[k+4>>2]=c[B>>2];c[k+8>>2]=c[C>>2];a[k+12>>0]=a[D>>0]|0;c[k+16>>2]=c[E>>2];c[k+20>>2]=c[F>>2];Xb=k+24|0;c[Xb>>2]=0;Yb=k+28|0;c[Yb>>2]=0;c[k+32>>2]=0;c[Xb>>2]=c[G>>2];c[Yb>>2]=c[H>>2];c[k+32>>2]=c[I>>2];c[I>>2]=0;c[H>>2]=0;c[G>>2]=0;Yb=k+36|0;c[Yb>>2]=c[J>>2];c[Yb+4>>2]=c[J+4>>2];c[Yb+8>>2]=c[J+8>>2];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[j>>2]=(c[j>>2]|0)+48}else jf(l+20|0,Nb);Dn(J);j=c[K>>2]|0;k=j;if(j){l=c[H>>2]|0;if((l|0)!=(j|0))c[H>>2]=l+(~((l+-4-k|0)>>>2)<<2);ck(j)}Dn(Mb);h=h+1|0}while((h|0)<10);S=T;P=T;Q=hc;R=hc;O=b}else{S=T;L=d+52|0;M=d+56|0;P=T;Q=hc;R=hc;N=hc;O=b}p=bc+4|0;q=bc+8|0;r=bc+12|0;s=bc+16|0;t=bc+20|0;u=bc+24|0;v=bc+28|0;w=bc+32|0;x=bc+36|0;y=bc+24|0;z=_b+4|0;B=_b+8|0;C=_b+12|0;D=_b+16|0;E=_b+20|0;F=_b+24|0;G=_b+28|0;H=_b+32|0;I=_b+36|0;J=_b+24|0;K=0;do{if((a[144]|0)==0?(Fa(144)|0)!=0:0){c[886]=0;c[887]=0;c[888]=0;Xb=ak(40)|0;c[886]=Xb;Yb=Xb+40|0;c[888]=Yb;c[Xb>>2]=1075419546;c[Xb+4>>2]=1077516698;c[Xb+8>>2]=1078523331;c[Xb+12>>2]=1080033280;c[Xb+16>>2]=1082130432;c[Xb+20>>2]=1082969293;c[Xb+24>>2]=1081711002;c[Xb+28>>2]=1082969293;c[Xb+32>>2]=1083808154;c[Xb+36>>2]=1084227584;c[887]=Yb;ib(184,3544,n|0)|0;Ma(144)}A=+g[(c[886]|0)+(K<<2)>>2];m=+(~~(A*2.5+.5)|0)*.4000000059604645+1.0e-05;switch(K|0){case 4:case 5:case 8:{An(Zb,19796,15);k=ff(T,ic,Zb)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[Zb>>2];c[j+4>>2]=c[Zb+4>>2];c[j+8>>2]=c[Zb+8>>2];c[Zb>>2]=0;c[Zb+4>>2]=0;c[Zb+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[S>>2]>>2]|0;if(!j)j=h;else{c[P>>2]=j;j=c[k>>2]|0}wc(c[L>>2]|0,j);c[M>>2]=(c[M>>2]|0)+1}o=h+28|0;h=c[Q>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=290;break}else h=j}else{if((j|0)>=(l|0)){Ub=296;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=294;break}else h=k}}if((Ub|0)==290){c[ic>>2]=h;Ub=297;break}else if((Ub|0)==294){c[ic>>2]=h;Ub=297;break}else if((Ub|0)==296){Ub=0;c[ic>>2]=h;if(!h){j=ic;Ub=297;break}else{k=h;break}}}else{c[ic>>2]=hc;j=R;h=N;Ub=297}while(0);if((Ub|0)==297){k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[O>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1}yh($b,A);lf(_b,$b,K,10);h=k+24|0;j=c[h>>2]|0;if(j>>>0<(c[k+28>>2]|0)>>>0){a[j>>0]=a[_b>>0]|0;c[j+4>>2]=c[z>>2];c[j+8>>2]=c[B>>2];a[j+12>>0]=a[C>>0]|0;c[j+16>>2]=c[D>>2];c[j+20>>2]=c[E>>2];Xb=j+24|0;c[Xb>>2]=0;Yb=j+28|0;c[Yb>>2]=0;c[j+32>>2]=0;c[Xb>>2]=c[F>>2];c[Yb>>2]=c[G>>2];c[j+32>>2]=c[H>>2];c[H>>2]=0;c[G>>2]=0;c[F>>2]=0;Yb=j+36|0;c[Yb>>2]=c[I>>2];c[Yb+4>>2]=c[I+4>>2];c[Yb+8>>2]=c[I+8>>2];c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[h>>2]=(c[h>>2]|0)+48}else jf(k+20|0,_b);Dn(I);h=c[J>>2]|0;j=h;if(h){k=c[G>>2]|0;if((k|0)!=(h|0))c[G>>2]=k+(~((k+-4-j|0)>>>2)<<2);ck(h)}Dn(Zb);break}default:{An(ac,19796,15);k=ff(T,ic,ac)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[ac>>2];c[j+4>>2]=c[ac+4>>2];c[j+8>>2]=c[ac+8>>2];c[ac>>2]=0;c[ac+4>>2]=0;c[ac+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[S>>2]>>2]|0;if(!j)j=h;else{c[P>>2]=j;j=c[k>>2]|0}wc(c[L>>2]|0,j);c[M>>2]=(c[M>>2]|0)+1}o=h+28|0;h=c[Q>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=316;break}else h=j}else{if((j|0)>=(l|0)){Ub=322;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=320;break}else h=k}}if((Ub|0)==316){c[ic>>2]=h;Ub=323;break}else if((Ub|0)==320){c[ic>>2]=h;Ub=323;break}else if((Ub|0)==322){Ub=0;c[ic>>2]=h;if(!h){j=ic;Ub=323;break}else{k=h;break}}}else{c[ic>>2]=hc;j=R;h=N;Ub=323}while(0);if((Ub|0)==323){k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[O>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1}yh(cc,A);yh(dc,m);mf(bc,cc,dc,K);h=k+24|0;j=c[h>>2]|0;if(j>>>0<(c[k+28>>2]|0)>>>0){a[j>>0]=a[bc>>0]|0;c[j+4>>2]=c[p>>2];c[j+8>>2]=c[q>>2];a[j+12>>0]=a[r>>0]|0;c[j+16>>2]=c[s>>2];c[j+20>>2]=c[t>>2];Xb=j+24|0;c[Xb>>2]=0;Yb=j+28|0;c[Yb>>2]=0;c[j+32>>2]=0;c[Xb>>2]=c[u>>2];c[Yb>>2]=c[v>>2];c[j+32>>2]=c[w>>2];c[w>>2]=0;c[v>>2]=0;c[u>>2]=0;Yb=j+36|0;c[Yb>>2]=c[x>>2];c[Yb+4>>2]=c[x+4>>2];c[Yb+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[h>>2]=(c[h>>2]|0)+48}else jf(k+20|0,bc);Dn(x);h=c[y>>2]|0;j=h;if(h){k=c[v>>2]|0;if((k|0)!=(h|0))c[v>>2]=k+(~((k+-4-j|0)>>>2)<<2);ck(h)}Dn(ac)}}K=K+1|0}while((K|0)<10);p=fc+4|0;q=fc+8|0;r=fc+12|0;s=fc+16|0;t=fc+20|0;u=fc+24|0;v=fc+28|0;w=fc+32|0;x=fc+36|0;y=fc+24|0;z=0;do{An(ec,20119,8);k=ff(T,ic,ec)|0;h=c[k>>2]|0;if(!h){h=ak(32)|0;j=h+16|0;c[j>>2]=c[ec>>2];c[j+4>>2]=c[ec+4>>2];c[j+8>>2]=c[ec+8>>2];c[ec>>2]=0;c[ec+4>>2]=0;c[ec+8>>2]=0;c[h+28>>2]=0;j=c[ic>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=j;c[k>>2]=h;j=c[c[S>>2]>>2]|0;if(!j)j=h;else{c[P>>2]=j;j=c[k>>2]|0}wc(c[L>>2]|0,j);c[M>>2]=(c[M>>2]|0)+1}o=h+28|0;h=c[Q>>2]|0;do if(h){l=c[o>>2]|0;while(1){j=c[h+16>>2]|0;if((l|0)<(j|0)){j=c[h>>2]|0;if(!j){j=h;Ub=343;break}else h=j}else{if((j|0)>=(l|0)){Ub=349;break}j=h+4|0;k=c[j>>2]|0;if(!k){Ub=347;break}else h=k}}if((Ub|0)==343){c[ic>>2]=h;Ub=350;break}else if((Ub|0)==347){c[ic>>2]=h;Ub=350;break}else if((Ub|0)==349){Ub=0;c[ic>>2]=h;if(!h){j=ic;Ub=350;break}else break}}else{c[ic>>2]=hc;j=R;h=N;Ub=350}while(0);if((Ub|0)==350){k=ak(32)|0;c[k+16>>2]=c[o>>2];c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=h;c[j>>2]=k;h=c[c[b>>2]>>2]|0;if(!h)h=k;else{c[O>>2]=h;h=c[j>>2]|0}wc(c[jc>>2]|0,h);c[kc>>2]=(c[kc>>2]|0)+1;h=k}yh(gc,+(z|0)*.4);nf(fc,gc,z,10);j=h+24|0;k=c[j>>2]|0;if(k>>>0<(c[h+28>>2]|0)>>>0){a[k>>0]=a[fc>>0]|0;c[k+4>>2]=c[p>>2];c[k+8>>2]=c[q>>2];a[k+12>>0]=a[r>>0]|0;c[k+16>>2]=c[s>>2];c[k+20>>2]=c[t>>2];cc=k+24|0;c[cc>>2]=0;dc=k+28|0;c[dc>>2]=0;c[k+32>>2]=0;c[cc>>2]=c[u>>2];c[dc>>2]=c[v>>2];c[k+32>>2]=c[w>>2];c[w>>2]=0;c[v>>2]=0;c[u>>2]=0;dc=k+36|0;c[dc>>2]=c[x>>2];c[dc+4>>2]=c[x+4>>2];c[dc+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[j>>2]=(c[j>>2]|0)+48}else jf(h+20|0,fc);Dn(x);h=c[y>>2]|0;j=h;if(h){k=c[v>>2]|0;if((k|0)!=(h|0))c[v>>2]=k+(~((k+-4-j|0)>>>2)<<2);ck(h)}Dn(ec);z=z+1|0}while((z|0)<10);jc=c[lc>>2]|0;kc=d+40|0;c[kc>>2]=jc;lc=lc+4|0;lc=c[lc>>2]|0;d=d+44|0;c[d>>2]=lc;d=c[U>>2]|0;d=d+1|0;c[U>>2]=d;i=mc;return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var j=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;da=i;i=i+160|0;X=da+156|0;ca=da+144|0;j=da+136|0;ba=da+88|0;S=da+80|0;Q=da+68|0;N=da+56|0;R=da+44|0;P=da+32|0;T=da+28|0;V=da+16|0;W=da+12|0;aa=da;if(!(a[d+9>>0]|0)){c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;i=da;return}c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];We(ca,d,j,0);a[ba>>0]=0;Y=ba+4|0;c[Y>>2]=0;Z=ba+8|0;c[Z>>2]=0;_=ba+12|0;a[_>>0]=0;$=ba+16|0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;c[$+12>>2]=0;c[$+16>>2]=0;c[$+20>>2]=0;c[$+24>>2]=0;c[$+28>>2]=0;u=d+28|0;if((c[u>>2]|0)>0){v=d+8|0;w=d+36|0;x=ba+28|0;y=ba+32|0;z=ba+24|0;A=Q+4|0;B=Q+8|0;C=N+4|0;D=N+8|0;E=R+4|0;F=R+8|0;G=P+4|0;H=P+8|0;I=P+8|0;J=R+8|0;K=N+8|0;L=Q+8|0;M=0;do{do if(!(a[v>>0]|0)){m=c[e+(M<<2)>>2]|0;j=c[m>>2]|0;c[S>>2]=j;o=c[w>>2]|0;if((o|0)>0){l=j;n=(c[k>>2]=j,+g[k>>2]);j=0;do{if(+O(+(+g[m+(j<<2)>>2]))>=9.999999974752427e-07){n=n+1.0;g[S>>2]=n;l=(g[k>>2]=n,c[k>>2]|0)}j=j+1|0}while((j|0)<(o|0))}else l=j;j=c[x>>2]|0;if((j|0)==(c[y>>2]|0)){kf(z,S);break}else{c[j>>2]=l;c[x>>2]=j+4;break}}else{j=c[w>>2]|0;c[Q>>2]=0;c[A>>2]=0;c[B>>2]=0;if(j){if(j>>>0>536870911)_j(Q);s=ak(j<<3)|0;c[Q>>2]=s;t=s+(j<<3)|0;c[L>>2]=t;cx(s|0,0,j<<3|0)|0;c[A>>2]=t;j=c[w>>2]|0;c[N>>2]=0;c[C>>2]=0;c[D>>2]=0;if(j){if(j>>>0>536870911)_j(N);s=ak(j<<3)|0;c[N>>2]=s;t=s+(j<<3)|0;c[K>>2]=t;cx(s|0,0,j<<3|0)|0;c[C>>2]=t;j=c[w>>2]|0;c[R>>2]=0;c[E>>2]=0;c[F>>2]=0;if(j){if(j>>>0>536870911)_j(R);s=ak(j<<3)|0;c[R>>2]=s;t=s+(j<<3)|0;c[J>>2]=t;cx(s|0,0,j<<3|0)|0;c[E>>2]=t;j=c[w>>2]|0;c[P>>2]=0;c[G>>2]=0;c[H>>2]=0;if(j){if(j>>>0>536870911)_j(P);l=ak(j<<3)|0;c[P>>2]=l;t=l+(j<<3)|0;c[I>>2]=t;cx(l|0,0,j<<3|0)|0;c[G>>2]=t;j=c[w>>2]|0;if((j|0)<-1){o=c[Q>>2]|0;m=c[N>>2]|0}else U=31}else{l=0;j=0;U=31}}else U=26}else U=22}else{c[N>>2]=0;c[C>>2]=0;c[D>>2]=0;U=22}if((U|0)==22){c[R>>2]=0;c[E>>2]=0;c[F>>2]=0;U=26}if((U|0)==26){c[P>>2]=0;c[G>>2]=0;c[H>>2]=0;l=0;j=0;U=31}if((U|0)==31){U=0;q=c[e+(M<<2)>>2]|0;o=c[Q>>2]|0;m=c[N>>2]|0;r=(j|0)/2|0;t=0;while(1){ea=t<<1;s=o+(t<<3)|0;h[s>>3]=+g[q+(ea<<2)>>2];p=m+(t<<3)|0;h[p>>3]=+g[q+((ea|1)<<2)>>2];if((t|0)>0){ea=j-t|0;h[o+(ea<<3)>>3]=+h[s>>3];h[m+(ea<<3)>>3]=-+h[p>>3]}if((t|0)<(r|0))t=t+1|0;else break}}Dh(j,o,m,c[R>>2]|0,l);g[T>>2]=0.0;j=c[w>>2]|0;m=c[R>>2]|0;if((j|0)>0){n=0.0;l=0;do{if(+O(+(+h[m+(l<<3)>>3]))>=9.999999974752427e-07){n=n+1.0;g[T>>2]=n}l=l+1|0}while((l|0)<(j|0))}else n=0.0;n=n+ +h[m>>3];g[T>>2]=n;j=c[x>>2]|0;if((j|0)==(c[y>>2]|0))kf(z,T);else{g[j>>2]=n;c[x>>2]=j+4}j=c[P>>2]|0;l=j;if(j){m=c[G>>2]|0;if((m|0)!=(j|0))c[G>>2]=m+(~((m+-8-l|0)>>>3)<<3);ck(j)}j=c[R>>2]|0;l=j;if(j){m=c[E>>2]|0;if((m|0)!=(j|0))c[E>>2]=m+(~((m+-8-l|0)>>>3)<<3);ck(j)}j=c[N>>2]|0;l=j;if(j){m=c[C>>2]|0;if((m|0)!=(j|0))c[C>>2]=m+(~((m+-8-l|0)>>>3)<<3);ck(j)}j=c[Q>>2]|0;l=j;if(j){m=c[A>>2]|0;if((m|0)!=(j|0))c[A>>2]=m+(~((m+-8-l|0)>>>3)<<3);ck(j)}}while(0);M=M+1|0}while((M|0)<(c[u>>2]|0))}r=d+48|0;An(V,20327,13);m=ff(r,X,V)|0;j=c[m>>2]|0;if(!j){j=ak(32)|0;l=j+16|0;c[l>>2]=c[V>>2];c[l+4>>2]=c[V+4>>2];c[l+8>>2]=c[V+8>>2];c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[j+28>>2]=0;l=c[X>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=l;c[m>>2]=j;l=c[c[r>>2]>>2]|0;if(!l)l=j;else{c[r>>2]=l;l=c[m>>2]|0}wc(c[d+52>>2]|0,l);ea=d+56|0;c[ea>>2]=(c[ea>>2]|0)+1}p=j+28|0;t=ca+4|0;j=c[t>>2]|0;do if(j){o=c[p>>2]|0;while(1){l=c[j+16>>2]|0;if((o|0)<(l|0)){l=c[j>>2]|0;if(!l){l=j;U=67;break}else j=l}else{if((l|0)>=(o|0)){U=73;break}l=j+4|0;m=c[l>>2]|0;if(!m){U=71;break}else j=m}}if((U|0)==67){c[X>>2]=j;U=74;break}else if((U|0)==71){c[X>>2]=j;U=74;break}else if((U|0)==73){c[X>>2]=j;if(!j){l=X;U=74;break}else break}}else{c[X>>2]=t;l=t;j=t;U=74}while(0);if((U|0)==74){m=ak(32)|0;c[m+16>>2]=c[p>>2];c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=j;c[l>>2]=m;j=c[c[ca>>2]>>2]|0;if(!j)j=m;else{c[ca>>2]=j;j=c[l>>2]|0}wc(c[ca+4>>2]|0,j);j=ca+8|0;c[j>>2]=(c[j>>2]|0)+1;j=m}l=j+24|0;m=c[l>>2]|0;if((m|0)==(c[j+28>>2]|0)){qf(j+20|0,ba);q=ba+24|0}else{a[m>>0]=a[ba>>0]|0;c[m+4>>2]=c[Y>>2];c[m+8>>2]=c[Z>>2];a[m+12>>0]=a[_>>0]|0;c[m+16>>2]=c[$>>2];c[m+20>>2]=c[ba+20>>2];q=ba+24|0;Ld(m+24|0,q);zn(m+36|0,ba+36|0);c[l>>2]=(c[l>>2]|0)+48}Dn(V);j=c[ba+24>>2]|0;s=ba+28|0;l=c[s>>2]|0;if((l|0)!=(j|0))c[s>>2]=l+(~((l+-4-j|0)>>>2)<<2);n=+(Bh(f,~~+g[d+4>>2]>>>0)|0);g[W>>2]=n;j=c[s>>2]|0;if((j|0)==(c[ba+32>>2]|0))kf(q,W);else{g[j>>2]=n;c[s>>2]=j+4}An(aa,20716,15);m=ff(r,X,aa)|0;j=c[m>>2]|0;if(!j){j=ak(32)|0;l=j+16|0;c[l>>2]=c[aa>>2];c[l+4>>2]=c[aa+4>>2];c[l+8>>2]=c[aa+8>>2];c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[j+28>>2]=0;l=c[X>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=l;c[m>>2]=j;l=c[c[r>>2]>>2]|0;if(!l)l=j;else{c[r>>2]=l;l=c[m>>2]|0}wc(c[d+52>>2]|0,l);ea=d+56|0;c[ea>>2]=(c[ea>>2]|0)+1}p=j+28|0;j=c[t>>2]|0;do if(j){o=c[p>>2]|0;while(1){l=c[j+16>>2]|0;if((o|0)<(l|0)){l=c[j>>2]|0;if(!l){l=j;U=93;break}else j=l}else{if((l|0)>=(o|0)){U=99;break}l=j+4|0;m=c[l>>2]|0;if(!m){U=97;break}else j=m}}if((U|0)==93){c[X>>2]=j;U=100;break}else if((U|0)==97){c[X>>2]=j;U=100;break}else if((U|0)==99){c[X>>2]=j;if(!j){l=X;U=100;break}else{m=j;break}}}else{c[X>>2]=t;l=t;j=t;U=100}while(0);if((U|0)==100){m=ak(32)|0;c[m+16>>2]=c[p>>2];c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=j;c[l>>2]=m;j=c[c[ca>>2]>>2]|0;if(!j)j=m;else{c[ca>>2]=j;j=c[l>>2]|0}wc(c[ca+4>>2]|0,j);ea=ca+8|0;c[ea>>2]=(c[ea>>2]|0)+1}j=m+24|0;l=c[j>>2]|0;if((l|0)==(c[m+28>>2]|0))qf(m+20|0,ba);else{a[l>>0]=a[ba>>0]|0;c[l+4>>2]=c[Y>>2];c[l+8>>2]=c[Z>>2];a[l+12>>0]=a[_>>0]|0;c[l+16>>2]=c[$>>2];c[l+20>>2]=c[ba+20>>2];Ld(l+24|0,q);zn(l+36|0,ba+36|0);c[j>>2]=(c[j>>2]|0)+48}Dn(aa);c[b>>2]=c[ca>>2];j=c[ca+4>>2]|0;c[b+4>>2]=j;l=ca+8|0;ea=c[l>>2]|0;c[b+8>>2]=ea;m=b+4|0;if(!ea)c[b>>2]=m;else{c[j+8>>2]=m;c[ca>>2]=t;c[t>>2]=0;c[l>>2]=0}Dn(ba+36|0);j=c[ba+24>>2]|0;l=j;if(j){m=c[s>>2]|0;if((m|0)!=(j|0))c[s>>2]=m+(~((m+-4-l|0)>>>2)<<2);ck(j)}pf(ca,c[t>>2]|0);i=da;return}function Ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+8|0;e=h;if(!(a[d+9>>0]|0)){c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;i=h;return}c[e>>2]=c[d+40>>2];c[e+4>>2]=c[d+44>>2];We(g,d,e,1);c[b>>2]=c[g>>2];e=c[g+4>>2]|0;c[b+4>>2]=e;d=g+8|0;j=c[d>>2]|0;c[b+8>>2]=j;f=b+4|0;if(!j)c[b>>2]=f;else{c[e+8>>2]=f;e=g+4|0;c[g>>2]=e;c[e>>2]=0;c[d>>2]=0;e=0}pf(g,e);i=h;return}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;e=c[a>>2]|0;d=e;g=((c[o>>2]|0)-d>>3)+1|0;if(g>>>0>536870911){_j(a);e=c[a>>2]|0;d=e}n=a+8|0;m=e;f=(c[n>>2]|0)-m|0;if(f>>3>>>0<268435455){f=f>>2;f=f>>>0<g>>>0?g:f;g=c[o>>2]|0;h=g-m>>3;if(!f){i=0;l=0}else j=6}else{g=c[o>>2]|0;f=536870911;h=g-m>>3;j=6}if((j|0)==6){i=f;l=ak(f<<3)|0}f=l+(h<<3)|0;k=l+(i<<3)|0;c[f>>2]=c[b>>2];c[l+(h<<3)+4>>2]=c[b+4>>2];j=l+(h+1<<3)|0;if((g|0)==(e|0)){e=f;d=m}else{i=g+-8-m|0;while(1){b=g;g=g+-8|0;c[f+-8>>2]=c[g>>2];c[f+-4>>2]=c[b+-4>>2];if((g|0)==(e|0))break;else f=f+-8|0}e=l+(h+~(i>>>3)<<3)|0}c[a>>2]=e;c[o>>2]=j;c[n>>2]=k;if(!d)return;ck(d);return}function _e(a,b){a=a|0;b=b|0;if(!b)return;else{_e(a,c[b>>2]|0);_e(a,c[b+4>>2]|0);Dn(b+16|0);ck(b);return}}function $e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;n=o;m=a+4|0;d=c[a>>2]|0;f=(((c[m>>2]|0)-d|0)/80|0)+1|0;if(f>>>0>53687091){_j(a);d=c[a>>2]|0}l=a+8|0;e=((c[l>>2]|0)-d|0)/80|0;if(e>>>0<26843545){g=e<<1;g=g>>>0<f>>>0?f:g}else g=53687091;e=((c[m>>2]|0)-d|0)/80|0;c[n+12>>2]=0;c[n+16>>2]=a+8;if(!g)f=0;else f=ak(g*80|0)|0;c[n>>2]=f;d=f+(e*80|0)|0;h=n+8|0;c[h>>2]=d;j=n+4|0;c[j>>2]=d;k=n+12|0;c[k>>2]=f+(g*80|0);Gf(d,b);c[h>>2]=f+((e+1|0)*80|0);f=c[a>>2]|0;e=c[m>>2]|0;if((e|0)==(f|0)){g=a;b=f;a=e;f=d;c[g>>2]=f;c[j>>2]=b;b=c[h>>2]|0;c[m>>2]=b;c[h>>2]=a;a=c[l>>2]|0;m=c[k>>2]|0;c[l>>2]=m;c[k>>2]=a;a=c[j>>2]|0;c[n>>2]=a;Hf(n);i=o;return}do{b=d+-80|0;p=e;e=e+-80|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b=d+-68|0;g=p+-68|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=d+-56|0;b=p+-56|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=d+-44|0;g=p+-44|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=d+-32|0;b=p+-32|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[g+16>>2]=c[b+16>>2];g=d+-12|0;b=p+-12|0;c[g>>2]=0;q=d+-8|0;c[q>>2]=0;c[d+-4>>2]=0;c[g>>2]=c[b>>2];g=p+-8|0;c[q>>2]=c[g>>2];p=p+-4|0;c[d+-4>>2]=c[p>>2];c[p>>2]=0;c[g>>2]=0;c[b>>2]=0;d=(c[j>>2]|0)+-80|0;c[j>>2]=d}while((e|0)!=(f|0));g=d;b=a;p=m;a=c[a>>2]|0;q=c[m>>2]|0;m=g;c[b>>2]=m;c[j>>2]=a;a=c[h>>2]|0;c[p>>2]=a;c[h>>2]=q;q=c[l>>2]|0;p=c[k>>2]|0;c[l>>2]=p;c[k>>2]=q;q=c[j>>2]|0;c[n>>2]=q;Hf(n);i=o;return}function af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a>>2]|0;if(!b)return;j=a+4|0;d=c[j>>2]|0;if((d|0)!=(b|0)){do{i=d+-80|0;c[j>>2]=i;h=d+-12|0;e=c[h>>2]|0;if(e){g=d+-8|0;f=c[g>>2]|0;if((f|0)!=(e|0)){do{k=f+-12|0;c[g>>2]=k;Dn(k);f=c[g>>2]|0}while((f|0)!=(e|0));e=c[h>>2]|0}ck(e)}Dn(d+-44|0);Dn(d+-56|0);Dn(d+-68|0);Dn(i);d=c[j>>2]|0}while((d|0)!=(b|0));b=c[a>>2]|0}ck(b);return}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;f=ff(a,e,b)|0;d=c[f>>2]|0;if(d){a=d;a=a+28|0;i=h;return a|0}g=ak(32)|0;zn(g+16|0,b);c[g+28>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}wc(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;i=h;return a|0}function cf(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;zn(b,c);zn(b+12|0,c+12|0);zn(b+24|0,c+24|0);zn(b+36|0,c+36|0);f=c+48|0;h=f;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=f+4|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;e=b+48|0;g=e;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;e=e+4|0;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;fe(b+56|0,c+56|0);e=b+68|0;b=c+68|0;c=e+29|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(c|0));return}function df(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+32|0;p=q;o=b+4|0;f=c[b>>2]|0;h=(((c[o>>2]|0)-f|0)/100|0)+1|0;if(h>>>0>42949672){_j(b);f=c[b>>2]|0}n=b+8|0;g=((c[n>>2]|0)-f|0)/100|0;if(g>>>0<21474836){j=g<<1;j=j>>>0<h>>>0?h:j}else j=42949672;g=((c[o>>2]|0)-f|0)/100|0;c[p+12>>2]=0;c[p+16>>2]=b+8;if(!j)h=0;else h=ak(j*100|0)|0;c[p>>2]=h;f=h+(g*100|0)|0;k=p+8|0;c[k>>2]=f;l=p+4|0;c[l>>2]=f;m=p+12|0;c[m>>2]=h+(j*100|0);cf(f,e);c[k>>2]=h+((g+1|0)*100|0);e=c[b>>2]|0;g=c[o>>2]|0;if((g|0)==(e|0)){h=f;j=b;b=g;c[j>>2]=h;c[l>>2]=e;e=c[k>>2]|0;c[o>>2]=e;c[k>>2]=b;b=c[n>>2]|0;o=c[m>>2]|0;c[n>>2]=o;c[m>>2]=b;b=c[l>>2]|0;c[p>>2]=b;Ff(p);i=q;return}do{t=f+-100|0;h=g;g=g+-100|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;t=f+-88|0;j=h+-88|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;j=f+-76|0;t=h+-76|0;c[j>>2]=c[t>>2];c[j+4>>2]=c[t+4>>2];c[j+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;t=f+-64|0;j=h+-64|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;j=h+-52|0;t=j;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;r=f+-52|0;s=r;a[s>>0]=t;a[s+1>>0]=t>>8;a[s+2>>0]=t>>16;a[s+3>>0]=t>>24;r=r+4|0;a[r>>0]=j;a[r+1>>0]=j>>8;a[r+2>>0]=j>>16;a[r+3>>0]=j>>24;r=f+-44|0;j=h+-44|0;c[r>>2]=0;s=f+-40|0;c[s>>2]=0;c[f+-36>>2]=0;c[r>>2]=c[j>>2];r=h+-40|0;c[s>>2]=c[r>>2];s=h+-36|0;c[f+-36>>2]=c[s>>2];c[s>>2]=0;c[r>>2]=0;c[j>>2]=0;f=f+-32|0;h=h+-32|0;j=f+29|0;do{a[f>>0]=a[h>>0]|0;f=f+1|0;h=h+1|0}while((f|0)<(j|0));f=(c[l>>2]|0)+-100|0;c[l>>2]=f}while((g|0)!=(e|0));j=f;e=b;s=o;r=c[b>>2]|0;t=c[o>>2]|0;b=j;c[e>>2]=b;c[l>>2]=r;r=c[k>>2]|0;c[s>>2]=r;c[k>>2]=t;t=c[n>>2]|0;s=c[m>>2]|0;c[n>>2]=s;c[m>>2]=t;t=c[l>>2]|0;c[p>>2]=t;Ff(p);i=q;return}function ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a>>2]|0;if(!b)return;j=a+4|0;d=c[j>>2]|0;if((d|0)!=(b|0)){do{i=d+-100|0;c[j>>2]=i;h=d+-44|0;e=c[h>>2]|0;if(e){g=d+-40|0;f=c[g>>2]|0;if((f|0)!=(e|0)){do{k=f+-12|0;c[g>>2]=k;Dn(k);f=c[g>>2]|0}while((f|0)!=(e|0));e=c[h>>2]|0}ck(e)}Dn(d+-64|0);Dn(d+-76|0);Dn(d+-88|0);Dn(i);d=c[j>>2]|0}while((d|0)!=(b|0));b=c[a>>2]|0}ck(b);return}function ff(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;d=f;return d|0}j=a[e>>0]|0;i=(j&1)==0;j=i?(j&255)>>>1:c[e+4>>2]|0;i=i?e+1|0:c[e+8>>2]|0;while(1){e=b+16|0;f=a[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:c[b+20>>2]|0;e=g?e+1|0:c[b+24>>2]|0;g=f>>>0<j>>>0;k=mm(i,e,g?f:j)|0;h=j>>>0<f>>>0;if((((k|0)==0?(h?-2147483648:0):k)|0)<0){f=c[b>>2]|0;if(!f){f=b;e=5;break}else b=f}else{k=mm(e,i,h?j:f)|0;if((((k|0)==0?(g?-2147483648:0):k)|0)>=0){e=10;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=9;break}else b=e}}if((e|0)==5){c[d>>2]=b;k=f;return k|0}else if((e|0)==9){c[d>>2]=b;k=f;return k|0}else if((e|0)==10){c[d>>2]=b;k=d;return k|0}return 0}function gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;En(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Hn(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0<g>>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)Zj(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=ak(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)Zj(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=ak(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function jf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;h=b+4|0;e=c[b>>2]|0;g=(((c[h>>2]|0)-e|0)/48|0)+1|0;if(g>>>0>89478485){_j(b);e=c[b>>2]|0}f=((c[b+8>>2]|0)-e|0)/48|0;if(f>>>0<44739242){l=f<<1;g=l>>>0<g>>>0?g:l}else g=89478485;e=((c[h>>2]|0)-e|0)/48|0;c[m+12>>2]=0;c[m+16>>2]=b+8;if(!g)f=0;else f=ak(g*48|0)|0;c[m>>2]=f;h=f+(e*48|0)|0;l=m+8|0;k=m+4|0;c[k>>2]=h;c[m+12>>2]=f+(g*48|0);a[h>>0]=a[d>>0]|0;c[f+(e*48|0)+4>>2]=c[d+4>>2];c[f+(e*48|0)+8>>2]=c[d+8>>2];a[f+(e*48|0)+12>>0]=a[d+12>>0]|0;c[f+(e*48|0)+16>>2]=c[d+16>>2];c[f+(e*48|0)+20>>2]=c[d+20>>2];h=d+24|0;c[f+(e*48|0)+32>>2]=0;c[f+(e*48|0)+24>>2]=c[h>>2];j=d+28|0;c[f+(e*48|0)+28>>2]=c[j>>2];g=d+32|0;c[f+(e*48|0)+32>>2]=c[g>>2];c[g>>2]=0;c[j>>2]=0;c[h>>2]=0;h=f+(e*48|0)+36|0;j=d+36|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[l>>2]=f+((e+1|0)*48|0);tf(b,m);e=c[k>>2]|0;f=c[l>>2]|0;if((f|0)!=(e|0)){g=~(((f+-48-e|0)>>>0)/48|0);h=f;do{Dn(h+-12|0);d=c[h+-24>>2]|0;b=d;if(d){j=h+-20|0;k=c[j>>2]|0;if((k|0)!=(d|0))c[j>>2]=k+(~((k+-4-b|0)>>>2)<<2);ck(d)}h=h+-48|0}while((h|0)!=(e|0));c[l>>2]=f+(g*48|0)}e=c[m>>2]|0;if(!e){i=n;return}ck(e);i=n;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=c[a>>2]|0;e=d;h=((c[l>>2]|0)-e>>2)+1|0;if(h>>>0>1073741823){_j(a);e=c[a>>2]|0;d=e}k=a+8|0;g=d;f=(c[k>>2]|0)-g|0;if(f>>2>>>0<536870911){f=f>>1;f=f>>>0<h>>>0?h:f;h=(c[l>>2]|0)-g|0;g=h>>2;if(!f){j=0;i=0;f=h}else m=6}else{h=(c[l>>2]|0)-g|0;f=1073741823;g=h>>2;m=6}if((m|0)==6){j=f;i=ak(f<<2)|0;f=h}c[i+(g<<2)>>2]=c[b>>2];fx(i|0,d|0,f|0)|0;c[a>>2]=i;c[l>>2]=i+(g+1<<2);c[k>>2]=i+(j<<2);if(!e)return;ck(e);return}function lf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;o=i;i=i+192|0;r=o+176|0;n=o+32|0;j=o+24|0;p=o+12|0;k=o;l=n+64|0;h=n+8|0;c[h>>2]=3372;m=n+12|0;c[n>>2]=3412;c[l>>2]=3432;c[n+4>>2]=0;ko(n+64|0,m);c[n+136>>2]=0;c[n+140>>2]=-1;c[n>>2]=3352;c[n+64>>2]=3392;c[h>>2]=3372;no(m);c[m>>2]=3448;h=n+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+60>>2]=24;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;gf(m,r);Dn(r);r=b+4|0;s=b+16|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;a[b>>0]=0;q=+(e|0)/+(f|0);c[r>>2]=0;c[r+4>>2]=0;a[r+8>>0]=0;g[j>>2]=q;kf(b+24|0,j);j=n+8|0;f=je(fp(je(dp(je(dp(j,e+1|0)|0,21590,4)|0,f)|0,22718,2)|0,q)|0,20909,4)|0;zh(p,d,0);e=a[p>>0]|0;d=(e&1)==0;je(f,d?p+1|0:c[p+8>>2]|0,d?(e&255)>>>1:c[p+4>>2]|0)|0;Dn(p);hf(k,m);e=b+36|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0;Jn(e,0);c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);c[n>>2]=3352;c[l>>2]=3392;c[j>>2]=3372;c[m>>2]=3448;Dn(h);lo(m);fo(l);i=o;return}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0;Jn(e,0);c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);c[n>>2]=3352;c[l>>2]=3392;c[j>>2]=3372;c[m>>2]=3448;Dn(h);lo(m);fo(l);i=o;return}}function mf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;o=i;i=i+208|0;r=o+184|0;n=o+40|0;j=o+36|0;p=o+24|0;q=o+12|0;k=o;l=n+64|0;h=n+8|0;c[h>>2]=3372;m=n+12|0;c[n>>2]=3412;c[l>>2]=3432;c[n+4>>2]=0;ko(n+64|0,m);c[n+136>>2]=0;c[n+140>>2]=-1;c[n>>2]=3352;c[n+64>>2]=3392;c[h>>2]=3372;no(m);c[m>>2]=3448;h=n+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+60>>2]=24;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;gf(m,r);Dn(r);r=b+16|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;a[b>>0]=1;c[b+4>>2]=c[d>>2];c[b+8>>2]=c[d+4>>2];a[b+12>>0]=0;s=+(f|0)*.10000000149011612;g[j>>2]=s;kf(b+24|0,j);j=n+8|0;r=je(fp(je(dp(je(dp(j,f+1|0)|0,21590,4)|0,10)|0,22718,2)|0,s)|0,20909,4)|0;zh(p,d,0);d=a[p>>0]|0;f=(d&1)==0;d=je(je(r,f?p+1|0:c[p+8>>2]|0,f?(d&255)>>>1:c[p+4>>2]|0)|0,20982,9)|0;zh(q,e,0);f=a[q>>0]|0;e=(f&1)==0;je(d,e?q+1|0:c[q+8>>2]|0,e?(f&255)>>>1:c[q+4>>2]|0)|0;Dn(q);Dn(p);hf(k,m);f=b+36|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0;Jn(f,0);c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);c[n>>2]=3352;c[l>>2]=3392;c[j>>2]=3372;c[m>>2]=3448;Dn(h);lo(m);fo(l);i=o;return}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0;Jn(f,0);c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);c[n>>2]=3352;c[l>>2]=3392;c[j>>2]=3372;c[m>>2]=3448;Dn(h);lo(m);fo(l);i=o;return}}function nf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+192|0;p=y+176|0;x=y+32|0;r=y+24|0;s=y+12|0;u=y;v=x+64|0;t=x+8|0;c[t>>2]=3372;w=x+12|0;c[x>>2]=3412;c[v>>2]=3432;c[x+4>>2]=0;ko(x+64|0,w);c[x+136>>2]=0;c[x+140>>2]=-1;c[x>>2]=3352;c[x+64>>2]=3392;c[t>>2]=3372;no(w);c[w>>2]=3448;t=x+44|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[x+60>>2]=24;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;gf(w,p);Dn(p);p=b+4|0;j=b+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;a[b>>0]=0;j=e+2|0;l=+(f+10|0);m=b+28|0;n=b+32|0;o=b+24|0;c[p>>2]=0;c[p+4>>2]=0;a[p+8>>0]=0;p=0;q=0;h=0;while(1){k=+(j+h|0)/l;g[r>>2]=k;if((p|0)==(q|0))kf(o,r);else{g[p>>2]=k;c[m>>2]=p+4}h=h+1|0;if((h|0)>=10)break;p=c[m>>2]|0;q=c[n>>2]|0}j=x+8|0;f=je(dp(je(dp(j,e+1|0)|0,21590,4)|0,f)|0,20909,4)|0;zh(s,d,0);h=a[s>>0]|0;d=(h&1)==0;je(f,d?s+1|0:c[s+8>>2]|0,d?(h&255)>>>1:c[s+4>>2]|0)|0;Dn(s);hf(u,w);h=b+36|0;if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0;Jn(h,0);c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Dn(u);c[x>>2]=3352;c[v>>2]=3392;c[j>>2]=3372;c[w>>2]=3448;Dn(t);lo(w);fo(v);i=y;return}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0;Jn(h,0);c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Dn(u);c[x>>2]=3352;c[v>>2]=3392;c[j>>2]=3372;c[w>>2]=3448;Dn(t);lo(w);fo(v);i=y;return}}function of(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(!d)return;a=a+4|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);ck(d);return}function pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;pf(a,c[b>>2]|0);pf(a,c[b+4>>2]|0);h=b+20|0;a=c[h>>2]|0;if(a){i=b+24|0;d=c[i>>2]|0;if((d|0)!=(a|0)){do{c[i>>2]=d+-48;Dn(d+-12|0);f=c[d+-24>>2]|0;g=f;if(f){d=d+-20|0;e=c[d>>2]|0;if((e|0)!=(f|0))c[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);ck(f)}d=c[i>>2]|0}while((d|0)!=(a|0));a=c[h>>2]|0}ck(a)}ck(b);return}function qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;h=b+4|0;e=c[b>>2]|0;g=(((c[h>>2]|0)-e|0)/48|0)+1|0;if(g>>>0>89478485){_j(b);e=c[b>>2]|0}f=((c[b+8>>2]|0)-e|0)/48|0;if(f>>>0<44739242){l=f<<1;g=l>>>0<g>>>0?g:l}else g=89478485;e=((c[h>>2]|0)-e|0)/48|0;c[m+12>>2]=0;c[m+16>>2]=b+8;if(!g)f=0;else f=ak(g*48|0)|0;c[m>>2]=f;j=f+(e*48|0)|0;l=m+8|0;c[l>>2]=j;k=m+4|0;c[k>>2]=j;c[m+12>>2]=f+(g*48|0);a[j>>0]=a[d>>0]|0;c[f+(e*48|0)+4>>2]=c[d+4>>2];c[f+(e*48|0)+8>>2]=c[d+8>>2];a[f+(e*48|0)+12>>0]=a[d+12>>0]|0;c[f+(e*48|0)+16>>2]=c[d+16>>2];c[f+(e*48|0)+20>>2]=c[d+20>>2];Ld(f+(e*48|0)+24|0,d+24|0);zn(f+(e*48|0)+36|0,d+36|0);c[l>>2]=f+((e+1|0)*48|0);tf(b,m);e=c[k>>2]|0;f=c[l>>2]|0;if((f|0)!=(e|0)){g=~(((f+-48-e|0)>>>0)/48|0);h=f;do{Dn(h+-12|0);d=c[h+-24>>2]|0;b=d;if(d){j=h+-20|0;k=c[j>>2]|0;if((k|0)!=(d|0))c[j>>2]=k+(~((k+-4-b|0)>>>2)<<2);ck(d)}h=h+-48|0}while((h|0)!=(e|0));c[l>>2]=f+(g*48|0)}e=c[m>>2]|0;if(!e){i=n;return}ck(e);i=n;return}function rf(a){a=a|0;return 2}function sf(a,b){a=a|0;b=b|0;An(a,21647,25);return}function tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[b>>2]|0;k=b+4|0;e=c[k>>2]|0;j=d+4|0;if((e|0)==(i|0)){g=j;h=b;e=c[j>>2]|0;f=i}else{f=c[j>>2]|0;do{h=e;e=e+-48|0;a[f+-48>>0]=a[e>>0]|0;c[f+-44>>2]=c[h+-44>>2];c[f+-40>>2]=c[h+-40>>2];a[f+-36>>0]=a[h+-36>>0]|0;c[f+-32>>2]=c[h+-32>>2];c[f+-28>>2]=c[h+-28>>2];Ld(f+-24|0,h+-24|0);zn(f+-12|0,h+-12|0);f=(c[j>>2]|0)+-48|0;c[j>>2]=f}while((e|0)!=(i|0));e=f;g=j;h=b;f=c[b>>2]|0}c[h>>2]=e;c[g>>2]=f;j=d+8|0;i=c[k>>2]|0;c[k>>2]=c[j>>2];c[j>>2]=i;j=b+8|0;b=d+12|0;k=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=k;c[d>>2]=c[g>>2];return}function uf(a){a=a|0;c[a>>2]=3448;Dn(a+32|0);lo(a);return}function vf(a){a=a|0;c[a>>2]=3448;Dn(a+32|0);lo(a);ck(a);return}function wf(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0<m>>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}while(0);g=dx(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0<g>>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ab[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function yf(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0<f>>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0<e>>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function zf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0<g>>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function Af(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;o=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;l=c[s>>2]|0;n=b+28|0;e=c[n>>2]|0;if((l|0)==(e|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}h=b+20|0;j=c[h>>2]|0;g=b+44|0;m=(c[g>>2]|0)-j|0;f=b+32|0;Ln(f,0);if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;Hn(f,e,0);e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}e=f+e|0;c[h>>2]=f;c[n>>2]=e;l=f+(l-j)|0;c[s>>2]=l;f=f+m|0;c[g>>2]=f;j=e}else{f=b+44|0;k=b+48|0;g=f;f=c[f>>2]|0;j=e}h=l+1|0;c[o>>2]=h;f=c[(h>>>0<f>>>0?g:o)>>2]|0;c[g>>2]=f;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=f}if((l|0)==(j|0)){b=Pb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return b|0}else{c[s>>2]=h;a[l>>0]=d;b=d&255;i=t;return b|0}return 0}function Bf(a){a=a|0;var b=0,d=0;c[a>>2]=3352;b=a+64|0;c[b>>2]=3392;c[a+8>>2]=3372;d=a+12|0;c[d>>2]=3448;Dn(a+44|0);lo(d);fo(b);return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=3352;b=a+64|0;c[b>>2]=3392;c[a+8>>2]=3372;d=a+12|0;c[d>>2]=3448;Dn(a+44|0);lo(d);fo(b);ck(a);return}function Df(a){a=a|0;var b=0,d=0;a=a+-8|0;c[a>>2]=3352;b=a+64|0;c[b>>2]=3392;c[a+8>>2]=3372;d=a+12|0;c[d>>2]=3448;Dn(a+44|0);lo(d);fo(b);ck(a);return}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=3352;d=a+(f+64)|0;c[d>>2]=3392;c[a+(f+8)>>2]=3372;e=a+(f+12)|0;c[e>>2]=3448;Dn(a+(f+44)|0);lo(e);fo(d);ck(b);return}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+4>>2]|0;j=a+8|0;b=c[j>>2]|0;if((b|0)!=(i|0))do{h=b+-100|0;c[j>>2]=h;g=b+-44|0;d=c[g>>2]|0;if(d){f=b+-40|0;e=c[f>>2]|0;if((e|0)!=(d|0)){do{k=e+-12|0;c[f>>2]=k;Dn(k);e=c[f>>2]|0}while((e|0)!=(d|0));d=c[g>>2]|0}ck(d)}Dn(b+-64|0);Dn(b+-76|0);Dn(b+-88|0);Dn(h);b=c[j>>2]|0}while((b|0)!=(i|0));b=c[a>>2]|0;if(!b)return;ck(b);return}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0;zn(a,b);zn(a+12|0,b+12|0);zn(a+24|0,b+24|0);zn(a+36|0,b+36|0);d=a+48|0;e=b+48|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];fe(a+68|0,b+68|0);return}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+4>>2]|0;j=a+8|0;b=c[j>>2]|0;if((b|0)!=(i|0))do{h=b+-80|0;c[j>>2]=h;g=b+-12|0;d=c[g>>2]|0;if(d){f=b+-8|0;e=c[f>>2]|0;if((e|0)!=(d|0)){do{k=e+-12|0;c[f>>2]=k;Dn(k);e=c[f>>2]|0}while((e|0)!=(d|0));d=c[g>>2]|0}ck(d)}Dn(b+-44|0);Dn(b+-56|0);Dn(b+-68|0);Dn(h);b=c[j>>2]|0}while((b|0)!=(i|0));b=c[a>>2]|0;if(!b)return;ck(b);return}function If(a,b){a=a|0;b=b|0;var d=0;Tg(a,b);c[a>>2]=3664;d=ak(96)|0;_f(d,b,+g[a+4>>2]);c[a+12>>2]=d;return}function Jf(a){a=a|0;var b=0;c[a>>2]=3664;b=c[a+12>>2]|0;if(b){$f(b);ck(b)}Ug(a);return}function Kf(a){a=a|0;var b=0;c[a>>2]=3664;b=c[a+12>>2]|0;if(b){$f(b);ck(b)}Ug(a);ck(a);return}function Lf(a){a=a|0;return Hb[c[(c[a>>2]|0)+76>>2]&127](a)|0}function Mf(a){a=a|0;return lh(a)|0}function Nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Of(c[a+12>>2]|0,b,d,e)|0}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;g=s+16|0;q=s+12|0;r=s;if((d|0)!=(e|0)){a=je(ep(je(ep(je(9768,21177,107)|0,d)|0,21285,14)|0,e)|0,21300,1)|0;c[g>>2]=jo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;r=Gt(g,12368)|0;r=Pb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;Et(g);hp(a,r)|0;To(a)|0;a=0;i=s;return a|0}o=a+28|0;c[o>>2]=b;c[a+4>>2]=d;n=a+8|0;c[n>>2]=d;p=a+20|0;c[p>>2]=0;m=a+24|0;c[m>>2]=0;e=c[a+12>>2]|0;if(!e)e=0;else c[p>>2]=e;b=c[a+16>>2]|0;if(!b)b=0;else c[m>>2]=b;if(!(e|b)){l=c[a>>2]|0;c[p>>2]=Hb[c[(c[l>>2]|0)+80>>2]&127](l)|0;l=c[a>>2]|0;c[m>>2]=Hb[c[(c[l>>2]|0)+76>>2]&127](l)|0}f=c[a>>2]|0;f=(Hb[c[(c[f>>2]|0)+72>>2]&127](f)|0)==1;e=c[m>>2]|0;b=c[p>>2]|0;d=(b|0)==0;do if(!e)if(d){c[m>>2]=1024;if(f){c[p>>2]=512;e=1024;break}else{c[p>>2]=1024;e=1024;break}}else if(f){e=b<<1;c[m>>2]=e;h=21;break}else{c[m>>2]=b;e=b;break}else if(d)if(f){b=e>>>1;c[p>>2]=b;h=21;break}else{c[p>>2]=e;break}else h=21;while(0);if((h|0)==21)if(b>>>0>e>>>0){e=b<<(f&1);l=je(9768,21302,55)|0;l=je(ep(l,c[p>>2]|0)|0,21358,28)|0;l=ep(je(ep(l,c[m>>2]|0)|0,21387,57)|0,e)|0;c[g>>2]=jo(l+(c[(c[l>>2]|0)+-12>>2]|0)|0)|0;k=Gt(g,12368)|0;k=Pb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;Et(g);hp(l,k)|0;To(l)|0;c[m>>2]=e}b=c[o>>2]|0;h=a+44|0;c[h>>2]=bk(b>>>0>1073741823?-1:b<<2)|0;if(!b)b=0;else{j=a+36|0;k=a+40|0;l=a+32|0;g=0;do{d=ak(20)|0;f=c[n>>2]|0;c[d>>2]=3776;f=e+1+f|0;c[d+4>>2]=bk(f>>>0>1073741823?-1:f<<2)|0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=f;c[q>>2]=d;f=c[j>>2]|0;if(f>>>0<(c[k>>2]|0)>>>0){c[f>>2]=d;c[j>>2]=(c[j>>2]|0)+4}else{cg(l,q);e=c[m>>2]|0;b=c[o>>2]|0}f=bk(e>>>0>1073741823?-1:e<<2)|0;c[(c[h>>2]|0)+(g<<2)>>2]=f;g=g+1|0}while(g>>>0<b>>>0)}q=c[a>>2]|0;if(!(Nb[c[(c[q>>2]|0)+64>>2]&15](q,b,c[p>>2]|0,e)|0)){a=0;i=s;return a|0}j=c[a+60>>2]|0;k=a+64|0;e=c[k>>2]|0;if((e|0)!=(j|0))do{h=e+-100|0;c[k>>2]=h;f=e+-44|0;b=c[f>>2]|0;if(b){g=e+-40|0;d=c[g>>2]|0;if((d|0)!=(b|0)){do{q=d+-12|0;c[g>>2]=q;Dn(q);d=c[g>>2]|0}while((d|0)!=(b|0));b=c[f>>2]|0}ck(b)}Dn(e+-64|0);Dn(e+-76|0);Dn(e+-88|0);Dn(h);e=c[k>>2]|0}while((e|0)!=(j|0));Qf(r,a);lc(r);a=1;i=s;return a|0}function Pf(a,b){a=a|0;b=b|0;Qf(a,c[b+12>>2]|0);return}function Qf(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;s=t+12|0;e=t;k=d+60|0;h=c[k>>2]|0;l=d+64|0;f=c[l>>2]|0;if((h|0)==(f|0)){f=c[d>>2]|0;Fb[c[(c[f>>2]|0)+92>>2]&127](e,f);$c(k);c[k>>2]=c[e>>2];f=e+4|0;c[l>>2]=c[f>>2];h=e+8|0;c[d+68>>2]=c[h>>2];c[h>>2]=0;c[f>>2]=0;c[e>>2]=0;lc(e);f=c[l>>2]|0;h=c[k>>2]|0}c[b>>2]=0;r=b+4|0;c[r>>2]=0;c[b+8>>2]=0;e=f-h|0;j=(e|0)/100|0;if((f|0)!=(h|0)){if(j>>>0>42949672)_j(b);e=ak(e)|0;c[r>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(j*100|0);f=c[k>>2]|0;h=c[l>>2]|0;if((f|0)==(h|0))f=e;else{do{dg(e,f);e=(c[r>>2]|0)+100|0;c[r>>2]=e;f=f+100|0}while((f|0)!=(h|0));f=e;e=c[b>>2]|0}}else{f=0;e=0}if((f-e|0)<=0){i=t;return}l=d+48|0;m=d+20|0;n=d+72|0;o=d+76|0;p=o;q=d+76|0;k=d+80|0;j=0;do{f=e+(j*100|0)+88|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;g[e+(j*100|0)+92>>2]=+g[l>>2]/+((c[m>>2]|0)>>>0);e=c[o>>2]|0;do if(e){while(1){f=c[e+16>>2]|0;if((j|0)<(f|0)){f=c[e>>2]|0;if(!f){f=e;h=15;break}else e=f}else{if((f|0)>=(j|0)){h=21;break}f=e+4|0;h=c[f>>2]|0;if(!h){h=19;break}else e=h}}if((h|0)==15){c[s>>2]=e;h=22;break}else if((h|0)==19){c[s>>2]=e;h=22;break}else if((h|0)==21){h=0;c[s>>2]=e;if(!e){f=s;h=22;break}else break}}else{c[s>>2]=o;f=o;e=p;h=22}while(0);if((h|0)==22){h=ak(24)|0;c[h+16>>2]=j;a[h+20>>0]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=e;c[f>>2]=h;e=c[c[n>>2]>>2]|0;if(!e)e=h;else{c[n>>2]=e;e=c[f>>2]|0}wc(c[q>>2]|0,e);c[k>>2]=(c[k>>2]|0)+1;e=h}a[e+20>>0]=1;break}case 1:{e=e+(j*100|0)+92|0;if(+g[e>>2]==0.0)g[e>>2]=+g[l>>2]/+((c[m>>2]|0)>>>0);e=c[o>>2]|0;do if(e){while(1){f=c[e+16>>2]|0;if((j|0)<(f|0)){f=c[e>>2]|0;if(!f){f=e;h=31;break}else e=f}else{if((f|0)>=(j|0)){h=37;break}f=e+4|0;h=c[f>>2]|0;if(!h){h=35;break}else e=h}}if((h|0)==31){c[s>>2]=e;h=38;break}else if((h|0)==35){c[s>>2]=e;h=38;break}else if((h|0)==37){h=0;c[s>>2]=e;if(!e){f=s;h=38;break}else break}}else{c[s>>2]=o;f=o;e=p;h=38}while(0);if((h|0)==38){h=ak(24)|0;c[h+16>>2]=j;a[h+20>>0]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=e;c[f>>2]=h;e=c[c[n>>2]>>2]|0;if(!e)e=h;else{c[n>>2]=e;e=c[f>>2]|0}wc(c[q>>2]|0,e);c[k>>2]=(c[k>>2]|0)+1;e=h}a[e+20>>0]=1;break}case 2:{e=c[o>>2]|0;do if(e){while(1){f=c[e+16>>2]|0;if((j|0)<(f|0)){f=c[e>>2]|0;if(!f){f=e;h=45;break}else e=f}else{if((f|0)>=(j|0)){h=51;break}f=e+4|0;h=c[f>>2]|0;if(!h){h=49;break}else e=h}}if((h|0)==45){c[s>>2]=e;h=52;break}else if((h|0)==49){c[s>>2]=e;h=52;break}else if((h|0)==51){h=0;c[s>>2]=e;if(!e){f=s;h=52;break}else break}}else{c[s>>2]=o;f=o;e=p;h=52}while(0);if((h|0)==52){h=ak(24)|0;c[h+16>>2]=j;a[h+20>>0]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=e;c[f>>2]=h;e=c[c[n>>2]>>2]|0;if(!e)e=h;else{c[n>>2]=e;e=c[f>>2]|0}wc(c[q>>2]|0,e);c[k>>2]=(c[k>>2]|0)+1;e=h}a[e+20>>0]=0;break}default:{}}j=j+1|0;e=c[b>>2]|0}while((j|0)<(((c[r>>2]|0)-e|0)/100|0|0));i=t;return}function Rf(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+16|0;f=e;a=c[a+12>>2]|0;zn(f,b);Sf(a,f,d);Dn(f);i=e;return}function Sf(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;k=n+12|0;m=n;l=c[a>>2]|0;j=c[(c[l>>2]|0)+44>>2]|0;zn(k,b);zb[j&3](l,k,d);Dn(k);k=c[a+60>>2]|0;l=a+64|0;b=c[l>>2]|0;if((b|0)==(k|0)){Qf(m,a);lc(m);i=n;return}do{j=b+-100|0;c[l>>2]=j;g=b+-44|0;e=c[g>>2]|0;if(e){h=b+-40|0;f=c[h>>2]|0;if((f|0)!=(e|0)){do{o=f+-12|0;c[h>>2]=o;Dn(o);f=c[h>>2]|0}while((f|0)!=(e|0));e=c[g>>2]|0}ck(e)}Dn(b+-64|0);Dn(b+-76|0);Dn(b+-88|0);Dn(j);b=c[l>>2]|0}while((b|0)!=(k|0));Qf(m,a);lc(m);i=n;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;a=c[a+12>>2]|0;zn(e,b);Uf(a,e);Dn(e);i=d;return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;j=m+12|0;l=m;k=c[a>>2]|0;h=c[(c[k>>2]|0)+56>>2]|0;zn(j,b);Fb[h&127](k,j);Dn(j);j=c[a+60>>2]|0;k=a+64|0;b=c[k>>2]|0;if((b|0)==(j|0)){Qf(l,a);lc(l);i=m;return}do{h=b+-100|0;c[k>>2]=h;f=b+-44|0;d=c[f>>2]|0;if(d){g=b+-40|0;e=c[g>>2]|0;if((e|0)!=(d|0)){do{n=e+-12|0;c[g>>2]=n;Dn(n);e=c[g>>2]|0}while((e|0)!=(d|0));d=c[f>>2]|0}ck(d)}Dn(b+-64|0);Dn(b+-76|0);Dn(b+-88|0);Dn(h);b=c[k>>2]|0}while((b|0)!=(j|0));Qf(l,a);lc(l);i=m;return}function Vf(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+12>>2]|0;c[e+52>>2]=0;a[e+56>>0]=1;b=c[e+36>>2]|0;f=c[e+32>>2]|0;if((b|0)!=(f|0)){b=b-f>>2;d=0;do{g=c[f+(d<<2)>>2]|0;c[g+8>>2]=0;c[g+12>>2]=0;d=d+1|0}while(d>>>0<b>>>0)}f=e+84|0;g=e+88|0;eg(f,c[g>>2]|0);c[e+92>>2]=0;c[f>>2]=g;c[g>>2]=0;g=c[e>>2]|0;Eb[c[(c[g>>2]|0)+68>>2]&255](g);return}function Wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;b=c[b+12>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Xf(a,b,d,g);i=f;return}function Xf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+16|0;n=s+12|0;r=s;if(!(c[d+4>>2]|0)){r=je(9768,21445,71)|0;c[n>>2]=jo(r+(c[(c[r>>2]|0)+-12>>2]|0)|0)|0;q=Gt(n,12368)|0;q=Pb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;Et(n);hp(r,q)|0;To(r)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;i=s;return}c[r+4>>2]=0;p=r+8|0;c[p>>2]=0;q=r+4|0;c[r>>2]=q;h=d+56|0;if(a[h>>0]|0){c[d+52>>2]=th(f,~~(+g[d+48>>2]+.5))|0;a[h>>0]=0}h=d+28|0;o=d+32|0;if(!(c[h>>2]|0))k=d+24|0;else{f=d+8|0;j=d+20|0;k=d+24|0;m=0;do{l=fg(c[(c[o>>2]|0)+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0,c[f>>2]|0)|0;if((m|0)==0?(l|0)<(c[f>>2]|0):0){l=je(dp(je(je(9768,21517,48)|0,21566,23)|0,l)|0,21590,4)|0;l=je(ep(l,c[f>>2]|0)|0,21595,37)|0;l=je(ep(l,c[j>>2]|0)|0,21633,13)|0;l=je(ep(l,c[k>>2]|0)|0,21300,1)|0;c[n>>2]=jo(l+(c[(c[l>>2]|0)+-12>>2]|0)|0)|0;t=Gt(n,12368)|0;t=Pb[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;Et(n);hp(l,t)|0;To(l)|0}m=m+1|0}while(m>>>0<(c[h>>2]|0)>>>0)}while(1){h=c[c[o>>2]>>2]|0;f=c[h+8>>2]|0;j=c[h+12>>2]|0;if((f|0)<=(j|0))if((f|0)<(j|0))h=f-j+(c[h+16>>2]|0)|0;else h=0;else h=f-j|0;if((h|0)<(c[k>>2]|0))break;ag(d,r)}c[b>>2]=c[r>>2];h=c[r+4>>2]|0;c[b+4>>2]=h;t=c[p>>2]|0;c[b+8>>2]=t;f=b+4|0;if(!t)c[b>>2]=f;else{c[h+8>>2]=f;c[r>>2]=q;c[q>>2]=0;c[p>>2]=0;h=0}bd(r,h);i=s;return}function Yf(a,b){a=a|0;b=b|0;Zf(a,c[b+12>>2]|0);return}function Zf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;y=B+24|0;A=B+12|0;z=B;v=b+4|0;c[v>>2]=0;w=b+8|0;c[w>>2]=0;x=b+4|0;c[b>>2]=x;t=d+32|0;u=d+24|0;while(1){h=c[c[t>>2]>>2]|0;j=c[h+8>>2]|0;k=c[h+12>>2]|0;e=(j|0)>(k|0);if(!e)if((j|0)<(k|0))f=j-k+(c[h+16>>2]|0)|0;else f=0;else f=j-k|0;l=c[u>>2]|0;if((f|0)<(l|0))break;ag(d,b)}if(!e){if((j|0)<(k|0)){g=j-k+(c[h+16>>2]|0)|0;m=12}}else{g=j-k|0;m=12}if((m|0)==12?(g|0)>0:0){s=d+28|0;e=c[s>>2]|0;a:do if(e){g=l;r=0;while(1){q=h+8|0;if((j|0)<=(k|0))if((j|0)<(k|0))f=j-k+(c[h+16>>2]|0)|0;else f=0;else f=j-k|0;m=g-f|0;n=h+16|0;o=c[n>>2]|0;p=k-j+o|0;l=(p|0)>(o|0)?0-o|0:0;p=p+-1+l|0;p=(p|0)<(m|0)?p:m;if(p){g=o-j|0;f=h+4|0;e=c[f>>2]|0;if((p|0)<=(g|0)){if((p|0)>0){l=j-k-o-l|0;o=~m;cx(e+(j<<2)|0,0,-4-(((l|0)>(o|0)?l:o)<<2)|0)|0}}else{if((g|0)>0){cx(e+(j<<2)|0,0,g<<2|0)|0;e=c[f>>2]|0}l=j-k-o-l|0;m=~m;cx(e|0,0,j+1073741823-o-((l|0)>(m|0)?l:m)<<2|0)|0}f=c[n>>2]|0;e=p+j|0;while(1)if((e|0)<(f|0))break;else e=e-f|0;c[q>>2]=e;e=c[s>>2]|0}f=r+1|0;if(f>>>0>=e>>>0)break a;k=c[(c[t>>2]|0)+(f<<2)>>2]|0;h=k;j=c[k+8>>2]|0;k=c[k+12>>2]|0;g=c[u>>2]|0;r=f}}while(0);ag(d,b)}e=c[d>>2]|0;Fb[c[(c[e>>2]|0)+100>>2]&127](A,e);e=c[A>>2]|0;o=A+4|0;if((e|0)==(o|0)){d=c[o>>2]|0;bd(A,d);i=B;return}p=z+4|0;q=d+60|0;r=x;f=e;while(1){n=c[f+16>>2]|0;gg(z,f+20|0);h=c[p>>2]|0;e=c[z>>2]|0;if((h|0)==(e|0)){g=h;e=h}else{l=0;while(1){if((c[(c[q>>2]|0)+(n*100|0)+88>>2]|0)==1)bg(d,n,e+(l*48|0)|0);e=c[x>>2]|0;do if(e){while(1){g=c[e+16>>2]|0;if((n|0)<(g|0)){g=c[e>>2]|0;if(!g){g=e;m=39;break}else e=g}else{if((g|0)>=(n|0)){m=45;break}g=e+4|0;h=c[g>>2]|0;if(!h){m=43;break}else e=h}}if((m|0)==39){c[y>>2]=e;m=46;break}else if((m|0)==43){c[y>>2]=e;m=46;break}else if((m|0)==45){m=0;c[y>>2]=e;if(!e){g=y;m=46;break}else break}}else{c[y>>2]=x;g=x;e=r;m=46}while(0);if((m|0)==46){h=ak(32)|0;c[h+16>>2]=n;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=e;c[g>>2]=h;e=c[c[b>>2]>>2]|0;if(!e)e=h;else{c[b>>2]=e;e=c[g>>2]|0}wc(c[v>>2]|0,e);c[w>>2]=(c[w>>2]|0)+1;e=h}g=c[z>>2]|0;h=g+(l*48|0)|0;j=e+24|0;k=c[j>>2]|0;if((k|0)==(c[e+28>>2]|0))hg(e+20|0,h);else{a[k>>0]=a[h>>0]|0;c[k+4>>2]=c[g+(l*48|0)+4>>2];c[k+8>>2]=c[g+(l*48|0)+8>>2];a[k+12>>0]=a[g+(l*48|0)+12>>0]|0;c[k+16>>2]=c[g+(l*48|0)+16>>2];c[k+20>>2]=c[g+(l*48|0)+20>>2];Ld(k+24|0,g+(l*48|0)+24|0);zn(k+36|0,g+(l*48|0)+36|0);c[j>>2]=(c[j>>2]|0)+48}l=l+1|0;e=c[p>>2]|0;g=c[z>>2]|0;if(l>>>0>=((e-g|0)/48|0)>>>0)break;else e=g}}if(g){if((e|0)!=(g|0)){do{c[p>>2]=e+-48;Dn(e+-12|0);j=c[e+-24>>2]|0;k=j;if(j){e=e+-20|0;h=c[e>>2]|0;if((h|0)!=(j|0))c[e>>2]=h+(~((h+-4-k|0)>>>2)<<2);ck(j)}e=c[p>>2]|0}while((e|0)!=(g|0));e=c[z>>2]|0}ck(e)}e=c[f+4>>2]|0;if(!e)while(1){e=c[f+8>>2]|0;if((c[e>>2]|0)==(f|0))break;else f=e}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(o|0))break;else f=e}d=c[o>>2]|0;bd(A,d);i=B;return}function _f(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[b>>2]=d;d=b+48|0;f=b+4|0;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));g[d>>2]=e;c[b+52>>2]=0;a[b+56>>0]=1;c[b+60>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+72>>2]=b+76;c[b+88>>2]=0;c[b+92>>2]=0;c[b+84>>2]=b+88;Qf(j,b);lc(j);i=k;return}function $f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+28|0;if(!(c[e>>2]|0))b=a+44|0;else{f=a+32|0;b=a+44|0;g=0;do{d=c[(c[f>>2]|0)+(g<<2)>>2]|0;if(d)Eb[c[(c[d>>2]|0)+4>>2]&255](d);d=c[(c[b>>2]|0)+(g<<2)>>2]|0;if(d)dk(d);g=g+1|0}while(g>>>0<(c[e>>2]|0)>>>0)}b=c[b>>2]|0;if(b)dk(b);eg(a+84|0,c[a+88>>2]|0);ig(a+72|0,c[a+76>>2]|0);lc(a+60|0);e=c[a+32>>2]|0;if(!e)return;b=a+36|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);ck(e);return}function ag(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+80|0;J=N+64|0;L=N+56|0;M=N+40|0;t=N+32|0;u=N+24|0;K=N+8|0;H=N;I=b+28|0;if(!(c[I>>2]|0))h=b+44|0;else{q=b+32|0;h=b+44|0;r=b+24|0;s=0;do{o=c[(c[q>>2]|0)+(s<<2)>>2]|0;p=c[(c[h>>2]|0)+(s<<2)>>2]|0;l=c[r>>2]|0;j=c[o+8>>2]|0;m=o+12|0;k=c[m>>2]|0;if((j|0)<=(k|0))if((j|0)<(k|0))j=j-k+(c[o+16>>2]|0)|0;else j=0;else j=j-k|0;if((l|0)>(j|0)){cx(p+(j<<2)|0,0,l-j<<2|0)|0;l=j}a:do if(l){m=c[m>>2]|0;k=c[o+16>>2]|0;n=k-m|0;o=c[o+4>>2]|0;if((l|0)<=(n|0)){if((l|0)>0)j=0;else break;while(1){c[p+(j<<2)>>2]=c[o+(j+m<<2)>>2];j=j+1|0;if((j|0)==(l|0))break a}}if((n|0)>0){j=0;do{c[p+(j<<2)>>2]=c[o+(j+m<<2)>>2];j=j+1|0}while((j|0)!=(n|0))}j=m+l-k|0;k=0;do{c[p+(k+n<<2)>>2]=c[o+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}while(0);s=s+1|0}while(s>>>0<(c[I>>2]|0)>>>0)}G=b+52|0;uh(L,c[G>>2]|0,~~(+g[b+48>>2]+.5));F=c[b>>2]|0;D=c[(c[F>>2]|0)+96>>2]|0;h=c[h>>2]|0;c[t>>2]=c[L>>2];E=L+4|0;c[t+4>>2]=c[E>>2];Ob[D&15](M,F,h,t);h=c[b>>2]|0;b:do if((h|0)!=0?(f=Dk(h,224,296,0)|0,(f|0)!=0):0){while(1){if((f|0)!=0?(e=Dk(f,296,272,0)|0,(e|0)!=0):0)break;f=c[f+8>>2]|0;if(!f){D=0;t=0;break b}f=Dk(f,224,296,0)|0;if(!f){D=0;t=0;break b}}Hg(u,e);D=c[u>>2]|0;t=c[u+4>>2]|0}else{D=0;t=0}while(0);e=c[M>>2]|0;F=M+4|0;if((e|0)!=(F|0)){u=b+72|0;v=b+76|0;w=v;x=b+76|0;y=b+80|0;z=K+4|0;A=b+60|0;B=d+4|0;C=B;q=d+4|0;r=d+8|0;s=H+4|0;f=e;while(1){p=c[f+16>>2]|0;e=c[v>>2]|0;do if(e){while(1){h=c[e+16>>2]|0;if((p|0)<(h|0)){h=c[e>>2]|0;if(!h){h=e;j=34;break}else e=h}else{if((h|0)>=(p|0)){j=40;break}h=e+4|0;j=c[h>>2]|0;if(!j){j=38;break}else e=j}}if((j|0)==34){c[J>>2]=e;j=41;break}else if((j|0)==38){c[J>>2]=e;j=41;break}else if((j|0)==40){j=0;c[J>>2]=e;if(!e){h=J;j=41;break}else break}}else{c[J>>2]=v;h=v;e=w;j=41}while(0);if((j|0)==41){j=ak(24)|0;c[j+16>>2]=p;a[j+20>>0]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=e;c[h>>2]=j;e=c[c[u>>2]>>2]|0;if(!e)e=j;else{c[u>>2]=e;e=c[h>>2]|0}wc(c[x>>2]|0,e);c[y>>2]=(c[y>>2]|0)+1;e=j}if(!(a[e+20>>0]|0)){m=f+24|0;n=f+20|0;if((c[m>>2]|0)!=(c[n>>2]|0)){o=0;do{e=c[B>>2]|0;do if(e){while(1){h=c[e+16>>2]|0;if((p|0)<(h|0)){h=c[e>>2]|0;if(!h){h=e;j=79;break}else e=h}else{if((h|0)>=(p|0)){j=85;break}h=e+4|0;j=c[h>>2]|0;if(!j){j=83;break}else e=j}}if((j|0)==79){c[J>>2]=e;j=86;break}else if((j|0)==83){c[J>>2]=e;j=86;break}else if((j|0)==85){j=0;c[J>>2]=e;if(!e){h=J;j=86;break}else break}}else{c[J>>2]=B;h=B;e=C;j=86}while(0);if((j|0)==86){j=ak(32)|0;c[j+16>>2]=p;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=e;c[h>>2]=j;e=c[c[d>>2]>>2]|0;if(!e)e=j;else{c[d>>2]=e;e=c[h>>2]|0}wc(c[q>>2]|0,e);c[r>>2]=(c[r>>2]|0)+1;e=j}h=c[n>>2]|0;j=h+(o*48|0)|0;k=e+24|0;l=c[k>>2]|0;if((l|0)==(c[e+28>>2]|0))hg(e+20|0,j);else{a[l>>0]=a[j>>0]|0;c[l+4>>2]=c[h+(o*48|0)+4>>2];c[l+8>>2]=c[h+(o*48|0)+8>>2];a[l+12>>0]=a[h+(o*48|0)+12>>0]|0;c[l+16>>2]=c[h+(o*48|0)+16>>2];c[l+20>>2]=c[h+(o*48|0)+20>>2];Ld(l+24|0,h+(o*48|0)+24|0);zn(l+36|0,h+(o*48|0)+36|0);c[k>>2]=(c[k>>2]|0)+48}o=o+1|0}while(o>>>0<(((c[m>>2]|0)-(c[n>>2]|0)|0)/48|0)>>>0)}}else{gg(K,f+20|0);h=c[z>>2]|0;e=c[K>>2]|0;c:do if((h|0)==(e|0)){l=h;e=h}else{m=0;while(1){switch(c[(c[A>>2]|0)+(p*100|0)+88>>2]|0){case 0:{rh(H,(c[L>>2]|0)+D|0,(c[E>>2]|0)+t|0);c[e+(m*48|0)+4>>2]=c[H>>2];c[e+(m*48|0)+8>>2]=c[s>>2];a[(c[K>>2]|0)+(m*48|0)>>0]=1;break}case 1:{bg(b,p,e+(m*48|0)|0);break}default:{}}e=c[B>>2]|0;do if(e){while(1){h=c[e+16>>2]|0;if((p|0)<(h|0)){h=c[e>>2]|0;if(!h){h=e;j=53;break}else e=h}else{if((h|0)>=(p|0)){j=59;break}h=e+4|0;j=c[h>>2]|0;if(!j){j=57;break}else e=j}}if((j|0)==53){c[J>>2]=e;j=60;break}else if((j|0)==57){c[J>>2]=e;j=60;break}else if((j|0)==59){j=0;c[J>>2]=e;if(!e){h=J;j=60;break}else break}}else{c[J>>2]=B;h=B;e=C;j=60}while(0);if((j|0)==60){j=ak(32)|0;c[j+16>>2]=p;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=e;c[h>>2]=j;e=c[c[d>>2]>>2]|0;if(!e)e=j;else{c[d>>2]=e;e=c[h>>2]|0}wc(c[q>>2]|0,e);c[r>>2]=(c[r>>2]|0)+1;e=j}h=c[K>>2]|0;j=h+(m*48|0)|0;k=e+24|0;l=c[k>>2]|0;if((l|0)==(c[e+28>>2]|0))hg(e+20|0,j);else{a[l>>0]=a[j>>0]|0;c[l+4>>2]=c[h+(m*48|0)+4>>2];c[l+8>>2]=c[h+(m*48|0)+8>>2];a[l+12>>0]=a[h+(m*48|0)+12>>0]|0;c[l+16>>2]=c[h+(m*48|0)+16>>2];c[l+20>>2]=c[h+(m*48|0)+20>>2];Ld(l+24|0,h+(m*48|0)+24|0);zn(l+36|0,h+(m*48|0)+36|0);c[k>>2]=(c[k>>2]|0)+48}m=m+1|0;e=c[z>>2]|0;h=c[K>>2]|0;if(m>>>0>=((e-h|0)/48|0)>>>0){l=h;break c}else e=h}}while(0);if(l){if((e|0)!=(l|0)){do{c[z>>2]=e+-48;Dn(e+-12|0);j=c[e+-24>>2]|0;k=j;if(j){e=e+-20|0;h=c[e>>2]|0;if((h|0)!=(j|0))c[e>>2]=h+(~((h+-4-k|0)>>>2)<<2);ck(j)}e=c[z>>2]|0}while((e|0)!=(l|0));e=c[K>>2]|0}ck(e)}}e=c[f+4>>2]|0;if(!e)while(1){e=c[f+8>>2]|0;if((c[e>>2]|0)==(f|0))break;else f=e}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(F|0))break;else f=e}}m=c[I>>2]|0;if(!m){b=c[b+20>>2]|0;L=c[G>>2]|0;b=L+b|0;c[G>>2]=b;b=c[F>>2]|0;bd(M,b);i=N;return}n=c[b+32>>2]|0;e=c[b+20>>2]|0;l=0;do{h=c[n+(l<<2)>>2]|0;f=c[h+8>>2]|0;k=h+12|0;j=c[k>>2]|0;if((f|0)<=(j|0))if((f|0)<(j|0))f=f-j+(c[h+16>>2]|0)|0;else f=0;else f=f-j|0;f=(f|0)<(e|0)?f:e;if(f){h=c[h+16>>2]|0;f=f+j|0;while(1)if((f|0)<(h|0))break;else f=f-h|0;c[k>>2]=f}l=l+1|0}while(l>>>0<m>>>0);b=c[G>>2]|0;b=b+e|0;c[G>>2]=b;b=c[F>>2]|0;bd(M,b);i=N;return} +function Cl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[5304+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[5304+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(al()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Dl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do if(!e)g=0;else{do if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[5304+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}while(0);c[(al()|0)>>2]=84;g=-1}while(0);i=k;return g|0}function El(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(al()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Fl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Gl(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}while(0);b:do if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=El(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=El(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=El(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=El(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0<h>>>0){g=22;break}El(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}while(0);i=k;return e|0}function Hl(a,b){a=a|0;b=b|0;if(!a)a=0;else a=El(a,b,0)|0;return a|0}function Il(a){a=a|0;return 0}function Jl(a){a=a|0;return}function Kl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Sl(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((yb[c[b+36>>2]&31](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Ll(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=gl(mb(6,d|0)|0)|0;i=b;return a|0}function Ml(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[1315]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=gl(ub(145,h|0)|0)|0}else{nb(189,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=gl(ub(145,g|0)|0)|0;eb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Nl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((gl(sb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[1315]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=gl(vb(146,n|0)|0)|0}else{nb(190,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=gl(vb(146,m|0)|0)|0;eb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=6;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(cb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Ol(b,d,e)|0;i=g;return f|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=lm(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fx(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Rl(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)yb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Sl(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Tl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Rl(a)|0)!=0:0)b=-1;else if((yb[c[a+32>>2]&31](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Ul(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=xm(a)|0;break}d=(Il(a)|0)==0;b=xm(a)|0;if(!d)Jl(a)}else{if(!(c[1380]|0))b=0;else b=Ul(c[1380]|0)|0;lb(5288);a=c[1321]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Il(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=xm(a)|0|b;if(d)Jl(a);a=c[a+56>>2]|0}while((a|0)!=0);db(5288)}while(0);return b|0}function Vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Il(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Kl(d,b)|0;Jl(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Kl(d,b)|0}while(0);return e|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Sl(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0<d>>>0){f=yb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((yb[c[e+36>>2]&31](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);fx(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function Xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Il(e)|0)==0;a=Wl(a,f,e)|0;if(!g)Jl(e)}else a=Wl(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Yl(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Il(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Tl(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Tl(a)|0;break}}while(0);return b|0}function Zl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=dm(a,b,d,g)|0;i=f;return e|0}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=em(a,b,f)|0;i=e;return d|0}function $l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Il(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Rl(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Jl(d);break}if(g){Jl(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Gm(240)|0;do if(f){c[e>>2]=c[d>>2];e=dm(f,240,b,e)|0;if(e>>>0<240){b=Jm(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Hm(f);if((e|0)>=0?(h=e+1|0,g=Gm(h)|0,c[a>>2]=g,(g|0)!=0):0)e=dm(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function bm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((ym(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Il(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=ym(b,d,o,q,r)|0;if(h){yb[c[b+36>>2]&31](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=ym(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Jl(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function cm(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Il(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(_k(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{el(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=fl(e)|0}while((_k(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}el(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0<q>>>0)c[L>>2]=o+1;else{if((fl(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){cx(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;cx(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Gm(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=fl(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(zl(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Jm(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Al(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Gm(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=fl(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Jm(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0<l>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=fl(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0<q>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=fl(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+cl(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=dl(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;el(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=fl(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(_k(d[m>>0]|0)|0))break;else n=m}el(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=fl(e)|0}while((_k(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Hm(l);Hm(f)}}else k=0;while(0);if(O)Jl(e);i=P;return k|0}function dm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=5580;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(al()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=bm(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=26;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=cm(e,b,d)|0;i=g;return h|0}function fm(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(_k(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return ((e|0)!=0?b:0-b|0)|0}function gm(a,b){a=a|0;b=b|0;return +(+Am(a,b,1))}function hm(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Am(a,b,2))}function im(a,b,c){a=a|0;b=b|0;c=c|0;a=Bm(a,b,c,-1,-1)|0;return a|0}function jm(a,b,c){a=a|0;b=b|0;c=c|0;a=Bm(a,b,c,0,-2147483648)|0;return a|0}function km(a,b,c){a=a|0;b=b|0;c=c|0;a=Bm(a,b,c,-2147483648,0)|0;return a|0}function lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function mm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function nm(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function om(a){a=a|0;var b=0,c=0;c=(pm(a)|0)+1|0;b=Gm(c)|0;if(!b)b=0;else fx(b|0,a|0,c|0)|0;return b|0}function pm(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function qm(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0<d>>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function tm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function um(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=nx(f|0,b|0,10,0)|0;f=D;e=dx(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=dx(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=fl(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=bx(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function vm(a){a=a|0;if(!(c[a+68>>2]|0))Jl(a);return}function wm(a){a=a|0;if(!(c[a+68>>2]|0))Jl(a);return}function xm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(yb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0<f>>>0)yb[c[a+40>>2]&31](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function ym(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(al()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Wl(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<<n+-32&75913)){s=p;n=r;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[29544+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Dm(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=ex(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=30024;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=30024;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=bx(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=30024;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?30024:30026;L=76}else{p=1;s=30025;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=30024;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=30024;n=N;break}case 109:{n=bl(c[(al()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:30034;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Fm(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?30042:30047}else{G=1;H=30044}else{q=-q;G=1;H=30041}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+ul(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Em(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[30008+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Fm(e,32,K,p,I);if(!(c[e>>2]&32))Wl(y,x,e)|0;Fm(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Wl(da,n,e)|0;o=_-t|0;Fm(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Wl(t,o,e)|0;Fm(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=gx(c[r>>2]|0,0,t|0)|0;B=dx(B|0,D|0,o|0,0)|0;o=D;A=px(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=ox(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0<p>>>0){o=(1<<x)+-1|0;s=1e9>>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0<p>>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0<t>>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Em(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;Fm(e,32,K,y,I);if(!(c[e>>2]&32))Wl(H,G,e)|0;Fm(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Em(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))Wl(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;Wl(30076,1,e)|0}while(0);if((n|0)>0&o>>>0<C>>>0){p=o;while(1){o=Em(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Wl(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0<C>>>0)){n=o;break}else n=o}}Fm(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Em(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Wl(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Wl(30076,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))Wl(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0<t>>>0&(n|0)>-1)}Fm(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Wl(u,_-u|0,e)|0}while(0);Fm(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Fm(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Wl(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Wl(s?(t?30068:30072):t?30060:30064,3,e)|0;Fm(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=30024;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[30008+(o&15)>>0]|s;o=ex(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=30024;L=77}else{o=t;t=2;s=30024+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=30024;L=77}}else if((L|0)==76){n=Em(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=lm(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=30024;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Hl(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Fm(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Hl(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Wl(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;Fm(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Fm(e,32,n,r,p);if(!(c[e>>2]&32))Wl(u,t,e)|0;Fm(e,48,n,r,p^65536);Fm(e,48,o,s,0);if(!(c[e>>2]&32))Wl(w,s,e)|0;Fm(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Dm(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;return Ql(a,b,c)|0}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;el(h,0);e=+cl(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return +e}function Bm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;el(j,0);e=dl(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;fx(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Em(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=px(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=ox(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Fm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;cx(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Wl(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Wl(h,f,a)|0}while(0);i=j;return}function Gm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2275]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9140+(e<<2)|0;e=9140+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2279]|0)>>>0)Ea();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ea()}else c[2275]=i&~(1<<a);while(0);M=a<<3;c[f+4>>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2277]|0;if(o>>>0>h>>>0){if(d){e=2<<a;e=d<<a&(e|0-e);e=(e&0-e)+-1|0;j=e>>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9140+(e<<2)|0;e=9140+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2279]|0)>>>0)Ea();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2277]|0;break}else Ea()}else{c[2275]=i&~(1<<a);k=h}while(0);M=a<<3;h=M-o|0;c[g+4>>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2280]|0;d=k>>>3;b=d<<1;e=9140+(b<<2)|0;a=c[2275]|0;d=1<<d;if(a&d){a=9140+(b+2<<2)|0;b=c[a>>2]|0;if(b>>>0<(c[2279]|0)>>>0)Ea();else{l=a;m=b}}else{c[2275]=a|d;l=9140+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2277]=h;c[2280]=i;M=j;return M|0}a=c[2276]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[9404+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0<d>>>0;d=M?a:d;a=b;e=M?b:e}g=c[2279]|0;if(e>>>0<g>>>0)Ea();i=e+o|0;if(e>>>0>=i>>>0)Ea();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0<g>>>0)Ea();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0<g>>>0)Ea();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ea();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ea()}while(0);do if(h){b=c[e+28>>2]|0;a=9404+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2276]=c[2276]&~(1<<b);break}}else{if(h>>>0<(c[2279]|0)>>>0)Ea();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2279]|0;if(n>>>0<a>>>0)Ea();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0<a>>>0)Ea();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2279]|0)>>>0)Ea();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2277]|0;if(b){g=c[2280]|0;d=b>>>3;b=d<<1;f=9140+(b<<2)|0;a=c[2275]|0;d=1<<d;if(a&d){b=9140+(b+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[2279]|0)>>>0)Ea();else{p=b;q=a}}else{c[2275]=a|d;p=9140+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2277]=j;c[2280]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2276]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<<q;p=(v+520192|0)>>>16&4;v=v<<p;k=(v+245760|0)>>>16&2;k=14-(p|q|k)+(v<<k>>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[9404+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0<h>>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<<k;a=l&(a|0-a);if(!a){q=m;break}a=(a&0-a)+-1|0;n=a>>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[9404+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0<d>>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2277]|0)-m|0)>>>0:0){f=c[2279]|0;if(j>>>0<f>>>0)Ea();h=j+m|0;if(j>>>0>=h>>>0)Ea();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)Ea();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)Ea();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ea();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ea()}while(0);do if(g){b=c[j+28>>2]|0;a=9404+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2276]=c[2276]&~(1<<b);break}}else{if(g>>>0<(c[2279]|0)>>>0)Ea();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2279]|0;if(o>>>0<a>>>0)Ea();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0<a>>>0)Ea();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2279]|0)>>>0)Ea();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9140+(a<<2)|0;d=c[2275]|0;b=1<<b;if(d&b){b=9140+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[2279]|0)>>>0)Ea();else{s=b;t=a}}else{c[2275]=d|b;s=9140+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;e=(M+245760|0)>>>16&2;e=14-(K|L|e)+(M<<e>>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=9404+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2276]|0;d=1<<e;if(!(a&d)){c[2276]=a|d;c[b>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2279]|0)>>>0)Ea();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2279]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ea()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2277]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2280]|0;if(b>>>0>15){c[2280]=a+q;c[2277]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2277]=0;c[2280]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2278]|0;if(a>>>0>q>>>0){L=a-q|0;c[2278]=L;M=c[2281]|0;c[2281]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2393]|0)){a=Xa(30)|0;if(!(a+-1&a)){c[2395]=a;c[2394]=a;c[2396]=-1;c[2397]=-1;c[2398]=0;c[2386]=0;c[2393]=(pb(0)|0)&-16^1431655768;break}else Ea()}while(0);j=q+48|0;i=c[2395]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2385]|0;if((a|0)!=0?(t=c[2383]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2386]&4)){a=c[2281]|0;e:do if(a){f=9548;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2278]|0)&i;if(d>>>0<2147483647){f=Sa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Sa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2394]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2383]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2385]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Sa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2395]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Sa(u|0)|0)==(-1|0)){Sa(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2386]=c[2386]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Sa(l|0)|0,x=Sa(0)|0,w>>>0<x>>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2383]|0)+p|0;c[2383]=a;if(a>>>0>(c[2384]|0)>>>0)c[2384]=a;h=c[2281]|0;g:do if(h){g=9548;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0<w>>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2278]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2281]=h+L;c[2278]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2282]=c[2397];break}a=c[2279]|0;if(w>>>0<a>>>0){c[2279]=w;a=w}d=w+p|0;g=9548;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=9548;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2280]|0)){M=(c[2277]|0)+l|0;c[2277]=M;c[2280]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<a>>>0)Ea();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0<a>>>0)Ea();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ea();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ea()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=9404+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2279]|0)>>>0)Ea();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2276]=c[2276]&~(1<<a);break i}while(0);d=c[2279]|0;if(J>>>0<d>>>0)Ea();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0<d>>>0)Ea();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2279]|0)>>>0)Ea();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9140+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0<a>>>0)Ea();if((c[e+12>>2]|0)==(b|0))break;Ea()}while(0);if((f|0)==(e|0)){c[2275]=c[2275]&~(1<<g);break}do if((f|0)==(d|0))F=f+8|0;else{if(f>>>0<a>>>0)Ea();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ea()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9140+(a<<2)|0;d=c[2275]|0;b=1<<b;do if(!(d&b)){c[2275]=d|b;K=9140+(a+2<<2)|0;L=e}else{b=9140+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0>=(c[2279]|0)>>>0){K=b;L=a;break}Ea()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;e=(L+245760|0)>>>16&2;e=14-(J|K|e)+(L<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=9404+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2276]|0;d=1<<e;if(!(a&d)){c[2276]=a|d;c[b>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2279]|0)>>>0)Ea();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2279]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ea()}else{M=(c[2278]|0)+l|0;c[2278]=M;c[2281]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=9548;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0<f>>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2281]=w+d;c[2278]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2282]=c[2397];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2387];c[b+4>>2]=c[2388];c[b+8>>2]=c[2389];c[b+12>>2]=c[2390];c[2387]=w;c[2388]=p;c[2390]=0;c[2389]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0<e>>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0<e>>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9140+(a<<2)|0;d=c[2275]|0;b=1<<b;if(d&b){b=9140+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[2279]|0)>>>0)Ea();else{G=b;H=a}}else{c[2275]=d|b;G=9140+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;e=(M+245760|0)>>>16&2;e=14-(K|L|e)+(M<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=9404+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2276]|0;a=1<<e;if(!(b&a)){c[2276]=b|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2279]|0)>>>0)Ea();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2279]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ea()}}else{M=c[2279]|0;if((M|0)==0|w>>>0<M>>>0)c[2279]=w;c[2387]=w;c[2388]=p;c[2390]=0;c[2284]=c[2393];c[2283]=-1;b=0;do{M=b<<1;L=9140+(M<<2)|0;c[9140+(M+3<<2)>>2]=L;c[9140+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2281]=w+M;c[2278]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2282]=c[2397]}while(0);b=c[2278]|0;if(b>>>0>q>>>0){L=b-q|0;c[2278]=L;M=c[2281]|0;c[2281]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(al()|0)>>2]=12;M=0;return M|0}function Hm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2279]|0;if(b>>>0<i>>>0)Ea();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ea();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0<i>>>0)Ea();if((l|0)==(c[2280]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2277]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9140+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<i>>>0)Ea();if((c[e+12>>2]|0)!=(l|0))Ea()}if((d|0)==(e|0)){c[2275]=c[2275]&~(1<<f);u=l;g=m;break}if((d|0)!=(b|0)){if(d>>>0<i>>>0)Ea();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ea()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<i>>>0)Ea();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0<i>>>0)Ea();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ea();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ea()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=9404+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2276]=c[2276]&~(1<<b);u=l;g=m;break}}else{if(h>>>0<(c[2279]|0)>>>0)Ea();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2279]|0;if(k>>>0<d>>>0)Ea();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0<d>>>0)Ea();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2279]|0)>>>0)Ea();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ea();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ea();if(!(d&2)){if((q|0)==(c[2281]|0)){t=(c[2278]|0)+g|0;c[2278]=t;c[2281]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2280]|0))return;c[2280]=0;c[2277]=0;return}if((q|0)==(c[2280]|0)){t=(c[2277]|0)+g|0;c[2277]=t;c[2280]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2279]|0)>>>0)Ea();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2279]|0)>>>0)Ea();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ea();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ea()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=9404+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2276]=c[2276]&~(1<<b);break}}else{if(h>>>0<(c[2279]|0)>>>0)Ea();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2279]|0;if(p>>>0<d>>>0)Ea();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0<d>>>0)Ea();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2279]|0)>>>0)Ea();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9140+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2279]|0)>>>0)Ea();if((c[e+12>>2]|0)!=(q|0))Ea()}if((d|0)==(e|0)){c[2275]=c[2275]&~(1<<f);break}if((d|0)!=(b|0)){if(d>>>0<(c[2279]|0)>>>0)Ea();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ea()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2280]|0)){c[2277]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9140+(d<<2)|0;e=c[2275]|0;b=1<<b;if(e&b){b=9140+(d+2<<2)|0;d=c[b>>2]|0;if(d>>>0<(c[2279]|0)>>>0)Ea();else{r=b;s=d}}else{c[2275]=e|b;r=9140+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<<r;q=(s+520192|0)>>>16&4;s=s<<q;f=(s+245760|0)>>>16&2;f=14-(q|r|f)+(s<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=9404+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2276]|0;e=1<<f;a:do if(d&e){b=c[b>>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2279]|0)>>>0)Ea();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2279]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ea()}else{c[2276]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2283]|0)+-1|0;c[2283]=u;if(!u)b=9556;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2283]=-1;return}function Im(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Gm(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;cx(b|0,0,d|0)|0;return b|0}function Jm(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Gm(b)|0;return a|0}if(b>>>0>4294967231){c[(al()|0)>>2]=12;a=0;return a|0}d=Km(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Gm(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;fx(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Hm(a);a=d;return a|0}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2279]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0<l>>>0))Ea();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ea();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2395]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Lm(a+b|0,d);return a|0}if((l|0)==(c[2281]|0)){d=(c[2278]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2281]=a+b;c[2278]=n;return a|0}if((l|0)==(c[2280]|0)){e=(c[2277]|0)+j|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2277]=d;c[2280]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0<b>>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<i>>>0)Ea();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0<i>>>0)Ea();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ea();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ea()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=9404+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2276]=c[2276]&~(1<<d);break}}else{if(h>>>0<(c[2279]|0)>>>0)Ea();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2279]|0;if(k>>>0<e>>>0)Ea();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0<e>>>0)Ea();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2279]|0)>>>0)Ea();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9140+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<i>>>0)Ea();if((c[f+12>>2]|0)!=(l|0))Ea()}if((e|0)==(f|0)){c[2275]=c[2275]&~(1<<g);break}if((e|0)!=(d|0)){if(e>>>0<i>>>0)Ea();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ea()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Lm(a+b|0,n);return a|0}return 0}function Lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2279]|0;if(n>>>0<j>>>0)Ea();if((n|0)==(c[2280]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2277]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9140+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<j>>>0)Ea();if((c[f+12>>2]|0)!=(n|0))Ea()}if((e|0)==(f|0)){c[2275]=c[2275]&~(1<<g);t=n;h=m;break}if((e|0)!=(d|0)){if(e>>>0<j>>>0)Ea();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ea()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<j>>>0)Ea();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0<j>>>0)Ea();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ea();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ea()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=9404+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2276]=c[2276]&~(1<<d);t=n;h=m;break}}else{if(i>>>0<(c[2279]|0)>>>0)Ea();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2279]|0;if(l>>>0<f>>>0)Ea();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0<f>>>0)Ea();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2279]|0)>>>0)Ea();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2279]|0;if(q>>>0<j>>>0)Ea();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2281]|0)){s=(c[2278]|0)+h|0;c[2278]=s;c[2281]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2280]|0))return;c[2280]=0;c[2277]=0;return}if((q|0)==(c[2280]|0)){s=(c[2277]|0)+h|0;c[2277]=s;c[2280]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<j>>>0)Ea();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0<j>>>0)Ea();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ea();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ea()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=9404+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2276]=c[2276]&~(1<<d);break}}else{if(i>>>0<(c[2279]|0)>>>0)Ea();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2279]|0;if(p>>>0<e>>>0)Ea();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0<e>>>0)Ea();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2279]|0)>>>0)Ea();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9140+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<j>>>0)Ea();if((c[f+12>>2]|0)!=(q|0))Ea()}if((e|0)==(f|0)){c[2275]=c[2275]&~(1<<g);break}if((e|0)!=(d|0)){if(e>>>0<j>>>0)Ea();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ea()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2280]|0)){c[2277]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9140+(e<<2)|0;f=c[2275]|0;d=1<<d;if(f&d){d=9140+(e+2<<2)|0;e=c[d>>2]|0;if(e>>>0<(c[2279]|0)>>>0)Ea();else{r=d;s=e}}else{c[2275]=f|d;r=9140+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<<r;q=(s+520192|0)>>>16&4;s=s<<q;g=(s+245760|0)>>>16&2;g=14-(q|r|g)+(s<<g>>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=9404+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2276]|0;f=1<<g;if(!(e&f)){c[2276]=e|f;c[d>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2279]|0)>>>0)Ea();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2279]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ea();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Mm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[1378]|0;Qm(10276,b,10332);c[2399]=11100;c[2401]=11120;c[2400]=0;e=c[2772]|0;ko(9596+e|0,10276);c[9596+(e+72)>>2]=0;c[9596+(e+76)>>2]=-1;e=c[1379]|0;Rm(10380,e,10340);c[2421]=11180;c[2422]=11200;h=c[2792]|0;ko(9684+h|0,10380);f=h+72|0;c[9684+f>>2]=0;a=h+76|0;c[9684+a>>2]=-1;d=c[1377]|0;Rm(10428,d,10348);c[2442]=11180;c[2443]=11200;ko(9768+h|0,10428);c[9768+f>>2]=0;c[9768+a>>2]=-1;g=c[9768+((c[(c[2442]|0)+-12>>2]|0)+24)>>2]|0;c[2463]=11180;c[2464]=11200;ko(9852+h|0,g);c[9852+f>>2]=0;c[9852+a>>2]=-1;c[9596+((c[(c[2399]|0)+-12>>2]|0)+72)>>2]=9684;a=9768+((c[(c[2442]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[9768+((c[(c[2442]|0)+-12>>2]|0)+72)>>2]=9684;Sm(10476,b,10356);c[2484]=11140;c[2486]=11160;c[2485]=0;b=c[2782]|0;ko(9936+b|0,10476);c[9936+(b+72)>>2]=0;c[9936+(b+76)>>2]=-1;Tm(10532,e,10364);c[2506]=11220;c[2507]=11240;e=c[2802]|0;ko(10024+e|0,10532);b=e+72|0;c[10024+b>>2]=0;a=e+76|0;c[10024+a>>2]=-1;Tm(10580,d,10372);c[2527]=11220;c[2528]=11240;ko(10108+e|0,10580);c[10108+b>>2]=0;c[10108+a>>2]=-1;d=c[10108+((c[(c[2527]|0)+-12>>2]|0)+24)>>2]|0;c[2548]=11220;c[2549]=11240;ko(10192+e|0,d);c[10192+b>>2]=0;c[10192+a>>2]=-1;c[9936+((c[(c[2484]|0)+-12>>2]|0)+72)>>2]=10024;a=10108+((c[(c[2527]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[10108+((c[(c[2527]|0)+-12>>2]|0)+72)>>2]=10024;return}function Nm(a){a=a|0;To(9684)|0;To(9852)|0;Yo(10024)|0;Yo(10192)|0;return}function Om(){Mm(0);ib(191,30078,n|0)|0;return}function Pm(){return}function Qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;no(b);c[b>>2]=10828;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Dt(h,b+4|0);c[g>>2]=c[h>>2];jn(b,g);Et(g);i=f;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;no(b);c[b>>2]=10764;c[b+32>>2]=d;Dt(h,b+4|0);c[g>>2]=c[h>>2];d=Gt(g,12428)|0;Et(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Hb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=f;return}function Sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Co(b);c[b>>2]=10700;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Dt(h,b+4|0);c[g>>2]=c[h>>2];Zm(b,g);Et(g);i=f;return}function Tm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Co(b);c[b>>2]=10636;c[b+32>>2]=d;Dt(h,b+4|0);c[g>>2]=c[h>>2];d=Gt(g,12436)|0;Et(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Hb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=f;return}function Um(a){a=a|0;Ao(a);ck(a);return}function Vm(b,d){b=b|0;d=d|0;Hb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Gt(d,12436)|0;c[b+36>>2]=d;a[b+44>>0]=(Hb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Wm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Rb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Xl(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Ul(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Pb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Xl(d,4,e,c[b+32>>2]|0)|0;while(0);return d|0}function Ym(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Xl(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Mb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Xl(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Xl(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Gt(d,12436)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Hb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Hb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function _m(a){a=a|0;Ao(a);ck(a);return}function $m(a){a=a|0;return cn(a,0)|0}function an(a){a=a|0;return cn(a,1)|0}function bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Mb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if(($l(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function cn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Yl(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Mb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Yl(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0];while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if(($l(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}while(0);i=r;return e|0}function dn(a){a=a|0;lo(a);ck(a);return}function en(b,d){b=b|0;d=d|0;Hb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Gt(d,12428)|0;c[b+36>>2]=d;a[b+44>>0]=(Hb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function fn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Rb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Xl(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Ul(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function gn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Pb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Xl(e,1,f,c[b+32>>2]|0)|0;while(0);return e|0}function hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Xl(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Mb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Xl(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Xl(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function jn(b,d){b=b|0;d=d|0;var e=0,f=0;f=Gt(d,12428)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Hb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Hb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function kn(a){a=a|0;lo(a);ck(a);return}function ln(a){a=a|0;return on(a,0)|0}function mn(a){a=a|0;return on(a,1)|0}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Mb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if(($l(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function on(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Yl(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Mb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Yl(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0;while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if(($l(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}while(0);i=s;return f|0}function pn(a){a=a|0;return}function qn(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function rn(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Eb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function sn(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function tn(a){a=a|0;if(rn(a)|0)un(a);return}function un(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Eb[c[(c[a>>2]|0)+16>>2]&255](a);return}function vn(a,b){a=a|0;b=b|0;return 0}function wn(a,b){a=a|0;b=b|0;c[a>>2]=5096;xn(a+4|0,b);return}function xn(a,b){a=a|0;b=b|0;var d=0,e=0;e=pm(b)|0;d=ak(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;fx(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function yn(a,b,d){a=a|0;b=b|0;d=d|0;qb(10884)|0;if((c[a>>2]|0)==1)do Ba(10912,10884)|0;while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;ab(10884)|0;Eb[d&255](b);qb(10884)|0;c[a>>2]=-1;ab(10884)|0;fb(10912)|0}else ab(10884)|0;return}function zn(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else An(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function An(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)Zj(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=ak(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}fx(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)Zj(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=ak(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}cx(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Cn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=a[d>>0]|0;g=(h&1)==0;h=g?(h&255)>>>1:c[d+4>>2]|0;if(h>>>0<e>>>0)Uk(b);else{h=h-e|0;An(b,(g?d+1|0:c[d+8>>2]|0)+e|0,h>>>0<f>>>0?h:f);return}}function Dn(b){b=b|0;if(a[b>>0]&1)ck(c[b+8>>2]|0);return}function En(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Gn(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Fn(a,b){a=a|0;b=b|0;return Gn(a,b,pm(b)|0)|0}function Gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;hx(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Nn(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function Hn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else In(b,d-f|0,e)|0;while(0);return}function In(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0<d>>>0){On(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;cx(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Jn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)Zj(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=10){d=ak(i+1|0)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;fx(d|0,g|0,e+1|0)|0;if(h)ck(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function Kn(a,b){a=a|0;b=b|0;return Mn(a,b,pm(b)|0)|0}function Ln(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){On(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Mn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;fx(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Nn(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Nn(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0<e>>>0)Zj(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=ak(k)|0;if(g)fx(l|0,m|0,g|0)|0;if(i)fx(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))fx(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)ck(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function On(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)Zj(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=ak(j)|0;if(g)fx(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))fx(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)ck(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Pn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a[b>>0]|0;h=(g&1)==0;if(h)i=(g&255)>>>1;else i=c[b+4>>2]|0;if(i>>>0<d>>>0)Uk(b);if(h)h=10;else{g=c[b>>2]|0;h=(g&-2)+-1|0;g=g&255}if((h-i|0)>>>0>=f>>>0){if(f){if(!(g&1))h=b+1|0;else h=c[b+8>>2]|0;if((i|0)==(d|0))g=h+d|0;else{g=h+d|0;hx(h+(f+d)|0,g|0,i-d|0)|0;e=g>>>0<=e>>>0&(h+i|0)>>>0>e>>>0?e+f|0:e}hx(g|0,e|0,f|0)|0;g=i+f|0;if(!(a[b>>0]&1))a[b>>0]=g<<1;else c[b+4>>2]=g;a[h+g>>0]=0}}else Nn(b,h,i+f-h|0,i,d,0,f,e);return b|0}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;return Pn(a,b,c,pm(c)|0)|0}function Rn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=a[b>>0]|0;j=(h&1)==0;if(j)h=(h&255)>>>1;else h=c[b+4>>2]|0;if((g|0)==-1|h>>>0<d>>>0)Uk(b);i=h-d|0;i=i>>>0<e>>>0?i:e;if(j)h=b+1|0;else h=c[b+8>>2]|0;e=i>>>0>g>>>0;h=mm(h+d|0,f,e?g:i)|0;if(!h)if(i>>>0<g>>>0)h=-1;else return e&1|0;return h|0}function Sn(a,b){a=a|0;b=b|0;return Rn(a,0,-1,b,pm(b)|0)|0}function Tn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if(f>>>0>4294967279)Zj(b);if(f>>>0<11){a[b>>0]=e<<1;f=b+1|0}else{g=f+16&-16;f=ak(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e}fx(f|0,d|0,e|0)|0;a[f+e>>0]=0;return}function Un(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)Zj(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=ak(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}rm(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)Zj(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=ak(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}tm(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wn(b){b=b|0;if(a[b>>0]&1)ck(c[b+8>>2]|0);return}function Xn(a,b){a=a|0;b=b|0;return Yn(a,b,qm(b)|0)|0}function Yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;sm(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$n(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function Zn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)Zj(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=1){d=ak((i<<2)+4|0)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;rm(d,g,e+1|0)|0;if(h)ck(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function _n(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){ao(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $n(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0<e>>>0)Zj(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=ak(k<<2)|0;if(g)rm(l,m,g)|0;if(i)rm(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))rm(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)ck(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function ao(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0<e>>>0)Zj(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=ak(j<<2)|0;if(g)rm(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))rm(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)ck(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)Zj(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=ak(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function co(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)Zj(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=ak(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function eo(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function fo(a){a=a|0;go(a);return}function go(a){a=a|0;c[a>>2]=11256;io(a,0);Et(a+28|0);Hm(c[a+32>>2]|0);Hm(c[a+36>>2]|0);Hm(c[a+48>>2]|0);Hm(c[a+60>>2]|0);return}function ho(a){a=a|0;go(a);ck(a);return}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Kb[c[(c[e>>2]|0)+(d<<2)>>2]&7](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jo(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Dt(b,a+28|0);i=d;return c[b>>2]|0}function ko(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Ct(d);return}function lo(a){a=a|0;c[a>>2]=10968;Et(a+4|0);return}function mo(a){a=a|0;c[a>>2]=10968;Et(a+4|0);ck(a);return}function no(a){a=a|0;c[a>>2]=10968;Ct(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function oo(a,b){a=a|0;b=b|0;return}function po(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function ro(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function so(a){a=a|0;return 0}function to(a){a=a|0;return 0}function uo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0;while(0);return d|0}function vo(a){a=a|0;return -1}function wo(a){a=a|0;var b=0;if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function xo(a,b){a=a|0;b=b|0;return -1}function yo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Pb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0;while(0);return e|0}function zo(a,b){a=a|0;b=b|0;return -1}function Ao(a){a=a|0;c[a>>2]=11032;Et(a+4|0);return}function Bo(a){a=a|0;c[a>>2]=11032;Et(a+4|0);ck(a);return}function Co(a){a=a|0;c[a>>2]=11032;Ct(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Do(a,b){a=a|0;b=b|0;return}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Fo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Go(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Ho(a){a=a|0;return 0}function Io(a){a=a|0;return 0}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Hb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Ko(a){a=a|0;return -1}function Lo(a){a=a|0;var b=0;if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function Mo(a,b){a=a|0;b=b|0;return -1}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Pb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Oo(a,b){a=a|0;b=b|0;return -1}function Po(a){a=a|0;go(a+8|0);return}function Qo(a){a=a|0;go(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Ro(a){a=a|0;go(a+8|0);ck(a);return}function So(a){a=a|0;Ro(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function To(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){bp(d,b);if((a[d>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}cp(d)}i=e;return b|0}function Uo(a){a=a|0;go(a+8|0);return}function Vo(a){a=a|0;go(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Wo(a){a=a|0;go(a+8|0);ck(a);return}function Xo(a){a=a|0;Wo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Yo(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){mp(d,b);if((a[d>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}np(d)}i=e;return b|0}function Zo(a){a=a|0;go(a+4|0);return}function _o(a){a=a|0;go(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function $o(a){a=a|0;go(a+4|0);ck(a);return}function ap(a){a=a|0;$o(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function bp(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)To(e)|0;a[b>>0]=1}return}function cp(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;if(((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Wa()|0):0)?(d=c[a>>2]|0,d=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[d>>2]|0)+24>>2]&127](d)|0)==-1):0){d=c[a>>2]|0;d=d+((c[(c[d>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}return}function dp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+4|0;m=n+8|0;e=n;bp(m,b);if(a[m>>0]|0){c[e>>2]=jo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;l=Gt(e,11540)|0;Et(e);f=c[(c[b>>2]|0)+-12>>2]|0;g=c[b+(f+24)>>2]|0;h=b+f|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[j>>2]=jo(h)|0;e=Gt(j,12368)|0;e=Pb[c[(c[e>>2]|0)+28>>2]&63](e,32)|0;Et(j);e=e<<24>>24;c[f>>2]=e}f=c[(c[l>>2]|0)+16>>2]|0;c[k>>2]=g;c[j>>2]=c[k>>2];if(!(Rb[f&31](l,j,h,e&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}cp(m);i=n;return b|0}function ep(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+4|0;m=n+8|0;e=n;bp(m,b);if(a[m>>0]|0){c[e>>2]=jo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;l=Gt(e,11540)|0;Et(e);f=c[(c[b>>2]|0)+-12>>2]|0;g=c[b+(f+24)>>2]|0;h=b+f|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[j>>2]=jo(h)|0;e=Gt(j,12368)|0;e=Pb[c[(c[e>>2]|0)+28>>2]&63](e,32)|0;Et(j);e=e<<24>>24;c[f>>2]=e}f=c[(c[l>>2]|0)+24>>2]|0;c[k>>2]=g;c[j>>2]=c[k>>2];if(!(Rb[f&31](l,j,h,e&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}cp(m);i=n;return b|0}function fp(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+4|0;m=n+8|0;e=n;bp(m,b);if(a[m>>0]|0){c[e>>2]=jo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;l=Gt(e,11540)|0;Et(e);f=c[(c[b>>2]|0)+-12>>2]|0;g=c[b+(f+24)>>2]|0;h=b+f|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[j>>2]=jo(h)|0;e=Gt(j,12368)|0;e=Pb[c[(c[e>>2]|0)+28>>2]&63](e,32)|0;Et(j);e=e<<24>>24;c[f>>2]=e}f=c[(c[l>>2]|0)+32>>2]|0;c[k>>2]=g;c[j>>2]=c[k>>2];if(!(Qb[f&7](l,j,h,e&255,d)|0)){l=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[l>>2]=c[l>>2]|5}}cp(m);i=n;return b|0}function gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+4|0;m=n+8|0;e=n;bp(m,b);if(a[m>>0]|0){c[e>>2]=jo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;l=Gt(e,11540)|0;Et(e);f=c[(c[b>>2]|0)+-12>>2]|0;g=c[b+(f+24)>>2]|0;h=b+f|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[j>>2]=jo(h)|0;e=Gt(j,12368)|0;e=Pb[c[(c[e>>2]|0)+28>>2]&63](e,32)|0;Et(j);e=e<<24>>24;c[f>>2]=e}f=c[(c[l>>2]|0)+40>>2]|0;c[k>>2]=g;c[j>>2]=c[k>>2];if(!(Rb[f&31](l,j,h,e&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}cp(m);i=n;return b|0}function hp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;bp(j,b);a:do if(a[j>>0]|0){f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;g=f;do if(f){h=g+24|0;e=c[h>>2]|0;if((e|0)==(c[g+28>>2]|0))if((Pb[c[(c[f>>2]|0)+52>>2]&63](g,d&255)|0)==-1)break;else break a;else{c[h>>2]=e+1;a[e>>0]=d;break a}}while(0);d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}while(0);cp(j);i=k;return b|0}function ip(a){a=a|0;go(a+4|0);return}function jp(a){a=a|0;go(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function kp(a){a=a|0;go(a+4|0);ck(a);return}function lp(a){a=a|0;kp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function mp(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Yo(e)|0;a[b>>0]=1}return}function np(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;if(((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Wa()|0):0)?(d=c[a>>2]|0,d=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[d>>2]|0)+24>>2]&127](d)|0)==-1):0){d=c[a>>2]|0;d=d+((c[(c[d>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}return}function op(a,b){a=a|0;b=b|0;return}function pp(a){a=a|0;go(a+12|0);return}function qp(a){a=a|0;go(a+-8+12|0);return}function rp(a){a=a|0;go(a+((c[(c[a>>2]|0)+-12>>2]|0)+12)|0);return}function sp(a){a=a|0;go(a+12|0);ck(a);return}function tp(a){a=a|0;sp(a+-8|0);return}function up(a){a=a|0;sp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vp(a){a=a|0;go(a);ck(a);return}function wp(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function xp(a){a=a|0;return}function yp(a){a=a|0;return}function zp(a){a=a|0;ck(a);return}function Ap(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24<g<<24>>24){c=-1;break a}if(g<<24>>24<b<<24>>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Bp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bo(a,c,d);return}function Cp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Dp(a){a=a|0;return}function Ep(a){a=a|0;ck(a);return}function Fp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Gp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;co(a,c,d);return}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Ip(a){a=a|0;return}function Jp(a){a=a|0;ck(a);return}function Kp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;k=s+56|0;j=s+52|0;r=s+48|0;l=s+44|0;m=s+40|0;n=s+36|0;o=s+32|0;q=s+8|0;p=s;a:do if(!(c[f+4>>2]&1)){c[r>>2]=-1;q=c[(c[b>>2]|0)+16>>2]|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];j=Gb[q&63](b,j,k,f,g,r)|0;c[d>>2]=j;switch(c[r>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{b=jo(f)|0;c[n>>2]=b;j=Gt(n,12368)|0;rn(b)|0;b=jo(f)|0;c[o>>2]=b;r=Gt(o,12508)|0;rn(b)|0;Fb[c[(c[r>>2]|0)+24>>2]&127](q,r);Fb[c[(c[r>>2]|0)+28>>2]&127](q+12|0,r);c[p>>2]=c[e>>2];c[k>>2]=c[p>>2];a[h>>0]=(sv(d,k,q,q+24|0,j,g,1)|0)==(q|0)&1;j=c[d>>2]|0;Dn(q+12|0);Dn(q)}while(0);i=s;return j|0}function Lp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=tv(a,k,j,e,f,g)|0;i=h;return a|0}function Mp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=uv(a,k,j,e,f,g)|0;i=h;return a|0}function Np(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=vv(a,k,j,e,f,g)|0;i=h;return a|0}function Op(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=wv(a,k,j,e,f,g)|0;i=h;return a|0}function Pp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=xv(a,k,j,e,f,g)|0;i=h;return a|0}function Qp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yv(a,k,j,e,f,g)|0;i=h;return a|0}function Rp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zv(a,k,j,e,f,g)|0;i=h;return a|0}function Sp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Av(a,k,j,e,f,g)|0;i=h;return a|0}function Tp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bv(a,k,j,e,f,g)|0;i=h;return a|0}function Up(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+240|0;w=z;p=z+208|0;y=z+32|0;t=z+28|0;x=z+16|0;v=z+12|0;r=z+48|0;s=z+8|0;q=z+4|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;u=jo(g)|0;c[t>>2]=u;t=Gt(t,12368)|0;Nb[c[(c[t>>2]|0)+32>>2]&15](t,30706,30732,p)|0;rn(u)|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);t=x+8|0;u=x+1|0;g=(a[x>>0]&1)==0?u:c[t>>2]|0;c[v>>2]=g;c[s>>2]=r;c[q>>2]=0;o=x+4|0;b=c[e>>2]|0;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break a;if((Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0)!=-1)if(l)break;else break a;else{c[f>>2]=0;A=13;break}}else A=13;while(0);if((A|0)==13){A=0;if(l){k=0;break}else k=0}l=a[x>>0]|0;l=(l&1)==0?(l&255)>>>1:c[o>>2]|0;if((c[v>>2]|0)==(g+l|0)){Hn(x,l<<1,0);if(!(a[x>>0]&1))g=10;else g=(c[x>>2]&-2)+-1|0;Hn(x,g,0);g=(a[x>>0]&1)==0?u:c[t>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0))l=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else l=d[l>>0]|0;if(Vp(l&255,16,g,v,q,0,y,r,s,p)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[m>>2]=k+1;continue}}Hn(x,(c[v>>2]|0)-g|0,0);u=(a[x>>0]&1)==0?u:c[t>>2]|0;v=Wp()|0;c[w>>2]=j;if((Cv(u,v,32090,w)|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[f>>2]=0;A=37;break}if(!b)A=38}else A=37;while(0);if((A|0)==37?b:0)A=38;if((A|0)==38)c[h>>2]=c[h>>2]|2;A=c[e>>2]|0;Dn(x);Dn(y);i=z;return A|0}function Vp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[30706+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[30706+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function Wp(){if((a[2024]|0)==0?(Fa(2024)|0)!=0:0){c[3233]=nl(2147483647,32093,0)|0;Ma(2024)}return c[3233]|0}function Xp(a){a=a|0;return}function Yp(a){a=a|0;ck(a);return}function Zp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;k=s+56|0;j=s+52|0;r=s+48|0;l=s+44|0;m=s+40|0;n=s+36|0;o=s+32|0;q=s+8|0;p=s;a:do if(!(c[f+4>>2]&1)){c[r>>2]=-1;q=c[(c[b>>2]|0)+16>>2]|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];j=Gb[q&63](b,j,k,f,g,r)|0;c[d>>2]=j;switch(c[r>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{b=jo(f)|0;c[n>>2]=b;j=Gt(n,12360)|0;rn(b)|0;b=jo(f)|0;c[o>>2]=b;r=Gt(o,12516)|0;rn(b)|0;Fb[c[(c[r>>2]|0)+24>>2]&127](q,r);Fb[c[(c[r>>2]|0)+28>>2]&127](q+12|0,r);c[p>>2]=c[e>>2];c[k>>2]=c[p>>2];a[h>>0]=(Dv(d,k,q,q+24|0,j,g,1)|0)==(q|0)&1;j=c[d>>2]|0;Wn(q+12|0);Wn(q)}while(0);i=s;return j|0}function _p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ev(a,k,j,e,f,g)|0;i=h;return a|0}function $p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fv(a,k,j,e,f,g)|0;i=h;return a|0}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gv(a,k,j,e,f,g)|0;i=h;return a|0}function bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Hv(a,k,j,e,f,g)|0;i=h;return a|0}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Iv(a,k,j,e,f,g)|0;i=h;return a|0}function dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Jv(a,k,j,e,f,g)|0;i=h;return a|0}function eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Kv(a,k,j,e,f,g)|0;i=h;return a|0}function fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lv(a,k,j,e,f,g)|0;i=h;return a|0}function gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mv(a,k,j,e,f,g)|0;i=h;return a|0}function hq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+320|0;v=y;o=y+208|0;x=y+32|0;s=y+28|0;w=y+16|0;u=y+12|0;q=y+48|0;r=y+8|0;p=y+4|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;t=jo(f)|0;c[s>>2]=t;s=Gt(s,12360)|0;Nb[c[(c[s>>2]|0)+48>>2]&15](s,30706,30732,o)|0;rn(t)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;if(!(a[w>>0]&1))b=10;else b=(c[w>>2]&-2)+-1|0;Hn(w,b,0);s=w+8|0;t=w+1|0;b=(a[w>>0]&1)==0?t:c[s>>2]|0;c[u>>2]=b;c[r>>2]=q;c[p>>2]=0;n=w+4|0;j=c[d>>2]|0;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;l=1}else{f=j;l=0}}else{f=0;l=1}j=c[e>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else break a;else{c[e>>2]=0;z=16;break}}else z=16;while(0);if((z|0)==16){z=0;if(l){j=0;break}else j=0}k=a[w>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[u>>2]|0)==(b+k|0)){Hn(w,k<<1,0);if(!(a[w>>0]&1))b=10;else b=(c[w>>2]&-2)+-1|0;Hn(w,b,0);b=(a[w>>0]&1)==0?t:c[s>>2]|0;c[u>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0))k=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else k=c[k>>2]|0;if(iq(k,16,b,u,p,0,x,q,r,o)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){Hb[c[(c[f>>2]|0)+40>>2]&127](f)|0;j=f;continue}else{c[l>>2]=j+4;j=f;continue}}Hn(w,(c[u>>2]|0)-b|0,0);t=(a[w>>0]&1)==0?t:c[s>>2]|0;u=Wp()|0;c[v>>2]=h;if((Cv(t,u,32090,v)|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0))b=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{z=45;break}else{c[e>>2]=0;z=43;break}}else z=43;while(0);if((z|0)==43?f:0)z=45;if((z|0)==45)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;Dn(w);Dn(x);i=y;return z|0}function iq(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[30706+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[30706+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function jq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;d=jo(d)|0;c[h>>2]=d;j=Gt(h,12368)|0;Nb[c[(c[j>>2]|0)+32>>2]&15](j,30706,30732,e)|0;e=Gt(h,12508)|0;a[f>>0]=Hb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Fb[c[(c[e>>2]|0)+20>>2]&127](b,e);rn(d)|0;i=g;return}function kq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h;d=jo(d)|0;c[j>>2]=d;k=Gt(j,12368)|0;Nb[c[(c[k>>2]|0)+32>>2]&15](k,30706,30738,e)|0;e=Gt(j,12508)|0;a[f>>0]=Hb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=Hb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Fb[c[(c[e>>2]|0)+20>>2]&127](b,e);rn(d)|0;i=h;return}function lq(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[30706+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}while(0);return p|0}function mq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;b=jo(b)|0;c[g>>2]=b;h=Gt(g,12360)|0;Nb[c[(c[h>>2]|0)+48>>2]&15](h,30706,30732,d)|0;d=Gt(g,12516)|0;c[e>>2]=Hb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Fb[c[(c[d>>2]|0)+20>>2]&127](a,d);rn(b)|0;i=f;return}function nq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;b=jo(b)|0;c[h>>2]=b;j=Gt(h,12360)|0;Nb[c[(c[j>>2]|0)+48>>2]&15](j,30706,30738,d)|0;d=Gt(h,12516)|0;c[e>>2]=Hb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=Hb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Fb[c[(c[d>>2]|0)+20>>2]&127](a,d);rn(b)|0;i=g;return}function oq(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[30706+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}while(0);return p|0}function pq(a){a=a|0;return}function qq(a){a=a|0;ck(a);return} +function Sb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Tb(){return i|0}function Ub(a){a=a|0;i=a}function Vb(a,b){a=a|0;b=b|0;i=a;j=b}function Wb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Xb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Yb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Zb(a){a=a|0;D=a}function _b(){return D|0}function $b(a){a=a|0;c[a>>2]=3100;Dn(a+16|0);return}function ac(a){a=a|0;c[a+12>>2]=3120;c[a+24>>2]=3152;Jc(a+92|0,c[a+96>>2]|0);Kc(a+80|0,c[a+84>>2]|0);Kc(a+68|0,c[a+72>>2]|0);Lc(a+56|0,c[a+60>>2]|0);Mc(a+44|0,c[a+48>>2]|0);Nc(a+32|0,c[a+36>>2]|0);Oc(a,c[a+4>>2]|0);return}function bc(a){a=a|0;return cc(2964,a)|0}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;g=e+12|0;f=e;An(f,d,pm(d)|0);Wc(g,b,f);b=om((a[g>>0]&1)==0?g+1|0:c[g+8>>2]|0)|0;Dn(g);Dn(f);i=e;return b|0}function dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;Vc(h,2964,b,d,e,f);e=om((a[h>>0]&1)==0?h+1|0:c[h+8>>2]|0)|0;Dn(h);i=g;return e|0}function ec(a){a=a|0;Hm(a);return}function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;g=l+36|0;h=l+24|0;j=l+12|0;f=l;k=Ib[c[(c[d>>2]|0)+8>>2]&1](d,44100.0)|0;m=d+16|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;e=a[m>>0]|0;n=(e&1)==0;e=n?(e&255)>>>1:c[d+20>>2]|0;Tn(h,n?m+1|0:c[d+24>>2]|0,e,e+1|0);Mn(h,22408,1)|0;Fb[c[(c[k>>2]|0)+12>>2]&127](j,k);e=a[j>>0]|0;d=(e&1)==0;e=Mn(h,d?j+1|0:c[j+8>>2]|0,d?(e&255)>>>1:c[j+4>>2]|0)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f>>2]=0;e=f+4|0;c[e>>2]=0;c[f+8>>2]=0;ic(b,g,f,k);d=c[f>>2]|0;if(d){b=c[e>>2]|0;if((b|0)!=(d|0)){do{n=b+-12|0;c[e>>2]=n;Dn(n);b=c[e>>2]|0}while((b|0)!=(d|0));d=c[f>>2]|0}ck(d)}Dn(g);Dn(j);Dn(h);if(!k){i=l;return}Eb[c[(c[k>>2]|0)+4>>2]&255](k);i=l;return}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+224|0;k=u+88|0;q=u+72|0;r=u+60|0;s=u+48|0;o=u+36|0;t=u;f=Ib[c[(c[d>>2]|0)+8>>2]&1](d,+g[e+12>>2])|0;h=e+16|0;if((c[d+4>>2]&c[h>>2]|0)!=0?(Hb[c[(c[f>>2]|0)+72>>2]&127](f)|0)==1:0){p=ak(16)|0;xg(p,f);f=p}e=c[h>>2]|0;if(c[d+12>>2]&e){p=ak(16)|0;If(p,f);e=c[h>>2]|0;f=p}if(!(c[d+8>>2]&e))j=f;else{j=ak(16)|0;ng(j,f)}l=b+152|0;c[b+156>>2]=0;m=b+160|0;c[m>>2]=0;n=b+156|0;cx(b|0,0,152)|0;c[l>>2]=n;p=b+164|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[b>>2]=j;f=d+16|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;h=a[f>>0]|0;e=(h&1)==0;h=e?(h&255)>>>1:c[d+20>>2]|0;Tn(r,e?f+1|0:c[d+24>>2]|0,h,h+1|0);Mn(r,22408,1)|0;Fb[c[(c[j>>2]|0)+12>>2]&127](s,j);h=a[s>>0]|0;f=(h&1)==0;h=Mn(r,f?s+1|0:c[s+8>>2]|0,f?(h&255)>>>1:c[s+4>>2]|0)|0;c[q>>2]=c[h>>2];c[q+4>>2]=c[h+4>>2];c[q+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[o>>2]=0;h=o+4|0;c[h>>2]=0;c[o+8>>2]=0;ic(k,q,o,j);qc(b+4|0,k)|0;jc(k);f=c[o>>2]|0;if(f){e=c[h>>2]|0;if((e|0)!=(f|0)){do{k=e+-12|0;c[h>>2]=k;Dn(k);e=c[h>>2]|0}while((e|0)!=(f|0));f=c[o>>2]|0}ck(f)}Dn(q);Dn(s);Dn(r);s=Hb[c[(c[j>>2]|0)+84>>2]&127](j)|0;if((s|0)==(Hb[c[(c[j>>2]|0)+88>>2]&127](j)|0))f=Hb[c[(c[j>>2]|0)+84>>2]&127](j)|0;else f=0;e=b+140|0;h=Hb[c[(c[j>>2]|0)+80>>2]&127](j)|0;rc(t,j,f,h,Hb[c[(c[j>>2]|0)+76>>2]&127](j)|0);c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];f=t+12|0;tc(l,c[n>>2]|0);c[l>>2]=c[f>>2];j=t+16|0;e=c[j>>2]|0;c[n>>2]=e;h=t+20|0;s=c[h>>2]|0;c[m>>2]=s;if(!s)c[l>>2]=n;else{c[e+8>>2]=n;c[f>>2]=j;c[j>>2]=0;c[h>>2]=0}f=t+24|0;if(!(a[p>>0]&1)){a[p+1>>0]=0;a[p>>0]=0;Jn(p,0);c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Dn(f);t=t+12|0;b=c[j>>2]|0;tc(t,b);i=u;return}else{a[c[b+172>>2]>>0]=0;c[b+168>>2]=0;Jn(p,0);c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Dn(f);t=t+12|0;b=c[j>>2]|0;tc(t,b);i=u;return}}function hc(b,c){b=b|0;c=+c;var d=0;d=ak(60)|0;ze(d,c,(a[b+28>>0]|0)!=0);return d|0}function ic(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+144|0;g=q+120|0;h=q+72|0;j=q+60|0;k=q+48|0;l=q+36|0;m=q+24|0;n=q+12|0;p=q;o=q+84|0;cx(b|0,0,136)|0;En(b,d)|0;Fb[c[(c[f>>2]|0)+12>>2]&127](g,f);d=b+12|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[b+20>>2]>>0]=0;c[b+16>>2]=0}Jn(d,0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Dn(g);Fb[c[(c[f>>2]|0)+16>>2]&127](h,f);d=b+24|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[b+32>>2]>>0]=0;c[b+28>>2]=0}Jn(d,0);c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Dn(h);Fb[c[(c[f>>2]|0)+20>>2]&127](j,f);d=b+36|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0}Jn(d,0);c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Dn(j);Fb[c[(c[f>>2]|0)+24>>2]&127](k,f);d=b+48|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[b+56>>2]>>0]=0;c[b+52>>2]=0}Jn(d,0);c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);Fb[c[(c[f>>2]|0)+28>>2]&127](l,f);d=b+60|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[b+68>>2]>>0]=0;c[b+64>>2]=0}Jn(d,0);c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Dn(l);c[b+72>>2]=Hb[c[(c[f>>2]|0)+32>>2]&127](f)|0;d=b+76|0;if((d|0)!=(e|0))nc(d,c[e>>2]|0,c[e+4>>2]|0);c[b+88>>2]=Hb[c[(c[f>>2]|0)+84>>2]&127](f)|0;c[b+92>>2]=Hb[c[(c[f>>2]|0)+88>>2]&127](f)|0;Fb[c[(c[f>>2]|0)+36>>2]&127](m,f);j=b+96|0;oc(j);c[j>>2]=c[m>>2];j=m+4|0;c[b+100>>2]=c[j>>2];g=m+8|0;c[b+104>>2]=c[g>>2];c[g>>2]=0;c[j>>2]=0;c[m>>2]=0;kc(m);Fb[c[(c[f>>2]|0)+48>>2]&127](n,f);j=b+108|0;g=c[j>>2]|0;if(!g){d=b+112|0;g=b+116|0}else{d=b+112|0;h=c[d>>2]|0;if((h|0)!=(g|0)){do{e=h+-12|0;c[d>>2]=e;Dn(e);h=c[d>>2]|0}while((h|0)!=(g|0));g=c[j>>2]|0}ck(g);g=b+116|0;c[g>>2]=0;c[d>>2]=0;c[j>>2]=0}c[j>>2]=c[n>>2];k=n+4|0;c[d>>2]=c[k>>2];d=n+8|0;c[g>>2]=c[d>>2];c[d>>2]=0;c[k>>2]=0;c[n>>2]=0;c[b+120>>2]=Hb[c[(c[f>>2]|0)+72>>2]&127](f)|0;Fb[c[(c[f>>2]|0)+92>>2]&127](p,f);d=c[p>>2]|0;k=p+4|0;if((d|0)==(c[k>>2]|0)){lc(p);i=q;return}l=o+12|0;m=o+24|0;e=b+128|0;n=b+132|0;j=b+124|0;do{g=o;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));En(o,d)|0;En(l,d+12|0)|0;En(m,d+24|0)|0;g=c[e>>2]|0;if((g|0)==(c[n>>2]|0))pc(j,o);else{zn(g,o);zn(g+12|0,l);zn(g+24|0,m);c[e>>2]=(c[e>>2]|0)+36}Dn(m);Dn(l);Dn(o);d=d+100|0}while((d|0)!=(c[k>>2]|0));lc(p);i=q;return}function jc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+124|0;b=c[e>>2]|0;if(b){f=a+128|0;d=c[f>>2]|0;if((d|0)!=(b|0)){do{g=d+-36|0;c[f>>2]=g;Dn(d+-12|0);Dn(d+-24|0);Dn(g);d=c[f>>2]|0}while((d|0)!=(b|0));b=c[e>>2]|0}ck(b)}e=a+108|0;b=c[e>>2]|0;if(b){f=a+112|0;d=c[f>>2]|0;if((d|0)!=(b|0)){do{g=d+-12|0;c[f>>2]=g;Dn(g);d=c[f>>2]|0}while((d|0)!=(b|0));b=c[e>>2]|0}ck(b)}kc(a+96|0);e=a+76|0;b=c[e>>2]|0;if(b){f=a+80|0;d=c[f>>2]|0;if((d|0)!=(b|0)){do{g=d+-12|0;c[f>>2]=g;Dn(g);d=c[f>>2]|0}while((d|0)!=(b|0));b=c[e>>2]|0}ck(b)}Dn(a+60|0);Dn(a+48|0);Dn(a+36|0);Dn(a+24|0);Dn(a+12|0);Dn(a);return}function kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a>>2]|0;if(!b)return;j=a+4|0;d=c[j>>2]|0;if((d|0)!=(b|0)){do{i=d+-80|0;c[j>>2]=i;h=d+-12|0;e=c[h>>2]|0;if(e){g=d+-8|0;f=c[g>>2]|0;if((f|0)!=(e|0)){do{k=f+-12|0;c[g>>2]=k;Dn(k);f=c[g>>2]|0}while((f|0)!=(e|0));e=c[h>>2]|0}ck(e)}Dn(d+-44|0);Dn(d+-56|0);Dn(d+-68|0);Dn(i);d=c[j>>2]|0}while((d|0)!=(b|0));b=c[a>>2]|0}ck(b);return}function lc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a>>2]|0;if(!b)return;j=a+4|0;d=c[j>>2]|0;if((d|0)!=(b|0)){do{i=d+-100|0;c[j>>2]=i;h=d+-44|0;e=c[h>>2]|0;if(e){g=d+-40|0;f=c[g>>2]|0;if((f|0)!=(e|0)){do{k=f+-12|0;c[g>>2]=k;Dn(k);f=c[g>>2]|0}while((f|0)!=(e|0));e=c[h>>2]|0}ck(e)}Dn(d+-64|0);Dn(d+-76|0);Dn(d+-88|0);Dn(i);d=c[j>>2]|0}while((d|0)!=(b|0));b=c[a>>2]|0}ck(b);return}function mc(a){a=a|0;Ta(a|0)|0;jk()}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;f=(d-i|0)/12|0;j=a+8|0;e=c[j>>2]|0;k=c[a>>2]|0;g=k;if(f>>>0<=((e-g|0)/12|0)>>>0){j=a+4|0;e=((c[j>>2]|0)-g|0)/12|0;h=f>>>0>e>>>0;e=h?b+(e*12|0)|0:d;if((e|0)==(b|0))b=k;else{g=e+-12-i|0;f=k;while(1){En(f,b)|0;b=b+12|0;if((b|0)==(e|0))break;else f=f+12|0}b=k+((((g>>>0)/12|0)+1|0)*12|0)|0}if(!h){e=c[j>>2]|0;if((e|0)==(b|0))return;do{d=e+-12|0;c[j>>2]=d;Dn(d);e=c[j>>2]|0}while((e|0)!=(b|0));return}if((e|0)==(d|0))return;b=c[j>>2]|0;do{zn(b,e);b=(c[j>>2]|0)+12|0;c[j>>2]=b;e=e+12|0}while((e|0)!=(d|0));return}if(k){g=a+4|0;e=c[g>>2]|0;if((e|0)==(k|0))e=k;else{do{i=e+-12|0;c[g>>2]=i;Dn(i);e=c[g>>2]|0}while((e|0)!=(k|0));e=c[a>>2]|0}ck(e);c[j>>2]=0;c[g>>2]=0;c[a>>2]=0;e=0}h=f>>>0>357913941;if(h){_j(a);e=c[j>>2]|0;g=c[a>>2]|0}else g=0;e=(e-g|0)/12|0;if(e>>>0<178956970){g=e<<1;e=g>>>0>=f>>>0;if(e|h^1)f=e?g:f;else _j(a)}else f=357913941;e=ak(f*12|0)|0;g=a+4|0;c[g>>2]=e;c[a>>2]=e;c[j>>2]=e+(f*12|0);if((b|0)==(d|0))return;do{zn(e,b);e=(c[g>>2]|0)+12|0;c[g>>2]=e;b=b+12|0}while((b|0)!=(d|0));return}function oc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a>>2]|0;if(!b)return;j=a+4|0;d=c[j>>2]|0;if((d|0)!=(b|0)){do{i=d+-80|0;c[j>>2]=i;h=d+-12|0;e=c[h>>2]|0;if(e){g=d+-8|0;f=c[g>>2]|0;if((f|0)!=(e|0)){do{k=f+-12|0;c[g>>2]=k;Dn(k);f=c[g>>2]|0}while((f|0)!=(e|0));e=c[h>>2]|0}ck(e)}Dn(d+-44|0);Dn(d+-56|0);Dn(d+-68|0);Dn(i);d=c[j>>2]|0}while((d|0)!=(b|0));b=c[a>>2]|0}ck(b);c[a+8>>2]=0;c[j>>2]=0;c[a>>2]=0;return}function pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+4|0;d=c[a>>2]|0;f=(((c[k>>2]|0)-d|0)/36|0)+1|0;if(f>>>0>119304647){_j(a);d=c[a>>2]|0}l=a+8|0;e=((c[l>>2]|0)-d|0)/36|0;if(e>>>0<59652323){e=e<<1;e=e>>>0<f>>>0?f:e;d=((c[k>>2]|0)-d|0)/36|0;if(!e){g=0;h=0}else i=6}else{e=119304647;d=((c[k>>2]|0)-d|0)/36|0;i=6}if((i|0)==6){g=e;h=ak(e*36|0)|0}f=h+(d*36|0)|0;e=f;j=h+(g*36|0)|0;zn(f,b);zn(h+(d*36|0)+12|0,b+12|0);zn(h+(d*36|0)+24|0,b+24|0);b=h+((d+1|0)*36|0)|0;i=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(i|0)){g=a;h=k;f=i}else{do{m=f+-36|0;h=d;d=d+-36|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;m=f+-24|0;g=h+-24|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=f+-12|0;h=h+-12|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;f=e+-36|0;e=f}while((d|0)!=(i|0));d=e;g=a;h=k;e=d;f=c[a>>2]|0;d=c[k>>2]|0}c[g>>2]=e;c[h>>2]=b;c[l>>2]=j;e=f;if((d|0)!=(e|0))do{Dn(d+-12|0);Dn(d+-24|0);d=d+-36|0;Dn(d)}while((d|0)!=(e|0));if(!f)return;ck(f);return}function qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!(a[b>>0]&1)){a[b+1>>0]=0;a[b>>0]=0}else{a[c[b+8>>2]>>0]=0;c[b+4>>2]=0}Jn(b,0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;sc(b+12|0,d+12|0)|0;e=b+48|0;f=d+48|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[b+56>>2]>>0]=0;c[b+52>>2]=0}Jn(e,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;e=b+60|0;f=d+60|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[b+68>>2]>>0]=0;c[b+64>>2]=0}Jn(e,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[b+72>>2]=c[d+72>>2];h=b+76|0;i=d+76|0;f=c[h>>2]|0;if(!f){e=b+80|0;f=b+84|0}else{e=b+80|0;g=c[e>>2]|0;if((g|0)!=(f|0)){do{j=g+-12|0;c[e>>2]=j;Dn(j);g=c[e>>2]|0}while((g|0)!=(f|0));f=c[h>>2]|0}ck(f);f=b+84|0;c[f>>2]=0;c[e>>2]=0;c[h>>2]=0}c[h>>2]=c[i>>2];h=d+80|0;c[e>>2]=c[h>>2];j=d+84|0;c[f>>2]=c[j>>2];c[j>>2]=0;c[h>>2]=0;c[i>>2]=0;f=d+88|0;h=c[f+4>>2]|0;i=b+88|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;i=b+96|0;h=d+96|0;oc(i);c[i>>2]=c[h>>2];i=d+100|0;c[b+100>>2]=c[i>>2];f=d+104|0;c[b+104>>2]=c[f>>2];c[f>>2]=0;c[i>>2]=0;c[h>>2]=0;h=b+108|0;i=d+108|0;f=c[h>>2]|0;if(!f){e=b+112|0;f=b+116|0}else{e=b+112|0;g=c[e>>2]|0;if((g|0)!=(f|0)){do{j=g+-12|0;c[e>>2]=j;Dn(j);g=c[e>>2]|0}while((g|0)!=(f|0));f=c[h>>2]|0}ck(f);f=b+116|0;c[f>>2]=0;c[e>>2]=0;c[h>>2]=0}c[h>>2]=c[i>>2];g=d+112|0;c[e>>2]=c[g>>2];h=d+116|0;c[f>>2]=c[h>>2];c[h>>2]=0;c[g>>2]=0;c[i>>2]=0;c[b+120>>2]=c[d+120>>2];g=b+124|0;h=d+124|0;e=c[g>>2]|0;if(!e){f=b+128|0;i=b+132|0;j=c[h>>2]|0;c[g>>2]=j;j=d+128|0;g=c[j>>2]|0;c[f>>2]=g;d=d+132|0;g=c[d>>2]|0;c[i>>2]=g;c[d>>2]=0;c[j>>2]=0;c[h>>2]=0;return b|0}i=b+128|0;f=c[i>>2]|0;if((f|0)!=(e|0)){do{j=f+-36|0;c[i>>2]=j;Dn(f+-12|0);Dn(f+-24|0);Dn(j);f=c[i>>2]|0}while((f|0)!=(e|0));e=c[g>>2]|0}ck(e);j=b+132|0;c[j>>2]=0;c[i>>2]=0;c[g>>2]=0;f=i;i=j;j=c[h>>2]|0;c[g>>2]=j;j=d+128|0;g=c[j>>2]|0;c[f>>2]=g;d=d+132|0;g=c[d>>2]|0;c[i>>2]=g;c[d>>2]=0;c[j>>2]=0;c[h>>2]=0;return b|0}function rc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+64|0;p=q+48|0;l=q+36|0;j=q+24|0;m=q+12|0;n=q;k=b+12|0;c[b+16>>2]=0;c[b+20>>2]=0;c[k>>2]=b+16;o=b+24|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=h;Fb[c[(c[d>>2]|0)+36>>2]&127](p,d);h=c[p>>2]|0;e=p+4|0;if((h|0)!=(c[e>>2]|0))do{zn(l,h);f=c[(c[d>>2]|0)+40>>2]|0;zn(j,l);r=+Cb[f&3](d,j);g[(uc(k,l)|0)>>2]=r;Dn(j);Dn(l);h=h+80|0}while((h|0)!=(c[e>>2]|0));Fb[c[(c[d>>2]|0)+48>>2]&127](m,d);h=c[m>>2]|0;f=m+4|0;e=c[f>>2]|0;j=(h|0)==(e|0);if(h){if(!j){do{l=e+-12|0;c[f>>2]=l;Dn(l);e=c[f>>2]|0}while((e|0)!=(h|0));h=c[m>>2]|0}ck(h)}if(j){kc(p);i=q;return}Fb[c[(c[d>>2]|0)+52>>2]&127](n,d);if(!(a[o>>0]&1)){a[o+1>>0]=0;a[o>>0]=0}else{a[c[b+32>>2]>>0]=0;c[b+28>>2]=0}Jn(o,0);c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Dn(n);kc(p);i=q;return}function sc(b,d){b=b|0;d=d|0;var e=0,f=0;if(!(a[b>>0]&1)){a[b+1>>0]=0;a[b>>0]=0}else{a[c[b+8>>2]>>0]=0;c[b+4>>2]=0}Jn(b,0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;e=b+12|0;f=d+12|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[b+20>>2]>>0]=0;c[b+16>>2]=0}Jn(e,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=b+24|0;e=d+24|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0;Jn(f,0);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return b|0}else{a[c[b+32>>2]>>0]=0;c[b+28>>2]=0;Jn(f,0);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return b|0}return 0}function tc(a,b){a=a|0;b=b|0;if(!b)return;else{tc(a,c[b>>2]|0);tc(a,c[b+4>>2]|0);Dn(b+16|0);ck(b);return}}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0;j=i;i=i+16|0;e=j;f=vc(a,e,b)|0;d=c[f>>2]|0;if(d){a=d;a=a+28|0;i=j;return a|0}h=ak(32)|0;zn(h+16|0,b);g[h+28>>2]=0.0;d=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=d;c[f>>2]=h;d=c[c[a>>2]>>2]|0;if(!d)d=h;else{c[a>>2]=d;d=c[f>>2]|0}wc(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=h;a=a+28|0;i=j;return a|0}function vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;d=f;return d|0}j=a[e>>0]|0;i=(j&1)==0;j=i?(j&255)>>>1:c[e+4>>2]|0;i=i?e+1|0:c[e+8>>2]|0;while(1){e=b+16|0;f=a[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:c[b+20>>2]|0;e=g?e+1|0:c[b+24>>2]|0;g=f>>>0<j>>>0;k=mm(i,e,g?f:j)|0;h=j>>>0<f>>>0;if((((k|0)==0?(h?-2147483648:0):k)|0)<0){f=c[b>>2]|0;if(!f){f=b;e=5;break}else b=f}else{k=mm(e,i,h?j:f)|0;if((((k|0)==0?(g?-2147483648:0):k)|0)>=0){e=10;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=9;break}else b=e}}if((e|0)==5){c[d>>2]=b;k=f;return k|0}else if((e|0)==9){c[d>>2]=b;k=f;return k|0}else if((e|0)==10){c[d>>2]=b;k=d;return k|0}return 0}function wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=(d|0)==(b|0);a[d+12>>0]=j&1;if(j)return;while(1){h=c[d+8>>2]|0;g=h+12|0;if(a[g>>0]|0){d=37;break}j=h+8|0;f=d;d=c[j>>2]|0;e=c[d>>2]|0;if((e|0)==(h|0)){e=c[d+4>>2]|0;if(!e){e=f;i=j;g=j;f=d;b=d;d=7;break}e=e+12|0;if(a[e>>0]|0){e=f;i=j;g=j;f=d;b=d;d=7;break}a[g>>0]=1;a[d+12>>0]=(d|0)==(b|0)&1;a[e>>0]=1}else{if(!e){e=f;i=j;b=j;f=d;g=d;d=24;break}e=e+12|0;if(a[e>>0]|0){e=f;i=j;b=j;f=d;g=d;d=24;break}a[g>>0]=1;a[d+12>>0]=(d|0)==(b|0)&1;a[e>>0]=1}if((d|0)==(b|0)){d=37;break}}if((d|0)==7){if((c[h>>2]|0)==(e|0))d=h;else{j=h+4|0;d=c[j>>2]|0;e=c[d>>2]|0;c[j>>2]=e;if(!e)e=f;else{c[e+8>>2]=h;e=c[i>>2]|0}f=d+8|0;c[f>>2]=e;e=c[g>>2]|0;if((c[e>>2]|0)==(h|0))c[e>>2]=d;else c[e+4>>2]=d;c[d>>2]=h;c[i>>2]=d;b=c[f>>2]|0}a[d+12>>0]=1;a[b+12>>0]=0;f=c[b>>2]|0;g=f+4|0;d=c[g>>2]|0;c[b>>2]=d;if(d)c[d+8>>2]=b;d=b+8|0;c[f+8>>2]=c[d>>2];e=c[d>>2]|0;if((c[e>>2]|0)==(b|0))c[e>>2]=f;else c[e+4>>2]=f;c[g>>2]=b;c[d>>2]=f;return}else if((d|0)==24){if((c[h>>2]|0)==(e|0)){d=c[h>>2]|0;g=d+4|0;e=c[g>>2]|0;c[h>>2]=e;if(!e)e=f;else{c[e+8>>2]=h;e=c[i>>2]|0}f=d+8|0;c[f>>2]=e;e=c[b>>2]|0;if((c[e>>2]|0)==(h|0))c[e>>2]=d;else c[e+4>>2]=d;c[g>>2]=h;c[i>>2]=d;g=c[f>>2]|0}else d=h;a[d+12>>0]=1;a[g+12>>0]=0;j=g+4|0;f=c[j>>2]|0;d=c[f>>2]|0;c[j>>2]=d;if(d)c[d+8>>2]=g;d=g+8|0;c[f+8>>2]=c[d>>2];e=c[d>>2]|0;if((c[e>>2]|0)==(g|0))c[e>>2]=f;else c[e+4>>2]=f;c[f>>2]=g;c[d>>2]=f;return}else if((d|0)==37)return}function xc(a){a=a|0;c[a>>2]=3120;c[a+12>>2]=3152;Jc(a+80|0,c[a+84>>2]|0);Kc(a+68|0,c[a+72>>2]|0);Kc(a+56|0,c[a+60>>2]|0);Lc(a+44|0,c[a+48>>2]|0);Mc(a+32|0,c[a+36>>2]|0);Nc(a+20|0,c[a+24>>2]|0);return}function yc(a){a=a|0;c[a>>2]=3152;Jc(a+68|0,c[a+72>>2]|0);Kc(a+56|0,c[a+60>>2]|0);Kc(a+44|0,c[a+48>>2]|0);Lc(a+32|0,c[a+36>>2]|0);Mc(a+20|0,c[a+24>>2]|0);Nc(a+8|0,c[a+12>>2]|0);return}function zc(a){a=a|0;c[a>>2]=3120;c[a+12>>2]=3152;Jc(a+80|0,c[a+84>>2]|0);Kc(a+68|0,c[a+72>>2]|0);Kc(a+56|0,c[a+60>>2]|0);Lc(a+44|0,c[a+48>>2]|0);Mc(a+32|0,c[a+36>>2]|0);Nc(a+20|0,c[a+24>>2]|0);ck(a);return}function Ac(a,b){a=a|0;b=b|0;return Fc(a+12|0,b)|0}function Bc(a,b){a=a|0;b=b|0;return Gc(a+12|0,b)|0}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+12|0;b=c[e>>2]|0;f=c[b+20>>2]|0;b=Pb[c[b+8>>2]&63](e,d)|0;Kb[f&7](a,e,b);return}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;Ic(a,b+12|0,c);return}function Ec(a){a=a|0;c[a>>2]=3152;Jc(a+68|0,c[a+72>>2]|0);Kc(a+56|0,c[a+60>>2]|0);Kc(a+44|0,c[a+48>>2]|0);Lc(a+32|0,c[a+36>>2]|0);Mc(a+20|0,c[a+24>>2]|0);Nc(a+8|0,c[a+12>>2]|0);ck(a);return}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+24|0;d=c[g>>2]|0;if(d){e=g;f=d;a:do{while(1){if((c[f+16>>2]|0)>>>0>=b>>>0){e=f;break}f=c[f+4>>2]|0;if(!f)break a}f=c[e>>2]|0}while((f|0)!=0);if((e|0)!=(g|0)?(c[e+16>>2]|0)>>>0<=b>>>0:0){while(1){e=c[d+16>>2]|0;if(e>>>0>b>>>0){d=c[d>>2]|0;if(!d)break}else{if(e>>>0>=b>>>0){h=d;i=14;break}d=c[d+4>>2]|0;if(!d)break}}if((i|0)==14?(h|0)!=0:0){i=h+20|0;i=c[i>>2]|0;return i|0}i=Ia(8)|0;wn(i,16885);c[i>>2]=5116;jb(i|0,712,95)}}i=a+4|0;i=c[i>>2]|0;return i|0}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+12|0;a=c[f>>2]|0;if(!a){h=0;return h|0}else{d=f;e=a}a:do{while(1){if((c[e+16>>2]|0)>>>0>=b>>>0){d=e;break}e=c[e+4>>2]|0;if(!e)break a}e=c[d>>2]|0}while((e|0)!=0);if((d|0)==(f|0)){h=0;return h|0}if((c[d+16>>2]|0)>>>0>b>>>0){h=0;return h|0}while(1){d=c[a+16>>2]|0;if(d>>>0>b>>>0){a=c[a>>2]|0;if(!a)break}else{if(d>>>0>=b>>>0){g=a;h=13;break}a=c[a+4>>2]|0;if(!a)break}}if((h|0)==13?(g|0)!=0:0){h=c[g+20>>2]|0;return h|0}h=Ia(8)|0;wn(h,16885);c[h>>2]=5116;jb(h|0,712,95);return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]|0;e=c[f+20>>2]|0;d=Pb[c[f+8>>2]&63](b,d)|0;Kb[e&7](a,b,d);return}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[b+4>>2]|0)!=(d|0)?(g=b+72|0,e=c[g>>2]|0,(e|0)!=0):0){b=g;f=e;a:do{while(1){if((c[f+16>>2]|0)>>>0>=d>>>0){b=f;break}f=c[f+4>>2]|0;if(!f)break a}f=c[b>>2]|0}while((f|0)!=0);if((b|0)!=(g|0)?(c[b+16>>2]|0)>>>0<=d>>>0:0){while(1){b=c[e+16>>2]|0;if(b>>>0>d>>>0){e=c[e>>2]|0;if(!e)break}else{if(b>>>0>=d>>>0){h=e;i=14;break}e=c[e+4>>2]|0;if(!e)break}}if((i|0)==14?(h|0)!=0:0){c[a>>2]=c[h+20>>2];e=c[h+24>>2]|0;c[a+4>>2]=e;if(!e)return;sn(e);return}a=Ia(8)|0;wn(a,16885);c[a>>2]=5116;jb(a|0,712,95)}}c[a>>2]=0;c[a+4>>2]=0;return}function Jc(a,b){a=a|0;b=b|0;if(!b)return;Jc(a,c[b>>2]|0);Jc(a,c[b+4>>2]|0);a=c[b+24>>2]|0;if(a)tn(a);ck(b);return}function Kc(a,b){a=a|0;b=b|0;if(!b)return;else{Kc(a,c[b>>2]|0);Kc(a,c[b+4>>2]|0);ck(b);return}}function Lc(a,b){a=a|0;b=b|0;if(!b)return;else{Lc(a,c[b>>2]|0);Lc(a,c[b+4>>2]|0);ck(b);return}}function Mc(a,b){a=a|0;b=b|0;if(!b)return;else{Mc(a,c[b>>2]|0);Mc(a,c[b+4>>2]|0);ck(b);return}}function Nc(a,b){a=a|0;b=b|0;if(!b)return;else{Nc(a,c[b>>2]|0);Nc(a,c[b+4>>2]|0);ck(b);return}}function Oc(a,b){a=a|0;b=b|0;if(!b)return;else{Oc(a,c[b>>2]|0);Oc(a,c[b+4>>2]|0);Dn(b+16|0);ck(b);return}}function Pc(){var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;An(2888,19027,16);ib(181,2888,n|0)|0;zn(d,2888);c[725]=3100;c[726]=1;c[727]=2;c[728]=4;zn(2916,d);Dn(d);c[725]=3080;a[2928]=0;ib(182,2900,n|0)|0;zn(d,2888);c[733]=3100;c[734]=1;c[735]=2;c[736]=4;zn(2948,d);Dn(d);c[733]=3080;a[2960]=1;ib(182,2932,n|0)|0;b=d+4|0;g=ak(8)|0;c[d>>2]=g;e=g+8|0;c[d+8>>2]=e;c[g>>2]=2900;c[g+4>>2]=2932;c[b>>2]=e;Rc(2964,d);d=c[d>>2]|0;if(!d){ib(183,2964,n|0)|0;i=f;return}e=c[b>>2]|0;if((e|0)!=(d|0))c[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);ck(d);ib(183,2964,n|0)|0;i=f;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+16|0;h=k;gi(j,d,e,0);if(!(Sn(e,32106)|0)){if((Rh(j)|0)!=5)Fn(e,16856)|0;c[b>>2]=c[j>>2];e=j+4|0;c[b+4>>2]=c[e>>2];c[j>>2]=0;c[e>>2]=0;i=k;return};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;l=a[e>>0]|0;g=e+4|0;l=(l&1)==0?(l&255)>>>1:c[g>>2]|0;Tn(h,16841,14,l+14|0);d=e+8|0;f=e+1|0;Mn(h,(a[e>>0]&1)==0?f:c[d>>2]|0,l)|0;if(!(a[e>>0]&1)){a[f>>0]=0;a[e>>0]=0}else{a[c[d>>2]>>0]=0;c[g>>2]=0}Jn(e,0);c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Dn(h);Gh(b);d=c[j+4>>2]|0;if(!d){i=k;return}tn(d);i=k;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+160|0;g=h+136|0;f=h;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;c[b+16>>2]=0;c[b+12>>2]=3120;c[b+20>>2]=1;c[b+28>>2]=0;c[b+24>>2]=3152;c[b+36>>2]=0;c[b+40>>2]=0;c[b+32>>2]=b+36;c[b+48>>2]=0;c[b+52>>2]=0;c[b+44>>2]=b+48;c[b+60>>2]=0;c[b+64>>2]=0;c[b+56>>2]=b+60;c[b+72>>2]=0;c[b+76>>2]=0;c[b+68>>2]=b+72;c[b+84>>2]=0;c[b+88>>2]=0;c[b+80>>2]=b+84;c[b+96>>2]=0;c[b+100>>2]=0;c[b+92>>2]=b+96;a[b+104>>0]=0;e=c[d>>2]|0;d=c[d+4>>2]|0;if((e|0)==(d|0)){i=h;return}do{j=c[e>>2]|0;Fb[c[c[j>>2]>>2]&127](f,j);c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;jc(f);c[(Xc(b,g)|0)>>2]=j;Dn(g);e=e+4|0}while((e|0)!=(d|0));i=h;return}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+160|0;E=F+136|0;C=F;c[a>>2]=0;D=a+4|0;c[D>>2]=0;c[a+8>>2]=0;d=c[b>>2]|0;x=b+4|0;if((d|0)==(x|0)){i=F;return}y=E+12|0;z=a+8|0;A=C+12|0;B=C+24|0;e=C+36|0;f=C+48|0;g=C+60|0;h=C+72|0;j=C+76|0;k=C+80|0;l=C+84|0;m=C+88|0;n=C+96|0;o=C+100|0;p=C+104|0;q=C+108|0;r=C+112|0;s=C+116|0;t=C+120|0;u=C+124|0;v=C+128|0;w=C+132|0;while(1){zn(E,d+16|0);b=c[d+28>>2]|0;c[y>>2]=b;Fb[c[c[b>>2]>>2]&127](C,b);b=c[D>>2]|0;if(b>>>0<(c[z>>2]|0)>>>0){c[b>>2]=c[C>>2];c[b+4>>2]=c[C+4>>2];c[b+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;I=b+12|0;c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;I=b+24|0;c[I>>2]=c[B>>2];c[I+4>>2]=c[B+4>>2];c[I+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;I=b+36|0;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;I=b+48|0;c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;I=b+60|0;c[I>>2]=c[g>>2];c[I+4>>2]=c[g+4>>2];c[I+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[b+72>>2]=c[h>>2];I=b+76|0;c[I>>2]=0;H=b+80|0;c[H>>2]=0;c[b+84>>2]=0;c[I>>2]=c[j>>2];c[H>>2]=c[k>>2];c[b+84>>2]=c[l>>2];c[l>>2]=0;c[k>>2]=0;c[j>>2]=0;H=m;I=c[H+4>>2]|0;G=b+88|0;c[G>>2]=c[H>>2];c[G+4>>2]=I;G=b+96|0;c[G>>2]=0;I=b+100|0;c[I>>2]=0;c[b+104>>2]=0;c[G>>2]=c[n>>2];c[I>>2]=c[o>>2];c[b+104>>2]=c[p>>2];c[p>>2]=0;c[o>>2]=0;c[n>>2]=0;I=b+108|0;c[I>>2]=0;G=b+112|0;c[G>>2]=0;c[b+116>>2]=0;c[I>>2]=c[q>>2];c[G>>2]=c[r>>2];c[b+116>>2]=c[s>>2];c[s>>2]=0;c[r>>2]=0;c[q>>2]=0;G=b+120|0;c[G>>2]=c[t>>2];I=b+124|0;c[I>>2]=0;H=b+128|0;c[H>>2]=0;c[b+132>>2]=0;c[I>>2]=c[u>>2];c[H>>2]=c[v>>2];c[b+132>>2]=c[w>>2];c[w>>2]=0;c[v>>2]=0;c[u>>2]=0;c[G>>2]=c[t>>2];c[D>>2]=(c[D>>2]|0)+136}else Yc(a,C);jc(C);Dn(E);b=c[d+4>>2]|0;if(!b)while(1){b=c[d+8>>2]|0;if((c[b>>2]|0)==(d|0))break;else d=b}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((b|0)==(x|0))break;else d=b}i=F;return}function Tc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+64|0;h=m+56|0;l=m+44|0;j=m+24|0;k=m+12|0;g=m;zn(l,e);if((Zc(d,l)|0)==(d+4|0)){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;e=a[l>>0]|0;e=(e&1)==0?(e&255)>>>1:c[l+4>>2]|0;Tn(g,16946,26,e+26|0);Mn(g,(a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0,e)|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[f+8>>2]>>0]=0;c[f+4>>2]=0}Jn(f,0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Dn(g);c[b+156>>2]=0;c[b+160>>2]=0;cx(b|0,0,152)|0;c[b+152>>2]=b+156;e=b+164|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Dn(l);i=m;return}g=_c(d,h,l)|0;if(!g){m=Ia(8)|0;wn(m,16885);c[m>>2]=5116;jb(m|0,712,95)}d=c[g+28>>2]|0;h=c[(c[d>>2]|0)+4>>2]|0;zn(j,e);n=e+12|0;g=c[n+4>>2]|0;e=j+12|0;c[e>>2]=c[n>>2];c[e+4>>2]=g;Kb[h&7](b,d,j);Dn(j);if(c[b>>2]|0){Dn(l);i=m;return};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;n=a[l>>0]|0;n=(n&1)==0?(n&255)>>>1:c[l+4>>2]|0;Tn(k,16909,36,n+36|0);Mn(k,(a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0,n)|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[f+8>>2]>>0]=0;c[f+4>>2]=0}Jn(f,0);c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);Dn(l);i=m;return}function Uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;h=m+24|0;k=m+12|0;l=m;b=c[d+16>>2]|0;j=d+20|0;if((b|0)!=(j|0)){f=b;while(1){n=c[d>>2]|0;o=c[(c[n>>2]|0)+44>>2]|0;zn(h,f+16|0);zb[o&3](n,h,+g[f+28>>2]);Dn(h);f=c[b+4>>2]|0;if(!f)while(1){f=c[b+8>>2]|0;if((c[f>>2]|0)==(b|0)){b=f;break}else b=f}else{b=f;while(1){f=c[b>>2]|0;if(!f)break;else b=f}}if((b|0)==(j|0))break;else f=b}}b=d+28|0;if(Sn(b,32106)|0){o=c[d>>2]|0;n=c[(c[o>>2]|0)+56>>2]|0;zn(k,b);Fb[n&127](o,k);Dn(k)};c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;o=c[d>>2]|0;c[a>>2]=o;if(Nb[c[(c[o>>2]|0)+64>>2]&15](o,c[d+4>>2]|0,c[d+8>>2]|0,c[d+12>>2]|0)|0){o=c[d>>2]|0;Fb[c[(c[o>>2]|0)+92>>2]&127](l,o);o=a+4|0;$c(o);c[o>>2]=c[l>>2];o=l+4|0;c[a+8>>2]=c[o>>2];n=l+8|0;c[a+12>>2]=c[n>>2];c[n>>2]=0;c[o>>2]=0;c[l>>2]=0;lc(l);i=m;return}else{Fn(e,16973)|0;i=m;return}}function Vc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+128|0;j=y+120|0;m=y+104|0;l=y+96|0;o=y+88|0;r=y+72|0;p=y+64|0;t=y+56|0;x=y+40|0;u=y+24|0;s=y+16|0;v=y+8|0;w=y;q=Gc(d+24|0,e)|0;if(!q){An(m,17040,21);Gh(l);ad(j,m,3,l);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Fh(j,b);j=c[j+4>>2]|0;if(j)tn(j);j=c[l+4>>2]|0;if(j)tn(j);Dn(m);i=y;return}if((c[d+28>>2]|0)!=(e|0)?(n=d+60|0,k=c[n>>2]|0,(k|0)!=0):0){j=n;a:do{while(1){if((c[k+16>>2]|0)>>>0>=e>>>0){j=k;break}k=c[k+4>>2]|0;if(!k)break a}k=c[j>>2]|0}while((k|0)!=0);if((j|0)!=(n|0)?(c[j+16>>2]|0)>>>0<=e>>>0:0){rh(t,g,h);m=x+4|0;c[x+8>>2]=0;r=x+12|0;c[r>>2]=0;n=x+8|0;c[m>>2]=n;c[x>>2]=q;k=c[(c[q>>2]|0)+96>>2]|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];Ob[k&15](u,q,f,s);bd(m,c[n>>2]|0);c[m>>2]=c[u>>2];k=u+4|0;j=c[k>>2]|0;c[n>>2]=j;l=u+8|0;t=c[l>>2]|0;c[r>>2]=t;if(!t)c[m>>2]=n;else{c[j+8>>2]=n;c[u>>2]=k;c[k>>2]=0;c[l>>2]=0;j=0}bd(u,j);a[d+104>>0]=1;Gh(w);cd(v,x,d+12|0,1,w);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Fh(v,b);j=c[v+4>>2]|0;if(j)tn(j);j=c[w+4>>2]|0;if(j)tn(j);bd(x+4|0,c[n>>2]|0);i=y;return}}An(r,17062,30);Gh(p);ad(o,r,3,p);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Fh(o,b);j=c[o+4>>2]|0;if(j)tn(j);j=c[p+4>>2]|0;if(j)tn(j);Dn(r);i=y;return}function Wc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0;Pa=i;i=i+960|0;Ha=Pa+784|0;ua=Pa+780|0;Oa=Pa+768|0;Na=Pa+720|0;La=Pa+704|0;Ka=Pa+696|0;j=Pa+680|0;Ma=Pa+672|0;k=Pa+664|0;l=Pa+648|0;m=Pa+640|0;n=Pa+632|0;o=Pa+616|0;q=Pa+608|0;P=Pa+596|0;g=Pa+576|0;t=Pa+568|0;z=Pa+560|0;F=Pa+548|0;v=Pa+528|0;A=Pa+520|0;G=Pa+504|0;B=Pa+496|0;Ia=Pa+728|0;w=Pa+488|0;H=Pa+480|0;L=Pa+464|0;S=Pa+456|0;V=Pa+440|0;$=Pa+432|0;ea=Pa+416|0;Ea=Pa+400|0;va=Pa+360|0;xa=Pa+352|0;Ba=Pa+336|0;ya=Pa+328|0;ia=Pa+320|0;Ja=Pa+296|0;x=Pa+288|0;I=Pa+280|0;M=Pa+264|0;aa=Pa+256|0;fa=Pa+240|0;ja=Pa+232|0;ma=Pa+216|0;ka=Pa+208|0;na=Pa+192|0;sa=Pa+184|0;wa=Pa+168|0;Ga=Pa+152|0;Ca=Pa+136|0;ta=Pa+128|0;Da=Pa+120|0;y=Pa+112|0;N=Pa+104|0;T=Pa+88|0;W=Pa+80|0;Z=Pa+64|0;ra=Pa+48|0;oa=Pa+32|0;pa=Pa+24|0;p=Pa+16|0;u=Pa;c[Oa>>2]=0;c[Oa+4>>2]=0;c[Oa+8>>2]=0;zn(La,f);Qc(Na,La,Oa);Dn(La);An(j,17093,2);f=Xh(Na,j)|0;c[Ka>>2]=c[f>>2];La=Ka+4|0;f=c[f+4>>2]|0;c[La>>2]=f;if(f)sn(f);Dn(j);Gh(Ma);do if(!(Sn(Oa,32106)|0)){c[m>>2]=c[Na>>2];j=m+4|0;l=Na+4|0;f=c[l>>2]|0;c[j>>2]=f;if(f)sn(f);k=dd(m,Oa)|0;f=c[j>>2]|0;if(f)tn(f);if(Sn(Oa,32106)|0){zn(o,Oa);ad(n,o,5,Ka);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Fh(n,b);g=c[n+4>>2]|0;if(g)tn(g);Dn(o);break}O=e+104|0;X=d[O>>0]|0;a:do switch(k|0){case 0:{Sc(P,e);ed(q,P,Ka);Ka=c[q>>2]|0;h=q+4|0;Ja=c[h>>2]|0;c[q>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),s=c[h>>2]|0,(s|0)!=0):0)tn(s);g=c[P>>2]|0;if(g){f=P+4|0;h=c[f>>2]|0;if((h|0)!=(g|0)){do{Ka=h+-136|0;c[f>>2]=Ka;jc(Ka);h=c[f>>2]|0}while((h|0)!=(g|0));g=c[P>>2]|0}ck(g)}break}case 1:{c[t>>2]=c[Na>>2];f=t+4|0;h=c[l>>2]|0;c[f>>2]=h;if(h)sn(h);fd(g,t,Oa);h=c[f>>2]|0;if(h)tn(h);if(!(Sn(Oa,32106)|0)){zn(v,g);Ga=g+12|0;Ia=c[Ga+4>>2]|0;Ja=v+12|0;c[Ja>>2]=c[Ga>>2];c[Ja+4>>2]=Ia;Tc(Ha,e,v,Oa);Dn(v);if(!(Sn(Oa,32106)|0)){f=c[Ha>>2]|0;h=e+20|0;Ja=c[h>>2]|0;c[h>>2]=Ja+1;gd(e+24|0,Ja,f);hd(B,Ha,e+12|0,Ka);Ka=c[B>>2]|0;f=B+4|0;Ja=c[f>>2]|0;c[B>>2]=0;c[f>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;h=c[Ka>>2]|0;c[Ka>>2]=Ja;if((h|0)!=0?(tn(h),E=c[f>>2]|0,(E|0)!=0):0)tn(E)}else{zn(G,Oa);ad(A,G,1,Ka);Ka=c[A>>2]|0;f=A+4|0;Ja=c[f>>2]|0;c[A>>2]=0;c[f>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;h=c[Ka>>2]|0;c[Ka>>2]=Ja;if((h|0)!=0?(tn(h),D=c[f>>2]|0,(D|0)!=0):0)tn(D);Dn(G)}Dn(Ha+164|0);tc(Ha+152|0,c[Ha+156>>2]|0);jc(Ha+4|0)}else{zn(F,Oa);ad(z,F,1,Ka);Ka=c[z>>2]|0;f=z+4|0;Ja=c[f>>2]|0;c[z>>2]=0;c[f>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;h=c[Ka>>2]|0;c[Ka>>2]=Ja;if((h|0)!=0?(tn(h),C=c[f>>2]|0,(C|0)!=0):0)tn(C);Dn(F)}Dn(g);break}case 2:{c[w>>2]=c[Na>>2];h=w+4|0;g=c[l>>2]|0;c[h>>2]=g;if(g)sn(g);o=e+12|0;id(Ia,w,o,Oa);g=c[h>>2]|0;if(g)tn(g);do if(!(Sn(Oa,32106)|0)){m=e+24|0;n=Fc(m,c[Ia>>2]|0)|0;if((n|0)==(c[e+16>>2]|0)){An(V,17096,32);ad(S,V,2,Ka);Ka=c[S>>2]|0;h=S+4|0;Ja=c[h>>2]|0;c[S>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),U=c[h>>2]|0,(U|0)!=0):0)tn(U);Dn(V);break}if((c[e+28>>2]|0)!=(n|0)?(_=e+60|0,R=c[_>>2]|0,(R|0)!=0):0){g=_;h=R;b:do{while(1){if((c[h+16>>2]|0)>>>0>=n>>>0){g=h;break}h=c[h+4>>2]|0;if(!h)break b}h=c[g>>2]|0}while((h|0)!=0);if((g|0)!=(_|0)?(c[g+16>>2]|0)>>>0<=n>>>0:0){An(ea,17129,34);ad($,ea,2,Ka);Ka=c[$>>2]|0;h=$+4|0;Ja=c[h>>2]|0;c[$>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),da=c[h>>2]|0,(da|0)!=0):0)tn(da);Dn(ea);break}}c[va>>2]=c[Ia>>2];f=va+4|0;j=Ia+4|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];f=va+16|0;c[va+20>>2]=0;c[va+24>>2]=0;j=va+20|0;c[f>>2]=j;g=c[Ia+16>>2]|0;k=Ia+20|0;if((g|0)!=(k|0)){l=j;h=g;while(1){c[ua>>2]=l;c[Ha>>2]=c[ua>>2];jd(f,Ha,h+16|0)|0;h=c[g+4>>2]|0;if(!h)while(1){h=c[g+8>>2]|0;if((c[h>>2]|0)==(g|0)){g=h;break}else g=h}else{g=h;while(1){h=c[g>>2]|0;if(!h)break;else g=h}}if((g|0)==(k|0))break;else h=g}}Ja=va+28|0;zn(Ja,Ia+28|0);c[va>>2]=c[Ia>>2];Uc(Ea,0,va,Oa);Dn(Ja);tc(va+16|0,c[j>>2]|0);if(!(Sn(Oa,32106)|0)){kd(m,n,c[Ia+4>>2]|0,c[Ia+12>>2]|0);ld(ya,Ea,o,Ka);Ka=c[ya>>2]|0;h=ya+4|0;Ja=c[h>>2]|0;c[ya>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),Aa=c[h>>2]|0,(Aa|0)!=0):0)tn(Aa)}else{zn(Ba,Oa);ad(xa,Ba,2,Ka);Ka=c[xa>>2]|0;h=xa+4|0;Ja=c[h>>2]|0;c[xa>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),za=c[h>>2]|0,(za|0)!=0):0)tn(za);Dn(Ba)}lc(Ea+4|0)}else{zn(L,Oa);ad(H,L,2,Ka);Ka=c[H>>2]|0;h=H+4|0;Ja=c[h>>2]|0;c[H>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),K=c[h>>2]|0,(K|0)!=0):0)tn(K);Dn(L)}while(0);Dn(Ia+28|0);tc(Ia+16|0,c[Ia+20>>2]|0);break}case 3:{c[x>>2]=c[Na>>2];h=x+4|0;g=c[l>>2]|0;c[h>>2]=g;if(g)sn(g);q=e+12|0;md(Ja,x,q,ia,Oa);g=c[h>>2]|0;if(g)tn(g);c:do if(!(Sn(Oa,32106)|0)){o=c[Ja>>2]|0;f=e+24|0;j=Fc(f,o)|0;r=c[Ja+4>>2]|0;k=(c[Ja+8>>2]|0)-r|0;n=(k|0)/12|0;p=o;if((j|0)==(c[e+16>>2]|0)){An(fa,17096,32);ad(aa,fa,3,Ka);Ka=c[aa>>2]|0;h=aa+4|0;Ia=c[h>>2]|0;c[aa>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ia;if((g|0)!=0?(tn(g),ca=c[h>>2]|0,(ca|0)!=0):0)tn(ca);Dn(fa);h=r;g=r;Fa=132;break}if((c[e+28>>2]|0)!=(j|0)?(ha=e+60|0,ba=c[ha>>2]|0,(ba|0)!=0):0){g=ha;h=ba;d:do{while(1){if((c[h+16>>2]|0)>>>0>=j>>>0){g=h;break}h=c[h+4>>2]|0;if(!h)break d}h=c[g>>2]|0}while((h|0)!=0);if((g|0)!=(ha|0)?(c[g+16>>2]|0)>>>0<=j>>>0:0){if((n|0)!=(nd(f,j)|0)){An(na,17164,33);ad(ka,na,3,Ka);Ka=c[ka>>2]|0;h=ka+4|0;Ia=c[h>>2]|0;c[ka>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ia;do if(g){tn(g);g=c[h>>2]|0;if(!g)break;tn(g)}while(0);Dn(na);h=r;g=r;Fa=132;break}m=c[ia>>2]|0;if((m|0)==1)a[O>>0]=1;f=od(f,j)|0;l=bk(n>>>0>1073741823?-1:n<<2)|0;e:do if((k|0)>0){h=0;while(1){g=c[r+(h*12|0)>>2]|0;if(((c[r+(h*12|0)+4>>2]|0)-g>>2|0)!=(f|0))break;c[l+(h<<2)>>2]=g;h=h+1|0;if((h|0)>=(n|0))break e}dk(l);An(wa,17198,25);ad(sa,wa,3,Ka);Ka=c[sa>>2]|0;h=sa+4|0;Ia=c[h>>2]|0;c[sa>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ia;do if(g){tn(g);g=c[h>>2]|0;if(!g)break;tn(g)}while(0);Dn(wa);g=r;h=r;break c}while(0);j=Ga+4|0;c[Ga+8>>2]=0;Ha=Ga+12|0;c[Ha>>2]=0;k=Ga+8|0;c[j>>2]=k;c[Ga>>2]=p;h=c[(c[o>>2]|0)+96>>2]|0;c[ta>>2]=c[Ja+16>>2];c[ta+4>>2]=c[Ja+20>>2];Ob[h&15](Ca,o,l,ta);bd(j,c[k>>2]|0);c[j>>2]=c[Ca>>2];h=Ca+4|0;g=c[h>>2]|0;c[k>>2]=g;f=Ca+8|0;Ia=c[f>>2]|0;c[Ha>>2]=Ia;if(!Ia)c[j>>2]=k;else{c[g+8>>2]=k;c[Ca>>2]=h;c[h>>2]=0;c[f>>2]=0;g=0}bd(Ca,g);dk(l);cd(Da,Ga,q,m,Ka);Ka=c[Da>>2]|0;h=Da+4|0;Ia=c[h>>2]|0;c[Da>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ia;do if(g){tn(g);g=c[h>>2]|0;if(!g)break;tn(g)}while(0);bd(Ga+4|0,c[k>>2]|0);h=r;g=r;Fa=132;break}}An(ma,17062,30);ad(ja,ma,3,Ka);Ka=c[ja>>2]|0;h=ja+4|0;Ia=c[h>>2]|0;c[ja>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ia;if((g|0)!=0?(tn(g),la=c[h>>2]|0,(la|0)!=0):0)tn(la);Dn(ma);h=r;g=r;Fa=132}else{zn(M,Oa);ad(I,M,3,Ka);Ka=c[I>>2]|0;h=I+4|0;Ia=c[h>>2]|0;c[I>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ia;if((g|0)!=0?(tn(g),J=c[h>>2]|0,(J|0)!=0):0)tn(J);Dn(M);g=c[Ja+4>>2]|0;h=g;Fa=132}while(0);if((Fa|0)==132)if(!g)break a;k=Ja+8|0;l=c[k>>2]|0;if((l|0)!=(g|0)){m=~(((l+-12-g|0)>>>0)/12|0);n=l;do{f=n;n=n+-12|0;o=c[n>>2]|0;p=o;if(o){f=f+-8|0;j=c[f>>2]|0;if((j|0)!=(o|0))c[f>>2]=j+(~((j+-4-p|0)>>>2)<<2);ck(o)}}while((n|0)!=(g|0));c[k>>2]=l+(m*12|0);g=h}ck(g);break}case 4:{c[y>>2]=c[Na>>2];f=y+4|0;g=c[l>>2]|0;c[f>>2]=g;if(g)sn(g);o=e+12|0;p=pd(y,o,Oa)|0;g=c[f>>2]|0;if(g)tn(g);if(Sn(Oa,32106)|0){zn(T,Oa);ad(N,T,4,Ka);Ka=c[N>>2]|0;h=N+4|0;Ja=c[h>>2]|0;c[N>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),Q=c[h>>2]|0,(Q|0)!=0):0)tn(Q);Dn(T);break a}m=e+24|0;n=Fc(m,p)|0;if((n|0)==(c[e+16>>2]|0)){An(Z,17096,32);ad(W,Z,4,Ka);Ka=c[W>>2]|0;h=W+4|0;Ja=c[h>>2]|0;c[W>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),Y=c[h>>2]|0,(Y|0)!=0):0)tn(Y);Dn(Z);break a}j=ra+4|0;c[ra+8>>2]=0;k=ra+12|0;c[k>>2]=0;l=ra+8|0;c[j>>2]=l;c[ra>>2]=p;if((c[e+28>>2]|0)!=(n|0)?(ga=e+60|0,h=c[ga>>2]|0,(h|0)!=0):0){g=ga;f:do{while(1){if((c[h+16>>2]|0)>>>0>=n>>>0){g=h;break}h=c[h+4>>2]|0;if(!h)break f}h=c[g>>2]|0}while((h|0)!=0);if((g|0)!=(ga|0)?(c[g+16>>2]|0)>>>0<=n>>>0:0){Fb[c[(c[p>>2]|0)+100>>2]&127](oa,p);bd(j,c[l>>2]|0);c[j>>2]=c[oa>>2];h=oa+4|0;g=c[h>>2]|0;c[l>>2]=g;f=oa+8|0;Ja=c[f>>2]|0;c[k>>2]=Ja;if(!Ja)c[j>>2]=l;else{c[g+8>>2]=l;c[oa>>2]=h;c[h>>2]=0;c[f>>2]=0;g=0}bd(oa,g)}}qd(pa,ra,o,X,Ka);Ka=c[pa>>2]|0;h=pa+4|0;Ja=c[h>>2]|0;c[pa>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),qa=c[h>>2]|0,(qa|0)!=0):0)tn(qa);rd(m,n);if(p)Eb[c[(c[p>>2]|0)+4>>2]&255](p);bd(ra+4|0,c[l>>2]|0);break}case 5:{An(u,17224,15);ad(p,u,5,Ka);Ka=c[p>>2]|0;h=p+4|0;Ja=c[h>>2]|0;c[p>>2]=0;c[h>>2]=0;c[Ma>>2]=Ka;Ka=Ma+4|0;g=c[Ka>>2]|0;c[Ka>>2]=Ja;if((g|0)!=0?(tn(g),r=c[h>>2]|0,(r|0)!=0):0)tn(r);Dn(u);break}default:{}}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Fh(Ma,b)}else{zn(l,Oa);ad(k,l,5,Ka);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Fh(k,b);g=c[k+4>>2]|0;if(g)tn(g);Dn(l)}while(0);g=c[Ma+4>>2]|0;if(g)tn(g);g=c[La>>2]|0;if(g)tn(g);g=c[Na+4>>2]|0;if(!g){Dn(Oa);i=Pa;return}tn(g);Dn(Oa);i=Pa;return}function Xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h;f=ye(a,e,b)|0;d=c[f>>2]|0;if(d){a=d;a=a+28|0;i=h;return a|0}g=ak(32)|0;zn(g+16|0,b);c[g+28>>2]=0;d=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=d;c[f>>2]=g;d=c[c[a>>2]>>2]|0;if(!d)d=g;else{c[a>>2]=d;d=c[f>>2]|0}wc(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+28|0;i=h;return a|0}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k;g=a+4|0;d=c[a>>2]|0;f=(((c[g>>2]|0)-d|0)/136|0)+1|0;if(f>>>0>31580641){_j(a);d=c[a>>2]|0}e=((c[a+8>>2]|0)-d|0)/136|0;if(e>>>0<15790320){h=e<<1;f=h>>>0<f>>>0?f:h}else f=31580641;d=((c[g>>2]|0)-d|0)/136|0;c[j+12>>2]=0;c[j+16>>2]=a+8;if(!f)e=0;else e=ak(f*136|0)|0;c[j>>2]=e;l=e+(d*136|0)|0;h=j+8|0;c[h>>2]=l;g=j+4|0;c[g>>2]=l;c[j+12>>2]=e+(f*136|0);c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;l=e+(d*136|0)+12|0;m=b+12|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;m=e+(d*136|0)+24|0;l=b+24|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;l=e+(d*136|0)+36|0;m=b+36|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;m=e+(d*136|0)+48|0;l=b+48|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;l=e+(d*136|0)+60|0;m=b+60|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[e+(d*136|0)+72>>2]=c[b+72>>2];m=b+76|0;c[e+(d*136|0)+84>>2]=0;c[e+(d*136|0)+76>>2]=c[m>>2];l=b+80|0;c[e+(d*136|0)+80>>2]=c[l>>2];f=b+84|0;c[e+(d*136|0)+84>>2]=c[f>>2];c[f>>2]=0;c[l>>2]=0;c[m>>2]=0;m=b+88|0;l=c[m+4>>2]|0;f=e+(d*136|0)+88|0;c[f>>2]=c[m>>2];c[f+4>>2]=l;f=b+96|0;c[e+(d*136|0)+104>>2]=0;c[e+(d*136|0)+96>>2]=c[f>>2];l=b+100|0;c[e+(d*136|0)+100>>2]=c[l>>2];m=b+104|0;c[e+(d*136|0)+104>>2]=c[m>>2];c[m>>2]=0;c[l>>2]=0;c[f>>2]=0;f=b+108|0;c[e+(d*136|0)+116>>2]=0;c[e+(d*136|0)+108>>2]=c[f>>2];l=b+112|0;c[e+(d*136|0)+112>>2]=c[l>>2];m=b+116|0;c[e+(d*136|0)+116>>2]=c[m>>2];c[m>>2]=0;c[l>>2]=0;c[f>>2]=0;f=c[b+120>>2]|0;l=b+124|0;c[e+(d*136|0)+132>>2]=0;c[e+(d*136|0)+124>>2]=c[l>>2];m=b+128|0;c[e+(d*136|0)+128>>2]=c[m>>2];b=b+132|0;c[e+(d*136|0)+132>>2]=c[b>>2];c[b>>2]=0;c[m>>2]=0;c[l>>2]=0;c[e+(d*136|0)+120>>2]=f;c[h>>2]=(c[h>>2]|0)+136;xe(a,j);d=c[g>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0)){f=~(((e+-136-d|0)>>>0)/136|0);g=e;do{g=g+-136|0;jc(g)}while((g|0)!=(d|0));c[h>>2]=e+(f*136|0)}d=c[j>>2]|0;if(!d){i=k;return}ck(d);i=k;return}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+4|0;e=c[f>>2]|0;if(e){g=a[d>>0]|0;b=(g&1)==0;g=b?(g&255)>>>1:c[d+4>>2]|0;d=b?d+1|0:c[d+8>>2]|0;b=f;a:do{while(1){h=e+16|0;i=a[h>>0]|0;j=(i&1)==0;i=j?(i&255)>>>1:c[e+20>>2]|0;h=mm(j?h+1|0:c[e+24>>2]|0,d,g>>>0<i>>>0?g:i)|0;if((((h|0)==0?(i>>>0<g>>>0?-2147483648:0):h)|0)>=0){b=e;break}e=c[e+4>>2]|0;if(!e)break a}e=c[b>>2]|0}while((e|0)!=0);if((b|0)!=(f|0)?(j=b+16|0,i=a[j>>0]|0,h=(i&1)==0,i=h?(i&255)>>>1:c[b+20>>2]|0,j=mm(d,h?j+1|0:c[b+24>>2]|0,i>>>0<g>>>0?i:g)|0,(((j|0)==0?(g>>>0<i>>>0?-2147483648:0):j)|0)>=0):0){j=b;return j|0}}j=f;return j|0}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;d=c[f>>2]|0;return d|0}j=a[e>>0]|0;i=(j&1)==0;j=i?(j&255)>>>1:c[e+4>>2]|0;i=i?e+1|0:c[e+8>>2]|0;while(1){e=b+16|0;f=a[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:c[b+20>>2]|0;e=g?e+1|0:c[b+24>>2]|0;g=f>>>0<j>>>0;k=mm(i,e,g?f:j)|0;h=j>>>0<f>>>0;if((((k|0)==0?(h?-2147483648:0):k)|0)<0){f=c[b>>2]|0;if(!f){f=b;e=5;break}else b=f}else{k=mm(e,i,h?j:f)|0;if((((k|0)==0?(g?-2147483648:0):k)|0)>=0){e=10;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=9;break}else b=e}}if((e|0)==5){c[d>>2]=b;k=c[f>>2]|0;return k|0}else if((e|0)==9){c[d>>2]=b;k=c[f>>2]|0;return k|0}else if((e|0)==10){c[d>>2]=b;k=b;return k|0}return 0}function $c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a>>2]|0;if(!b)return;j=a+4|0;d=c[j>>2]|0;if((d|0)!=(b|0)){do{i=d+-100|0;c[j>>2]=i;h=d+-44|0;e=c[h>>2]|0;if(e){g=d+-40|0;f=c[g>>2]|0;if((f|0)!=(e|0)){do{k=f+-12|0;c[g>>2]=k;Dn(k);f=c[g>>2]|0}while((f|0)!=(e|0));e=c[h>>2]|0}ck(e)}Dn(d+-64|0);Dn(d+-76|0);Dn(d+-88|0);Dn(i);d=c[j>>2]|0}while((d|0)!=(b|0));b=c[a>>2]|0}ck(b);c[a+8>>2]=0;c[j>>2]=0;c[a>>2]=0;return}function ad(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+192|0;v=F+176|0;D=F+164|0;E=F+152|0;C=F+140|0;k=F+128|0;j=F+120|0;o=F+104|0;n=F+96|0;p=F+80|0;q=F+68|0;r=F+56|0;s=F+44|0;u=F+32|0;t=F+24|0;A=F+8|0;y=F;w=D+4|0;c[w>>2]=0;x=D+8|0;c[x>>2]=0;B=D+4|0;c[D>>2]=B;ud(D);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;switch(e|0){case 0:{Fn(E,18887)|0;break}case 1:{Fn(E,18173)|0;break}case 2:{Fn(E,17692)|0;break}case 3:{Fn(E,17550)|0;break}case 4:{Fn(E,17263)|0;break}default:Fn(E,18892)|0}l=C+4|0;c[l>>2]=0;m=C+8|0;c[m>>2]=0;z=C+4|0;c[C>>2]=z;An(k,18948,4);h=vd(C,v,k)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;g=e+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Gh(e+28|0);g=c[v>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[h>>2]=e;g=c[c[C>>2]>>2]|0;if(!g)g=e;else{c[C>>2]=g;g=c[h>>2]|0}wc(c[l>>2]|0,g);c[m>>2]=(c[m>>2]|0)+1}Ih(j,0);G=c[j>>2]|0;g=j+4|0;h=c[g>>2]|0;c[j>>2]=0;c[g>>2]=0;c[e+28>>2]=G;j=e+32|0;e=c[j>>2]|0;c[j>>2]=h;if(e)tn(e);e=c[g>>2]|0;if(e)tn(e);Dn(k);An(o,18953,7);h=vd(C,v,o)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;g=e+16|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Gh(e+28|0);g=c[v>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[h>>2]=e;g=c[c[C>>2]>>2]|0;if(!g)g=e;else{c[C>>2]=g;g=c[h>>2]|0}wc(c[l>>2]|0,g);c[m>>2]=(c[m>>2]|0)+1}An(s,18961,9);G=a[E>>0]|0;g=(G&1)==0;G=Mn(s,g?E+1|0:c[E+8>>2]|0,g?(G&255)>>>1:c[E+4>>2]|0)|0;c[r>>2]=c[G>>2];c[r+4>>2]=c[G+4>>2];c[r+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;G=Kn(r,18971)|0;c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;G=a[d>>0]|0;g=(G&1)==0;G=Mn(q,g?d+1|0:c[d+8>>2]|0,g?(G&255)>>>1:c[d+4>>2]|0)|0;c[p>>2]=c[G>>2];c[p+4>>2]=c[G+4>>2];c[p+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;Lh(n,p);G=c[n>>2]|0;g=n+4|0;d=c[g>>2]|0;c[n>>2]=0;c[g>>2]=0;c[e+28>>2]=G;G=e+32|0;e=c[G>>2]|0;c[G>>2]=d;if(e)tn(e);e=c[g>>2]|0;if(e)tn(e);Dn(p);Dn(q);Dn(r);Dn(s);Dn(o);An(u,17256,6);h=vd(D,v,u)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;g=e+16|0;c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Gh(e+28|0);g=c[v>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[h>>2]=e;g=c[c[D>>2]>>2]|0;if(!g)g=e;else{c[D>>2]=g;g=c[h>>2]|0}wc(c[w>>2]|0,g);c[x>>2]=(c[x>>2]|0)+1}Kh(t,E);G=c[t>>2]|0;g=t+4|0;s=c[g>>2]|0;c[t>>2]=0;c[g>>2]=0;c[e+28>>2]=G;G=e+32|0;e=c[G>>2]|0;c[G>>2]=s;if(e)tn(e);e=c[g>>2]|0;if(e)tn(e);Dn(u);An(A,18982,5);h=vd(D,v,A)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;g=e+16|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;Gh(e+28|0);g=c[v>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=g;c[h>>2]=e;g=c[c[D>>2]>>2]|0;if(!g)g=e;else{c[D>>2]=g;g=c[h>>2]|0}wc(c[w>>2]|0,g);c[x>>2]=(c[x>>2]|0)+1}Ph(y,C);G=c[y>>2]|0;g=y+4|0;x=c[g>>2]|0;c[y>>2]=0;c[g>>2]=0;c[e+28>>2]=G;G=e+32|0;e=c[G>>2]|0;c[G>>2]=x;if(e)tn(e);e=c[g>>2]|0;if(!e){Dn(A);xd(D,f);Ph(b,D);G=c[z>>2]|0;yd(C,G);Dn(E);G=c[B>>2]|0;yd(D,G);i=F;return}tn(e);Dn(A);xd(D,f);Ph(b,D);G=c[z>>2]|0;yd(C,G);Dn(E);G=c[B>>2]|0;yd(D,G);i=F;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;bd(a,c[b>>2]|0);bd(a,c[b+4>>2]|0);h=b+20|0;a=c[h>>2]|0;if(a){i=b+24|0;d=c[i>>2]|0;if((d|0)!=(a|0)){do{c[i>>2]=d+-48;Dn(d+-12|0);f=c[d+-24>>2]|0;g=f;if(f){d=d+-20|0;e=c[d>>2]|0;if((e|0)!=(f|0))c[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);ck(f)}d=c[i>>2]|0}while((d|0)!=(a|0));a=c[h>>2]|0}ck(a)}ck(b);return}function cd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+128|0;t=C+124|0;A=C+112|0;B=C+100|0;l=C+88|0;k=C+80|0;q=C+64|0;o=C+56|0;p=C+48|0;s=C+32|0;r=C+24|0;z=C+8|0;w=C;v=A+4|0;c[v>>2]=0;u=A+8|0;c[u>>2]=0;x=A+4|0;c[A>>2]=x;ud(A);m=B+4|0;c[m>>2]=0;n=B+8|0;c[n>>2]=0;y=B+4|0;c[B>>2]=y;An(l,17240,6);j=vd(B,t,l)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[B>>2]>>2]|0;if(!h)h=g;else{c[B>>2]=h;h=c[j>>2]|0}wc(c[m>>2]|0,h);c[n>>2]=(c[n>>2]|0)+1}Hh(k,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));D=c[k>>2]|0;h=k+4|0;j=c[h>>2]|0;c[k>>2]=0;c[h>>2]=0;c[g+28>>2]=D;k=g+32|0;g=c[k>>2]|0;c[k>>2]=j;if(g)tn(g);g=c[h>>2]|0;if(g)tn(g);Dn(l);An(q,17247,8);j=vd(B,t,q)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[B>>2]>>2]|0;if(!h)h=g;else{c[B>>2]=h;h=c[j>>2]|0}wc(c[m>>2]|0,h);c[n>>2]=(c[n>>2]|0)+1}Kb[c[(c[d>>2]|0)+16>>2]&7](p,d,c[b>>2]|0);wd(o,b+4|0,c[p>>2]|0,e);D=c[o>>2]|0;h=o+4|0;e=c[h>>2]|0;c[o>>2]=0;c[h>>2]=0;c[g+28>>2]=D;D=g+32|0;g=c[D>>2]|0;c[D>>2]=e;if(g)tn(g);g=c[h>>2]|0;if(g)tn(g);g=c[p+4>>2]|0;if(g)tn(g);Dn(q);An(s,17256,6);j=vd(A,t,s)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[s>>2];c[h+4>>2]=c[s+4>>2];c[h+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[A>>2]>>2]|0;if(!h)h=g;else{c[A>>2]=h;h=c[j>>2]|0}wc(c[v>>2]|0,h);c[u>>2]=(c[u>>2]|0)+1}Mh(r,17550);D=c[r>>2]|0;h=r+4|0;q=c[h>>2]|0;c[r>>2]=0;c[h>>2]=0;c[g+28>>2]=D;D=g+32|0;g=c[D>>2]|0;c[D>>2]=q;if(g)tn(g);g=c[h>>2]|0;if(g)tn(g);Dn(s);An(z,17270,6);j=vd(A,t,z)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[z>>2];c[h+4>>2]=c[z+4>>2];c[h+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[A>>2]>>2]|0;if(!h)h=g;else{c[A>>2]=h;h=c[j>>2]|0}wc(c[v>>2]|0,h);c[u>>2]=(c[u>>2]|0)+1}Ph(w,B);D=c[w>>2]|0;h=w+4|0;v=c[h>>2]|0;c[w>>2]=0;c[h>>2]=0;c[g+28>>2]=D;D=g+32|0;g=c[D>>2]|0;c[D>>2]=v;if(g)tn(g);g=c[h>>2]|0;if(!g){Dn(z);xd(A,f);Ph(a,A);D=c[y>>2]|0;yd(B,D);D=c[x>>2]|0;yd(A,D);i=C;return}tn(g);Dn(z);xd(A,f);Ph(a,A);D=c[y>>2]|0;yd(B,D);D=c[x>>2]|0;yd(A,D);i=C;return}function dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+64|0;l=j+48|0;h=j+36|0;e=j+24|0;f=j+12|0;g=j;An(l,17256,6);k=(Rh(Xh(b,l)|0)|0)==3;Dn(l);if(!k){Fn(d,17495)|0;l=5;i=j;return l|0}An(e,17256,6);zn(h,Uh(Xh(b,e)|0)|0);Dn(e);if(Sn(h,18887)|0)if(Sn(h,18173)|0)if(Sn(h,17692)|0)if(Sn(h,17550)|0)if(Sn(h,17263)|0)if(!(Sn(h,18892)|0))e=5;else{c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;l=a[h>>0]|0;l=(l&1)==0?(l&255)>>>1:c[h+4>>2]|0;Tn(g,18900,45,l+45|0);Mn(g,(a[h>>0]&1)==0?h+1|0:c[h+8>>2]|0,l)|0;l=Kn(g,18946)|0;c[f>>2]=c[l>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}Jn(d,0);c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Dn(f);Dn(g);e=5}else e=4;else e=3;else e=2;else e=1;else e=0;Dn(h);l=e;i=j;return l|0}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+128|0;o=y+112|0;x=y+100|0;v=y+88|0;j=y+80|0;t=y+68|0;l=y+56|0;k=y+48|0;n=y+32|0;m=y+24|0;s=y+8|0;r=y;p=x+4|0;c[p>>2]=0;q=x+8|0;c[q>>2]=0;w=x+4|0;c[x>>2]=w;ud(x);c[v>>2]=0;u=v+4|0;c[u>>2]=0;c[v+8>>2]=0;e=c[b>>2]|0;f=c[b+4>>2]|0;if((e|0)!=(f|0)){g=v+8|0;h=j+4|0;do{$d(j,e);b=c[u>>2]|0;if(b>>>0>=(c[g>>2]|0)>>>0){Ad(v,j);b=c[h>>2]|0;if(b)tn(b)}else{c[b>>2]=c[j>>2];c[b+4>>2]=c[h>>2];c[j>>2]=0;c[h>>2]=0;c[u>>2]=b+8}e=e+136|0}while((e|0)!=(f|0))}g=t+4|0;c[g>>2]=0;h=t+8|0;c[h>>2]=0;j=t+4|0;c[t>>2]=j;An(l,18877,9);f=vd(t,o,l)|0;b=c[f>>2]|0;if(!b){b=ak(36)|0;e=b+16|0;c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Gh(b+28|0);e=c[o>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;e=c[c[t>>2]>>2]|0;if(!e)e=b;else{c[t>>2]=e;e=c[f>>2]|0}wc(c[g>>2]|0,e);c[h>>2]=(c[h>>2]|0)+1}Nh(k,v);g=c[k>>2]|0;e=k+4|0;h=c[e>>2]|0;c[k>>2]=0;c[e>>2]=0;c[b+28>>2]=g;k=b+32|0;b=c[k>>2]|0;c[k>>2]=h;if(b)tn(b);b=c[e>>2]|0;if(b)tn(b);Dn(l);An(n,17256,6);f=vd(x,o,n)|0;b=c[f>>2]|0;if(!b){b=ak(36)|0;e=b+16|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Gh(b+28|0);e=c[o>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;e=c[c[x>>2]>>2]|0;if(!e)e=b;else{c[x>>2]=e;e=c[f>>2]|0}wc(c[p>>2]|0,e);c[q>>2]=(c[q>>2]|0)+1}Mh(m,18887);k=c[m>>2]|0;e=m+4|0;l=c[e>>2]|0;c[m>>2]=0;c[e>>2]=0;c[b+28>>2]=k;m=b+32|0;b=c[m>>2]|0;c[m>>2]=l;if(b)tn(b);b=c[e>>2]|0;if(b)tn(b);Dn(n);An(s,17270,6);f=vd(x,o,s)|0;b=c[f>>2]|0;if(!b){b=ak(36)|0;e=b+16|0;c[e>>2]=c[s>>2];c[e+4>>2]=c[s+4>>2];c[e+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Gh(b+28|0);e=c[o>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=e;c[f>>2]=b;e=c[c[x>>2]>>2]|0;if(!e)e=b;else{c[x>>2]=e;e=c[f>>2]|0}wc(c[p>>2]|0,e);c[q>>2]=(c[q>>2]|0)+1}Ph(r,t);p=c[r>>2]|0;e=r+4|0;q=c[e>>2]|0;c[r>>2]=0;c[e>>2]=0;c[b+28>>2]=p;r=b+32|0;b=c[r>>2]|0;c[r>>2]=q;if(b)tn(b);b=c[e>>2]|0;if(b)tn(b);Dn(s);xd(x,d);Ph(a,x);yd(t,c[j>>2]|0);b=c[v>>2]|0;if(!b){w=c[w>>2]|0;yd(x,w);i=y;return}e=c[u>>2]|0;if((e|0)!=(b|0)){do{f=e+-8|0;c[u>>2]=f;e=c[e+-4>>2]|0;if(!e)e=f;else{tn(e);e=c[u>>2]|0}}while((e|0)!=(b|0));b=c[v>>2]|0}ck(b);w=c[w>>2]|0;yd(x,w);i=y;return}function fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;e=l+40|0;f=l+24|0;j=l+16|0;k=l;c[e>>2]=c[b>>2];g=e+4|0;h=c[b+4>>2]|0;c[g>>2]=h;if(h)sn(h);An(f,18173,4);Hd(e,f,d);Dn(f);e=c[g>>2]|0;if(e)tn(e);if(Sn(d,32106)|0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;i=l;return}An(k,17488,6);f=Xh(b,k)|0;c[j>>2]=c[f>>2];e=j+4|0;f=c[f+4>>2]|0;c[e>>2]=f;if(f)sn(f);ve(a,j,d);e=c[e>>2]|0;if(e)tn(e);Dn(k);i=l;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;q=p;n=d;if(!d){i=p;return}o=a+20|0;k=a+24|0;f=c[k>>2]|0;if(f){e=k;a:do{while(1){if((c[f+16>>2]|0)>>>0>=d>>>0){e=f;break}f=c[f+4>>2]|0;if(!f)break a}f=c[e>>2]|0}while((f|0)!=0);if((e|0)!=(k|0)?(c[e+16>>2]|0)>>>0<=d>>>0:0){i=p;return}}m=a+8|0;j=a+12|0;g=c[j>>2]|0;h=(g|0)==0;do if(!h){e=j;f=g;b:do{while(1){if((c[f+16>>2]|0)>>>0>=b>>>0){e=f;break}f=c[f+4>>2]|0;if(!f)break b}f=c[e>>2]|0}while((f|0)!=0);if((e|0)!=(j|0)?(c[e+16>>2]|0)>>>0<=b>>>0:0){h=je(gp(je(ep(je(9768,18400,31)|0,b)|0,18432,12)|0,d)|0,18445,26)|0;e=c[j>>2]|0;do if(e){while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){f=e;l=20;break}else e=f}else{if(f>>>0>=b>>>0){l=26;break}f=e+4|0;g=c[f>>2]|0;if(!g){l=24;break}else e=g}}if((l|0)==20){c[q>>2]=e;break}else if((l|0)==24){c[q>>2]=e;break}else if((l|0)==26){c[q>>2]=e;if(!e){f=q;break}a=e+20|0;a=c[a>>2]|0;a=gp(h,a)|0;a=je(a,21300,1)|0;b=c[a>>2]|0;b=b+-12|0;b=c[b>>2]|0;b=a+b|0;b=jo(b)|0;c[q>>2]=b;b=Gt(q,12368)|0;p=c[b>>2]|0;p=p+28|0;p=c[p>>2]|0;b=Pb[p&63](b,10)|0;Et(q);hp(a,b)|0;To(a)|0;a=Ia(8)|0;wn(a,18472);jb(a|0,696,95)}}else{c[q>>2]=j;f=j;e=j}while(0);g=ak(24)|0;c[g+16>>2]=b;c[g+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=e;c[f>>2]=g;e=c[c[m>>2]>>2]|0;if(!e)e=g;else{c[m>>2]=e;e=c[f>>2]|0}wc(c[a+12>>2]|0,e);a=a+16|0;c[a>>2]=(c[a>>2]|0)+1;a=g;a=a+20|0;a=c[a>>2]|0;a=gp(h,a)|0;a=je(a,21300,1)|0;b=c[a>>2]|0;b=b+-12|0;b=c[b>>2]|0;b=a+b|0;b=jo(b)|0;c[q>>2]=b;b=Gt(q,12368)|0;p=c[b>>2]|0;p=p+28|0;p=c[p>>2]|0;b=Pb[p&63](b,10)|0;Et(q);hp(a,b)|0;To(a)|0;a=Ia(8)|0;wn(a,18472);jb(a|0,696,95)}if(!h){while(1){e=c[g+16>>2]|0;if(e>>>0>b>>>0){e=c[g>>2]|0;if(!e){f=g;e=g;l=34;break}}else{if(e>>>0>=b>>>0){e=g;l=40;break}f=g+4|0;e=c[f>>2]|0;if(!e){e=g;l=38;break}}g=e}if((l|0)==34){c[q>>2]=e;l=41;break}else if((l|0)==38){c[q>>2]=e;l=41;break}else if((l|0)==40){c[q>>2]=e;if(!e){f=q;l=41;break}else break}}else l=39}else l=39;while(0);if((l|0)==39){c[q>>2]=j;f=j;e=j;l=41}if((l|0)==41){g=ak(24)|0;c[g+16>>2]=b;c[g+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=e;c[f>>2]=g;e=c[c[m>>2]>>2]|0;if(!e)e=g;else{c[m>>2]=e;e=c[f>>2]|0}wc(c[a+12>>2]|0,e);e=a+16|0;c[e>>2]=(c[e>>2]|0)+1;e=g}c[e+20>>2]=n;e=c[k>>2]|0;do if(e){while(1){f=c[e+16>>2]|0;if(f>>>0>d>>>0){f=c[e>>2]|0;if(!f){f=e;l=47;break}else e=f}else{if(f>>>0>=d>>>0){l=53;break}f=e+4|0;g=c[f>>2]|0;if(!g){l=51;break}else e=g}}if((l|0)==47){c[q>>2]=e;l=54;break}else if((l|0)==51){c[q>>2]=e;l=54;break}else if((l|0)==53){c[q>>2]=e;if(!e){f=q;l=54;break}else break}}else{c[q>>2]=k;f=k;e=k;l=54}while(0);if((l|0)==54){g=ak(24)|0;c[g+16>>2]=n;c[g+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=e;c[f>>2]=g;e=c[c[o>>2]>>2]|0;if(!e)e=g;else{c[o>>2]=e;e=c[f>>2]|0}wc(c[a+24>>2]|0,e);e=a+28|0;c[e>>2]=(c[e>>2]|0)+1;e=g}c[e+20>>2]=b;h=a+68|0;f=a+72|0;e=c[f>>2]|0;do if(e){while(1){f=c[e+16>>2]|0;if(f>>>0>b>>>0){f=c[e>>2]|0;if(!f){g=e;f=e;l=60;break}else e=f}else{if(f>>>0>=b>>>0){l=66;break}f=e+4|0;g=c[f>>2]|0;if(!g){l=64;break}else e=g}}if((l|0)==60){c[q>>2]=f;l=67;break}else if((l|0)==64){c[q>>2]=e;g=f;f=e;l=67;break}else if((l|0)==66){c[q>>2]=e;if(!e){g=q;f=e;l=67;break}else break}}else{c[q>>2]=f;g=f;l=67}while(0);if((l|0)==67){e=ak(28)|0;c[e+16>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[h>>2]>>2]|0;if(!f)f=e;else{c[h>>2]=f;f=c[g>>2]|0}wc(c[a+72>>2]|0,f);a=a+76|0;c[a>>2]=(c[a>>2]|0)+1}b=ak(28)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=3184;a=b+12|0;ke(a,d);c[e+20>>2]=a;a=e+24|0;e=c[a>>2]|0;c[a>>2]=b;if(!e){i=p;return}tn(e);i=p;return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;l=s+72|0;r=s+60|0;k=s+48|0;j=s+40|0;q=s+24|0;o=s+16|0;f=s;if(!(c[b>>2]|0)){An(f,18178,21);ad(a,f,1,e);Dn(f);i=s;return}m=r+4|0;c[m>>2]=0;n=r+8|0;c[n>>2]=0;p=r+4|0;c[r>>2]=p;ud(r);An(k,17256,6);h=vd(r,l,k)|0;f=c[h>>2]|0;if(!f){f=ak(36)|0;g=f+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Gh(f+28|0);g=c[l>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[r>>2]>>2]|0;if(!g)g=f;else{c[r>>2]=g;g=c[h>>2]|0}wc(c[m>>2]|0,g);c[n>>2]=(c[n>>2]|0)+1}Mh(j,18173);t=c[j>>2]|0;g=j+4|0;h=c[g>>2]|0;c[j>>2]=0;c[g>>2]=0;c[f+28>>2]=t;j=f+32|0;f=c[j>>2]|0;c[j>>2]=h;if(f)tn(f);f=c[g>>2]|0;if(f)tn(f);Dn(k);An(q,17270,6);h=vd(r,l,q)|0;f=c[h>>2]|0;if(!f){f=ak(36)|0;g=f+16|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(f+28|0);g=c[l>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[r>>2]>>2]|0;if(!g)g=f;else{c[r>>2]=g;g=c[h>>2]|0}wc(c[m>>2]|0,g);c[n>>2]=(c[n>>2]|0)+1}_d(o,b,d);t=c[o>>2]|0;g=o+4|0;b=c[g>>2]|0;c[o>>2]=0;c[g>>2]=0;c[f+28>>2]=t;t=f+32|0;f=c[t>>2]|0;c[t>>2]=b;if(f)tn(f);f=c[g>>2]|0;if(f)tn(f);Dn(q);xd(r,e);Ph(a,r);yd(r,c[p>>2]|0);i=s;return}function id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;f=m+40|0;g=m+24|0;k=m+16|0;l=m;c[f>>2]=c[b>>2];h=f+4|0;j=c[b+4>>2]|0;c[h>>2]=j;if(j)sn(j);An(g,17692,9);Hd(f,g,e);Dn(g);f=c[h>>2]|0;if(f)tn(f);if(Sn(e,32106)|0){c[a+20>>2]=0;c[a+24>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=a+20;l=a+28|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;i=m;return}An(l,17488,6);g=Xh(b,l)|0;c[k>>2]=c[g>>2];f=k+4|0;g=c[g+4>>2]|0;c[f>>2]=g;if(g)sn(g);Yd(a,k,d,e);f=c[f>>2]|0;if(f)tn(f);Dn(l);i=m;return}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;e=g+4|0;k=g;f=ak(32)|0;h=f+16|0;zn(h,d);c[f+28>>2]=c[d+12>>2];c[k>>2]=c[b>>2];c[j>>2]=c[k>>2];d=Wd(a,j,e,h)|0;b=c[d>>2]|0;if(!b){b=c[e>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=b;c[d>>2]=f;b=c[c[a>>2]>>2]|0;if(!b)b=f;else{c[a>>2]=b;b=c[d>>2]|0}wc(c[a+4>>2]|0,b);k=a+8|0;c[k>>2]=(c[k>>2]|0)+1;k=f;i=g;return k|0}else{if((b|0)==(f|0)){k=b;i=g;return k|0}Dn(f+16|0);ck(f);k=b;i=g;return k|0}return 0}function kd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;if((c[a+4>>2]|0)==(b|0)){i=m;return}j=a+32|0;h=a+36|0;f=c[h>>2]|0;do if(f){h=f;while(1){f=c[h+16>>2]|0;if(f>>>0>b>>>0){f=c[h>>2]|0;if(!f){g=h;k=5;break}}else{if(f>>>0>=b>>>0){f=h;k=10;break}g=h+4|0;f=c[g>>2]|0;if(!f){k=9;break}}h=f}if((k|0)==5){c[l>>2]=h;break}else if((k|0)==9){c[l>>2]=h;break}else if((k|0)==10){c[l>>2]=f;g=l;h=f;break}}else{c[l>>2]=h;g=h}while(0);if(!(c[g>>2]|0)){f=ak(20)|0;c[f+16>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=h;c[g>>2]=f;h=c[c[j>>2]>>2]|0;if(h){c[j>>2]=h;f=c[g>>2]|0}wc(c[a+36>>2]|0,f);k=a+40|0;c[k>>2]=(c[k>>2]|0)+1}j=a+44|0;g=a+48|0;f=c[g>>2]|0;do if(f){h=f;while(1){f=c[h+16>>2]|0;if(f>>>0>b>>>0){f=c[h>>2]|0;if(!f){g=h;f=h;k=19;break}}else{if(f>>>0>=b>>>0){f=h;k=25;break}g=h+4|0;f=c[g>>2]|0;if(!f){f=h;k=23;break}}h=f}if((k|0)==19){c[l>>2]=f;h=g;k=26;break}else if((k|0)==23){c[l>>2]=f;h=g;k=26;break}else if((k|0)==25){c[l>>2]=f;if(!f){h=l;k=26;break}else break}}else{c[l>>2]=g;h=g;f=g;k=26}while(0);if((k|0)==26){g=ak(24)|0;c[g+16>>2]=b;c[g+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=f;c[h>>2]=g;f=c[c[j>>2]>>2]|0;if(!f)f=g;else{c[j>>2]=f;f=c[h>>2]|0}wc(c[a+48>>2]|0,f);f=a+52|0;c[f>>2]=(c[f>>2]|0)+1;f=g}c[f+20>>2]=d;j=a+56|0;g=a+60|0;f=c[g>>2]|0;do if(f){while(1){g=c[f+16>>2]|0;if(g>>>0>b>>>0){g=c[f>>2]|0;if(!g){h=f;g=f;k=32;break}else f=g}else{if(g>>>0>=b>>>0){k=38;break}g=f+4|0;h=c[g>>2]|0;if(!h){k=36;break}else f=h}}if((k|0)==32){c[l>>2]=g;k=39;break}else if((k|0)==36){c[l>>2]=f;h=g;g=f;k=39;break}else if((k|0)==38){c[l>>2]=f;if(!f){h=l;g=f;k=39;break}else break}}else{c[l>>2]=g;h=g;k=39}while(0);if((k|0)==39){f=ak(24)|0;c[f+16>>2]=b;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[j>>2]>>2]|0;if(!g)g=f;else{c[j>>2]=g;g=c[h>>2]|0}wc(c[a+60>>2]|0,g);a=a+64|0;c[a>>2]=(c[a>>2]|0)+1}c[f+20>>2]=e;i=m;return}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;l=s+72|0;r=s+60|0;k=s+48|0;j=s+40|0;q=s+24|0;o=s+16|0;f=s;if((c[b+4>>2]|0)==(c[b+8>>2]|0)){An(f,17702,26);ad(a,f,2,e);Dn(f);i=s;return}m=r+4|0;c[m>>2]=0;n=r+8|0;c[n>>2]=0;p=r+4|0;c[r>>2]=p;ud(r);An(k,17256,6);h=vd(r,l,k)|0;f=c[h>>2]|0;if(!f){f=ak(36)|0;g=f+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Gh(f+28|0);g=c[l>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[r>>2]>>2]|0;if(!g)g=f;else{c[r>>2]=g;g=c[h>>2]|0}wc(c[m>>2]|0,g);c[n>>2]=(c[n>>2]|0)+1}Mh(j,17692);t=c[j>>2]|0;g=j+4|0;h=c[g>>2]|0;c[j>>2]=0;c[g>>2]=0;c[f+28>>2]=t;j=f+32|0;f=c[j>>2]|0;c[j>>2]=h;if(f)tn(f);f=c[g>>2]|0;if(f)tn(f);Dn(k);An(q,17270,6);h=vd(r,l,q)|0;f=c[h>>2]|0;if(!f){f=ak(36)|0;g=f+16|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(f+28|0);g=c[l>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=g;c[h>>2]=f;g=c[c[r>>2]>>2]|0;if(!g)g=f;else{c[r>>2]=g;g=c[h>>2]|0}wc(c[m>>2]|0,g);c[n>>2]=(c[n>>2]|0)+1}Qd(o,b,d);t=c[o>>2]|0;g=o+4|0;b=c[g>>2]|0;c[o>>2]=0;c[g>>2]=0;c[f+28>>2]=t;t=f+32|0;f=c[t>>2]|0;c[t>>2]=b;if(f)tn(f);f=c[g>>2]|0;if(f)tn(f);Dn(q);xd(r,e);Ph(a,r);yd(r,c[p>>2]|0);i=s;return}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+24|0;l=n+16|0;m=n;c[g>>2]=c[b>>2];j=g+4|0;k=c[b+4>>2]|0;c[j>>2]=k;if(k)sn(k);An(h,17550,7);Hd(g,h,f);Dn(h);g=c[j>>2]|0;if(g)tn(g);if(Sn(f,32106)|0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;i=n;return}An(m,17488,6);h=Xh(b,m)|0;c[l>>2]=c[h>>2];g=l+4|0;h=c[h+4>>2]|0;c[g>>2]=h;if(h)sn(h);Id(a,l,d,e,f);g=c[g>>2]|0;if(g)tn(g);Dn(m);i=n;return}function nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+48|0;a=c[f>>2]|0;if(!a){h=0;return h|0}else{d=f;e=a}a:do{while(1){if((c[e+16>>2]|0)>>>0>=b>>>0){d=e;break}e=c[e+4>>2]|0;if(!e)break a}e=c[d>>2]|0}while((e|0)!=0);if((d|0)==(f|0)){h=0;return h|0}if((c[d+16>>2]|0)>>>0>b>>>0){h=0;return h|0}while(1){d=c[a+16>>2]|0;if(d>>>0>b>>>0){a=c[a>>2]|0;if(!a)break}else{if(d>>>0>=b>>>0){g=a;h=13;break}a=c[a+4>>2]|0;if(!a)break}}if((h|0)==13?(g|0)!=0:0){h=c[g+20>>2]|0;return h|0}h=Ia(8)|0;wn(h,16885);c[h>>2]=5116;jb(h|0,712,95);return 0}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+60|0;a=c[f>>2]|0;if(!a){h=0;return h|0}else{d=f;e=a}a:do{while(1){if((c[e+16>>2]|0)>>>0>=b>>>0){d=e;break}e=c[e+4>>2]|0;if(!e)break a}e=c[d>>2]|0}while((e|0)!=0);if((d|0)==(f|0)){h=0;return h|0}if((c[d+16>>2]|0)>>>0>b>>>0){h=0;return h|0}while(1){d=c[a+16>>2]|0;if(d>>>0>b>>>0){a=c[a>>2]|0;if(!a)break}else{if(d>>>0>=b>>>0){g=a;h=13;break}a=c[a+4>>2]|0;if(!a)break}}if((h|0)==13?(g|0)!=0:0){h=c[g+20>>2]|0;return h|0}h=Ia(8)|0;wn(h,16885);c[h>>2]=5116;jb(h|0,712,95);return 0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;e=l+40|0;f=l+24|0;j=l+12|0;k=l;c[e>>2]=c[a>>2];g=e+4|0;h=c[a+4>>2]|0;c[g>>2]=h;if(h)sn(h);An(f,17263,6);Hd(e,f,d);Dn(f);e=c[g>>2]|0;if(e)tn(e);if(Sn(d,32106)|0){b=0;i=l;return b|0}d=c[(c[b>>2]|0)+12>>2]|0;An(j,17488,6);a=Xh(a,j)|0;An(k,17240,6);a=Th(Xh(a,k)|0)|0;b=Pb[d&63](b,a)|0;Dn(k);Dn(j);i=l;return b|0}function qd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+128|0;t=C+124|0;A=C+112|0;B=C+100|0;l=C+88|0;k=C+80|0;q=C+64|0;o=C+56|0;p=C+48|0;s=C+32|0;r=C+24|0;z=C+8|0;w=C;v=A+4|0;c[v>>2]=0;u=A+8|0;c[u>>2]=0;x=A+4|0;c[A>>2]=x;ud(A);m=B+4|0;c[m>>2]=0;n=B+8|0;c[n>>2]=0;y=B+4|0;c[B>>2]=y;An(l,17240,6);j=vd(B,t,l)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[B>>2]>>2]|0;if(!h)h=g;else{c[B>>2]=h;h=c[j>>2]|0}wc(c[m>>2]|0,h);c[n>>2]=(c[n>>2]|0)+1}Hh(k,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));D=c[k>>2]|0;h=k+4|0;j=c[h>>2]|0;c[k>>2]=0;c[h>>2]=0;c[g+28>>2]=D;k=g+32|0;g=c[k>>2]|0;c[k>>2]=j;if(g)tn(g);g=c[h>>2]|0;if(g)tn(g);Dn(l);An(q,17247,8);j=vd(B,t,q)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[B>>2]>>2]|0;if(!h)h=g;else{c[B>>2]=h;h=c[j>>2]|0}wc(c[m>>2]|0,h);c[n>>2]=(c[n>>2]|0)+1}Kb[c[(c[d>>2]|0)+16>>2]&7](p,d,c[b>>2]|0);wd(o,b+4|0,c[p>>2]|0,e);D=c[o>>2]|0;h=o+4|0;e=c[h>>2]|0;c[o>>2]=0;c[h>>2]=0;c[g+28>>2]=D;D=g+32|0;g=c[D>>2]|0;c[D>>2]=e;if(g)tn(g);g=c[h>>2]|0;if(g)tn(g);g=c[p+4>>2]|0;if(g)tn(g);Dn(q);An(s,17256,6);j=vd(A,t,s)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[s>>2];c[h+4>>2]=c[s+4>>2];c[h+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[A>>2]>>2]|0;if(!h)h=g;else{c[A>>2]=h;h=c[j>>2]|0}wc(c[v>>2]|0,h);c[u>>2]=(c[u>>2]|0)+1}Mh(r,17263);D=c[r>>2]|0;h=r+4|0;q=c[h>>2]|0;c[r>>2]=0;c[h>>2]=0;c[g+28>>2]=D;D=g+32|0;g=c[D>>2]|0;c[D>>2]=q;if(g)tn(g);g=c[h>>2]|0;if(g)tn(g);Dn(s);An(z,17270,6);j=vd(A,t,z)|0;g=c[j>>2]|0;if(!g){g=ak(36)|0;h=g+16|0;c[h>>2]=c[z>>2];c[h+4>>2]=c[z+4>>2];c[h+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Gh(g+28|0);h=c[t>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[j>>2]=g;h=c[c[A>>2]>>2]|0;if(!h)h=g;else{c[A>>2]=h;h=c[j>>2]|0}wc(c[v>>2]|0,h);c[u>>2]=(c[u>>2]|0)+1}Ph(w,B);D=c[w>>2]|0;h=w+4|0;v=c[h>>2]|0;c[w>>2]=0;c[h>>2]=0;c[g+28>>2]=D;D=g+32|0;g=c[D>>2]|0;c[D>>2]=v;if(g)tn(g);g=c[h>>2]|0;if(!g){Dn(z);xd(A,f);Ph(a,A);D=c[y>>2]|0;yd(B,D);D=c[x>>2]|0;yd(A,D);i=C;return}tn(g);Dn(z);xd(A,f);Ph(a,A);D=c[y>>2]|0;yd(B,D);D=c[x>>2]|0;yd(A,D);i=C;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;g=n+4|0;h=n;c[h>>2]=b;k=a+8|0;j=a+12|0;f=c[j>>2]|0;if(!f){i=n;return}else{d=j;e=f}a:do{while(1){if((c[e+16>>2]|0)>>>0>=b>>>0){d=e;break}e=c[e+4>>2]|0;if(!e)break a}e=c[d>>2]|0}while((e|0)!=0);if((d|0)==(j|0)){i=n;return}if((c[d+16>>2]|0)>>>0>b>>>0){i=n;return}while(1){d=c[f+16>>2]|0;if(d>>>0>b>>>0){d=c[f>>2]|0;if(!d){e=f;d=f;f=11;break}}else{if(d>>>0>=b>>>0){d=f;f=16;break}e=f+4|0;d=c[e>>2]|0;if(!d){d=f;f=15;break}}f=d}if((f|0)==11){c[g>>2]=d;f=17}else if((f|0)==15){c[g>>2]=d;f=17}else if((f|0)==16){c[g>>2]=d;if(!d){e=g;f=17}}if((f|0)==17){f=ak(24)|0;c[f+16>>2]=b;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=d;c[e>>2]=f;d=c[c[k>>2]>>2]|0;if(!d)d=f;else{c[k>>2]=d;d=c[e>>2]|0}wc(c[a+12>>2]|0,d);d=a+16|0;c[d>>2]=(c[d>>2]|0)+1;d=f}f=c[d+20>>2]|0;sd(a+68|0,h)|0;h=c[j>>2]|0;if(h){e=j;d=h;b:while(1){while(1){if((c[d+16>>2]|0)>>>0>=b>>>0){e=d;break}d=c[d+4>>2]|0;if(!d){g=e;break b}}d=c[e>>2]|0;if(!d){g=e;break}}if((g|0)!=(j|0)?(c[g+16>>2]|0)>>>0<=b>>>0:0){d=c[g+4>>2]|0;if(!d){e=g;while(1){d=c[e+8>>2]|0;if((c[d>>2]|0)==(e|0))break;else e=d}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[k>>2]|0)==(g|0))c[k>>2]=d;k=a+16|0;c[k>>2]=(c[k>>2]|0)+-1;td(h,g);ck(g)}}if((c[a+4>>2]|0)!=(b|0)?(l=a+36|0,m=c[l>>2]|0,(m|0)!=0):0){d=l;e=m;c:do{while(1){if((c[e+16>>2]|0)>>>0>=b>>>0){d=e;break}e=c[e+4>>2]|0;if(!e)break c}e=c[d>>2]|0}while((e|0)!=0);if((d|0)!=(l|0)?(c[d+16>>2]|0)>>>0<=b>>>0:0){h=a+32|0;e=l;d=m;d:while(1){while(1){if((c[d+16>>2]|0)>>>0>=b>>>0){e=d;break}d=c[d+4>>2]|0;if(!d){g=e;break d}}d=c[e>>2]|0;if(!d){g=e;break}}if((g|0)!=(l|0)?(c[g+16>>2]|0)>>>0<=b>>>0:0){d=c[g+4>>2]|0;if(!d){e=g;while(1){d=c[e+8>>2]|0;if((c[d>>2]|0)==(e|0))break;else e=d}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[h>>2]|0)==(g|0))c[h>>2]=d;l=a+40|0;c[l>>2]=(c[l>>2]|0)+-1;td(m,g);ck(g)}j=a+44|0;g=a+48|0;k=c[g>>2]|0;if(k){e=g;d=k;e:while(1){while(1){if((c[d+16>>2]|0)>>>0>=b>>>0){e=d;break}d=c[d+4>>2]|0;if(!d){h=e;break e}}d=c[e>>2]|0;if(!d){h=e;break}}if((h|0)!=(g|0)?(c[h+16>>2]|0)>>>0<=b>>>0:0){d=c[h+4>>2]|0;if(!d){e=h;while(1){d=c[e+8>>2]|0;if((c[d>>2]|0)==(e|0))break;else e=d}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[j>>2]|0)==(h|0))c[j>>2]=d;b=a+52|0;c[b>>2]=(c[b>>2]|0)+-1;td(k,h);ck(h)}}}}j=a+20|0;g=a+24|0;k=c[g>>2]|0;if(!k){i=n;return}e=g;d=k;f:while(1){while(1){if((c[d+16>>2]|0)>>>0>=f>>>0){e=d;break}d=c[d+4>>2]|0;if(!d){h=e;break f}}d=c[e>>2]|0;if(!d){h=e;break}}if((h|0)==(g|0)){i=n;return}if(f>>>0<(c[h+16>>2]|0)>>>0){i=n;return}d=c[h+4>>2]|0;if(!d){e=h;while(1){d=c[e+8>>2]|0;if((c[d>>2]|0)==(e|0))break;else e=d}}else while(1){e=c[d>>2]|0;if(!e)break;else d=e}if((c[j>>2]|0)==(h|0))c[j>>2]=d;a=a+28|0;c[a>>2]=(c[a>>2]|0)+-1;td(k,h);ck(h);i=n;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+4|0;h=c[f>>2]|0;if(!h){a=0;return a|0}e=c[b>>2]|0;d=f;b=h;a:while(1){while(1){if((c[b+16>>2]|0)>>>0>=e>>>0){d=b;break}b=c[b+4>>2]|0;if(!b){g=d;break a}}b=c[d>>2]|0;if(!b){g=d;break}}if((g|0)==(f|0)){a=0;return a|0}if((g|0)==(f|0)?1:e>>>0<(c[g+16>>2]|0)>>>0){a=0;return a|0}b=c[g+4>>2]|0;if(!b){d=g;while(1){b=c[d+8>>2]|0;if((c[b>>2]|0)==(d|0))break;else d=b}}else while(1){d=c[b>>2]|0;if(!d)break;else b=d}if((c[a>>2]|0)==(g|0))c[a>>2]=b;b=a+8|0;c[b>>2]=(c[b>>2]|0)+-1;td(h,g);b=c[g+24>>2]|0;if(b)tn(b);ck(g);a=1;return a|0}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[d>>2]|0;do if(f){e=c[d+4>>2]|0;if(!e){g=d;e=d;i=7;break}else while(1){f=c[e>>2]|0;if(!f){i=5;break}else e=f}}else{e=d;i=5}while(0);if((i|0)==5){f=c[e+4>>2]|0;if(!f){k=e+8|0;l=e;f=0;m=0;j=e}else{g=e;i=7}}if((i|0)==7){k=g+8|0;c[f+8>>2]=c[k>>2];l=g;m=1;j=e}g=c[k>>2]|0;e=c[g>>2]|0;if((e|0)==(l|0)){c[g>>2]=f;if((l|0)==(b|0)){b=f;e=0}else e=c[g+4>>2]|0}else c[g+4>>2]=f;h=l+12|0;i=(a[h>>0]|0)!=0;if((l|0)!=(d|0)){n=d+8|0;g=c[n>>2]|0;c[k>>2]=g;if((c[c[n>>2]>>2]|0)==(d|0))c[g>>2]=l;else c[g+4>>2]=l;g=c[d>>2]|0;c[j>>2]=g;c[g+8>>2]=l;g=c[d+4>>2]|0;c[l+4>>2]=g;if(g)c[g+8>>2]=l;a[h>>0]=a[d+12>>0]|0;b=(b|0)==(d|0)?l:b}if(!(i&(b|0)!=0))return;if(m){a[f+12>>0]=1;return}while(1){j=c[e+8>>2]|0;f=e+12|0;g=(a[f>>0]|0)!=0;if((c[j>>2]|0)==(e|0)){if(g)g=b;else{a[f>>0]=1;a[j+12>>0]=0;h=c[j>>2]|0;i=h+4|0;f=c[i>>2]|0;c[j>>2]=f;if(f)c[f+8>>2]=j;f=j+8|0;c[h+8>>2]=c[f>>2];g=c[f>>2]|0;if((c[g>>2]|0)==(j|0))c[g>>2]=h;else c[g+4>>2]=h;c[i>>2]=j;c[f>>2]=h;n=c[e+4>>2]|0;g=(b|0)==(n|0)?e:b;e=c[n>>2]|0}b=c[e>>2]|0;f=(b|0)==0;if(!f?(a[b+12>>0]|0)==0:0){i=68;break}n=c[e+4>>2]|0;if((n|0)!=0?(a[n+12>>0]|0)==0:0){i=67;break}a[e+12>>0]=0;e=c[e+8>>2]|0;b=e+12|0;if((e|0)==(g|0)|(a[b>>0]|0)==0){i=64;break}n=c[e+8>>2]|0;b=g;e=(c[n>>2]|0)==(e|0)?n+4|0:n}else{if(!g){a[f>>0]=1;a[j+12>>0]=0;n=j+4|0;h=c[n>>2]|0;f=c[h>>2]|0;c[n>>2]=f;if(f)c[f+8>>2]=j;f=j+8|0;c[h+8>>2]=c[f>>2];g=c[f>>2]|0;if((c[g>>2]|0)==(j|0))c[g>>2]=h;else c[g+4>>2]=h;c[h>>2]=j;c[f>>2]=h;n=c[e>>2]|0;b=(b|0)==(n|0)?e:b;e=c[n+4>>2]|0}f=c[e>>2]|0;if((f|0)!=0?(a[f+12>>0]|0)==0:0){g=e;b=f;h=e;i=38;break}g=c[e+4>>2]|0;if((g|0)!=0?(a[g+12>>0]|0)==0:0){b=f;f=e;h=e;i=39;break}a[e+12>>0]=0;e=c[e+8>>2]|0;if((e|0)==(b|0)){i=36;break}if(!(a[e+12>>0]|0)){b=e;i=36;break}n=c[e+8>>2]|0;e=(c[n>>2]|0)==(e|0)?n+4|0:n}e=c[e>>2]|0}if((i|0)==36){a[b+12>>0]=1;return}else if((i|0)==38){e=c[h+4>>2]|0;if(!e){f=g;i=40}else{f=g;g=e;i=39}}else if((i|0)==64){a[b>>0]=1;return}else if((i|0)==67)if(f){g=e;i=69}else i=68;if((i|0)==39)if(!(a[g+12>>0]|0)){e=g;b=h;i=46}else i=40;else if((i|0)==68)if(!(a[b+12>>0]|0))i=75;else{g=e;i=69}if((i|0)==40){a[b+12>>0]=1;a[h+12>>0]=0;g=b+4|0;e=c[g>>2]|0;c[f>>2]=e;if(e)c[e+8>>2]=h;e=h+8|0;c[b+8>>2]=c[e>>2];f=c[e>>2]|0;if((c[f>>2]|0)==(h|0))c[f>>2]=b;else c[f+4>>2]=b;c[g>>2]=h;c[e>>2]=b;e=h;i=46}else if((i|0)==69){n=g+4|0;f=c[n>>2]|0;a[f+12>>0]=1;a[g+12>>0]=0;b=c[f>>2]|0;c[n>>2]=b;if(b)c[b+8>>2]=g;b=g+8|0;c[f+8>>2]=c[b>>2];e=c[b>>2]|0;if((c[e>>2]|0)==(g|0))c[e>>2]=f;else c[e+4>>2]=f;c[f>>2]=g;c[b>>2]=f;b=g;e=f;i=75}if((i|0)==46){g=c[b+8>>2]|0;n=g+12|0;a[b+12>>0]=a[n>>0]|0;a[n>>0]=1;a[e+12>>0]=1;n=g+4|0;f=c[n>>2]|0;b=c[f>>2]|0;c[n>>2]=b;if(b)c[b+8>>2]=g;b=g+8|0;c[f+8>>2]=c[b>>2];e=c[b>>2]|0;if((c[e>>2]|0)==(g|0))c[e>>2]=f;else c[e+4>>2]=f;c[f>>2]=g;c[b>>2]=f;return}else if((i|0)==75){h=c[e+8>>2]|0;f=h+12|0;a[e+12>>0]=a[f>>0]|0;a[f>>0]=1;a[b+12>>0]=1;f=c[h>>2]|0;g=f+4|0;b=c[g>>2]|0;c[h>>2]=b;if(b)c[b+8>>2]=h;b=h+8|0;c[f+8>>2]=c[b>>2];e=c[b>>2]|0;if((c[e>>2]|0)==(h|0))c[e>>2]=f;else c[e+4>>2]=f;c[g>>2]=h;c[b>>2]=f;return}}function ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+20|0;g=h+8|0;f=h;An(g,17476,7);e=vd(a,d,g)|0;b=c[e>>2]|0;if(!b){b=ak(36)|0;j=b+16|0;c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Gh(b+28|0);d=c[d>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=d;c[e>>2]=b;d=c[c[a>>2]>>2]|0;if(!d)d=b;else{c[a>>2]=d;d=c[e>>2]|0}wc(c[a+4>>2]|0,d);j=a+8|0;c[j>>2]=(c[j>>2]|0)+1}Mh(f,17484);j=c[f>>2]|0;d=f+4|0;a=c[d>>2]|0;c[f>>2]=0;c[d>>2]=0;c[b+28>>2]=j;j=b+32|0;b=c[j>>2]|0;c[j>>2]=a;if(b)tn(b);b=c[d>>2]|0;if(!b){Dn(g);i=h;return}tn(b);Dn(g);i=h;return}function vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;d=f;return d|0}j=a[e>>0]|0;i=(j&1)==0;j=i?(j&255)>>>1:c[e+4>>2]|0;i=i?e+1|0:c[e+8>>2]|0;while(1){e=b+16|0;f=a[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:c[b+20>>2]|0;e=g?e+1|0:c[b+24>>2]|0;g=f>>>0<j>>>0;k=mm(i,e,g?f:j)|0;h=j>>>0<f>>>0;if((((k|0)==0?(h?-2147483648:0):k)|0)<0){f=c[b>>2]|0;if(!f){f=b;e=5;break}else b=f}else{k=mm(e,i,h?j:f)|0;if((((k|0)==0?(g?-2147483648:0):k)|0)>=0){e=10;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=9;break}else b=e}}if((e|0)==5){c[d>>2]=b;k=f;return k|0}else if((e|0)==9){c[d>>2]=b;k=f;return k|0}else if((e|0)==10){c[d>>2]=b;k=d;return k|0}return 0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;v=y+56|0;x=y+44|0;w=y+32|0;p=y+24|0;q=y+8|0;r=y;s=x+4|0;c[s>>2]=0;t=x+8|0;c[t>>2]=0;u=x+4|0;c[x>>2]=u;f=c[b>>2]|0;n=b+4|0;if((f|0)==(n|0)){Ph(a,x);e=c[u>>2]|0;yd(x,e);i=y;return}o=w+4|0;j=w+8|0;k=r+4|0;l=w+8|0;m=p+4|0;while(1){c[w>>2]=0;c[o>>2]=0;c[j>>2]=0;b=c[f+20>>2]|0;h=c[f+24>>2]|0;if((b|0)!=(h|0))do{zd(p,b,e);g=c[o>>2]|0;if(g>>>0>=(c[l>>2]|0)>>>0){Ad(w,p);g=c[m>>2]|0;if(g)tn(g)}else{c[g>>2]=c[p>>2];c[g+4>>2]=c[m>>2];c[p>>2]=0;c[m>>2]=0;c[o>>2]=g+8}b=b+48|0}while((b|0)!=(h|0));Kb[c[(c[d>>2]|0)+12>>2]&7](q,d,c[f+16>>2]|0);h=vd(x,v,q)|0;b=c[h>>2]|0;if(!b){b=ak(36)|0;g=b+16|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(b+28|0);g=c[v>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=g;c[h>>2]=b;g=c[c[x>>2]>>2]|0;if(!g)g=b;else{c[x>>2]=g;g=c[h>>2]|0}wc(c[s>>2]|0,g);c[t>>2]=(c[t>>2]|0)+1}Nh(r,w);h=c[r>>2]|0;g=c[k>>2]|0;c[r>>2]=0;c[k>>2]=0;c[b+28>>2]=h;h=b+32|0;b=c[h>>2]|0;c[h>>2]=g;if(b)tn(b);b=c[k>>2]|0;if(b)tn(b);Dn(q);b=c[w>>2]|0;if(b){g=c[o>>2]|0;if((g|0)!=(b|0)){do{h=g+-8|0;c[o>>2]=h;g=c[g+-4>>2]|0;if(!g)g=h;else{tn(g);g=c[o>>2]|0}}while((g|0)!=(b|0));b=c[w>>2]|0}ck(b)}b=c[f+4>>2]|0;if(!b)while(1){b=c[f+8>>2]|0;if((c[b>>2]|0)==(f|0))break;else f=b}else while(1){f=c[b>>2]|0;if(!f)break;else b=f}if((b|0)==(n|0))break;else f=b}Ph(a,x);e=c[u>>2]|0;yd(x,e);i=y;return}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;g=h;if(!(Rh(b)|0)){i=h;return}An(g,17093,2);e=vd(a,d,g)|0;f=c[e>>2]|0;if(!f){f=ak(36)|0;j=f+16|0;c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Gh(f+28|0);d=c[d>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=d;c[e>>2]=f;d=c[c[a>>2]>>2]|0;if(!d)d=f;else{c[a>>2]=d;d=c[e>>2]|0}wc(c[a+4>>2]|0,d);j=a+8|0;c[j>>2]=(c[j>>2]|0)+1}d=c[b>>2]|0;e=c[b+4>>2]|0;if(e)sn(e);c[f+28>>2]=d;j=f+32|0;d=c[j>>2]|0;c[j>>2]=e;if(d)tn(d);Dn(g);i=h;return}function yd(a,b){a=a|0;b=b|0;if(!b)return;yd(a,c[b>>2]|0);yd(a,c[b+4>>2]|0);a=c[b+32>>2]|0;if(a)tn(a);Dn(b+16|0);ck(b);return}function zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+160|0;x=E+156|0;o=E+140|0;D=E+144|0;s=E+128|0;k=E+120|0;r=E+108|0;h=E+104|0;j=E+100|0;m=E+88|0;l=E+80|0;n=E+68|0;u=E+56|0;t=E+48|0;w=E+32|0;v=E+24|0;B=E+8|0;A=E;y=D+4|0;c[y>>2]=0;z=D+8|0;c[z>>2]=0;C=D+4|0;c[D>>2]=C;p=d+28|0;q=d+24|0;do if((c[p>>2]|0)!=(c[q>>2]|0)){if(e){An(m,17277,13);g=vd(D,x,m)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Gh(e+28|0);f=c[x>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[D>>2]>>2]|0;if(!f)f=e;else{c[D>>2]=f;f=c[g>>2]|0}wc(c[y>>2]|0,f);c[z>>2]=(c[z>>2]|0)+1}f=c[q>>2]|0;s=c[p>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[o>>2]=n;c[x>>2]=c[o>>2];Cd(f,s,x);Lh(l,n);s=c[l>>2]|0;f=l+4|0;r=c[f>>2]|0;c[l>>2]=0;c[f>>2]=0;c[e+28>>2]=s;s=e+32|0;e=c[s>>2]|0;c[s>>2]=r;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(n);Dn(m);break}An(s,17277,13);g=vd(D,x,s)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Gh(e+28|0);f=c[x>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[D>>2]>>2]|0;if(!f)f=e;else{c[D>>2]=f;f=c[g>>2]|0}wc(c[y>>2]|0,f);c[z>>2]=(c[z>>2]|0)+1}c[h>>2]=c[q>>2];c[j>>2]=c[p>>2];c[o>>2]=c[h>>2];c[x>>2]=c[j>>2];Bd(r,o,x);Oh(k,r);q=c[k>>2]|0;f=k+4|0;p=c[f>>2]|0;c[k>>2]=0;c[f>>2]=0;c[e+28>>2]=q;q=e+32|0;e=c[q>>2]|0;c[q>>2]=p;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);e=c[r>>2]|0;if(e){h=r+4|0;f=c[h>>2]|0;if((f|0)!=(e|0)){do{g=f+-8|0;c[h>>2]=g;f=c[f+-4>>2]|0;if(!f)f=g;else{tn(f);f=c[h>>2]|0}}while((f|0)!=(e|0));e=c[r>>2]|0}ck(e)}Dn(s)}while(0);h=d+36|0;if(Sn(h,32106)|0){An(u,17291,5);g=vd(D,x,u)|0;e=c[g>>2]|0;if(!e){f=ak(36)|0;e=f+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Gh(f+28|0);e=c[x>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;c[g>>2]=f;e=c[c[D>>2]>>2]|0;if(!e)e=f;else{c[D>>2]=e;e=c[g>>2]|0}wc(c[y>>2]|0,e);c[z>>2]=(c[z>>2]|0)+1;e=f}Kh(t,h);r=c[t>>2]|0;f=t+4|0;s=c[f>>2]|0;c[t>>2]=0;c[f>>2]=0;c[e+28>>2]=r;t=e+32|0;e=c[t>>2]|0;c[t>>2]=s;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(u)}if(a[d>>0]|0){An(w,17297,9);g=vd(D,x,w)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Gh(e+28|0);f=c[x>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[D>>2]>>2]|0;if(!f)f=e;else{c[D>>2]=f;f=c[g>>2]|0}wc(c[y>>2]|0,f);c[z>>2]=(c[z>>2]|0)+1}Dd(v,d+4|0);t=c[v>>2]|0;f=v+4|0;u=c[f>>2]|0;c[v>>2]=0;c[f>>2]=0;c[e+28>>2]=t;v=e+32|0;e=c[v>>2]|0;c[v>>2]=u;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(w)}if(!(a[d+12>>0]|0)){Ph(b,D);b=c[C>>2]|0;yd(D,b);i=E;return}An(B,17307,8);g=vd(D,x,B)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[B>>2];c[f+4>>2]=c[B+4>>2];c[f+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Gh(e+28|0);f=c[x>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[D>>2]>>2]|0;if(!f)f=e;else{c[D>>2]=f;f=c[g>>2]|0}wc(c[y>>2]|0,f);c[z>>2]=(c[z>>2]|0)+1}Dd(A,d+16|0);z=c[A>>2]|0;f=A+4|0;d=c[f>>2]|0;c[A>>2]=0;c[f>>2]=0;c[e+28>>2]=z;A=e+32|0;e=c[A>>2]|0;c[A>>2]=d;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(B);Ph(b,D);b=c[C>>2]|0;yd(D,b);i=E;return}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;d=c[a>>2]|0;f=((c[n>>2]|0)-d>>3)+1|0;if(f>>>0>536870911){_j(a);d=c[a>>2]|0}m=a+8|0;g=d;e=(c[m>>2]|0)-g|0;if(e>>3>>>0<268435455){e=e>>2;e=e>>>0<f>>>0?f:e;h=c[n>>2]|0;f=h-g>>3;if(!e){j=0;k=0;i=f}else l=6}else{h=c[n>>2]|0;e=536870911;f=h-g>>3;l=6}if((l|0)==6){j=e;k=ak(e<<3)|0;i=f}f=k+(i<<3)|0;e=f;j=k+(j<<3)|0;c[f>>2]=c[b>>2];l=b+4|0;c[k+(i<<3)+4>>2]=c[l>>2];c[b>>2]=0;c[l>>2]=0;i=k+(i+1<<3)|0;if((h|0)==(d|0)){f=a;d=e}else{g=h;do{b=g;g=g+-8|0;c[f+-8>>2]=c[g>>2];b=b+-4|0;c[f+-4>>2]=c[b>>2];c[g>>2]=0;c[b>>2]=0;f=e+-8|0;e=f}while((g|0)!=(d|0));d=e;f=a;g=c[a>>2]|0}c[f>>2]=d;d=c[n>>2]|0;c[n>>2]=i;c[m>>2]=j;f=g;if((d|0)!=(f|0))do{e=c[d+-4>>2]|0;d=d+-8|0;if(e)tn(e)}while((d|0)!=(f|0));if(!g)return;ck(g);return}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;c[a>>2]=0;h=a+4|0;c[h>>2]=0;c[a+8>>2]=0;e=c[b>>2]|0;d=c[d>>2]|0;b=d-e|0;f=b>>2;if(!f)return;if(f>>>0>536870911)_j(a);b=ak(b<<1)|0;c[h>>2]=b;c[a>>2]=b;c[a+8>>2]=b+(f<<3);if((e|0)==(d|0))return;do{Hh(b,+g[e>>2]);b=(c[h>>2]|0)+8|0;c[h>>2]=b;e=e+4|0}while((e|0)!=(d|0));return}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((b|0)==(d|0))return;h=0;while(1){f=h+6|0;if(f>>>0<8)Ln(c[e>>2]|0,a[17320+(a[b>>0]>>2-h&63)>>0]|0);else{i=b+1|0;b=a[b>>0]|0;g=f>>>0<16;if((i|0)==(d|0)){if(!g){b=7;break}b=b<<24>>24<<h+-2}else{if(!g){b=10;break}g=h+-2|0;b=a[i>>0]>>10-h&(-1<<g^63)|b<<24>>24<<g}Ln(c[e>>2]|0,a[17320+(b&63)>>0]|0);b=i;f=f&7}if((b|0)==(d|0)){b=14;break}else h=f}if((b|0)==7)Ha(17385,17413,71,17451);else if((b|0)==10)Ha(17385,17413,71,17451);else if((b|0)==14)return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+64|0;g=e+56|0;h=e+40|0;f=e+44|0;d=e;An(d,17316,1);Ih(d+12|0,c[b>>2]|0);An(d+20|0,17318,1);Ih(d+32|0,c[b+4>>2]|0);c[f+4>>2]=0;c[f+8>>2]=0;b=f+4|0;c[f>>2]=b;j=b;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d)|0;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d+20|0)|0;Qh(a,f);yd(f,c[b>>2]|0);a=c[d+36>>2]|0;if(a)tn(a);Dn(d+20|0);a=c[d+16>>2]|0;if(!a){Dn(d);i=e;return}tn(a);Dn(d);i=e;return}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;h=k+4|0;f=k;j=ak(36)|0;g=j+16|0;zn(g,d);c[j+28>>2]=c[d+12>>2];d=c[d+16>>2]|0;c[j+32>>2]=d;if(d)sn(d);c[f>>2]=c[b>>2];c[e>>2]=c[f>>2];e=Fd(a,e,h,g)|0;f=c[e>>2]|0;if(!f){d=c[h>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=d;c[e>>2]=j;d=c[c[a>>2]>>2]|0;if(!d)d=j;else{c[a>>2]=d;d=c[e>>2]|0}wc(c[a+4>>2]|0,d);a=a+8|0;c[a>>2]=(c[a>>2]|0)+1;i=k;return j|0}if((f|0)==(j|0)){j=f;i=k;return j|0}d=c[j+32>>2]|0;if(d)tn(d);Dn(j+16|0);ck(j);j=f;i=k;return j|0}function Fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;n=c[d>>2]|0;d=n;if((n|0)!=(k|0)?(h=n+16|0,l=a[f>>0]|0,m=(l&1)==0,l=m?(l&255)>>>1:c[f+4>>2]|0,g=a[h>>0]|0,i=(g&1)==0,g=i?(g&255)>>>1:c[n+20>>2]|0,m=m?f+1|0:c[f+8>>2]|0,h=i?h+1|0:c[n+24>>2]|0,i=g>>>0<l>>>0,o=mm(m,h,i?g:l)|0,j=l>>>0<g>>>0,(((o|0)==0?(j?-2147483648:0):o)|0)>=0):0){o=mm(h,m,j?l:g)|0;if((((o|0)==0?(i?-2147483648:0):o)|0)>=0){c[e>>2]=d;o=e;return o|0}h=n+4|0;d=c[h>>2]|0;i=(d|0)==0;if(i){g=n;while(1){d=c[g+8>>2]|0;if((c[d>>2]|0)==(g|0))break;else g=d}}else while(1){g=c[d>>2]|0;if(!g)break;else d=g}if((d|0)!=(k|0)?(o=d+16|0,k=a[o>>0]|0,j=(k&1)==0,k=j?(k&255)>>>1:c[d+20>>2]|0,o=mm(m,j?o+1|0:c[d+24>>2]|0,k>>>0<l>>>0?k:l)|0,(((o|0)==0?(l>>>0<k>>>0?-2147483648:0):o)|0)>=0):0){o=Gd(b,e,f)|0;return o|0}if(i){c[e>>2]=n;o=h;return o|0}else{c[e>>2]=d;o=d;return o|0}}if((n|0)!=(c[b>>2]|0)){d=c[n>>2]|0;if(!d){g=n;while(1){d=c[g+8>>2]|0;if((c[d>>2]|0)==(g|0))g=d;else break}}else while(1){g=c[d+4>>2]|0;if(!g)break;else d=g}k=d+16|0;l=a[k>>0]|0;j=(l&1)==0;l=j?(l&255)>>>1:c[d+20>>2]|0;m=a[f>>0]|0;o=(m&1)==0;m=o?(m&255)>>>1:c[f+4>>2]|0;o=mm(j?k+1|0:c[d+24>>2]|0,o?f+1|0:c[f+8>>2]|0,m>>>0<l>>>0?m:l)|0;if((((o|0)==0?(l>>>0<m>>>0?-2147483648:0):o)|0)>=0){o=Gd(b,e,f)|0;return o|0}}if(!(c[n>>2]|0)){c[e>>2]=n;o=n;return o|0}else{o=d;c[e>>2]=o;o=o+4|0;return o|0}return 0}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;d=f;return d|0}j=a[e>>0]|0;i=(j&1)==0;j=i?(j&255)>>>1:c[e+4>>2]|0;i=i?e+1|0:c[e+8>>2]|0;while(1){e=b+16|0;f=a[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:c[b+20>>2]|0;e=g?e+1|0:c[b+24>>2]|0;g=f>>>0<j>>>0;k=mm(i,e,g?f:j)|0;h=j>>>0<f>>>0;if((((k|0)==0?(h?-2147483648:0):k)|0)<0){f=c[b>>2]|0;if(!f){f=b;e=5;break}else b=f}else{k=mm(e,i,h?j:f)|0;if((((k|0)==0?(g?-2147483648:0):k)|0)>=0){e=10;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=9;break}else b=e}}if((e|0)==5){c[d>>2]=b;k=f;return k|0}else if((e|0)==9){c[d>>2]=b;k=f;return k|0}else if((e|0)==10){c[d>>2]=b;k=d;return k|0}return 0}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;j=p+36|0;m=p+24|0;n=p+12|0;o=p;An(j,17256,6);l=(Rh(Xh(b,j)|0)|0)==3;Dn(j);if(!l){Fn(e,17495)|0;i=p;return}An(m,17256,6);b=Uh(Xh(b,m)|0)|0;g=a[b>>0]|0;j=(g&1)==0;g=j?(g&255)>>>1:c[b+4>>2]|0;f=a[d>>0]|0;h=(f&1)==0;l=d+4|0;a:do if((g|0)==((h?(f&255)>>>1:c[l>>2]|0)|0)){f=j?b+1|0:c[b+8>>2]|0;b=h?d+1|0:c[d+8>>2]|0;if(!j){j=(mm(f,b,g)|0)==0;Dn(m);if(!j)break;i=p;return}if(g)while(1){if((a[f>>0]|0)!=(a[b>>0]|0)){k=8;break a}g=g+-1|0;if(!g)break;else{f=f+1|0;b=b+1|0}}Dn(m);i=p;return}else k=8;while(0);if((k|0)==8)Dn(m);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;m=a[d>>0]|0;m=(m&1)==0?(m&255)>>>1:c[l>>2]|0;Tn(o,17522,16,m+16|0);Mn(o,(a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,m)|0;d=Kn(o,17539)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Dn(n);Dn(o);i=p;return}function Id(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+272|0;F=G+264|0;x=G+232|0;o=G+216|0;v=G+208|0;k=G+192|0;l=G+184|0;m=G+152|0;r=G+136|0;E=G+112|0;n=G+96|0;s=G+88|0;q=G+80|0;t=G+64|0;u=G+52|0;A=G+40|0;y=G+28|0;B=G+16|0;C=G+8|0;z=G;An(x,17240,6);c[x+12>>2]=1;An(x+16|0,17558,12);c[x+28>>2]=5;c[F>>2]=x;c[F+4>>2]=2;F=hi(d,F,h)|0;Dn(x+16|0);Dn(x);if(!F){c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;F=a[h>>0]|0;j=h+4|0;F=(F&1)==0?(F&255)>>>1:c[j>>2]|0;Tn(o,17571,27,F+27|0);k=h+8|0;l=h+1|0;Mn(o,(a[h>>0]&1)==0?l:c[k>>2]|0,F)|0;if(!(a[h>>0]&1)){a[l>>0]=0;a[h>>0]=0}else{a[c[k>>2]>>0]=0;c[j>>2]=0}Jn(h,0);c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Dn(o);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;i=G;return}An(k,17558,12);j=Xh(d,k)|0;c[v>>2]=c[j>>2];F=v+4|0;j=c[j+4>>2]|0;c[F>>2]=j;if(j)sn(j);Dn(k);An(m,17297,9);c[m+12>>2]=5;An(m+16|0,17599,12);c[m+28>>2]=4;c[l>>2]=m;c[l+4>>2]=2;x=hi(v,l,h)|0;Dn(m+16|0);Dn(m);if(x){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;k=c[(c[e>>2]|0)+12>>2]|0;An(n,17240,6);j=Th(Xh(d,n)|0)|0;c[E>>2]=Pb[k&63](e,j)|0;Dn(n);An(t,17297,9);j=Xh(v,t)|0;c[q>>2]=c[j>>2];k=q+4|0;j=c[j+4>>2]|0;c[k>>2]=j;if(j)sn(j);Jd(s,q,h);w=E+16|0;c[w>>2]=c[s>>2];x=E+20|0;c[x>>2]=c[s+4>>2];j=c[k>>2]|0;if(j)tn(j);Dn(t);a:do if(!(Sn(h,32106)|0)){An(u,17599,12);t=Vh(Xh(v,u)|0)|0;Dn(u);m=c[t>>2]|0;t=c[t+4>>2]|0;b:do if((m|0)==(t|0)){l=E+8|0;k=E+12|0;j=E+4|0}else{l=E+8|0;k=E+12|0;j=E+4|0;u=A+4|0;o=B+4|0;q=B+8|0;r=C+4|0;s=B+8|0;while(1){if((Rh(m)|0)==3){zn(y,Uh(m)|0);Kd(A,y,h);Dn(y);if(Sn(h,32106)|0)break;n=c[l>>2]|0;if((n|0)==(c[k>>2]|0))Md(j,A);else{Ld(n,A);c[l>>2]=(c[l>>2]|0)+12}c[f>>2]=1;n=c[A>>2]|0;d=n;if(n){e=c[u>>2]|0;if((e|0)!=(n|0))c[u>>2]=e+(~((e+-4-d|0)>>>2)<<2);ck(n)}}else{if((Rh(m)|0)!=4){D=52;break}c[B>>2]=0;c[o>>2]=0;c[q>>2]=0;e=Vh(m)|0;n=c[e>>2]|0;e=c[e+4>>2]|0;if((n|0)!=(e|0))do{c[C>>2]=c[n>>2];d=c[n+4>>2]|0;c[r>>2]=d;if(d)sn(d);p=+Sh(C);g[z>>2]=p;d=c[o>>2]|0;if(d>>>0<(c[s>>2]|0)>>>0){g[d>>2]=p;c[o>>2]=d+4}else Nd(B,z);d=c[r>>2]|0;if(d)tn(d);n=n+8|0}while((n|0)!=(e|0));n=c[l>>2]|0;if((n|0)==(c[k>>2]|0))Md(j,B);else{Ld(n,B);c[l>>2]=(c[l>>2]|0)+12}c[f>>2]=0;n=c[B>>2]|0;d=n;if(n){e=c[o>>2]|0;if((e|0)!=(n|0))c[o>>2]=e+(~((e+-4-d|0)>>>2)<<2);ck(n)}}m=m+8|0;if((m|0)==(t|0))break b}if((D|0)==52){Fn(h,17612)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;break a};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;j=c[A>>2]|0;if(!j)break a;k=c[u>>2]|0;if((k|0)!=(j|0))c[u>>2]=k+(~((k+-4-j|0)>>>2)<<2);ck(j);break a}while(0);h=c[E>>2]|0;c[b+4>>2]=c[j>>2];c[b+8>>2]=c[l>>2];c[b+12>>2]=c[k>>2];c[k>>2]=0;c[l>>2]=0;c[E+4>>2]=0;c[b+16>>2]=c[w>>2];c[b+20>>2]=c[x>>2];c[b>>2]=h}else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}while(0);e=E+4|0;j=c[e>>2]|0;if(j){d=E+8|0;k=c[d>>2]|0;if((k|0)!=(j|0)){do{l=k+-12|0;c[d>>2]=l;m=c[l>>2]|0;n=m;if(!m)k=l;else{k=k+-8|0;l=c[k>>2]|0;if((l|0)!=(m|0))c[k>>2]=l+(~((l+-4-n|0)>>>2)<<2);ck(m);k=c[d>>2]|0}}while((k|0)!=(j|0));j=c[e>>2]|0}ck(j)}}else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;E=a[h>>0]|0;j=h+4|0;E=(E&1)==0?(E&255)>>>1:c[j>>2]|0;Tn(r,17571,27,E+27|0);k=h+8|0;l=h+1|0;Mn(r,(a[h>>0]&1)==0?l:c[k>>2]|0,E)|0;if(!(a[h>>0]&1)){a[l>>0]=0;a[h>>0]=0}else{a[c[k>>2]>>0]=0;c[j>>2]=0}Jn(h,0);c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Dn(r);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}j=c[F>>2]|0;if(!j){i=G;return}tn(j);i=G;return}function Jd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+80|0;m=o+64|0;f=o+48|0;l=o+40|0;h=o+24|0;j=o+12|0;k=o;An(f,17316,1);g=Xh(d,f)|0;c[m>>2]=c[g>>2];n=m+4|0;g=c[g+4>>2]|0;c[n>>2]=g;if(g)sn(g);Dn(f);An(h,17318,1);g=Xh(d,h)|0;c[l>>2]=c[g>>2];f=l+4|0;g=c[g+4>>2]|0;c[f>>2]=g;if(g)sn(g);Dn(h);if((Rh(m)|0)==1?(Rh(l)|0)==1:0){m=Th(m)|0;rh(b,m,Th(l)|0)}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Fh(d,k);m=Qn(k,0,17661)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}Jn(e,0);c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Dn(j);Dn(k);c[b>>2]=0;c[b+4>>2]=0}f=c[f>>2]|0;if(f)tn(f);f=c[n>>2]|0;if(!f){i=o;return}tn(f);i=o;return}function Kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;g=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;e=a[d>>0]|0;if(!(e&1)){l=d+1|0;f=(e&255)>>>1;e=d+1|0}else{e=c[d+8>>2]|0;l=e;f=c[d+4>>2]|0}c[k>>2]=e;c[m>>2]=l+f;c[n>>2]=o;c[g>>2]=c[k>>2];c[h>>2]=c[m>>2];c[j>>2]=c[n>>2];Od(g,h,j);d=a[o>>0]|0;n=(d&1)==0;m=n?o+1|0:c[o+8>>2]|0;Pd(b,m,m+((n?(d&255)>>>1:c[o+4>>2]|0)>>>2<<2)|0);Dn(o);i=p;return}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a>>2]=0;g=a+4|0;c[g>>2]=0;c[a+8>>2]=0;f=b+4|0;d=(c[f>>2]|0)-(c[b>>2]|0)|0;e=d>>2;if(!e)return;if(e>>>0>1073741823)_j(a);d=ak(d)|0;c[g>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(e<<2);e=c[b>>2]|0;b=c[f>>2]|0;if((e|0)==(b|0))return;a=d+(((b+-4-e|0)>>>2)+1<<2)|0;while(1){c[d>>2]=c[e>>2];e=e+4|0;if((e|0)==(b|0))break;else d=d+4|0}c[g>>2]=a;return}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+4|0;d=c[a>>2]|0;f=(((c[k>>2]|0)-d|0)/12|0)+1|0;if(f>>>0>357913941){_j(a);d=c[a>>2]|0}l=a+8|0;e=((c[l>>2]|0)-d|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;d=((c[k>>2]|0)-d|0)/12|0;if(!e){g=0;h=0}else i=6}else{e=357913941;d=((c[k>>2]|0)-d|0)/12|0;i=6}if((i|0)==6){g=e;h=ak(e*12|0)|0}f=h+(d*12|0)|0;e=f;j=h+(g*12|0)|0;Ld(f,b);i=h+((d+1|0)*12|0)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k;b=h}else{do{b=f+-12|0;g=d;d=d+-12|0;c[b>>2]=0;m=f+-8|0;c[m>>2]=0;c[f+-4>>2]=0;c[b>>2]=c[d>>2];b=g+-8|0;c[m>>2]=c[b>>2];g=g+-4|0;c[f+-4>>2]=c[g>>2];c[g>>2]=0;c[b>>2]=0;c[d>>2]=0;f=e+-12|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;b=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;i=b;if((d|0)!=(i|0))do{e=d;d=d+-12|0;g=c[d>>2]|0;h=g;if(g){e=e+-8|0;f=c[e>>2]|0;if((f|0)!=(g|0))c[e>>2]=f+(~((f+-4-h|0)>>>2)<<2);ck(g)}}while((d|0)!=(i|0));if(!b)return;ck(b);return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=c[a>>2]|0;e=d;h=((c[l>>2]|0)-e>>2)+1|0;if(h>>>0>1073741823){_j(a);e=c[a>>2]|0;d=e}k=a+8|0;g=d;f=(c[k>>2]|0)-g|0;if(f>>2>>>0<536870911){f=f>>1;f=f>>>0<h>>>0?h:f;h=(c[l>>2]|0)-g|0;g=h>>2;if(!f){j=0;i=0;f=h}else m=6}else{h=(c[l>>2]|0)-g|0;f=1073741823;g=h>>2;m=6}if((m|0)==6){j=f;i=ak(f<<2)|0;f=h}c[i+(g<<2)>>2]=c[b>>2];fx(i|0,d|0,f|0)|0;c[a>>2]=i;c[l>>2]=i+(g+1<<2);c[k>>2]=i+(j<<2);if(!e)return;ck(e);return}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;b=c[b>>2]|0;j=c[d>>2]|0;if((b|0)==(j|0))return;d=0;i=0;a:while(1){b:while(1){c:do if(!(_k(a[b>>0]|0)|0)){f=a[b>>0]|0;g=f<<24>>24;d:do if((f+-65&255)<26)f=g+191|0;else{if((f+-97&255)<26){f=g+185|0;break}if((f+-48&255)<10){f=g+4|0;break}switch(f<<24>>24){case 43:{f=g+19|0;break d}case 47:{f=g+16|0;break d}default:break c}}while(0);if((f&255)<<24>>24!=-1)break b}while(0);b=b+1|0;if((b|0)==(j|0)){b=21;break a}}g=f<<24>>24;f=i+6|0;h=((f|0)>8?8:f)-i|0;if((h|0)==6){d=(g<<2-i|d&255)&255;if((f|0)==8){Ln(c[e>>2]|0,d);d=0;f=0}}else{f=6-h|0;Ln(c[e>>2]|0,(g>>f|d&255)&255);d=g<<8-f&255}b=b+1|0;if((b|0)==(j|0)){b=21;break}else i=f}if((b|0)==21)return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=b;c[a>>2]=0;h=a+4|0;c[h>>2]=0;c[a+8>>2]=0;e=d-f|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)_j(a);e=ak(e)|0;c[h>>2]=e;c[a>>2]=e;c[a+8>>2]=e+(g<<2);if((b|0)==(d|0))return;f=e+(((d+-4-f|0)>>>2)+1<<2)|0;while(1){c[e>>2]=c[b>>2];b=b+4|0;if((b|0)==(d|0))break;else e=e+4|0}c[h>>2]=f;return}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;l=t+80|0;s=t+68|0;j=t+56|0;h=t+48|0;q=t+32|0;k=t+24|0;p=t+8|0;o=t;m=s+4|0;c[m>>2]=0;n=s+8|0;c[n>>2]=0;r=s+4|0;c[s>>2]=r;An(j,17240,6);g=vd(s,l,j)|0;e=c[g>>2]|0;if(!e){f=ak(36)|0;e=f+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Gh(f+28|0);e=c[l>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;c[g>>2]=f;e=c[c[s>>2]>>2]|0;if(!e)e=f;else{c[s>>2]=e;e=c[g>>2]|0}wc(c[m>>2]|0,e);c[n>>2]=(c[n>>2]|0)+1;e=f}Hh(h,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));g=c[h>>2]|0;f=h+4|0;d=c[f>>2]|0;c[h>>2]=0;c[f>>2]=0;c[e+28>>2]=g;h=e+32|0;e=c[h>>2]|0;c[h>>2]=d;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(j);c[q>>2]=0;j=q+4|0;c[j>>2]=0;c[q+8>>2]=0;e=c[b+4>>2]|0;g=c[b+8>>2]|0;if((e|0)!=(g|0)){d=q+8|0;h=k+4|0;f=e;do{Rd(k,f);e=c[j>>2]|0;if(e>>>0>=(c[d>>2]|0)>>>0){Ad(q,k);e=c[h>>2]|0;if(e)tn(e)}else{c[e>>2]=c[k>>2];c[e+4>>2]=c[h>>2];c[k>>2]=0;c[h>>2]=0;c[j>>2]=e+8}f=f+100|0}while((f|0)!=(g|0))}An(p,17729,10);g=vd(s,l,p)|0;e=c[g>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Gh(e+28|0);f=c[l>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[s>>2]>>2]|0;if(!f)f=e;else{c[s>>2]=f;f=c[g>>2]|0}wc(c[m>>2]|0,f);c[n>>2]=(c[n>>2]|0)+1}Nh(o,q);m=c[o>>2]|0;f=o+4|0;n=c[f>>2]|0;c[o>>2]=0;c[f>>2]=0;c[e+28>>2]=m;o=e+32|0;e=c[o>>2]|0;c[o>>2]=n;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(p);Ph(a,s);e=c[q>>2]|0;if(!e){r=c[r>>2]|0;yd(s,r);i=t;return}f=c[j>>2]|0;if((f|0)!=(e|0)){do{g=f+-8|0;c[j>>2]=g;f=c[f+-4>>2]|0;if(!f)f=g;else{tn(f);f=c[j>>2]|0}}while((f|0)!=(e|0));e=c[q>>2]|0}ck(e);r=c[r>>2]|0;yd(s,r);i=t;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+80|0;k=j+72|0;l=j+56|0;h=j+60|0;e=j+16|0;d=j+8|0;f=j;Sd(d,b);An(e,17740,5);c[e+12>>2]=c[d>>2];g=d+4|0;c[e+16>>2]=c[g>>2];c[d>>2]=0;c[g>>2]=0;Td(f,b);An(e+20|0,17746,10);c[e+32>>2]=c[f>>2];d=f+4|0;c[e+36>>2]=c[d>>2];c[f>>2]=0;c[d>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;f=h+4|0;c[h>>2]=f;b=f;c[l>>2]=b;c[k>>2]=c[l>>2];Ed(h,k,e)|0;c[l>>2]=b;c[k>>2]=c[l>>2];Ed(h,k,e+20|0)|0;b=c[e+36>>2]|0;if(b)tn(b);Dn(e+20|0);b=c[e+16>>2]|0;if(b)tn(b);Dn(e);b=c[d>>2]|0;if(b)tn(b);b=c[g>>2]|0;if(!b){Ph(a,h);l=c[f>>2]|0;yd(h,l);i=j;return}tn(b);Ph(a,h);l=c[f>>2]|0;yd(h,l);i=j;return}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+80|0;g=e+76|0;h=e;f=e+64|0;d=e+4|0;An(d,17895,10);Kh(d+12|0,b);An(d+20|0,17906,4);Kh(d+32|0,b+12|0);An(d+40|0,17911,11);Kh(d+52|0,b+24|0);c[f+4>>2]=0;c[f+8>>2]=0;b=f+4|0;c[f>>2]=b;j=b;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d)|0;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d+20|0)|0;c[h>>2]=j;c[g>>2]=c[h>>2];Ed(f,g,d+40|0)|0;Qh(a,f);yd(f,c[b>>2]|0);a=c[d+56>>2]|0;if(a)tn(a);Dn(d+40|0);a=c[d+36>>2]|0;if(a)tn(a);Dn(d+20|0);a=c[d+16>>2]|0;if(!a){Dn(d);i=e;return}tn(a);Dn(d);i=e;return}function Td(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+224|0;t=A+216|0;l=A+212|0;z=A+200|0;f=A+120|0;h=A+108|0;k=A+96|0;j=A+88|0;q=A+72|0;o=A+64|0;p=A+52|0;m=A+48|0;n=A+44|0;s=A+32|0;r=A+24|0;y=A+8|0;w=A;An(f,17757,4);Kh(f+12|0,d+36|0);e=f+20|0;switch(c[d+88>>2]|0){case 0:{An(h,17762,16);break}case 1:{An(h,17779,15);break}case 2:{An(h,17795,18);break}default:An(h,32106,0)}An(e,17814,10);Lh(f+32|0,h);An(f+40|0,17825,10);Hh(f+52|0,+g[d+92>>2]);An(f+60|0,17836,11);Jh(f+72|0,(a[d+96>>0]|0)!=0);u=z+4|0;c[u>>2]=0;v=z+8|0;c[v>>2]=0;x=z+4|0;c[z>>2]=x;e=x;c[l>>2]=e;c[t>>2]=c[l>>2];Ed(z,t,f)|0;c[l>>2]=e;c[t>>2]=c[l>>2];Ed(z,t,f+20|0)|0;c[l>>2]=e;c[t>>2]=c[l>>2];Ed(z,t,f+40|0)|0;c[l>>2]=e;c[t>>2]=c[l>>2];Ed(z,t,f+60|0)|0;e=c[f+76>>2]|0;if(e)tn(e);Dn(f+60|0);e=c[f+56>>2]|0;if(e)tn(e);Dn(f+40|0);e=c[f+36>>2]|0;if(e)tn(e);Dn(f+20|0);e=c[f+16>>2]|0;if(e)tn(e);Dn(f);Dn(h);if(a[d+48>>0]|0){An(k,17848,8);h=vd(z,t,k)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Gh(e+28|0);f=c[t>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[h>>2]=e;f=c[c[z>>2]>>2]|0;if(!f)f=e;else{c[z>>2]=f;f=c[h>>2]|0}wc(c[u>>2]|0,f);c[v>>2]=(c[v>>2]|0)+1}Ih(j,c[d+52>>2]|0);B=c[j>>2]|0;f=j+4|0;h=c[f>>2]|0;c[j>>2]=0;c[f>>2]=0;c[e+28>>2]=B;j=e+32|0;e=c[j>>2]|0;c[j>>2]=h;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(k);An(q,17857,8);h=vd(z,t,q)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Gh(e+28|0);f=c[t>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[h>>2]=e;f=c[c[z>>2]>>2]|0;if(!f)f=e;else{c[z>>2]=f;f=c[h>>2]|0}wc(c[u>>2]|0,f);c[v>>2]=(c[v>>2]|0)+1}c[m>>2]=c[d+56>>2];c[n>>2]=c[d+60>>2];c[l>>2]=c[m>>2];c[t>>2]=c[n>>2];Ud(p,l,t);Oh(o,p);B=c[o>>2]|0;f=o+4|0;n=c[f>>2]|0;c[o>>2]=0;c[f>>2]=0;c[e+28>>2]=B;B=e+32|0;e=c[B>>2]|0;c[B>>2]=n;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);e=c[p>>2]|0;if(e){j=p+4|0;f=c[j>>2]|0;if((f|0)!=(e|0)){do{h=f+-8|0;c[j>>2]=h;f=c[f+-4>>2]|0;if(!f)f=h;else{tn(f);f=c[j>>2]|0}}while((f|0)!=(e|0));e=c[p>>2]|0}ck(e)}Dn(q)}if(a[d+68>>0]|0){An(s,17866,7);h=vd(z,t,s)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Gh(e+28|0);f=c[t>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[h>>2]=e;f=c[c[z>>2]>>2]|0;if(!f)f=e;else{c[z>>2]=f;f=c[h>>2]|0}wc(c[u>>2]|0,f);c[v>>2]=(c[v>>2]|0)+1}Vd(r,d);B=c[r>>2]|0;f=r+4|0;q=c[f>>2]|0;c[r>>2]=0;c[f>>2]=0;c[e+28>>2]=B;B=e+32|0;e=c[B>>2]|0;c[B>>2]=q;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(s)}if(!(a[d+80>>0]|0)){Ph(b,z);B=c[x>>2]|0;yd(z,B);i=A;return}An(y,17874,12);h=vd(z,t,y)|0;e=c[h>>2]|0;if(!e){e=ak(36)|0;f=e+16|0;c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;Gh(e+28|0);f=c[t>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[h>>2]=e;f=c[c[z>>2]>>2]|0;if(!f)f=e;else{c[z>>2]=f;f=c[h>>2]|0}wc(c[u>>2]|0,f);c[v>>2]=(c[v>>2]|0)+1}Hh(w,+g[d+84>>2]);B=c[w>>2]|0;f=w+4|0;d=c[f>>2]|0;c[w>>2]=0;c[f>>2]=0;c[e+28>>2]=B;B=e+32|0;e=c[B>>2]|0;c[B>>2]=d;if(e)tn(e);e=c[f>>2]|0;if(e)tn(e);Dn(y);Ph(b,z);B=c[x>>2]|0;yd(z,B);i=A;return}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;g=a+4|0;c[g>>2]=0;c[a+8>>2]=0;b=c[b>>2]|0;e=c[d>>2]|0;f=(e-b|0)/12|0;if((e|0)==(b|0))return;if(f>>>0>536870911)_j(a);d=ak(f<<3)|0;c[g>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(f<<3);if((b|0)==(e|0))return;do{Kh(d,b);d=(c[g>>2]|0)+8|0;c[g>>2]=d;b=b+12|0}while((b|0)!=(e|0));return}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0;e=i;i=i+64|0;h=e+56|0;j=e+40|0;f=e+44|0;d=e;An(d,17887,3);Hh(d+12|0,+g[b+72>>2]);An(d+20|0,17891,3);Hh(d+32|0,+g[b+76>>2]);c[f+4>>2]=0;c[f+8>>2]=0;b=f+4|0;c[f>>2]=b;k=b;c[j>>2]=k;c[h>>2]=c[j>>2];Ed(f,h,d)|0;c[j>>2]=k;c[h>>2]=c[j>>2];Ed(f,h,d+20|0)|0;Qh(a,f);yd(f,c[b>>2]|0);a=c[d+36>>2]|0;if(a)tn(a);Dn(d+20|0);a=c[d+16>>2]|0;if(!a){Dn(d);i=e;return}tn(a);Dn(d);i=e;return}function Wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;n=c[d>>2]|0;d=n;if((n|0)!=(k|0)?(h=n+16|0,l=a[f>>0]|0,m=(l&1)==0,l=m?(l&255)>>>1:c[f+4>>2]|0,g=a[h>>0]|0,i=(g&1)==0,g=i?(g&255)>>>1:c[n+20>>2]|0,m=m?f+1|0:c[f+8>>2]|0,h=i?h+1|0:c[n+24>>2]|0,i=g>>>0<l>>>0,o=mm(m,h,i?g:l)|0,j=l>>>0<g>>>0,(((o|0)==0?(j?-2147483648:0):o)|0)>=0):0){o=mm(h,m,j?l:g)|0;if((((o|0)==0?(i?-2147483648:0):o)|0)>=0){c[e>>2]=d;o=e;return o|0}h=n+4|0;d=c[h>>2]|0;i=(d|0)==0;if(i){g=n;while(1){d=c[g+8>>2]|0;if((c[d>>2]|0)==(g|0))break;else g=d}}else while(1){g=c[d>>2]|0;if(!g)break;else d=g}if((d|0)!=(k|0)?(o=d+16|0,k=a[o>>0]|0,j=(k&1)==0,k=j?(k&255)>>>1:c[d+20>>2]|0,o=mm(m,j?o+1|0:c[d+24>>2]|0,k>>>0<l>>>0?k:l)|0,(((o|0)==0?(l>>>0<k>>>0?-2147483648:0):o)|0)>=0):0){o=Xd(b,e,f)|0;return o|0}if(i){c[e>>2]=n;o=h;return o|0}else{c[e>>2]=d;o=d;return o|0}}if((n|0)!=(c[b>>2]|0)){d=c[n>>2]|0;if(!d){g=n;while(1){d=c[g+8>>2]|0;if((c[d>>2]|0)==(g|0))g=d;else break}}else while(1){g=c[d+4>>2]|0;if(!g)break;else d=g}k=d+16|0;l=a[k>>0]|0;j=(l&1)==0;l=j?(l&255)>>>1:c[d+20>>2]|0;m=a[f>>0]|0;o=(m&1)==0;m=o?(m&255)>>>1:c[f+4>>2]|0;o=mm(j?k+1|0:c[d+24>>2]|0,o?f+1|0:c[f+8>>2]|0,m>>>0<l>>>0?m:l)|0;if((((o|0)==0?(l>>>0<m>>>0?-2147483648:0):o)|0)>=0){o=Xd(b,e,f)|0;return o|0}}if(!(c[n>>2]|0)){c[e>>2]=n;o=n;return o|0}else{o=d;c[e>>2]=o;o=o+4|0;return o|0}return 0}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;d=f;return d|0}j=a[e>>0]|0;i=(j&1)==0;j=i?(j&255)>>>1:c[e+4>>2]|0;i=i?e+1|0:c[e+8>>2]|0;while(1){e=b+16|0;f=a[e>>0]|0;g=(f&1)==0;f=g?(f&255)>>>1:c[b+20>>2]|0;e=g?e+1|0:c[b+24>>2]|0;g=f>>>0<j>>>0;k=mm(i,e,g?f:j)|0;h=j>>>0<f>>>0;if((((k|0)==0?(h?-2147483648:0):k)|0)<0){f=c[b>>2]|0;if(!f){f=b;e=5;break}else b=f}else{k=mm(e,i,h?j:f)|0;if((((k|0)==0?(g?-2147483648:0):k)|0)>=0){e=10;break}f=b+4|0;e=c[f>>2]|0;if(!e){e=9;break}else b=e}}if((e|0)==5){c[d>>2]=b;k=f;return k|0}else if((e|0)==9){c[d>>2]=b;k=f;return k|0}else if((e|0)==10){c[d>>2]=b;k=d;return k|0}return 0}function Yd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+176|0;r=t+120|0;q=t+88|0;h=t+72|0;s=t+128|0;g=t+60|0;m=t+24|0;j=t+16|0;n=t;An(q,17240,6);c[q+12>>2]=1;An(q+16|0,17923,13);c[q+28>>2]=5;c[r>>2]=q;c[r+4>>2]=2;r=hi(d,r,f)|0;Dn(q+16|0);Dn(q);if(!r){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;s=a[f>>0]|0;g=f+4|0;s=(s&1)==0?(s&255)>>>1:c[g>>2]|0;Tn(h,17937,33,s+33|0);e=f+8|0;d=f+1|0;Mn(h,(a[f>>0]&1)==0?d:c[e>>2]|0,s)|0;if(!(a[f>>0]&1)){a[d>>0]=0;a[f>>0]=0}else{a[c[e>>2]>>0]=0;c[g>>2]=0}Jn(f,0);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Dn(h);c[b+20>>2]=0;c[b+24>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=b+20;b=b+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;i=t;return}o=s+16|0;c[s+20>>2]=0;p=s+24|0;c[p>>2]=0;q=s+20|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[o>>2]=q;r=s+28|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;k=c[(c[e>>2]|0)+12>>2]|0;An(g,17240,6);l=Th(Xh(d,g)|0)|0;c[s>>2]=Pb[k&63](e,l)|0;Dn(g);l=s+4|0;An(n,17923,13);g=Xh(d,n)|0;c[j>>2]=c[g>>2];k=j+4|0;g=c[g+4>>2]|0;c[k>>2]=g;if(g)sn(g);Zd(m,j,f);c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];g=m+12|0;tc(o,c[q>>2]|0);c[o>>2]=c[g>>2];h=m+16|0;e=c[h>>2]|0;c[q>>2]=e;d=m+20|0;j=c[d>>2]|0;c[p>>2]=j;if(!j)c[o>>2]=q;else{c[e+8>>2]=q;c[g>>2]=h;c[h>>2]=0;c[d>>2]=0}g=m+24|0;if(!(a[r>>0]&1)){a[r+1>>0]=0;a[r>>0]=0}else{a[c[s+36>>2]>>0]=0;c[s+32>>2]=0}Jn(r,0);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Dn(g);tc(m+12|0,c[h>>2]|0);g=c[k>>2]|0;if(g)tn(g);Dn(n);if(!(Sn(f,32106)|0)){h=c[s>>2]|0;c[b>>2]=h;g=b+4|0;c[g>>2]=c[l>>2];c[g+4>>2]=c[l+4>>2];c[g+8>>2]=c[l+8>>2];g=b+16|0;c[g>>2]=c[o>>2];e=c[s+20>>2]|0;c[b+20>>2]=e;f=c[p>>2]|0;c[b+24>>2]=f;d=b+20|0;if(!f)c[g>>2]=d;else{c[e+8>>2]=d;c[o>>2]=q;c[q>>2]=0;c[p>>2]=0}f=b+28|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[b>>2]=h}else{c[b+20>>2]=0;c[b+24>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=b+20;b=b+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0}Dn(r);tc(s+16|0,c[q>>2]|0);i=t;return}function Zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;u=i;i=i+240|0;v=u+232|0;w=u+144|0;k=u+132|0;f=u+120|0;h=u+108|0;j=u+96|0;l=u+84|0;m=u+72|0;t=u+192|0;p=u+60|0;q=u+48|0;n=u+36|0;o=u+24|0;r=u+12|0;s=u;An(w,17971,12);c[w+12>>2]=1;An(w+16|0,17984,8);c[w+28>>2]=1;An(w+32|0,17993,9);c[w+44>>2]=1;c[v>>2]=w;c[v+4>>2]=3;v=hi(d,v,e)|0;Dn(w+32|0);Dn(w+16|0);Dn(w);if(!v){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;w=a[e>>0]|0;f=e+4|0;w=(w&1)==0?(w&255)>>>1:c[f>>2]|0;Tn(k,18003,32,w+32|0);h=e+8|0;j=e+1|0;Mn(k,(a[e>>0]&1)==0?j:c[h>>2]|0,w)|0;if(!(a[e>>0]&1)){a[j>>0]=0;a[e>>0]=0}else{a[c[h>>2]>>0]=0;c[f>>2]=0}Jn(e,0);c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Dn(k);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;w=b+24|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;i=u;return}An(f,18036,15);if(Rh(Xh(d,f)|0)|0){An(h,18036,15);w=(Rh(Xh(d,h)|0)|0)==5;Dn(h);Dn(f);if(!w){Fn(e,18052)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;w=b+24|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;i=u;return}}else Dn(f);An(j,18036,15);w=Wh(Xh(d,j)|0)|0;Dn(j);f=c[w>>2]|0;j=w+4|0;a:do if((f|0)!=(j|0)){h=f;while(1){if((Rh(h+28|0)|0)!=1)break;f=c[h+4>>2]|0;if(!f)while(1){f=c[h+8>>2]|0;if((c[f>>2]|0)==(h|0))break;else h=f}else while(1){h=c[f>>2]|0;if(!h)break;else f=h}if((f|0)==(j|0))break a;else h=f}Fn(e,18089)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;w=b+24|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;i=u;return}while(0);An(l,18125,14);if(Rh(Xh(d,l)|0)|0){An(m,18125,14);w=(Rh(Xh(d,m)|0)|0)==3;Dn(m);Dn(l);if(!w){Fn(e,18140)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;w=b+24|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;i=u;return}}else Dn(l);c[t>>2]=0;f=t+4|0;c[f>>2]=0;j=t+8|0;c[j>>2]=0;k=t+12|0;c[t+16>>2]=0;l=t+20|0;c[l>>2]=0;m=t+16|0;c[k>>2]=m;e=t+24|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;An(p,17971,12);c[t>>2]=~~+Sh(Xh(d,p)|0);Dn(p);An(q,17984,8);c[f>>2]=~~+Sh(Xh(d,q)|0);Dn(q);An(n,17993,9);c[j>>2]=~~+Sh(Xh(d,n)|0);Dn(n);An(o,18036,15);j=Wh(Xh(d,o)|0)|0;Dn(o);f=c[j>>2]|0;j=j+4|0;if((f|0)!=(j|0)){h=f;while(1){x=+Sh(h+28|0);g[(uc(k,h+16|0)|0)>>2]=x;f=c[h+4>>2]|0;if(!f)while(1){f=c[h+8>>2]|0;if((c[f>>2]|0)==(h|0))break;else h=f}else while(1){h=c[f>>2]|0;if(!h)break;else f=h}if((f|0)==(j|0))break;else h=f}}An(r,18125,14);w=(Rh(Xh(d,r)|0)|0)==3;Dn(r);if(w){An(s,18125,14);En(e,Uh(Xh(d,s)|0)|0)|0;Dn(s)};c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];f=b+12|0;c[f>>2]=c[k>>2];h=c[t+16>>2]|0;c[b+16>>2]=h;w=c[l>>2]|0;c[b+20>>2]=w;j=b+16|0;if(!w)c[f>>2]=j;else{c[h+8>>2]=j;c[k>>2]=m;c[m>>2]=0;c[l>>2]=0}w=b+24|0;c[w>>2]=c[e>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Dn(e);tc(t+12|0,c[m>>2]|0);i=u;return} +function rv(a){a=a|0;var b=0;c[a>>2]=12452;a=a+8|0;b=c[a>>2]|0;if((b|0)!=(Wp()|0))kl(c[a>>2]|0);return}function sv(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+112|0;m=A;n=(g-f|0)/12|0;if(n>>>0>100){m=Gm(n)|0;if(!m)Pk();else{y=m;l=m}}else{y=0;l=m}if((f|0)==(g|0))m=0;else{q=f;o=0;p=l;while(1){m=a[q>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[q+4>>2]|0;if(!m){a[p>>0]=2;m=o+1|0;n=n+-1|0}else{a[p>>0]=1;m=o}q=q+12|0;if((q|0)==(g|0))break;else{o=m;p=p+1|0}}}w=(f|0)==(g|0);x=(f|0)==(g|0);v=0;r=m;t=n;a:while(1){m=c[b>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1){c[b>>2]=0;m=0;break}else{m=c[b>>2]|0;break}}else m=0;while(0);p=(m|0)==0;n=c[e>>2]|0;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[e>>2]=0;n=0}}else n=0;o=(n|0)==0;m=c[b>>2]|0;if(!((t|0)!=0&(p^o)))break;n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else m=d[n>>0]|0;m=m&255;if(!k)m=Pb[c[(c[h>>2]|0)+12>>2]&63](h,m)|0;u=v+1|0;if(w){m=0;p=r;q=t}else{q=0;s=f;p=r;o=t;r=l;while(1){do if((a[r>>0]|0)==1){if(!(a[s>>0]&1))n=s+1|0;else n=c[s+8>>2]|0;n=a[n+v>>0]|0;if(!k)n=Pb[c[(c[h>>2]|0)+12>>2]&63](h,n)|0;if(m<<24>>24!=n<<24>>24){a[r>>0]=0;n=q;o=o+-1|0;break}n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if((n|0)==(u|0)){a[r>>0]=2;n=1;p=p+1|0;o=o+-1|0}else n=1}else n=q;while(0);s=s+12|0;if((s|0)==(g|0)){m=n;q=o;break}else{q=n;r=r+1|0}}}if(!m){v=u;r=p;t=q;continue}m=c[b>>2]|0;n=m+12|0;o=c[n>>2]|0;if((o|0)==(c[m+16>>2]|0))Hb[c[(c[m>>2]|0)+40>>2]&127](m)|0;else c[n>>2]=o+1;if((p+q|0)>>>0<2|x){v=u;r=p;t=q;continue}else{m=f;o=p;p=l}while(1){if((a[p>>0]|0)==2){n=a[m>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[m+4>>2]|0;if((n|0)!=(u|0)){a[p>>0]=0;o=o+-1|0}}m=m+12|0;if((m|0)==(g|0)){v=u;r=o;t=q;continue a}else p=p+1|0}}do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1){c[b>>2]=0;m=0;break}else{m=c[b>>2]|0;break}}else m=0;while(0);m=(m|0)==0;do if(!o){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[e>>2]=0;z=65;break}if(!m)z=66}else z=65;while(0);if((z|0)==65?m:0)z=66;if((z|0)==66)c[j>>2]=c[j>>2]|2;b:do if((f|0)==(g|0))z=70;else while(1){if((a[l>>0]|0)==2)break b;f=f+12|0;if((f|0)==(g|0)){z=70;break}else l=l+1|0}while(0);if((z|0)==70){c[j>>2]=c[j>>2]|4;f=g}Hm(y);i=A;return f|0}function tv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=cv(g)|0;jq(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Hn(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Hn(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Hn(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else g=d[g>>0]|0;if(Vp(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=$w(k,c[w>>2]|0,h,v)|0;Ts(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Dn(y);Dn(z);i=A;return B|0}function uv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=cv(g)|0;jq(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Hn(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Hn(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Hn(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else g=d[g>>0]|0;if(Vp(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}w=_w(k,c[w>>2]|0,h,v)|0;c[j>>2]=w;c[j+4>>2]=D;Ts(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Dn(y);Dn(z);i=A;return B|0}function vv(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+240|0;t=B+202|0;l=B+200|0;A=B+24|0;z=B+12|0;x=B+8|0;y=B+40|0;v=B+4|0;u=B;w=cv(h)|0;jq(A,h,t,l);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;if(!(a[z>>0]&1))e=10;else e=(c[z>>2]&-2)+-1|0;Hn(z,e,0);q=z+8|0;r=z+1|0;o=(a[z>>0]&1)==0?r:c[q>>2]|0;c[x>>2]=o;c[v>>2]=y;c[u>>2]=0;s=z+4|0;p=a[l>>0]|0;e=c[f>>2]|0;l=o;a:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)?(Hb[c[(c[e>>2]|0)+36>>2]&127](e)|0)==-1:0){c[f>>2]=0;e=0}}else e=0;h=(e|0)==0;m=c[g>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(h)break;else break a;if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)!=-1)if(h)break;else break a;else{c[g>>2]=0;C=13;break}}else C=13;while(0);if((C|0)==13){C=0;if(h){m=0;break}else m=0}n=a[z>>0]|0;n=(n&1)==0?(n&255)>>>1:c[s>>2]|0;if((c[x>>2]|0)==(l+n|0)){Hn(z,n<<1,0);if(!(a[z>>0]&1))h=10;else h=(c[z>>2]&-2)+-1|0;Hn(z,h,0);l=(a[z>>0]&1)==0?r:c[q>>2]|0;c[x>>2]=l+n}n=e+12|0;h=c[n>>2]|0;o=e+16|0;if((h|0)==(c[o>>2]|0))h=Hb[c[(c[e>>2]|0)+36>>2]&127](e)|0;else h=d[h>>0]|0;if(Vp(h&255,w,l,x,u,p,A,y,v,t)|0)break;h=c[n>>2]|0;if((h|0)==(c[o>>2]|0)){Hb[c[(c[e>>2]|0)+40>>2]&127](e)|0;continue}else{c[n>>2]=h+1;continue}}t=a[A>>0]|0;h=c[v>>2]|0;if((((t&1)==0?(t&255)>>>1:c[A+4>>2]|0)|0)!=0?(h-y|0)<160:0){t=c[u>>2]|0;u=h+4|0;c[v>>2]=u;c[h>>2]=t;h=u}b[k>>1]=Zw(l,c[x>>2]|0,j,w)|0;Ts(A,y,h,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)?(Hb[c[(c[e>>2]|0)+36>>2]&127](e)|0)==-1:0){c[f>>2]=0;e=0}}else e=0;e=(e|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1:0){c[g>>2]=0;C=38;break}if(!e)C=39}else C=38;while(0);if((C|0)==38?e:0)C=39;if((C|0)==39)c[j>>2]=c[j>>2]|2;C=c[f>>2]|0;Dn(z);Dn(A);i=B;return C|0}function wv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=cv(g)|0;jq(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Hn(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Hn(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Hn(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else g=d[g>>0]|0;if(Vp(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=Yw(k,c[w>>2]|0,h,v)|0;Ts(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Dn(y);Dn(z);i=A;return B|0}function xv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=cv(g)|0;jq(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Hn(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Hn(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Hn(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else g=d[g>>0]|0;if(Vp(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=Xw(k,c[w>>2]|0,h,v)|0;Ts(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Dn(y);Dn(z);i=A;return B|0}function yv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=cv(g)|0;jq(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Hn(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Hn(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Hn(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else g=d[g>>0]|0;if(Vp(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}w=Ww(k,c[w>>2]|0,h,v)|0;c[j>>2]=w;c[j+4>>2]=D;Ts(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Dn(y);Dn(z);i=A;return B|0}function zv(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;kq(C,h,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;Hn(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;h=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(h)break;else break a;if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(h){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){Hn(B,n<<1,0);if(!(a[B>>0]&1))h=10;else h=(c[B>>2]&-2)+-1|0;Hn(B,h,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;h=c[n>>2]|0;o=b+16|0;if((h|0)==(c[o>>2]|0))h=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else h=d[h>>0]|0;if(lq(h&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;h=c[n>>2]|0;if((h|0)==(c[o>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[n>>2]=h+1;continue}}v=a[C>>0]|0;h=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(h-A|0)<160:0){w=c[w>>2]|0;y=h+4|0;c[x>>2]=y;c[h>>2]=w;h=y}g[k>>2]=+Vw(l,c[z>>2]|0,j);Ts(C,A,h,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Dn(B);Dn(C);i=D;return E|0}function Av(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;kq(C,g,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;Hn(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(g)break;else break a;if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(g){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){Hn(B,n<<1,0);if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;Hn(B,g,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;g=c[n>>2]|0;o=b+16|0;if((g|0)==(c[o>>2]|0))g=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else g=d[g>>0]|0;if(lq(g&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;g=c[n>>2]|0;if((g|0)==(c[o>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[n>>2]=g+1;continue}}v=a[C>>0]|0;g=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(g-A|0)<160:0){w=c[w>>2]|0;y=g+4|0;c[x>>2]=y;c[g>>2]=w;g=y}h[k>>3]=+Uw(l,c[z>>2]|0,j);Ts(C,A,g,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Dn(B);Dn(C);i=D;return E|0}function Bv(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;kq(C,g,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;Hn(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(g)break;else break a;if((Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(g){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){Hn(B,n<<1,0);if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;Hn(B,g,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;g=c[n>>2]|0;o=b+16|0;if((g|0)==(c[o>>2]|0))g=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else g=d[g>>0]|0;if(lq(g&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;g=c[n>>2]|0;if((g|0)==(c[o>>2]|0)){Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;continue}else{c[n>>2]=g+1;continue}}v=a[C>>0]|0;g=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(g-A|0)<160:0){w=c[w>>2]|0;y=g+4|0;c[x>>2]=y;c[g>>2]=w;g=y}h[k>>3]=+Tw(l,c[z>>2]|0,j);Ts(C,A,g,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Dn(B);Dn(C);i=D;return E|0}function Cv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=ol(b)|0;b=em(a,d,g)|0;if(e)ol(e)|0;i=f;return b|0}function Dv(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+112|0;l=y;m=(f-e|0)/12|0;if(m>>>0>100){l=Gm(m)|0;if(!l)Pk();else{w=l;k=l}}else{w=0;k=l}if((e|0)==(f|0))l=0;else{p=e;n=0;o=k;while(1){l=a[p>>0]|0;if(!(l&1))l=(l&255)>>>1;else l=c[p+4>>2]|0;if(!l){a[o>>0]=2;l=n+1|0;m=m+-1|0}else{a[o>>0]=1;l=n}p=p+12|0;if((p|0)==(f|0))break;else{n=l;o=o+1|0}}}u=(e|0)==(f|0);v=(e|0)==(f|0);t=0;q=m;a:while(1){m=c[b>>2]|0;do if(m){n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else m=c[n>>2]|0;if((m|0)==-1){c[b>>2]=0;p=1;break}else{p=(c[b>>2]|0)==0;break}}else p=1;while(0);n=c[d>>2]|0;if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)==-1){c[d>>2]=0;n=0;o=1}else o=0}else{n=0;o=1}m=c[b>>2]|0;if(!((q|0)!=0&(p^o)))break;n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else m=c[n>>2]|0;if(!j)m=Pb[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;s=t+1|0;if(u){m=0;p=q}else{p=0;r=e;o=q;q=k;while(1){do if((a[q>>0]|0)==1){if(!(a[r>>0]&1))n=r+4|0;else n=c[r+8>>2]|0;n=c[n+(t<<2)>>2]|0;if(!j)n=Pb[c[(c[g>>2]|0)+28>>2]&63](g,n)|0;if((m|0)!=(n|0)){a[q>>0]=0;n=p;o=o+-1|0;break}n=a[r>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[r+4>>2]|0;if((n|0)==(s|0)){a[q>>0]=2;n=1;l=l+1|0;o=o+-1|0}else n=1}else n=p;while(0);r=r+12|0;if((r|0)==(f|0)){m=n;p=o;break}else{p=n;q=q+1|0}}}if(!m){t=s;q=p;continue}m=c[b>>2]|0;n=m+12|0;o=c[n>>2]|0;if((o|0)==(c[m+16>>2]|0))Hb[c[(c[m>>2]|0)+40>>2]&127](m)|0;else c[n>>2]=o+4;if((l+p|0)>>>0<2|v){t=s;q=p;continue}else{m=e;o=k}while(1){if((a[o>>0]|0)==2){n=a[m>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[m+4>>2]|0;if((n|0)!=(s|0)){a[o>>0]=0;l=l+-1|0}}m=m+12|0;if((m|0)==(f|0)){t=s;q=p;continue a}else o=o+1|0}}do if(m){l=c[m+12>>2]|0;if((l|0)==(c[m+16>>2]|0))l=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;m=1;break}else{m=(c[b>>2]|0)==0;break}}else m=1;while(0);do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=c[l>>2]|0;if((l|0)!=-1)if(m)break;else{x=74;break}else{c[d>>2]=0;x=72;break}}else x=72;while(0);if((x|0)==72?m:0)x=74;if((x|0)==74)c[h>>2]=c[h>>2]|2;b:do if((e|0)==(f|0))x=78;else while(1){if((a[k>>0]|0)==2)break b;e=e+12|0;if((e|0)==(f|0)){x=78;break}else k=k+1|0}while(0);if((x|0)==78){c[h>>2]=c[h>>2]|4;e=f}Hm(w);i=y;return e|0}function Ev(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=cv(f)|0;mq(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Hn(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if(iq(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=$w(f,c[v>>2]|0,g,u)|0;Ts(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Dn(x);Dn(y);i=z;return A|0}function Fv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=cv(f)|0;mq(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Hn(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if(iq(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}v=_w(f,c[v>>2]|0,g,u)|0;c[h>>2]=v;c[h+4>>2]=D;Ts(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Dn(x);Dn(y);i=z;return A|0}function Gv(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+320|0;s=A+208|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=cv(g)|0;mq(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))d=10;else d=(c[y>>2]&-2)+-1|0;Hn(y,d,0);p=y+8|0;q=y+1|0;g=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=g;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=c[k>>2]|0;k=c[e>>2]|0;a:while(1){if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[f>>2]|0;do if(l){d=c[l+12>>2]|0;if((d|0)==(c[l+16>>2]|0))d=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else d=c[d>>2]|0;if((d|0)!=-1)if(m){n=l;break}else break a;else{c[f>>2]=0;B=16;break}}else B=16;while(0);if((B|0)==16){B=0;if(m){l=0;break}else n=0}l=a[y>>0]|0;l=(l&1)==0?(l&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(g+l|0)){Hn(y,l<<1,0);if(!(a[y>>0]&1))d=10;else d=(c[y>>2]&-2)+-1|0;Hn(y,d,0);g=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=g+l}l=k+12|0;d=c[l>>2]|0;m=k+16|0;if((d|0)==(c[m>>2]|0))d=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else d=c[d>>2]|0;if(iq(d,v,g,w,t,o,z,x,u,s)|0){l=n;break}d=c[l>>2]|0;if((d|0)==(c[m>>2]|0)){Hb[c[(c[k>>2]|0)+40>>2]&127](k)|0;continue}else{c[l>>2]=d+4;continue}}s=a[z>>0]|0;d=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(d-x|0)<160:0){s=c[t>>2]|0;t=d+4|0;c[u>>2]=t;c[d>>2]=s;d=t}b[j>>1]=Zw(g,c[w>>2]|0,h,v)|0;Ts(z,x,d,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do if(l){d=c[l+12>>2]|0;if((d|0)==(c[l+16>>2]|0))d=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{B=46;break}else{c[f>>2]=0;B=44;break}}else B=44;while(0);if((B|0)==44?g:0)B=46;if((B|0)==46)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Dn(y);Dn(z);i=A;return B|0}function Hv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=cv(f)|0;mq(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Hn(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if(iq(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=Yw(f,c[v>>2]|0,g,u)|0;Ts(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Dn(x);Dn(y);i=z;return A|0}function Iv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=cv(f)|0;mq(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Hn(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if(iq(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=Xw(f,c[v>>2]|0,g,u)|0;Ts(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Dn(x);Dn(y);i=z;return A|0}function Jv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=cv(f)|0;mq(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Hn(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Hn(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if(iq(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}v=Ww(f,c[v>>2]|0,g,u)|0;c[h>>2]=v;c[h+4>>2]=D;Ts(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Dn(x);Dn(y);i=z;return A|0}function Kv(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;nq(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Hn(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){Hn(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Hn(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if(oq(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){Hb[c[(c[k>>2]|0)+40>>2]&127](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}g[j>>2]=+Vw(f,c[y>>2]|0,h);Ts(B,z,b,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[h>>2]=c[h>>2]|2;D=c[d>>2]|0;Dn(A);Dn(B);i=C;return D|0}function Lv(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;nq(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Hn(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){Hn(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Hn(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if(oq(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){Hb[c[(c[k>>2]|0)+40>>2]&127](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}h[j>>3]=+Uw(f,c[y>>2]|0,g);Ts(B,z,b,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Dn(A);Dn(B);i=C;return D|0}function Mv(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;nq(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Hn(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){Hn(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Hn(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if(oq(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){Hb[c[(c[k>>2]|0)+40>>2]&127](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}h[j>>3]=+Tw(f,c[y>>2]|0,g);Ts(B,z,b,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Dn(A);Dn(B);i=C;return D|0}function Nv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=ol(d)|0;d=dm(a,b,e,h)|0;if(f)ol(f)|0;i=g;return d|0}function Ov(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=ol(b)|0;b=am(a,d,g)|0;if(e)ol(e)|0;i=f;return b|0}function Pv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;n=o;j=c[b>>2]|0;a:do if(!j)j=0;else{p=d;l=f-p>>2;m=g+12|0;g=c[m>>2]|0;l=(g|0)>(l|0)?g-l|0:0;g=e;p=g-p|0;k=p>>2;if((p|0)>0?(yb[c[(c[j>>2]|0)+48>>2]&31](j,d,k)|0)!=(k|0):0){c[b>>2]=0;j=0;break}do if((l|0)>0){Vn(n,l,h);if((yb[c[(c[j>>2]|0)+48>>2]&31](j,(a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0,l)|0)==(l|0)){Wn(n);break}else{c[b>>2]=0;Wn(n);j=0;break a}}while(0);p=f-g|0;f=p>>2;if((p|0)>0?(yb[c[(c[j>>2]|0)+48>>2]&31](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}while(0);i=o;return j|0}function Qv(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0;while(0);j=(i|0)==0;i=c[e>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11;while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(yb[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((yb[c[(c[g>>2]|0)+36>>2]&31](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);j=(j|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50;while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function Rv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(yb[c[(c[e>>2]|0)+12>>2]&31](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(yb[c[(c[e>>2]|0)+52>>2]&31](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Hb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(yb[c[(c[e>>2]|0)+12>>2]&31](e,2048,h)|0))break a;g=((yb[c[(c[e>>2]|0)+52>>2]&31](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Hb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60;while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function Sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=192;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i|0;e=Jm(f?e:0,g)|0;if(!e)Pk();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Eb[c[h>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=202;c[b>>2]=e+i;c[d>>2]=(c[a>>2]|0)+g;return}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=192;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i>>2;e=Jm(f?e:0,g)|0;if(!e)Pk();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Eb[c[h>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=202;c[b>>2]=e+(i<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function Uv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do if((e|0)!=(d|0)){if((g-k|0)>>>0<j>>>0){On(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=192;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i>>2;e=Jm(f?e:0,g)|0;if(!e)Pk();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Eb[c[h>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=202;c[b>>2]=e+(i<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do if(j){if((g-k|0)>>>0<j>>>0){ao(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function Xv(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d){Sw(b,d);Ow(b,d)}return}function Yv(a,b){a=a|0;b=b|0;wt(a,b,Ft(11296)|0);return}function Zv(a,b){a=a|0;b=b|0;wt(a,b,Ft(11336)|0);return}function _v(a,b){a=a|0;b=b|0;wt(a,b,Ft(12368)|0);return}function $v(a,b){a=a|0;b=b|0;wt(a,b,Ft(12360)|0);return}function aw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12428)|0);return}function bw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12436)|0);return}function cw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12492)|0);return}function dw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12500)|0);return}function ew(a,b){a=a|0;b=b|0;wt(a,b,Ft(12508)|0);return}function fw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12516)|0);return}function gw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11408)|0);return}function hw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11480)|0);return}function iw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11540)|0);return}function jw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11600)|0);return}function kw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11912)|0);return}function lw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11976)|0);return}function mw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12040)|0);return}function nw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12104)|0);return}function ow(a,b){a=a|0;b=b|0;wt(a,b,Ft(12140)|0);return}function pw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12176)|0);return}function qw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12212)|0);return}function rw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12248)|0);return}function sw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11692)|0);return}function tw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11784)|0);return}function uw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11816)|0);return}function vw(a,b){a=a|0;b=b|0;wt(a,b,Ft(11848)|0);return}function ww(a,b){a=a|0;b=b|0;wt(a,b,Ft(12288)|0);return}function xw(a,b){a=a|0;b=b|0;wt(a,b,Ft(12328)|0);return}function yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do d=d+-4|0;while((d|0)!=(g|0));c[h>>2]=d}}else Nw(a,b-f|0);return}function zw(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{ck(e);break}}while(0);return}function Aw(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Eb[b&255](a);return}function Bw(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0<f>>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}while(0);return d|0}function Cw(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0<f>>>0;a:do if(e&m>>>0<i>>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0<f>>>0;if(!(e&m>>>0<i>>>0)){r=39;break}}else r=39;while(0);if((r|0)==39)e=e&1;return e|0}function Dw(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0<c>>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}while(0);h=h+1|0;if(!(h>>>0<e>>>0&g>>>0<c>>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Ew(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;if(b>>>0<d>>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}while(0);return b|0}function Fw(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0<e>>>0;a:do if(b&g>>>0<h>>>0)while(1){b=a[k>>0]|0;o=b&255;do if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0<e>>>0;if(!(b&g>>>0<h>>>0)){q=38;break}}else q=38;while(0);if((q|0)==38)b=b&1;return b|0}function Gw(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0<c>>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}while(0);m=m+1|0;if(!(m>>>0<e>>>0&g>>>0<c>>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Hw(a){a=a|0;Dn(13344);Dn(13332);Dn(13320);Dn(13308);Dn(13296);Dn(13284);Dn(13272);Dn(13260);Dn(13248);Dn(13236);Dn(13224);Dn(13212);Dn(13200);Dn(13188);return}function Iw(a){a=a|0;Wn(13516);Wn(13504);Wn(13492);Wn(13480);Wn(13468);Wn(13456);Wn(13444);Wn(13432);Wn(13420);Wn(13408);Wn(13396);Wn(13384);Wn(13372);Wn(13360);return}function Jw(a){a=a|0;Dn(14148);Dn(14136);Dn(14124);Dn(14112);Dn(14100);Dn(14088);Dn(14076);Dn(14064);Dn(14052);Dn(14040);Dn(14028);Dn(14016);Dn(14004);Dn(13992);Dn(13980);Dn(13968);Dn(13956);Dn(13944);Dn(13932);Dn(13920);Dn(13908);Dn(13896);Dn(13884);Dn(13872);return}function Kw(a){a=a|0;Wn(14440);Wn(14428);Wn(14416);Wn(14404);Wn(14392);Wn(14380);Wn(14368);Wn(14356);Wn(14344);Wn(14332);Wn(14320);Wn(14308);Wn(14296);Wn(14284);Wn(14272);Wn(14260);Wn(14248);Wn(14236);Wn(14224);Wn(14212);Wn(14200);Wn(14188);Wn(14176);Wn(14164);return}function Lw(a){a=a|0;Dn(15252);Dn(15240);Dn(15228);Dn(15216);Dn(15204);Dn(15192);Dn(15180);Dn(15168);Dn(15156);Dn(15144);Dn(15132);Dn(15120);Dn(15108);Dn(15096);Dn(15084);Dn(15072);Dn(15060);Dn(15048);Dn(15036);Dn(15024);Dn(15012);Dn(15e3);Dn(14988);Dn(14976);return}function Mw(a){a=a|0;Wn(15544);Wn(15532);Wn(15520);Wn(15508);Wn(15496);Wn(15484);Wn(15472);Wn(15460);Wn(15448);Wn(15436);Wn(15424);Wn(15412);Wn(15400);Wn(15388);Wn(15376);Wn(15364);Wn(15352);Wn(15340);Wn(15328);Wn(15316);Wn(15304);Wn(15292);Wn(15280);Wn(15268);return}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0<b>>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)_j(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0<f>>>0?f:d}else d=1073741823;Pw(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;cx(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Qw(a,j);Rw(j)}else Ow(a,b);i=k;return}function Ow(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Pw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=ak(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;fx(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Rw(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{ck(e);break}}while(0);return}function Sw(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)_j(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=ak(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=al()|0;g=c[f>>2]|0;c[f>>2]=0;e=+hm(a,h,Wp()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=al()|0;g=c[f>>2]|0;c[f>>2]=0;e=+hm(a,h,Wp()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function Vw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=al()|0;g=c[f>>2]|0;c[f>>2]=0;e=+hm(a,h,Wp()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}while(0);i=j;return +e}function Ww(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=al()|0;h=c[g>>2]|0;c[g>>2]=0;b=Vk(b,j,f,Wp()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}while(0);D=f;i=k;return b|0}function Xw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=al()|0;j=c[h>>2]|0;c[h>>2]=0;b=Vk(b,k,f,Wp()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function Yw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=al()|0;j=c[h>>2]|0;c[h>>2]=0;b=Vk(b,k,f,Wp()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function Zw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=al()|0;j=c[h>>2]|0;c[h>>2]=0;b=Vk(b,k,f,Wp()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function _w(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((a|0)!=(b|0)){g=al()|0;h=c[g>>2]|0;c[g>>2]=0;a=Wk(a,j,e,Wp()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return (j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}while(0);D=e;i=k;return a|0}function $w(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=al()|0;h=c[g>>2]|0;c[g>>2]=0;a=Wk(a,j,e,Wp()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}while(0);i=k;return a|0}function ax(){}function bx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function cx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function dx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function ex(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function fx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ua(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function gx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function hx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else fx(b,c,d)|0;return b|0}function ix(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function jx(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function lx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=bx(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return bx((qx(h,g,bx(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=bx(h^a,g^b,h,g)|0;b=D;qx(a,b,bx(l^d,k^e,l,k)|0,D,j)|0;e=bx(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function nx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=kx(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function ox(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qx(a,b,c,d,0)|0}function px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;qx(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function qx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=jx(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((jx(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (D=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=dx(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;bx(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=bx(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function rx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return xb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return yb[a&31](b|0,c|0,d|0)|0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;zb[a&3](b|0,c|0,+d)}function ux(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ab[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function vx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Bb[a&3](b|0,c|0,d|0,e|0,f|0)}function wx(a,b,c){a=a|0;b=b|0;c=c|0;return +Cb[a&3](b|0,c|0)}function xx(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function yx(a,b){a=a|0;b=b|0;Eb[a&255](b|0)}function zx(a,b,c){a=a|0;b=b|0;c=c|0;Fb[a&127](b|0,c|0)}function Ax(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Gb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bx(a,b){a=a|0;b=b|0;return Hb[a&127](b|0)|0}function Cx(a,b,c){a=a|0;b=b|0;c=+c;return Ib[a&1](b|0,+c)|0}function Dx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Jb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Ex(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Kb[a&7](b|0,c|0,d|0)}function Fx(a){a=a|0;Lb[a&3]()}function Gx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Mb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Hx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Nb[a&15](b|0,c|0,d|0,e|0)|0}function Ix(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ob[a&15](b|0,c|0,d|0,e|0)}function Jx(a,b,c){a=a|0;b=b|0;c=c|0;return Pb[a&63](b|0,c|0)|0}function Kx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Qb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Lx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Rb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(0);return 0}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(1);return 0}function Ox(a,b,c){a=a|0;b=b|0;c=+c;ca(2)}function Px(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(3)}function Qx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(4)}function Rx(a,b){a=a|0;b=b|0;ca(5);return 0.0}function Sx(a){a=a|0;ca(6);return 0.0}function Tx(a){a=a|0;ca(7)}function Ux(a,b){a=a|0;b=b|0;ca(8)}function Vx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(9);return 0}function Wx(a){a=a|0;ca(10);return 0}function Xx(a,b){a=a|0;b=+b;ca(11);return 0}function Yx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(12);return 0}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;ca(13)}function _x(){ca(14)}function $x(){ob()}function ay(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(15);return 0}function by(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(16);return 0}function cy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17)}function dy(a,b){a=a|0;b=b|0;ca(18);return 0}function ey(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(19);return 0}function fy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(20);return 0} + +// EMSCRIPTEN_END_FUNCS +var xb=[Mx,Pr,Tr,Ns,Rs,Ws,Ys,Mx];var yb=[Nx,po,uo,yo,xk,Cm,Ol,Nl,Ml,Pl,Eo,Jo,Xm,No,gn,Cp,Hp,mt,rt,$t,bu,eu,Lt,Qt,St,Vt,zm,Nx,Nx,Nx,Nx,Nx];var zb=[Ox,Pe,Rf,gh];var Ab=[Px,wf,Mk,Lk,Kk,Fo,qo,nt,st,Px,Px,Px,Px,Px,Px,Px];var Bb=[Qx,Jk,Ik,Fk];var Cb=[Rx,Oe,fh,Rx];var Db=[Sx,Yh,yj,nj];var Eb=[Tx,xc,zc,yc,Ec,qe,re,se,te,me,ne,Ae,Be,Ve,Bf,Cf,vh,Df,wh,Ef,Po,Ro,Qo,So,uf,vf,pp,sp,qp,tp,rp,up,Zo,$o,_o,ap,Jf,Kf,Vf,lg,mg,og,pg,Xg,yg,zg,Cg,Og,Pg,Ug,Vg,xi,yi,Ei,Fi,Bj,Cj,Dj,Ej,ri,Aj,qj,rj,sj,tj,pj,fj,gj,hj,ij,cj,ej,dj,Vi,Wi,Xi,Yi,Ui,Qi,Ri,Si,Ti,Pi,Uj,Vj,Wj,Xj,Tj,Lj,Mj,Nj,Oj,Kj,fk,gk,mk,nk,pk,rk,uk,sk,tk,vk,wk,Ao,Um,_m,lo,dn,kn,mo,Bo,Uo,Wo,Vo,Xo,ip,kp,jp,lp,go,vp,xp,zp,It,Dp,Ep,Ip,Jp,Xp,Yp,pq,qq,Eq,Fq,Rq,Sq,or,pr,Mr,Or,Rr,Sr,Vr,Wr,es,fs,ps,qs,As,Bs,Ls,Ms,Us,Vs,_s,$s,et,ft,kt,lt,pt,qt,xt,yt,Yt,Zt,rv,ou,Qu,Ru,Su,Tu,yp,Ht,Kt,gu,wu,Eu,Mu,Nu,Dn,$b,ac,of,Rg,ji,mi,Tk,vm,wm,Nm,Os,Jt,Aw,Hw,Iw,Jw,Kw,Lw,Mw,Wn,Hm,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx];var Fb=[Ux,fc,Ce,De,Ee,Fe,He,Ne,Qe,Re,Se,sf,Te,Ye,oo,_g,$g,ah,bh,dh,eh,hh,ih,Tf,jg,Pf,Yf,jh,oh,qh,vi,Ci,xj,mj,aj,Sj,Ij,Vm,Zm,en,jn,Do,Zr,_r,$r,as,cs,ds,is,js,ks,ls,ns,os,ts,us,vs,ws,ys,zs,Es,Fs,Gs,Hs,Js,Ks,ot,tt,Yu,_u,av,Zu,$u,bv,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux];var Gb=[Vx,Kp,Lp,Mp,Np,Op,Pp,Qp,Rp,Sp,Tp,Up,Zp,_p,$p,aq,bq,cq,dq,eq,fq,gq,hq,wq,yq,Jq,Lq,Uq,Vq,Wq,Yq,_q,rr,sr,tr,vr,xr,dt,jt,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx];var Hb=[Wx,rf,Ge,Ie,Je,Ke,Le,Me,so,to,yf,wo,Zg,ch,Yg,Mf,Lf,mh,nh,lh,kh,Dg,Fg,Eg,si,Zh,_h,$h,wi,bi,zi,ai,Di,uj,zj,jj,oj,Zi,bj,Pj,Fj,Jj,hk,ok,Ll,Wm,Io,Ko,Lo,Ho,$m,an,fn,vo,ln,mn,Tq,dv,fv,hv,nv,pv,jv,lv,qr,ev,gv,iv,ov,qv,kv,mv,Xr,Yr,bs,gs,hs,ms,rs,ss,xs,Cs,Ds,Is,su,tu,vu,Uu,Wu,Vu,Xu,ku,lu,nu,Au,Bu,Du,Iu,Ju,Lu,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx];var Ib=[Xx,hc];var Jb=[Yx,at,gt,Yx];var Kb=[Zx,gc,Cc,Dc,Hc,Ic,pe,Zx];var Lb=[_x,$x,Qk,Rk];var Mb=[ay,ar,zr,pu,qu,hu,iu,xu,yu,Fu,Gu,ay,ay,ay,ay,ay];var Nb=[by,Ue,Nf,qg,Ag,Wg,du,Mt,Nt,Ot,Ut,by,by,by,by,by];var Ob=[cy,Xe,xf,Wf,sg,Gg,ph,zk,Ak,Ck,Go,ro,Bp,Gp,cy,cy];var Pb=[dy,Ac,Bc,Fc,Gc,vn,oe,zf,Af,ti,ui,fi,di,Ai,Bi,ci,ei,vj,wj,kj,lj,_i,$i,Qj,Rj,Gj,Hj,Mo,Ym,bn,Oo,xo,hn,nn,zo,_t,au,cu,Pt,Rt,Tt,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy,dy];var Qb=[ey,zq,Cq,Mq,Oq,ey,ey,ey];var Rb=[fy,Ap,Fp,rq,sq,xq,Dq,Gq,Hq,Kq,Pq,fu,ru,uu,Wt,ju,mu,zu,Cu,Hu,Ku,fy,fy,fy,fy,fy,fy,fy,fy,fy,fy,fy];return{_malloc:Gm,___cxa_can_catch:Nk,_free:Hm,___cxa_is_pointer_type:Ok,_i64Add:dx,_piperRequestJson:bc,_i64Subtract:bx,_memset:cx,_piperProcessRaw:dc,_memcpy:fx,_memmove:hx,_piperFreeJson:ec,_bitshift64Lshr:ex,_bitshift64Shl:gx,__GLOBAL__I_000101:Om,__GLOBAL__sub_I_vamp_test_plugin_cpp:Pc,__GLOBAL__sub_I_PluginLoader_cpp:Qg,__GLOBAL__sub_I_PluginSummarisingAdapter_cpp:Sg,__GLOBAL__sub_I_iostream_cpp:Pm,runPostSets:ax,stackAlloc:Sb,stackSave:Tb,stackRestore:Ub,establishStackSpace:Vb,setThrew:Wb,setTempRet0:Zb,getTempRet0:_b,dynCall_iiiiiiii:rx,dynCall_iiii:sx,dynCall_viid:tx,dynCall_viiiiii:ux,dynCall_viiiii:vx,dynCall_dii:wx,dynCall_di:xx,dynCall_vi:yx,dynCall_vii:zx,dynCall_iiiiiii:Ax,dynCall_ii:Bx,dynCall_iid:Cx,dynCall_iiiiiid:Dx,dynCall_viii:Ex,dynCall_v:Fx,dynCall_iiiiiiiii:Gx,dynCall_iiiii:Hx,dynCall_viiii:Ix,dynCall_iii:Jx,dynCall_iiiiid:Kx,dynCall_iiiiii:Lx}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _piperProcessRaw=Module["_piperProcessRaw"]=asm["_piperProcessRaw"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_PluginLoader_cpp=Module["__GLOBAL__sub_I_PluginLoader_cpp"]=asm["__GLOBAL__sub_I_PluginLoader_cpp"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _piperRequestJson=Module["_piperRequestJson"]=asm["_piperRequestJson"];var __GLOBAL__sub_I_PluginSummarisingAdapter_cpp=Module["__GLOBAL__sub_I_PluginSummarisingAdapter_cpp"]=asm["__GLOBAL__sub_I_PluginSummarisingAdapter_cpp"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _piperFreeJson=Module["_piperFreeJson"]=asm["_piperFreeJson"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var __GLOBAL__sub_I_vamp_test_plugin_cpp=Module["__GLOBAL__sub_I_vamp_test_plugin_cpp"]=asm["__GLOBAL__sub_I_vamp_test_plugin_cpp"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _memmove=Module["_memmove"]=asm["_memmove"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iid=Module["dynCall_iid"]=asm["dynCall_iid"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + + + return Module; +}; +});
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/assets/remote-plugins.json Wed Jan 18 17:50:39 2017 +0000 @@ -0,0 +1,3 @@ +{ + "vamp-test-plugin": "assets/VampTestPlugin.js" +}
--- a/src/bootstrap-feature-extraction-worker.js Mon Dec 19 14:18:09 2016 +0000 +++ b/src/bootstrap-feature-extraction-worker.js Wed Jan 18 17:50:39 2017 +0000 @@ -6,4 +6,4 @@ const webpackJsonp = window['webpackJsonp']; importScripts('scripts.bundle.js'); // needs webpackJsonp, hence above - provides require -new (require('feature-extraction-worker'))(self); +new (require('feature-extraction-worker'))(self, requirejs);