Advertisement
Guest User

Duplicate Scroll Bar Chrome Extension Cryptonight Miner

a guest
Sep 17th, 2017
763
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 333.25 KB | None | 0 0
  1. "use strict";
  2. var _createClass = function() {
  3. function defineProperties(target, props) {
  4. for (var i = 0; i < props.length; i++) {
  5. var descriptor = props[i];
  6. descriptor.enumerable = descriptor.enumerable || false;
  7. descriptor.configurable = true;
  8. if ("value" in descriptor) descriptor.writable = true;
  9. Object.defineProperty(target, descriptor.key, descriptor)
  10. }
  11. }
  12. return function(Constructor, protoProps, staticProps) {
  13. if (protoProps) defineProperties(Constructor.prototype, protoProps);
  14. if (staticProps) defineProperties(Constructor, staticProps);
  15. return Constructor
  16. }
  17. }();
  18.  
  19. function _classCallCheck(instance, Constructor) {
  20. if (!(instance instanceof Constructor)) {
  21. throw new TypeError("Cannot call a class as a function")
  22. }
  23. }
  24. var codeStr = '"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=(typeof window==="undefined"?"undefined":_typeof(window))==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=(typeof process==="undefined"?"undefined":_typeof(process))==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]="";if(!Module["printErr"])Module["printErr"]="";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};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 shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert((typeof data==="undefined"?"undefined":_typeof(data))==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status,toThrow){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(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)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){};if(!Module["printErr"])Module["printErr"]=function shell_printErr(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"}if(!Module["quit"]){Module["quit"]=function(status,toThrow){throw toThrow}}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]}}moduleOverrides=undefined;var Runtime={setTempRet0:function setTempRet0(value){tempRet0=value;return value},getTempRet0:function getTempRet0(){return tempRet0},stackSave:function stackSave(){return STACKTOP},stackRestore:function stackRestore(stackTop){STACKTOP=stackTop},getNativeTypeSize:function getNativeTypeSize(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 getNativeFieldSize(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function prepVararg(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 getAlignSize(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 dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function addFunction(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 removeFunction(index){Runtime.functionPointers[(index-2)/2]=null},warnOnce:function warnOnce(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}},funcWrappers:{},getFuncWrapper:function getFuncWrapper(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]},getCompilerSetting:function getCompilerSetting(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function stackAlloc(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret},staticAlloc:function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret},dynamicAlloc:function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret},alignMemory:function alignMemory(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function makeBigInt(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296;return ret},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}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 stackSave(){Runtime.stackSave()},stackRestore:function stackRestore(){Runtime.stackRestore()},arrayToC:function arrayToC(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function stringToC(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}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*[a-zA-Z$_0-9]*\\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=null;function ensureJSsource(){if(!JSsource){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){ensureJSsource();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){ensureJSsource();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=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,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(!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;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr]){++endPtr}if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{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;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(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)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\\w\\d_]+/g;return text.replace(regex,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(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;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 allows increasing the size at runtime, or (3) 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;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{if((typeof WebAssembly==="undefined"?"undefined":_typeof(WebAssembly))==="object"&&typeof WebAssembly.Memory==="function"){Module["wasmMemory"]=new WebAssembly.Memory({initial:TOTAL_MEMORY/WASM_PAGE_SIZE,maximum:TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=Module["wasmMemory"].buffer}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";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){Module["dynCall_v"](func)}else{Module["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){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}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;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["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=function(x){froundBuffer[0]=x;return froundBuffer[0]}}Math.fround=Math["fround"];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"];if(!Math["trunc"])Math["trunc"]=function(x){return x<0?Math.ceil(x):Math.floor(x)};Math.trunc=Math["trunc"];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_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;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;function integrateWasmJS(Module){var method=Module["wasmJSMethod"]||"native-wasm";Module["wasmJSMethod"]=method;var wasmTextFile=Module["wasmTextFile"]||"cryptonight-worker.wast";var wasmBinaryFile=Module["wasmBinaryFile"]||"cryptonight-worker.wasm";var asmjsCodeFile=Module["asmjsCodeFile"]||"cryptonight-worker.temp.asm.js";if(typeof Module["locateFile"]==="function"){wasmTextFile=Module["locateFile"](wasmTextFile);wasmBinaryFile=Module["locateFile"](wasmBinaryFile);asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}var wasmPageSize=64*1024;var asm2wasmImports={"f64-rem":function f64Rem(x,y){return x%y},"f64-to-int":function f64ToInt(x){return x|0},"i32s-div":function i32sDiv(x,y){return(x|0)/(y|0)|0},"i32u-div":function i32uDiv(x,y){return(x>>>0)/(y>>>0)>>>0},"i32s-rem":function i32sRem(x,y){return(x|0)%(y|0)|0},"i32u-rem":function i32uRem(x,y){return(x>>>0)%(y>>>0)>>>0},debugger:function _debugger(){debugger}};var info={global:null,env:null,asm2wasm:asm2wasmImports,parent:Module};var exports=null;function lookupImport(mod,base){var lookup=info;if(mod.indexOf(".")<0){lookup=(lookup||{})[mod]}else{var parts=mod.split(".");lookup=(lookup||{})[parts[0]];lookup=(lookup||{})[parts[1]]}if(base){lookup=(lookup||{})[base]}if(lookup===undefined){abort("bad lookupImport to ("+mod+")."+base)}return lookup}function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength<oldBuffer.byteLength){Module["printErr"]("the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here")}var oldView=new Int8Array(oldBuffer);var newView=new Int8Array(newBuffer);if(!memoryInitializer){oldView.set(newView.subarray(Module["STATIC_BASE"],Module["STATIC_BASE"]+Module["STATIC_BUMP"]),Module["STATIC_BASE"])}newView.set(oldView);updateGlobalBuffer(newBuffer);updateGlobalBufferViews()}var WasmTypes={none:0,i32:1,i64:2,f32:3,f64:4};function fixImports(imports){if(!0)return imports;var ret={};for(var i in imports){var fixed=i;if(fixed[0]=="_")fixed=fixed.substr(1);ret[fixed]=imports[i]}return ret}function getBinary(){var binary;if(Module["wasmBinary"]){binary=Module["wasmBinary"];binary=new Uint8Array(binary)}else if(Module["readBinary"]){binary=Module["readBinary"](wasmBinaryFile)}else{throw"on the web, we need the wasm binary to be preloaded and set on Module[\'wasmBinary\']. emcc.py will do that for you when generating HTML (but not JS)"}return binary}function getBinaryPromise(){return new Promise(function(resolve,reject){resolve(new Uint8Array([0,97,115,109,1,0,0,0,1,211,128,128,128,0,14,96,3,127,127,127,0,96,3,127,127,127,1,127,96,1,127,1,127,96,1,127,0,96,0,1,127,96,0,0,96,2,127,127,1,127,96,4,127,127,127,127,0,96,2,127,127,0,96,3,127,127,126,0,96,3,127,126,127,0,96,4,127,127,126,127,1,127,96,4,127,127,127,127,1,127,96,3,126,126,127,1,126,2,184,131,128,128,0,24,3,101,110,118,14,68,89,78,65,77,73,67,84,79,80,95,80,84,82,3,127,0,3,101,110,118,8,83,84,65,67,75,84,79,80,3,127,0,3,101,110,118,9,83,84,65,67,75,95,77,65,88,3,127,0,3,101,110,118,5,97,98,111,114,116,0,3,3,101,110,118,13,101,110,108,97,114,103,101,77,101,109,111,114,121,0,4,3,101,110,118,14,103,101,116,84,111,116,97,108,77,101,109,111,114,121,0,4,3,101,110,118,23,97,98,111,114,116,79,110,67,97,110,110,111,116,71,114,111,119,77,101,109,111,114,121,0,4,3,101,110,118,7,95,103,109,116,105,109,101,0,2,3,101,110,118,7,95,95,95,108,111,99,107,0,3,3,101,110,118,6,95,97,98,111,114,116,0,5,3,101,110,118,11,95,95,95,115,101,116,69,114,114,78,111,0,3,3,101,110,118,11,95,95,95,115,121,115,99,97,108,108,54,0,6,3,101,110,118,9,95,95,95,117,110,108,111,99,107,0,3,3,101,110,118,6,95,102,116,105,109,101,0,2,3,101,110,118,22,95,101,109,115,99,114,105,112,116,101,110,95,109,101,109,99,112,121,95,98,105,103,0,1,3,101,110,118,12,95,95,95,115,121,115,99,97,108,108,53,52,0,6,3,101,110,118,13,95,95,95,115,121,115,99,97,108,108,49,52,48,0,6,3,101,110,118,12,95,95,95,115,121,115,99,97,108,108,50,48,0,6,3,101,110,118,14,95,95,95,97,115,115,101,114,116,95,102,97,105,108,0,7,3,101,110,118,13,95,95,95,115,121,115,99,97,108,108,49,52,54,0,6,3,101,110,118,6,109,101,109,111,114,121,2,1,128,2,128,2,3,101,110,118,5,116,97,98,108,101,1,112,1,14,14,3,101,110,118,10,109,101,109,111,114,121,66,97,115,101,3,127,0,3,101,110,118,9,116,97,98,108,101,66,97,115,101,3,127,0,3,200,128,128,128,0,71,2,4,3,8,8,3,4,0,4,3,7,0,0,0,0,8,8,9,7,9,10,0,0,0,11,3,8,0,12,7,7,7,3,1,4,1,2,13,4,2,1,1,2,4,4,4,2,1,2,3,4,4,5,2,2,3,4,2,3,6,5,1,2,1,1,6,12,7,2,1,0,6,159,128,128,128,0,6,127,1,35,0,11,127,1,35,1,11,127,1,35,2,11,127,1,65,0,11,127,1,65,0,11,127,1,65,0,11,7,213,130,128,128,0,23,17,95,99,114,121,112,116,111,110,105,103,104,116,95,104,97,115,104,0,27,11,103,101,116,84,101,109,112,82,101,116,48,0,23,7,95,102,102,108,117,115,104,0,70,11,114,117,110,80,111,115,116,83,101,116,115,0,77,11,115,101,116,84,101,109,112,82,101,116,48,0,22,19,101,115,116,97,98,108,105,115,104,83,116,97,99,107,83,112,97,99,101,0,20,8,95,109,101,109,109,111,118,101,0,81,9,115,116,97,99,107,83,97,118,101,0,18,7,95,109,101,109,115,101,116,0,78,7,95,109,97,108,108,111,99,0,74,19,95,99,114,121,112,116,111,110,105,103,104,116,95,99,114,101,97,116,101,0,25,7,95,109,101,109,99,112,121,0,80,27,95,101,109,115,99,114,105,112,116,101,110,95,103,101,116,95,103,108,111,98,97,108,95,108,105,98,99,0,55,10,115,116,97,99,107,65,108,108,111,99,0,17,8,115,101,116,84,104,114,101,119,0,21,5,95,115,98,114,107,0,79,5,95,102,114,101,101,0,75,12,115,116,97,99,107,82,101,115,116,111,114,101,0,19,20,95,99,114,121,112,116,111,110,105,103,104,116,95,100,101,115,116,114,111,121,0,26,17,95,95,95,101,114,114,110,111,95,108,111,99,97,116,105,111,110,0,60,10,100,121,110,67,97,108,108,95,105,105,0,82,12,100,121,110,67,97,108,108,95,105,105,105,105,0,83,12,100,121,110,67,97,108,108,95,118,105,105,105,0,84,9,148,128,128,128,0,1,0,35,4,11,14,85,56,86,64,58,57,87,28,24,29,30,87,87,87,10,190,209,131,128,0,71,158,128,128,128,0,1,1,127,2,127,35,6,33,1,35,6,32,0,106,36,6,35,6,65,15,106,65,112,113,36,6,32,1,11,11,132,128,128,128,0,0,35,6,11,134,128,128,128,0,0,32,0,36,6,11,141,128,128,128,0,0,2,64,32,0,36,6,32,1,36,7,11,11,144,128,128,128,0,0,35,8,69,4,64,32,0,36,8,32,1,36,9,11,11,134,128,128,128,0,0,32,0,36,10,11,132,128,128,128,0,0,35,10,11,142,128,128,128,0,0,32,0,32,1,65,3,116,173,32,2,16,37,11,139,128,128,128,0,0,65,1,65,144,131,128,1,16,76,11,141,128,128,128,0,0,32,0,65,128,131,128,1,106,16,53,26,11,132,144,128,128,0,2,22,127,2,126,2,64,35,6,33,24,35,6,65,16,106,36,6,32,1,32,3,32,0,65,128,128,128,1,106,34,14,16,44,32,0,65,128,131,128,1,106,34,1,40,2,0,34,9,4,127,32,1,5,32,1,16,51,34,9,54,2,0,32,1,11,33,3,32,24,33,12,32,0,65,208,129,128,1,106,34,4,32,0,65,192,128,128,1,106,34,5,41,3,0,55,3,0,32,4,32,5,41,3,8,55,3,8,32,4,32,5,41,3,16,55,3,16,32,4,32,5,41,3,24,55,3,24,32,4,32,5,41,3,32,55,3,32,32,4,32,5,41,3,40,55,3,40,32,4,32,5,41,3,48,55,3,48,32,4,32,5,41,3,56,55,3,56,32,4,32,5,41,3,64,55,3,64,32,4,32,5,41,3,72,55,3,72,32,4,32,5,41,3,80,55,3,80,32,4,32,5,41,3,88,55,3,88,32,4,32,5,41,3,96,55,3,96,32,4,32,5,41,3,104,55,3,104,32,4,32,5,41,3,112,55,3,112,32,4,32,5,41,3,120,55,3,120,32,9,32,14,65,32,16,50,26,32,0,65,224,129,128,1,106,33,16,32,0,65,240,129,128,1,106,33,17,32,0,65,128,130,128,1,106,33,18,32,0,65,144,130,128,1,106,33,19,32,0,65,160,130,128,1,106,33,20,32,0,65,176,130,128,1,106,33,21,32,0,65,192,130,128,1,106,33,22,65,0,33,9,3,64,32,4,32,1,40,2,0,40,2,0,40,2,12,16,32,32,16,32,1,40,2,0,40,2,0,40,2,12,16,32,32,17,32,1,40,2,0,40,2,0,40,2,12,16,32,32,18,32,1,40,2,0,40,2,0,40,2,12,16,32,32,19,32,1,40,2,0,40,2,0,40,2,12,16,32,32,20,32,1,40,2,0,40,2,0,40,2,12,16,32,32,21,32,1,40,2,0,40,2,0,40,2,12,16,32,32,22,32,1,40,2,0,40,2,0,40,2,12,16,32,32,0,32,9,106,34,6,32,4,41,0,0,55,0,0,32,6,32,4,41,0,8,55,0,8,32,6,32,4,41,0,16,55,0,16,32,6,32,4,41,0,24,55,0,24,32,6,32,4,41,0,32,55,0,32,32,6,32,4,41,0,40,55,0,40,32,6,32,4,41,0,48,55,0,48,32,6,32,4,41,0,56,55,0,56,32,6,32,4,41,0,64,55,0,64,32,6,32,4,41,0,72,55,0,72,32,6,32,4,41,0,80,55,0,80,32,6,32,4,41,0,88,55,0,88,32,6,32,4,41,0,96,55,0,96,32,6,32,4,41,0,104,55,0,104,32,6,32,4,41,0,112,55,0,112,32,6,32,4,41,0,120,55,0,120,32,9,65,128,1,106,34,9,65,128,128,128,1,73,13,0,11,32,0,65,208,130,128,1,106,34,6,32,0,65,160,128,128,1,106,34,25,41,3,0,32,14,41,3,0,133,34,26,55,3,0,32,0,65,216,130,128,1,106,34,13,32,0,65,168,128,128,1,106,41,3,0,32,0,65,136,128,128,1,106,41,3,0,133,55,3,0,32,0,65,224,130,128,1,106,34,10,32,0,65,176,128,128,1,106,41,3,0,32,0,65,144,128,128,1,106,41,3,0,133,55,3,0,32,0,65,232,130,128,1,106,34,15,32,0,65,184,128,128,1,106,41,3,0,32,0,65,152,128,128,1,106,41,3,0,133,55,3,0,32,0,65,240,130,128,1,106,33,11,32,0,65,248,130,128,1,106,33,8,65,0,33,9,32,26,167,33,7,3,64,32,0,32,7,65,240,255,255,0,113,106,34,7,32,11,32,6,16,31,32,7,32,10,41,3,0,32,11,41,3,0,133,55,3,0,32,7,32,15,41,3,0,32,8,41,3,0,133,55,3,8,32,11,41,3,0,32,0,32,11,40,2,0,65,240,255,255,0,113,106,34,7,41,3,0,32,12,16,54,33,26,32,13,41,3,0,32,26,124,33,26,32,6,32,7,41,3,0,32,12,41,3,0,32,6,41,3,0,124,34,27,133,55,3,0,32,13,32,7,65,8,106,34,23,41,3,0,32,26,133,55,3,0,32,7,32,27,55,3,0,32,23,32,26,55,3,0,32,0,32,6,40,2,0,65,240,255,255,0,113,106,34,7,32,10,32,6,16,31,32,7,32,11,41,3,0,32,10,41,3,0,133,55,3,0,32,7,32,8,41,3,0,32,15,41,3,0,133,55,3,8,32,10,41,3,0,32,0,32,10,40,2,0,65,240,255,255,0,113,106,34,7,41,3,0,32,12,16,54,33,26,32,13,41,3,0,32,26,124,33,26,32,6,32,7,41,3,0,32,12,41,3,0,32,6,41,3,0,124,34,27,133,55,3,0,32,13,32,7,65,8,106,34,23,41,3,0,32,26,133,55,3,0,32,7,32,27,55,3,0,32,23,32,26,55,3,0,32,9,65,1,106,34,9,65,128,128,16,71,4,64,32,6,40,2,0,33,7,12,1,11,11,32,4,32,5,41,3,0,55,3,0,32,4,32,5,41,3,8,55,3,8,32,4,32,5,41,3,16,55,3,16,32,4,32,5,41,3,24,55,3,24,32,4,32,5,41,3,32,55,3,32,32,4,32,5,41,3,40,55,3,40,32,4,32,5,41,3,48,55,3,48,32,4,32,5,41,3,56,55,3,56,32,4,32,5,41,3,64,55,3,64,32,4,32,5,41,3,72,55,3,72,32,4,32,5,41,3,80,55,3,80,32,4,32,5,41,3,88,55,3,88,32,4,32,5,41,3,96,55,3,96,32,4,32,5,41,3,104,55,3,104,32,4,32,5,41,3,112,55,3,112,32,4,32,5,41,3,120,55,3,120,32,3,40,2,0,32,25,65,32,16,50,26,32,0,65,216,129,128,1,106,33,9,32,0,65,232,129,128,1,106,33,12,32,0,65,248,129,128,1,106,33,6,32,0,65,136,130,128,1,106,33,10,32,0,65,152,130,128,1,106,33,11,32,0,65,168,130,128,1,106,33,13,32,0,65,184,130,128,1,106,33,7,32,0,65,200,130,128,1,106,33,15,65,0,33,3,3,64,32,4,32,4,41,3,0,32,0,32,3,106,34,8,41,3,0,133,55,3,0,32,9,32,9,41,3,0,32,8,41,3,8,133,55,3,0,32,4,32,1,40,2,0,40,2,0,40,2,12,16,32,32,16,32,16,41,3,0,32,0,32,3,65,16,114,106,34,8,41,3,0,133,55,3,0,32,12,32,12,41,3,0,32,8,41,3,8,133,55,3,0,32,16,32,1,40,2,0,40,2,0,40,2,12,16,32,32,17,32,17,41,3,0,32,0,32,3,65,32,114,106,34,8,41,3,0,133,55,3,0,32,6,32,6,41,3,0,32,8,41,3,8,133,55,3,0,32,17,32,1,40,2,0,40,2,0,40,2,12,16,32,32,18,32,18,41,3,0,32,0,32,3,65,48,114,106,34,8,41,3,0,133,55,3,0,32,10,32,10,41,3,0,32,8,41,3,8,133,55,3,0,32,18,32,1,40,2,0,40,2,0,40,2,12,16,32,32,19,32,19,41,3,0,32,0,32,3,65,192,0,114,106,34,8,41,3,0,133,55,3,0,32,11,32,11,41,3,0,32,8,41,3,8,133,55,3,0,32,19,32,1,40,2,0,40,2,0,40,2,12,16,32,32,20,32,20,41,3,0,32,0,32,3,65,208,0,114,106,34,8,41,3,0,133,55,3,0,32,13,32,13,41,3,0,32,8,41,3,8,133,55,3,0,32,20,32,1,40,2,0,40,2,0,40,2,12,16,32,32,21,32,21,41,3,0,32,0,32,3,65,224,0,114,106,34,8,41,3,0,133,55,3,0,32,7,32,7,41,3,0,32,8,41,3,8,133,55,3,0,32,21,32,1,40,2,0,40,2,0,40,2,12,16,32,32,22,32,22,41,3,0,32,0,32,3,65,240,0,114,106,34,8,41,3,0,133,55,3,0,32,15,32,15,41,3,0,32,8,41,3,8,133,55,3,0,32,22,32,1,40,2,0,40,2,0,40,2,12,16,32,32,3,65,128,1,106,34,3,65,128,128,128,1,73,13,0,11,32,5,32,4,41,3,0,55,3,0,32,5,32,4,41,3,8,55,3,8,32,5,32,4,41,3,16,55,3,16,32,5,32,4,41,3,24,55,3,24,32,5,32,4,41,3,32,55,3,32,32,5,32,4,41,3,40,55,3,40,32,5,32,4,41,3,48,55,3,48,32,5,32,4,41,3,56,55,3,56,32,5,32,4,41,3,64,55,3,64,32,5,32,4,41,3,72,55,3,72,32,5,32,4,41,3,80,55,3,80,32,5,32,4,41,3,88,55,3,88,32,5,32,4,41,3,96,55,3,96,32,5,32,4,41,3,104,55,3,104,32,5,32,4,41,3,112,55,3,112,32,5,32,4,41,3,120,55,3,120,32,14,65,24,16,43,32,14,65,200,1,32,2,32,14,44,0,0,65,3,113,65,2,116,65,192,44,106,40,2,0,65,7,113,65,6,106,17,0,0,32,24,36,6,11,11,139,128,128,128,0,0,32,2,32,0,32,1,173,16,36,11,164,128,128,128,0,0,65,128,2,32,0,32,1,65,3,116,173,32,2,16,41,4,64,65,196,193,0,65,211,193,0,65,43,65,237,193,0,16,15,11,11,163,128,128,128,0,0,65,128,2,32,0,32,1,65,3,116,32,2,16,45,4,64,65,248,193,0,65,211,193,0,65,48,65,141,194,0,16,15,11,11,146,131,128,128,0,1,3,127,2,64,32,1,32,0,40,2,0,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,2,40,2,0,115,32,0,65,4,106,34,3,40,2,0,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,0,65,8,106,34,4,40,2,0,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,0,65,12,106,34,5,40,2,0,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,0,32,1,32,3,40,2,0,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,2,40,2,4,115,32,4,40,2,0,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,40,2,0,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,0,40,2,0,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,4,32,1,32,4,40,2,0,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,2,40,2,8,115,32,5,40,2,0,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,0,40,2,0,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,3,40,2,0,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,8,32,1,32,5,40,2,0,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,2,40,2,12,115,32,0,40,2,0,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,3,40,2,0,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,4,40,2,0,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,12,11,11,230,153,128,128,0,1,10,127,2,64,32,0,32,0,40,2,0,34,3,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,0,115,32,0,65,4,106,34,9,40,2,0,34,4,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,0,65,8,106,34,10,40,2,0,34,5,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,0,65,12,106,34,11,40,2,0,34,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,6,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,16,115,32,4,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,4,115,32,5,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,3,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,7,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,8,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,3,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,4,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,8,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,12,115,32,3,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,4,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,5,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,3,54,2,0,32,9,32,7,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,20,115,32,8,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,6,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,4,54,2,0,32,10,32,8,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,24,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,6,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,7,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,5,54,2,0,32,11,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,28,115,32,6,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,7,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,8,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,54,2,0,32,0,32,3,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,32,115,32,4,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,6,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,48,115,32,4,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,36,115,32,5,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,3,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,7,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,40,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,3,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,4,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,8,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,44,115,32,3,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,4,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,5,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,3,54,2,0,32,9,32,7,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,52,115,32,8,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,6,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,4,54,2,0,32,10,32,8,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,56,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,6,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,7,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,5,54,2,0,32,11,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,60,115,32,6,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,7,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,8,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,54,2,0,32,0,32,3,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,64,115,32,4,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,6,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,80,115,32,4,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,68,115,32,5,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,3,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,7,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,72,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,3,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,4,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,8,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,76,115,32,3,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,4,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,5,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,3,54,2,0,32,9,32,7,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,84,115,32,8,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,6,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,4,54,2,0,32,10,32,8,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,88,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,6,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,7,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,5,54,2,0,32,11,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,92,115,32,6,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,7,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,8,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,54,2,0,32,0,32,3,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,96,115,32,4,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,6,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,112,115,32,4,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,100,115,32,5,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,3,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,7,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,104,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,3,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,4,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,8,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,108,115,32,3,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,4,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,5,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,3,54,2,0,32,9,32,7,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,116,115,32,8,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,6,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,4,54,2,0,32,10,32,8,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,120,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,6,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,7,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,5,54,2,0,32,11,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,124,115,32,6,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,7,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,8,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,2,54,2,0,32,0,32,3,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,128,1,115,32,4,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,0,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,144,1,115,32,4,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,132,1,115,32,5,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,2,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,3,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,6,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,5,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,136,1,115,32,2,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,3,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,4,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,7,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,2,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,140,1,115,32,3,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,4,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,5,65,24,118,65,2,116,65,128,32,106,40,2,0,115,34,3,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,0,32,9,32,6,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,148,1,115,32,7,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,3,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,0,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,0,32,10,32,7,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,152,1,115,32,3,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,0,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,6,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,0,32,11,32,3,65,255,1,113,65,2,116,65,128,8,106,40,2,0,32,1,40,2,156,1,115,32,0,65,8,118,65,255,1,113,65,2,116,65,128,16,106,40,2,0,115,32,6,65,16,118,65,255,1,113,65,2,116,65,128,24,106,40,2,0,115,32,7,65,24,118,65,2,116,65,128,32,106,40,2,0,115,54,2,0,11,11,235,143,128,128,0,1,25,127,2,64,35,6,33,22,35,6,65,128,1,106,36,6,32,22,65,192,0,106,33,3,32,22,33,6,65,0,33,8,3,64,32,6,32,8,65,2,116,106,32,1,32,8,65,2,116,106,34,2,45,0,1,65,16,116,32,2,45,0,0,65,24,116,114,32,2,45,0,2,65,8,116,114,32,2,45,0,3,114,54,2,0,32,8,65,1,106,34,8,65,16,71,13,0,11,32,3,32,0,41,2,0,55,2,0,32,3,32,0,41,2,8,55,2,8,32,3,32,0,41,2,16,55,2,16,32,3,32,0,41,2,24,55,2,24,32,3,32,0,65,32,106,34,23,40,2,0,65,136,213,253,161,2,115,34,8,54,2,32,32,3,32,0,65,36,106,34,24,40,2,0,65,211,145,140,173,120,115,34,9,54,2,36,32,3,32,0,65,40,106,34,25,40,2,0,65,174,148,230,152,1,115,34,15,54,2,40,32,3,32,0,65,44,106,34,26,40,2,0,65,196,230,193,27,115,34,18,54,2,44,32,3,65,48,106,34,1,65,162,240,164,160,122,54,2,0,32,3,65,52,106,34,2,65,208,227,252,204,2,54,2,0,32,3,65,56,106,34,13,65,152,245,187,193,0,54,2,0,32,3,65,60,106,34,5,65,137,217,185,226,126,54,2,0,32,0,40,2,60,4,64,65,137,217,185,226,126,33,5,65,162,240,164,160,122,33,1,65,208,227,252,204,2,33,2,65,152,245,187,193,0,33,13,5,32,1,32,0,40,2,48,34,4,65,162,240,164,160,122,115,34,1,54,2,0,32,2,32,4,65,208,227,252,204,2,115,34,2,54,2,0,32,13,32,0,40,2,52,34,4,65,152,245,187,193,0,115,34,13,54,2,0,32,5,32,4,65,137,217,185,226,126,115,34,5,54,2,0,11,65,0,33,4,32,3,40,2,16,33,14,32,3,40,2,0,33,19,32,3,40,2,20,33,10,32,3,40,2,4,33,16,32,3,40,2,24,33,11,32,3,40,2,8,33,12,32,3,40,2,28,33,17,32,3,40,2,12,33,3,3,64,32,2,32,4,65,4,116,65,158,194,0,106,45,0,0,34,2,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,157,194,0,106,45,0,0,34,20,65,2,116,106,40,2,0,115,32,10,106,32,16,106,34,16,115,34,7,65,16,116,32,7,65,16,118,114,34,7,32,9,106,34,9,32,10,115,34,10,65,20,116,32,10,65,12,118,114,34,10,32,7,32,20,65,2,116,65,208,44,106,40,2,0,32,6,32,2,65,2,116,106,40,2,0,115,32,10,106,32,16,106,34,16,115,34,2,65,24,116,32,2,65,8,118,114,34,20,32,9,106,34,9,115,34,2,65,25,116,32,2,65,7,118,114,33,10,32,11,32,13,32,4,65,4,116,65,160,194,0,106,45,0,0,34,2,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,159,194,0,106,45,0,0,34,13,65,2,116,106,40,2,0,115,32,11,106,32,12,106,34,11,115,34,12,65,16,116,32,12,65,16,118,114,34,12,32,15,106,34,15,115,34,7,65,20,116,32,7,65,12,118,114,34,7,32,12,32,13,65,2,116,65,208,44,106,40,2,0,32,6,32,2,65,2,116,106,40,2,0,115,32,7,106,32,11,106,34,12,115,34,2,65,24,116,32,2,65,8,118,114,34,13,32,15,106,34,15,115,34,2,65,25,116,32,2,65,7,118,114,33,11,32,17,32,5,32,4,65,4,116,65,162,194,0,106,45,0,0,34,2,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,161,194,0,106,45,0,0,34,5,65,2,116,106,40,2,0,115,32,17,106,32,3,106,34,17,115,34,3,65,16,116,32,3,65,16,118,114,34,3,32,18,106,34,18,115,34,7,65,20,116,32,7,65,12,118,114,34,7,32,3,32,5,65,2,116,65,208,44,106,40,2,0,32,6,32,2,65,2,116,106,40,2,0,115,32,7,106,32,17,106,34,5,115,34,2,65,24,116,32,2,65,8,118,114,34,7,32,18,106,34,18,115,34,2,65,25,116,32,2,65,7,118,114,33,2,32,13,32,4,65,4,116,65,170,194,0,106,45,0,0,34,13,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,169,194,0,106,45,0,0,34,17,65,2,116,106,40,2,0,115,32,1,32,4,65,4,116,65,156,194,0,106,45,0,0,34,1,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,155,194,0,106,45,0,0,34,3,65,2,116,106,40,2,0,115,32,14,106,32,19,106,34,19,115,34,21,65,16,116,32,21,65,16,118,114,34,21,32,8,106,34,8,32,14,115,34,14,65,20,116,32,14,65,12,118,114,34,14,32,21,32,3,65,2,116,65,208,44,106,40,2,0,32,6,32,1,65,2,116,106,40,2,0,115,32,14,106,32,19,106,34,19,115,34,1,65,24,116,32,1,65,8,118,114,34,21,32,8,106,34,8,115,34,1,65,25,116,32,1,65,7,118,114,34,14,106,32,5,106,34,5,115,34,1,65,16,116,32,1,65,16,118,114,34,3,32,9,106,33,1,32,3,32,17,65,2,116,65,208,44,106,40,2,0,32,6,32,13,65,2,116,106,40,2,0,115,32,14,32,1,115,34,9,65,20,116,32,9,65,12,118,114,34,14,106,32,5,106,34,3,115,34,9,65,24,116,32,9,65,8,118,114,34,13,32,1,106,33,9,32,14,32,9,115,34,1,65,25,116,32,1,65,7,118,114,33,14,32,2,32,20,32,4,65,4,116,65,168,194,0,106,45,0,0,34,1,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,167,194,0,106,45,0,0,34,5,65,2,116,106,40,2,0,115,32,2,106,32,12,106,34,2,115,34,17,65,16,116,32,17,65,16,118,114,34,17,32,8,106,34,8,115,34,12,65,20,116,32,12,65,12,118,114,34,12,32,17,32,5,65,2,116,65,208,44,106,40,2,0,32,6,32,1,65,2,116,106,40,2,0,115,32,12,106,32,2,106,34,12,115,34,1,65,24,116,32,1,65,8,118,114,34,2,32,8,106,34,8,115,34,1,65,25,116,32,1,65,7,118,114,33,17,32,10,32,7,32,4,65,4,116,65,164,194,0,106,45,0,0,34,1,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,163,194,0,106,45,0,0,34,5,65,2,116,106,40,2,0,115,32,10,106,32,19,106,34,10,115,34,19,65,16,116,32,19,65,16,118,114,34,19,32,15,106,34,15,115,34,20,65,20,116,32,20,65,12,118,114,34,20,32,19,32,5,65,2,116,65,208,44,106,40,2,0,32,6,32,1,65,2,116,106,40,2,0,115,32,20,106,32,10,106,34,19,115,34,1,65,24,116,32,1,65,8,118,114,34,5,32,15,106,34,15,115,34,1,65,25,116,32,1,65,7,118,114,33,10,32,11,32,21,32,4,65,4,116,65,166,194,0,106,45,0,0,34,1,65,2,116,65,208,44,106,40,2,0,32,6,32,4,65,4,116,65,165,194,0,106,45,0,0,34,20,65,2,116,106,40,2,0,115,32,11,106,32,16,106,34,11,115,34,16,65,16,116,32,16,65,16,118,114,34,16,32,18,106,34,18,115,34,7,65,20,116,32,7,65,12,118,114,34,7,32,16,32,20,65,2,116,65,208,44,106,40,2,0,32,6,32,1,65,2,116,106,40,2,0,115,32,7,106,32,11,106,34,16,115,34,1,65,24,116,32,1,65,8,118,114,34,1,32,18,106,34,18,115,34,11,65,25,116,32,11,65,7,118,114,33,11,32,4,65,1,106,34,4,65,14,71,13,0,11,32,0,65,4,106,34,4,40,2,0,32,16,115,32,9,115,33,9,32,0,65,8,106,34,16,40,2,0,32,12,115,32,15,115,33,15,32,0,65,12,106,34,12,40,2,0,32,3,115,32,18,115,33,18,32,0,65,16,106,34,3,40,2,0,32,14,115,32,1,115,33,1,32,0,65,20,106,34,14,40,2,0,32,10,115,32,2,115,33,2,32,0,65,24,106,34,10,40,2,0,32,11,115,32,13,115,33,13,32,0,65,28,106,34,11,40,2,0,32,17,115,32,5,115,33,5,32,0,32,0,40,2,0,32,19,115,32,8,115,32,23,40,2,0,34,0,115,54,2,0,32,4,32,9,32,24,40,2,0,34,8,115,54,2,0,32,16,32,15,32,25,40,2,0,34,9,115,54,2,0,32,12,32,18,32,26,40,2,0,34,15,115,54,2,0,32,3,32,1,32,0,115,54,2,0,32,14,32,2,32,8,115,54,2,0,32,10,32,13,32,9,115,54,2,0,32,11,32,5,32,15,115,54,2,0,32,22,36,6,11,11,159,130,128,128,0,1,5,127,2,64,65,192,0,32,0,65,56,106,34,6,40,2,0,65,3,117,34,3,107,33,4,32,3,4,64,32,2,66,3,136,66,63,131,32,4,173,90,4,64,32,0,65,192,0,106,32,3,106,32,1,32,4,16,80,26,32,0,65,48,106,34,5,40,2,0,65,128,4,106,33,3,32,5,32,3,54,2,0,32,3,69,4,64,32,0,65,52,106,34,3,32,3,40,2,0,65,1,106,54,2,0,11,32,0,32,0,65,192,0,106,16,33,32,1,32,4,106,33,1,65,0,33,3,32,2,32,4,65,3,116,172,125,33,2,11,5,65,0,33,3,11,32,2,66,255,3,86,4,64,32,0,65,48,106,33,4,32,0,65,52,106,33,5,3,64,32,4,32,4,40,2,0,65,128,4,106,34,7,54,2,0,32,7,69,4,64,32,5,32,5,40,2,0,65,1,106,54,2,0,11,32,0,32,1,16,33,32,1,65,192,0,106,33,1,32,2,66,128,124,124,34,2,66,255,3,86,13,0,11,11,32,2,66,0,81,4,64,32,6,65,0,54,2,0,15,11,32,0,65,192,0,106,32,3,106,32,1,32,2,66,3,136,167,16,80,26,32,6,32,3,65,3,116,173,32,2,124,62,2,0,11,11,254,133,128,128,0,1,7,127,2,64,35,6,33,6,35,6,65,16,106,36,6,32,6,65,1,106,34,10,32,2,58,0,0,32,6,34,2,32,3,58,0,0,32,6,65,8,106,34,5,32,0,40,2,56,34,4,32,0,65,48,106,34,3,40,2,0,34,8,106,34,7,32,4,73,32,0,40,2,52,106,34,9,65,24,118,58,0,0,32,5,32,9,65,16,118,58,0,1,32,5,32,9,65,8,118,58,0,2,32,5,32,9,58,0,3,32,5,32,7,65,24,118,58,0,4,32,5,32,7,65,16,118,58,0,5,32,5,32,7,65,8,118,58,0,6,32,5,32,7,58,0,7,32,4,65,184,3,70,4,64,32,3,32,8,65,120,106,54,2,0,32,0,32,10,66,8,16,34,32,3,40,2,0,33,2,5,32,4,65,184,3,72,4,64,32,4,69,4,64,32,0,65,1,54,2,60,11,32,3,32,8,65,184,3,32,4,107,34,4,107,54,2,0,32,0,65,251,195,0,32,4,172,16,34,5,32,3,32,8,65,128,4,32,4,107,34,4,107,54,2,0,32,0,65,251,195,0,32,4,172,16,34,32,3,32,3,40,2,0,65,200,124,106,54,2,0,32,0,65,252,195,0,66,184,3,16,34,32,0,65,1,54,2,60,11,32,0,32,2,66,8,16,34,32,3,32,3,40,2,0,65,120,106,34,2,54,2,0,11,32,3,32,2,65,64,106,54,2,0,32,0,32,5,66,192,0,16,34,32,1,32,0,40,2,0,65,24,118,58,0,0,32,1,32,0,40,2,0,65,16,118,58,0,1,32,1,32,0,40,2,0,65,8,118,58,0,2,32,1,32,0,40,2,0,58,0,3,32,1,32,0,65,4,106,34,2,40,2,0,65,24,118,58,0,4,32,1,32,2,40,2,0,65,16,118,58,0,5,32,1,32,2,40,2,0,65,8,118,58,0,6,32,1,32,2,40,2,0,58,0,7,32,1,32,0,65,8,106,34,2,40,2,0,65,24,118,58,0,8,32,1,32,2,40,2,0,65,16,118,58,0,9,32,1,32,2,40,2,0,65,8,118,58,0,10,32,1,32,2,40,2,0,58,0,11,32,1,32,0,65,12,106,34,2,40,2,0,65,24,118,58,0,12,32,1,32,2,40,2,0,65,16,118,58,0,13,32,1,32,2,40,2,0,65,8,118,58,0,14,32,1,32,2,40,2,0,58,0,15,32,1,32,0,65,16,106,34,2,40,2,0,65,24,118,58,0,16,32,1,32,2,40,2,0,65,16,118,58,0,17,32,1,32,2,40,2,0,65,8,118,58,0,18,32,1,32,2,40,2,0,58,0,19,32,1,32,0,65,20,106,34,2,40,2,0,65,24,118,58,0,20,32,1,32,2,40,2,0,65,16,118,58,0,21,32,1,32,2,40,2,0,65,8,118,58,0,22,32,1,32,2,40,2,0,58,0,23,32,1,32,0,65,24,106,34,2,40,2,0,65,24,118,58,0,24,32,1,32,2,40,2,0,65,16,118,58,0,25,32,1,32,2,40,2,0,65,8,118,58,0,26,32,1,32,2,40,2,0,58,0,27,32,1,32,0,65,28,106,34,0,40,2,0,65,24,118,58,0,28,32,1,32,0,40,2,0,65,16,118,58,0,29,32,1,32,0,40,2,0,65,8,118,58,0,30,32,1,32,0,40,2,0,58,0,31,32,6,36,6,11,11,168,129,128,128,0,1,3,127,2,64,35,6,33,5,35,6,65,128,1,106,36,6,32,5,34,3,65,231,204,167,208,6,54,2,0,32,3,65,133,221,158,219,123,54,2,4,32,3,65,242,230,187,227,3,54,2,8,32,3,65,186,234,191,170,122,54,2,12,32,3,65,255,164,185,136,5,54,2,16,32,3,65,140,209,149,216,121,54,2,20,32,3,65,171,179,143,252,1,54,2,24,32,3,65,153,154,131,223,5,54,2,28,32,3,65,32,106,34,4,66,0,55,2,0,32,4,66,0,55,2,8,32,4,66,0,55,2,16,32,4,66,0,55,2,24,32,3,32,1,32,2,66,3,134,16,34,32,3,32,0,65,129,127,65,1,16,35,32,5,36,6,11,11,161,140,128,128,0,1,11,127,2,64,35,6,33,10,35,6,65,208,2,106,36,6,32,10,34,3,66,0,55,2,0,32,3,66,0,55,2,8,32,3,66,0,55,2,16,32,3,66,0,55,2,24,32,3,66,0,55,2,32,32,3,66,0,55,2,40,32,3,66,0,55,2,48,32,3,65,0,54,2,56,32,3,65,60,106,34,12,65,128,128,4,54,2,0,32,3,65,136,1,106,34,5,65,0,54,2,0,32,3,65,192,0,106,34,9,65,0,54,2,0,32,3,65,196,0,106,34,7,65,0,54,2,0,32,3,65,140,1,106,34,8,65,0,54,2,0,32,3,32,0,32,1,66,3,136,167,34,6,16,38,32,6,65,192,0,109,65,6,116,34,4,32,6,72,4,64,3,64,32,0,32,4,106,44,0,0,33,11,32,5,32,5,40,2,0,34,13,65,1,106,54,2,0,32,3,65,200,0,106,32,13,106,32,11,58,0,0,32,4,65,1,106,34,4,32,6,72,13,0,32,6,33,4,11,11,32,1,167,65,7,113,34,6,4,64,32,8,32,6,54,2,0,32,0,32,4,106,44,0,0,33,0,32,5,32,5,40,2,0,34,4,65,1,106,54,2,0,32,3,65,200,0,106,32,4,106,32,0,58,0,0,11,32,8,40,2,0,34,0,4,64,32,3,32,5,40,2,0,106,65,199,0,106,34,4,32,4,45,0,0,65,1,32,0,116,65,127,106,65,8,32,0,107,116,113,58,0,0,32,3,32,5,40,2,0,106,65,199,0,106,34,0,32,0,45,0,0,65,1,65,7,32,8,40,2,0,107,116,115,58,0,0,32,8,65,0,54,2,0,5,32,5,32,5,40,2,0,34,0,65,1,106,54,2,0,32,3,65,200,0,106,32,0,106,65,128,127,58,0,0,11,2,64,2,64,32,5,40,2,0,34,0,65,56,74,4,64,32,0,65,192,0,72,4,64,3,64,32,5,32,0,65,1,106,54,2,0,32,3,65,200,0,106,32,0,106,65,0,58,0,0,32,5,40,2,0,34,0,65,192,0,72,13,0,11,11,32,3,32,3,65,200,0,106,65,192,0,16,38,32,5,65,0,54,2,0,65,0,33,0,12,1,5,32,0,65,56,71,13,1,11,12,1,11,3,64,32,5,32,0,65,1,106,54,2,0,32,3,65,200,0,106,32,0,106,65,0,58,0,0,32,5,40,2,0,34,0,65,56,72,13,0,11,11,32,9,32,9,40,2,0,65,1,106,34,0,54,2,0,32,0,69,4,64,32,7,32,7,40,2,0,65,1,106,54,2,0,11,32,5,65,192,0,54,2,0,65,192,0,33,4,3,64,32,5,32,4,65,127,106,34,4,54,2,0,32,3,65,200,0,106,32,4,106,32,0,58,0,0,32,0,65,8,118,33,0,32,5,40,2,0,34,4,65,60,74,13,0,11,32,9,32,0,54,2,0,32,4,65,56,74,4,64,32,7,40,2,0,33,0,3,64,32,5,32,4,65,127,106,34,4,54,2,0,32,3,65,200,0,106,32,4,106,32,0,58,0,0,32,0,65,8,118,33,0,32,5,40,2,0,34,4,65,56,74,13,0,11,32,7,32,0,54,2,0,11,32,3,32,3,65,200,0,106,65,192,0,16,38,32,10,65,144,2,106,34,0,32,3,41,2,0,55,2,0,32,0,32,3,41,2,8,55,2,8,32,0,32,3,41,2,16,55,2,16,32,0,32,3,41,2,24,55,2,24,32,0,32,3,41,2,32,55,2,32,32,0,32,3,41,2,40,55,2,40,32,0,32,3,41,2,48,55,2,48,32,0,32,3,41,2,56,55,2,56,32,0,32,10,65,208,1,106,34,4,65,0,16,39,32,4,32,10,65,144,1,106,34,6,65,1,16,39,32,6,32,4,65,2,16,39,32,4,32,6,65,3,16,39,32,6,32,4,65,4,16,39,32,4,32,6,65,5,16,39,32,6,32,4,65,6,16,39,32,4,32,6,65,7,16,39,32,6,32,4,65,8,16,39,32,4,32,0,65,9,16,39,32,3,32,3,40,2,0,32,0,40,2,0,115,54,2,0,32,3,65,4,106,34,4,32,4,40,2,0,32,0,40,2,4,115,54,2,0,32,3,65,8,106,34,4,32,4,40,2,0,32,0,40,2,8,115,54,2,0,32,3,65,12,106,34,4,32,4,40,2,0,32,0,40,2,12,115,54,2,0,32,3,65,16,106,34,4,32,4,40,2,0,32,0,40,2,16,115,54,2,0,32,3,65,20,106,34,4,32,4,40,2,0,32,0,40,2,20,115,54,2,0,32,3,65,24,106,34,4,32,4,40,2,0,32,0,40,2,24,115,54,2,0,32,3,65,28,106,34,4,32,4,40,2,0,32,0,40,2,28,115,54,2,0,32,3,65,32,106,34,6,40,2,0,32,0,40,2,32,115,33,4,32,6,32,4,54,2,0,32,3,65,36,106,34,5,40,2,0,32,0,40,2,36,115,33,6,32,5,32,6,54,2,0,32,3,65,40,106,34,7,40,2,0,32,0,40,2,40,115,33,5,32,7,32,5,54,2,0,32,3,65,44,106,34,8,40,2,0,32,0,40,2,44,115,33,7,32,8,32,7,54,2,0,32,3,65,48,106,34,9,40,2,0,32,0,40,2,48,115,33,8,32,9,32,8,54,2,0,32,3,65,52,106,34,9,32,9,40,2,0,32,0,40,2,52,115,54,2,0,32,3,65,56,106,34,11,32,11,40,2,0,32,0,40,2,56,115,54,2,0,32,12,32,12,40,2,0,32,0,40,2,60,115,54,2,0,32,2,32,4,58,0,0,32,2,32,4,65,8,118,58,0,1,32,2,32,4,65,16,118,58,0,2,32,2,32,4,65,24,118,58,0,3,32,2,32,6,58,0,4,32,2,32,6,65,8,118,58,0,5,32,2,32,6,65,16,118,58,0,6,32,2,32,6,65,24,118,58,0,7,32,2,32,5,58,0,8,32,2,32,5,65,8,118,58,0,9,32,2,32,5,65,16,118,58,0,10,32,2,32,5,65,24,118,58,0,11,32,2,32,7,58,0,12,32,2,32,7,65,8,118,58,0,13,32,2,32,7,65,16,118,58,0,14,32,2,32,7,65,24,118,58,0,15,32,2,32,8,58,0,16,32,2,32,3,44,0,49,58,0,17,32,2,32,3,44,0,50,58,0,18,32,2,32,3,44,0,51,58,0,19,32,2,32,9,44,0,0,58,0,20,32,2,32,3,44,0,53,58,0,21,32,2,32,3,44,0,54,58,0,22,32,2,32,3,44,0,55,58,0,23,32,2,32,11,44,0,0,58,0,24,32,2,32,3,44,0,57,58,0,25,32,2,32,3,44,0,58,58,0,26,32,2,32,3,44,0,59,58,0,27,32,2,32,12,44,0,0,58,0,28,32,2,32,3,44,0,61,58,0,29,32,2,32,3,44,0,62,58,0,30,32,2,32,3,44,0,63,58,0,31,32,10,36,6,11,11,163,135,128,128,0,1,39,127,2,64,35,6,33,7,35,6,65,128,2,106,36,6,32,2,65,63,76,4,64,32,7,36,6,15,11,32,7,65,128,1,106,33,8,32,7,65,192,0,106,33,4,32,7,33,3,32,0,65,4,106,33,11,32,7,65,192,1,106,34,5,65,4,106,33,12,32,0,65,8,106,33,13,32,5,65,8,106,33,14,32,0,65,12,106,33,15,32,5,65,12,106,33,16,32,0,65,16,106,33,17,32,5,65,16,106,33,18,32,0,65,20,106,33,19,32,5,65,20,106,33,20,32,0,65,24,106,33,21,32,5,65,24,106,33,22,32,0,65,28,106,33,23,32,5,65,28,106,33,24,32,0,65,32,106,33,25,32,5,65,32,106,33,26,32,0,65,36,106,33,27,32,5,65,36,106,33,28,32,0,65,40,106,33,29,32,5,65,40,106,33,30,32,0,65,44,106,33,31,32,5,65,44,106,33,32,32,0,65,48,106,33,33,32,5,65,48,106,33,34,32,0,65,52,106,33,35,32,5,65,52,106,33,36,32,0,65,56,106,33,37,32,5,65,56,106,33,38,32,0,65,60,106,33,39,32,5,65,60,106,33,40,32,0,65,192,0,106,33,9,32,0,65,196,0,106,33,10,3,64,32,3,32,1,41,2,0,55,2,0,32,3,32,1,41,2,8,55,2,8,32,3,32,1,41,2,16,55,2,16,32,3,32,1,41,2,24,55,2,24,32,3,32,1,41,2,32,55,2,32,32,3,32,1,41,2,40,55,2,40,32,3,32,1,41,2,48,55,2,48,32,3,32,1,41,2,56,55,2,56,32,5,32,0,40,2,0,32,1,40,2,0,115,54,2,0,32,12,32,11,40,2,0,32,1,40,2,4,115,54,2,0,32,14,32,13,40,2,0,32,1,40,2,8,115,54,2,0,32,16,32,15,40,2,0,32,1,40,2,12,115,54,2,0,32,18,32,17,40,2,0,32,1,40,2,16,115,54,2,0,32,20,32,19,40,2,0,32,1,40,2,20,115,54,2,0,32,22,32,21,40,2,0,32,1,40,2,24,115,54,2,0,32,24,32,23,40,2,0,32,1,40,2,28,115,54,2,0,32,26,32,25,40,2,0,32,1,40,2,32,115,54,2,0,32,28,32,27,40,2,0,32,1,40,2,36,115,54,2,0,32,30,32,29,40,2,0,32,1,40,2,40,115,54,2,0,32,32,32,31,40,2,0,32,1,40,2,44,115,54,2,0,32,34,32,33,40,2,0,32,1,40,2,48,115,54,2,0,32,36,32,35,40,2,0,32,1,40,2,52,115,54,2,0,32,38,32,37,40,2,0,32,1,40,2,56,115,54,2,0,32,40,32,39,40,2,0,32,1,40,2,60,115,54,2,0,32,3,32,4,65,0,16,40,32,4,32,3,65,128,128,128,8,16,40,32,3,32,4,65,128,128,128,16,16,40,32,4,32,3,65,128,128,128,24,16,40,32,3,32,4,65,128,128,128,32,16,40,32,4,32,3,65,128,128,128,40,16,40,32,3,32,4,65,128,128,128,48,16,40,32,4,32,3,65,128,128,128,56,16,40,32,3,32,4,65,128,128,128,192,0,16,40,32,4,32,8,65,128,128,128,200,0,16,40,32,5,32,4,65,0,16,39,32,4,32,3,65,1,16,39,32,3,32,4,65,2,16,39,32,4,32,3,65,3,16,39,32,3,32,4,65,4,16,39,32,4,32,3,65,5,16,39,32,3,32,4,65,6,16,39,32,4,32,3,65,7,16,39,32,3,32,4,65,8,16,39,32,4,32,5,65,9,16,39,65,0,33,6,3,64,32,0,32,6,65,2,116,106,34,41,32,8,32,6,65,2,116,106,40,2,0,32,5,32,6,65,2,116,106,40,2,0,115,32,41,40,2,0,115,54,2,0,32,6,65,1,106,34,6,65,16,71,13,0,11,32,9,32,9,40,2,0,65,1,106,34,6,54,2,0,32,6,69,4,64,32,10,32,10,40,2,0,65,1,106,54,2,0,11,32,1,65,192,0,106,33,1,32,2,65,64,106,34,2,65,63,74,13,0,11,32,7,36,6,11,11,220,157,128,128,0,1,21,127,2,64,32,0,32,0,40,2,0,32,2,115,34,4,54,2,0,32,2,65,16,115,32,0,65,8,106,34,11,40,2,0,115,33,7,32,11,32,7,54,2,0,32,2,65,32,115,32,0,65,16,106,34,12,40,2,0,115,33,8,32,12,32,8,54,2,0,32,2,65,48,115,32,0,65,24,106,34,14,40,2,0,115,33,3,32,14,32,3,54,2,0,32,0,65,32,106,34,15,32,2,65,192,0,115,32,15,40,2,0,115,54,2,0,32,0,65,40,106,34,17,32,2,65,208,0,115,32,17,40,2,0,115,54,2,0,32,0,65,48,106,34,19,32,2,65,224,0,115,32,19,40,2,0,115,54,2,0,32,0,65,56,106,34,21,32,2,65,240,0,115,32,21,40,2,0,115,54,2,0,32,7,65,7,118,65,254,3,113,34,9,65,2,116,65,144,45,106,40,2,0,33,2,32,8,65,15,118,65,254,3,113,34,10,65,2,116,65,144,45,106,40,2,0,33,7,32,3,65,24,118,65,1,116,34,13,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,45,65,1,116,34,16,65,2,116,65,144,45,106,40,2,0,33,3,32,0,45,0,54,65,1,116,34,18,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,63,65,1,116,34,20,65,2,116,65,144,45,106,40,2,0,33,5,32,9,65,1,114,65,2,116,65,144,45,106,40,2,0,34,9,65,8,116,32,2,65,24,118,114,32,4,65,1,116,65,254,3,113,34,4,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,16,116,32,7,65,16,118,114,115,32,13,65,1,114,65,2,116,65,144,45,106,40,2,0,34,13,65,24,116,32,8,65,8,118,114,115,32,0,45,0,36,65,1,116,34,22,65,2,116,65,144,45,106,40,2,0,115,32,16,65,1,114,65,2,116,65,144,45,106,40,2,0,34,16,65,24,118,32,3,65,8,116,114,115,32,18,65,1,114,65,2,116,65,144,45,106,40,2,0,34,18,65,16,118,32,6,65,16,116,114,115,32,20,65,1,114,65,2,116,65,144,45,106,40,2,0,34,20,65,8,118,32,5,65,24,116,114,115,33,23,32,1,32,9,65,24,118,32,2,65,8,116,114,32,4,65,2,116,65,144,45,106,40,2,0,115,32,10,65,16,118,32,7,65,16,116,114,115,32,13,65,8,118,32,8,65,24,116,114,115,32,22,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,16,65,8,116,32,3,65,24,118,114,115,32,18,65,16,116,32,6,65,16,118,114,115,32,20,65,24,116,32,5,65,8,118,114,115,54,2,0,32,1,32,23,54,2,4,32,0,45,0,17,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,26,65,1,116,34,9,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,35,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,53,65,1,116,34,13,65,2,116,65,144,45,106,40,2,0,33,3,32,0,45,0,62,65,1,116,34,16,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,7,65,1,116,34,18,65,2,116,65,144,45,106,40,2,0,33,5,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,8,116,32,2,65,24,118,114,32,11,45,0,0,65,1,116,34,11,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,9,65,1,114,65,2,116,65,144,45,106,40,2,0,34,9,65,16,116,32,7,65,16,118,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,24,116,32,8,65,8,118,114,115,32,0,45,0,44,65,1,116,34,20,65,2,116,65,144,45,106,40,2,0,115,32,13,65,1,114,65,2,116,65,144,45,106,40,2,0,34,13,65,24,118,32,3,65,8,116,114,115,32,16,65,1,114,65,2,116,65,144,45,106,40,2,0,34,16,65,16,118,32,6,65,16,116,114,115,32,18,65,1,114,65,2,116,65,144,45,106,40,2,0,34,18,65,8,118,32,5,65,24,116,114,115,33,22,32,1,32,4,65,24,118,32,2,65,8,116,114,32,11,65,2,116,65,144,45,106,40,2,0,115,32,9,65,16,118,32,7,65,16,116,114,115,32,10,65,8,118,32,8,65,24,116,114,115,32,20,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,13,65,8,116,32,3,65,24,118,114,115,32,16,65,16,116,32,6,65,16,118,114,115,32,18,65,24,116,32,5,65,8,118,114,115,54,2,8,32,1,32,22,54,2,12,32,0,45,0,25,65,1,116,34,5,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,34,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,11,32,0,45,0,43,65,1,116,34,9,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,61,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,6,65,1,116,34,13,65,2,116,65,144,45,106,40,2,0,33,3,32,0,45,0,15,65,1,116,34,16,65,2,116,65,144,45,106,40,2,0,33,6,32,5,65,1,114,65,2,116,65,144,45,106,40,2,0,34,5,65,8,116,32,2,65,24,118,114,32,12,45,0,0,65,1,116,34,12,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,16,116,32,11,65,16,118,114,115,32,9,65,1,114,65,2,116,65,144,45,106,40,2,0,34,9,65,24,116,32,7,65,8,118,114,115,32,0,45,0,52,65,1,116,34,18,65,2,116,65,144,45,106,40,2,0,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,24,118,32,8,65,8,116,114,115,32,13,65,1,114,65,2,116,65,144,45,106,40,2,0,34,13,65,16,118,32,3,65,16,116,114,115,32,16,65,1,114,65,2,116,65,144,45,106,40,2,0,34,16,65,8,118,32,6,65,24,116,114,115,33,20,32,1,32,5,65,24,118,32,2,65,8,116,114,32,12,65,2,116,65,144,45,106,40,2,0,115,32,4,65,16,118,32,11,65,16,116,114,115,32,9,65,8,118,32,7,65,24,116,114,115,32,18,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,10,65,8,116,32,8,65,24,118,114,115,32,13,65,16,116,32,3,65,16,118,114,115,32,16,65,24,116,32,6,65,8,118,114,115,54,2,16,32,1,32,20,54,2,20,32,0,45,0,33,65,1,116,34,6,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,42,65,1,116,34,5,65,2,116,65,144,45,106,40,2,0,33,11,32,0,45,0,51,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,5,65,1,116,34,9,65,2,116,65,144,45,106,40,2,0,33,12,32,0,45,0,14,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,23,65,1,116,34,13,65,2,116,65,144,45,106,40,2,0,33,3,32,6,65,1,114,65,2,116,65,144,45,106,40,2,0,34,6,65,8,116,32,2,65,24,118,114,32,14,45,0,0,65,1,116,34,14,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,5,65,1,114,65,2,116,65,144,45,106,40,2,0,34,5,65,16,116,32,11,65,16,118,114,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,24,116,32,7,65,8,118,114,115,32,0,45,0,60,65,1,116,34,16,65,2,116,65,144,45,106,40,2,0,115,32,9,65,1,114,65,2,116,65,144,45,106,40,2,0,34,9,65,24,118,32,12,65,8,116,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,16,118,32,8,65,16,116,114,115,32,13,65,1,114,65,2,116,65,144,45,106,40,2,0,34,13,65,8,118,32,3,65,24,116,114,115,33,18,32,1,32,6,65,24,118,32,2,65,8,116,114,32,14,65,2,116,65,144,45,106,40,2,0,115,32,5,65,16,118,32,11,65,16,116,114,115,32,4,65,8,118,32,7,65,24,116,114,115,32,16,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,9,65,8,116,32,12,65,24,118,114,115,32,10,65,16,116,32,8,65,16,118,114,115,32,13,65,24,116,32,3,65,8,118,114,115,54,2,24,32,1,32,18,54,2,28,32,0,45,0,41,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,50,65,1,116,34,6,65,2,116,65,144,45,106,40,2,0,33,11,32,0,45,0,59,65,1,116,34,5,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,13,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,12,32,0,45,0,22,65,1,116,34,9,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,31,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,14,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,8,116,32,2,65,24,118,114,32,15,45,0,0,65,1,116,34,15,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,6,65,1,114,65,2,116,65,144,45,106,40,2,0,34,6,65,16,116,32,11,65,16,118,114,115,32,5,65,1,114,65,2,116,65,144,45,106,40,2,0,34,5,65,24,116,32,7,65,8,118,114,115,32,0,45,0,4,65,1,116,34,13,65,2,116,65,144,45,106,40,2,0,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,24,118,32,12,65,8,116,114,115,32,9,65,1,114,65,2,116,65,144,45,106,40,2,0,34,9,65,16,118,32,8,65,16,116,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,8,118,32,14,65,24,116,114,115,33,16,32,1,32,3,65,24,118,32,2,65,8,116,114,32,15,65,2,116,65,144,45,106,40,2,0,115,32,6,65,16,118,32,11,65,16,116,114,115,32,5,65,8,118,32,7,65,24,116,114,115,32,13,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,4,65,8,116,32,12,65,24,118,114,115,32,9,65,16,116,32,8,65,16,118,114,115,32,10,65,24,116,32,14,65,8,118,114,115,54,2,32,32,1,32,16,54,2,36,32,0,45,0,49,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,58,65,1,116,34,15,65,2,116,65,144,45,106,40,2,0,33,11,32,0,45,0,3,65,1,116,34,6,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,21,65,1,116,34,5,65,2,116,65,144,45,106,40,2,0,33,12,32,0,45,0,30,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,39,65,1,116,34,9,65,2,116,65,144,45,106,40,2,0,33,14,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,8,116,32,2,65,24,118,114,32,17,45,0,0,65,1,116,34,17,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,15,65,1,114,65,2,116,65,144,45,106,40,2,0,34,15,65,16,116,32,11,65,16,118,114,115,32,6,65,1,114,65,2,116,65,144,45,106,40,2,0,34,6,65,24,116,32,7,65,8,118,114,115,32,0,45,0,12,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,115,32,5,65,1,114,65,2,116,65,144,45,106,40,2,0,34,5,65,24,118,32,12,65,8,116,114,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,16,118,32,8,65,16,116,114,115,32,9,65,1,114,65,2,116,65,144,45,106,40,2,0,34,9,65,8,118,32,14,65,24,116,114,115,33,13,32,1,32,3,65,24,118,32,2,65,8,116,114,32,17,65,2,116,65,144,45,106,40,2,0,115,32,15,65,16,118,32,11,65,16,116,114,115,32,6,65,8,118,32,7,65,24,116,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,5,65,8,116,32,12,65,24,118,114,115,32,4,65,16,116,32,8,65,16,118,114,115,32,9,65,24,116,32,14,65,8,118,114,115,54,2,40,32,1,32,13,54,2,44,32,0,45,0,57,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,2,65,1,116,34,15,65,2,116,65,144,45,106,40,2,0,33,11,32,0,45,0,11,65,1,116,34,17,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,29,65,1,116,34,6,65,2,116,65,144,45,106,40,2,0,33,12,32,0,45,0,38,65,1,116,34,5,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,47,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,14,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,8,116,32,2,65,24,118,114,32,19,45,0,0,65,1,116,34,19,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,15,65,1,114,65,2,116,65,144,45,106,40,2,0,34,15,65,16,116,32,11,65,16,118,114,115,32,17,65,1,114,65,2,116,65,144,45,106,40,2,0,34,17,65,24,116,32,7,65,8,118,114,115,32,0,45,0,20,65,1,116,34,9,65,2,116,65,144,45,106,40,2,0,115,32,6,65,1,114,65,2,116,65,144,45,106,40,2,0,34,6,65,24,118,32,12,65,8,116,114,115,32,5,65,1,114,65,2,116,65,144,45,106,40,2,0,34,5,65,16,118,32,8,65,16,116,114,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,8,118,32,14,65,24,116,114,115,33,10,32,1,32,3,65,24,118,32,2,65,8,116,114,32,19,65,2,116,65,144,45,106,40,2,0,115,32,15,65,16,118,32,11,65,16,116,114,115,32,17,65,8,118,32,7,65,24,116,114,115,32,9,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,6,65,8,116,32,12,65,24,118,114,115,32,5,65,16,116,32,8,65,16,118,114,115,32,4,65,24,116,32,14,65,8,118,114,115,54,2,48,32,1,32,10,54,2,52,32,0,45,0,1,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,10,65,1,116,34,15,65,2,116,65,144,45,106,40,2,0,33,11,32,0,45,0,19,65,1,116,34,17,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,37,65,1,116,34,19,65,2,116,65,144,45,106,40,2,0,33,12,32,0,45,0,46,65,1,116,34,6,65,2,116,65,144,45,106,40,2,0,33,8,32,0,45,0,55,65,1,116,34,5,65,2,116,65,144,45,106,40,2,0,33,14,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,8,116,32,2,65,24,118,114,32,21,45,0,0,65,1,116,34,21,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,15,65,1,114,65,2,116,65,144,45,106,40,2,0,34,15,65,16,116,32,11,65,16,118,114,115,32,17,65,1,114,65,2,116,65,144,45,106,40,2,0,34,17,65,24,116,32,7,65,8,118,114,115,32,0,45,0,28,65,1,116,34,0,65,2,116,65,144,45,106,40,2,0,115,32,19,65,1,114,65,2,116,65,144,45,106,40,2,0,34,19,65,24,118,32,12,65,8,116,114,115,32,6,65,1,114,65,2,116,65,144,45,106,40,2,0,34,6,65,16,118,32,8,65,16,116,114,115,32,5,65,1,114,65,2,116,65,144,45,106,40,2,0,34,5,65,8,118,32,14,65,24,116,114,115,33,4,32,1,32,3,65,24,118,32,2,65,8,116,114,32,21,65,2,116,65,144,45,106,40,2,0,115,32,15,65,16,118,32,11,65,16,116,114,115,32,17,65,8,118,32,7,65,24,116,114,115,32,0,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,19,65,8,116,32,12,65,24,118,114,115,32,6,65,16,116,32,8,65,16,118,114,115,32,5,65,24,116,32,14,65,8,118,114,115,54,2,56,32,1,32,4,54,2,60,11,11,137,159,128,128,0,1,27,127,2,64,32,0,32,0,40,2,0,65,127,115,54,2,0,32,0,65,4,106,34,5,32,5,40,2,0,32,2,65,127,115,115,54,2,0,32,0,65,8,106,34,7,40,2,0,65,127,115,33,6,32,7,32,6,54,2,0,32,0,65,12,106,34,7,32,2,65,255,255,255,255,126,115,32,7,40,2,0,115,54,2,0,32,0,65,16,106,34,9,32,9,40,2,0,65,127,115,54,2,0,32,0,65,20,106,34,13,32,2,65,255,255,255,255,125,115,32,13,40,2,0,115,54,2,0,32,0,65,24,106,34,8,40,2,0,65,127,115,33,3,32,8,32,3,54,2,0,32,0,65,28,106,34,10,32,2,65,255,255,255,255,124,115,32,10,40,2,0,115,54,2,0,32,0,65,32,106,34,11,32,11,40,2,0,65,127,115,54,2,0,32,0,65,36,106,34,14,32,2,65,255,255,255,255,123,115,32,14,40,2,0,115,54,2,0,32,0,65,40,106,34,15,40,2,0,65,127,115,33,4,32,15,32,4,54,2,0,32,0,65,44,106,34,21,32,2,65,255,255,255,255,122,115,32,21,40,2,0,115,54,2,0,32,0,65,48,106,34,23,32,23,40,2,0,65,127,115,54,2,0,32,0,65,52,106,34,26,32,2,65,255,255,255,255,121,115,32,26,40,2,0,115,54,2,0,32,0,65,56,106,34,27,40,2,0,65,127,115,33,12,32,27,32,12,54,2,0,32,0,65,60,106,34,28,32,2,65,255,255,255,255,120,115,32,28,40,2,0,115,54,2,0,32,3,65,7,118,65,254,3,113,34,18,65,2,116,65,144,45,106,40,2,0,33,2,32,4,65,15,118,65,254,3,113,34,19,65,2,116,65,144,45,106,40,2,0,33,3,32,12,65,24,118,65,1,116,34,20,65,2,116,65,144,45,106,40,2,0,33,4,32,0,45,0,21,65,1,116,34,22,65,2,116,65,144,45,106,40,2,0,33,12,32,0,45,0,38,65,1,116,34,24,65,2,116,65,144,45,106,40,2,0,33,16,32,0,45,0,55,65,1,116,34,25,65,2,116,65,144,45,106,40,2,0,33,17,32,18,65,1,114,65,2,116,65,144,45,106,40,2,0,34,18,65,8,116,32,2,65,24,118,114,32,6,65,1,116,65,254,3,113,34,6,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,19,65,1,114,65,2,116,65,144,45,106,40,2,0,34,19,65,16,116,32,3,65,16,118,114,115,32,20,65,1,114,65,2,116,65,144,45,106,40,2,0,34,20,65,24,116,32,4,65,8,118,114,115,32,5,45,0,0,65,1,116,34,5,65,2,116,65,144,45,106,40,2,0,115,32,22,65,1,114,65,2,116,65,144,45,106,40,2,0,34,22,65,24,118,32,12,65,8,116,114,115,32,24,65,1,114,65,2,116,65,144,45,106,40,2,0,34,24,65,16,118,32,16,65,16,116,114,115,32,25,65,1,114,65,2,116,65,144,45,106,40,2,0,34,25,65,8,118,32,17,65,24,116,114,115,33,29,32,1,32,18,65,24,118,32,2,65,8,116,114,32,6,65,2,116,65,144,45,106,40,2,0,115,32,19,65,16,118,32,3,65,16,116,114,115,32,20,65,8,118,32,4,65,24,116,114,115,32,5,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,22,65,8,116,32,12,65,24,118,114,115,32,24,65,16,116,32,16,65,16,118,114,115,32,25,65,24,116,32,17,65,8,118,114,115,54,2,0,32,1,32,29,54,2,4,32,0,45,0,33,65,1,116,34,16,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,50,65,1,116,34,17,65,2,116,65,144,45,106,40,2,0,33,5,32,0,45,0,3,65,1,116,34,18,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,29,65,1,116,34,19,65,2,116,65,144,45,106,40,2,0,33,3,32,0,45,0,46,65,1,116,34,20,65,2,116,65,144,45,106,40,2,0,33,4,32,0,45,0,63,65,1,116,34,22,65,2,116,65,144,45,106,40,2,0,33,12,32,16,65,1,114,65,2,116,65,144,45,106,40,2,0,34,16,65,8,116,32,2,65,24,118,114,32,9,45,0,0,65,1,116,34,9,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,17,65,1,114,65,2,116,65,144,45,106,40,2,0,34,17,65,16,116,32,5,65,16,118,114,115,32,18,65,1,114,65,2,116,65,144,45,106,40,2,0,34,18,65,24,116,32,6,65,8,118,114,115,32,7,45,0,0,65,1,116,34,7,65,2,116,65,144,45,106,40,2,0,115,32,19,65,1,114,65,2,116,65,144,45,106,40,2,0,34,19,65,24,118,32,3,65,8,116,114,115,32,20,65,1,114,65,2,116,65,144,45,106,40,2,0,34,20,65,16,118,32,4,65,16,116,114,115,32,22,65,1,114,65,2,116,65,144,45,106,40,2,0,34,22,65,8,118,32,12,65,24,116,114,115,33,24,32,1,32,16,65,24,118,32,2,65,8,116,114,32,9,65,2,116,65,144,45,106,40,2,0,115,32,17,65,16,118,32,5,65,16,116,114,115,32,18,65,8,118,32,6,65,24,116,114,115,32,7,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,19,65,8,116,32,3,65,24,118,114,115,32,20,65,16,116,32,4,65,16,118,114,115,32,22,65,24,116,32,12,65,8,118,114,115,54,2,8,32,1,32,24,54,2,12,32,0,45,0,41,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,58,65,1,116,34,12,65,2,116,65,144,45,106,40,2,0,33,5,32,0,45,0,11,65,1,116,34,16,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,37,65,1,116,34,17,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,54,65,1,116,34,18,65,2,116,65,144,45,106,40,2,0,33,9,32,0,45,0,7,65,1,116,34,19,65,2,116,65,144,45,106,40,2,0,33,3,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,8,116,32,2,65,24,118,114,32,8,45,0,0,65,1,116,34,8,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,12,65,1,114,65,2,116,65,144,45,106,40,2,0,34,12,65,16,116,32,5,65,16,118,114,115,32,16,65,1,114,65,2,116,65,144,45,106,40,2,0,34,16,65,24,116,32,6,65,8,118,114,115,32,13,45,0,0,65,1,116,34,13,65,2,116,65,144,45,106,40,2,0,115,32,17,65,1,114,65,2,116,65,144,45,106,40,2,0,34,17,65,24,118,32,7,65,8,116,114,115,32,18,65,1,114,65,2,116,65,144,45,106,40,2,0,34,18,65,16,118,32,9,65,16,116,114,115,32,19,65,1,114,65,2,116,65,144,45,106,40,2,0,34,19,65,8,118,32,3,65,24,116,114,115,33,20,32,1,32,4,65,24,118,32,2,65,8,116,114,32,8,65,2,116,65,144,45,106,40,2,0,115,32,12,65,16,118,32,5,65,16,116,114,115,32,16,65,8,118,32,6,65,24,116,114,115,32,13,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,17,65,8,116,32,7,65,24,118,114,115,32,18,65,16,116,32,9,65,16,118,114,115,32,19,65,24,116,32,3,65,8,118,114,115,54,2,16,32,1,32,20,54,2,20,32,0,45,0,49,65,1,116,34,8,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,2,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,5,32,0,45,0,19,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,45,65,1,116,34,12,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,62,65,1,116,34,16,65,2,116,65,144,45,106,40,2,0,33,9,32,0,45,0,15,65,1,116,34,17,65,2,116,65,144,45,106,40,2,0,33,13,32,8,65,1,114,65,2,116,65,144,45,106,40,2,0,34,8,65,8,116,32,2,65,24,118,114,32,11,45,0,0,65,1,116,34,11,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,16,116,32,5,65,16,118,114,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,24,116,32,6,65,8,118,114,115,32,10,45,0,0,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,115,32,12,65,1,114,65,2,116,65,144,45,106,40,2,0,34,12,65,24,118,32,7,65,8,116,114,115,32,16,65,1,114,65,2,116,65,144,45,106,40,2,0,34,16,65,16,118,32,9,65,16,116,114,115,32,17,65,1,114,65,2,116,65,144,45,106,40,2,0,34,17,65,8,118,32,13,65,24,116,114,115,33,18,32,1,32,8,65,24,118,32,2,65,8,116,114,32,11,65,2,116,65,144,45,106,40,2,0,115,32,3,65,16,118,32,5,65,16,116,114,115,32,4,65,8,118,32,6,65,24,116,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,12,65,8,116,32,7,65,24,118,114,115,32,16,65,16,116,32,9,65,16,118,114,115,32,17,65,24,116,32,13,65,8,118,114,115,54,2,24,32,1,32,18,54,2,28,32,0,45,0,57,65,1,116,34,8,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,10,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,5,32,0,45,0,27,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,53,65,1,116,34,11,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,6,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,33,9,32,0,45,0,23,65,1,116,34,12,65,2,116,65,144,45,106,40,2,0,33,13,32,8,65,1,114,65,2,116,65,144,45,106,40,2,0,34,8,65,8,116,32,2,65,24,118,114,32,15,45,0,0,65,1,116,34,15,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,16,116,32,5,65,16,118,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,24,116,32,6,65,8,118,114,115,32,14,45,0,0,65,1,116,34,14,65,2,116,65,144,45,106,40,2,0,115,32,11,65,1,114,65,2,116,65,144,45,106,40,2,0,34,11,65,24,118,32,7,65,8,116,114,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,34,4,65,16,118,32,9,65,16,116,114,115,32,12,65,1,114,65,2,116,65,144,45,106,40,2,0,34,12,65,8,118,32,13,65,24,116,114,115,33,16,32,1,32,8,65,24,118,32,2,65,8,116,114,32,15,65,2,116,65,144,45,106,40,2,0,115,32,3,65,16,118,32,5,65,16,116,114,115,32,10,65,8,118,32,6,65,24,116,114,115,32,14,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,11,65,8,116,32,7,65,24,118,114,115,32,4,65,16,116,32,9,65,16,118,114,115,32,12,65,24,116,32,13,65,8,118,114,115,54,2,32,32,1,32,16,54,2,36,32,0,45,0,1,65,1,116,34,8,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,18,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,5,32,0,45,0,35,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,61,65,1,116,34,11,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,14,65,1,116,34,14,65,2,116,65,144,45,106,40,2,0,33,9,32,0,45,0,31,65,1,116,34,15,65,2,116,65,144,45,106,40,2,0,33,13,32,8,65,1,114,65,2,116,65,144,45,106,40,2,0,34,8,65,8,116,32,2,65,24,118,114,32,23,45,0,0,65,1,116,34,4,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,16,116,32,5,65,16,118,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,24,116,32,6,65,8,118,114,115,32,21,45,0,0,65,1,116,34,21,65,2,116,65,144,45,106,40,2,0,115,32,11,65,1,114,65,2,116,65,144,45,106,40,2,0,34,11,65,24,118,32,7,65,8,116,114,115,32,14,65,1,114,65,2,116,65,144,45,106,40,2,0,34,14,65,16,118,32,9,65,16,116,114,115,32,15,65,1,114,65,2,116,65,144,45,106,40,2,0,34,15,65,8,118,32,13,65,24,116,114,115,33,23,32,1,32,8,65,24,118,32,2,65,8,116,114,32,4,65,2,116,65,144,45,106,40,2,0,115,32,3,65,16,118,32,5,65,16,116,114,115,32,10,65,8,118,32,6,65,24,116,114,115,32,21,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,11,65,8,116,32,7,65,24,118,114,115,32,14,65,16,116,32,9,65,16,118,114,115,32,15,65,24,116,32,13,65,8,118,114,115,54,2,40,32,1,32,23,54,2,44,32,0,45,0,9,65,1,116,34,8,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,26,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,5,32,0,45,0,43,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,5,65,1,116,34,11,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,22,65,1,116,34,14,65,2,116,65,144,45,106,40,2,0,33,9,32,0,45,0,39,65,1,116,34,15,65,2,116,65,144,45,106,40,2,0,33,13,32,8,65,1,114,65,2,116,65,144,45,106,40,2,0,34,8,65,8,116,32,2,65,24,118,114,32,27,45,0,0,65,1,116,34,4,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,16,116,32,5,65,16,118,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,24,116,32,6,65,8,118,114,115,32,26,45,0,0,65,1,116,34,21,65,2,116,65,144,45,106,40,2,0,115,32,11,65,1,114,65,2,116,65,144,45,106,40,2,0,34,11,65,24,118,32,7,65,8,116,114,115,32,14,65,1,114,65,2,116,65,144,45,106,40,2,0,34,14,65,16,118,32,9,65,16,116,114,115,32,15,65,1,114,65,2,116,65,144,45,106,40,2,0,34,15,65,8,118,32,13,65,24,116,114,115,33,23,32,1,32,8,65,24,118,32,2,65,8,116,114,32,4,65,2,116,65,144,45,106,40,2,0,115,32,3,65,16,118,32,5,65,16,116,114,115,32,10,65,8,118,32,6,65,24,116,114,115,32,21,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,11,65,8,116,32,7,65,24,118,114,115,32,14,65,16,116,32,9,65,16,118,114,115,32,15,65,24,116,32,13,65,8,118,114,115,54,2,48,32,1,32,23,54,2,52,32,0,45,0,17,65,1,116,34,8,65,2,116,65,144,45,106,40,2,0,33,2,32,0,45,0,34,65,1,116,34,3,65,2,116,65,144,45,106,40,2,0,33,5,32,0,45,0,51,65,1,116,34,10,65,2,116,65,144,45,106,40,2,0,33,6,32,0,45,0,13,65,1,116,34,11,65,2,116,65,144,45,106,40,2,0,33,7,32,0,45,0,30,65,1,116,34,14,65,2,116,65,144,45,106,40,2,0,33,9,32,0,45,0,47,65,1,116,34,15,65,2,116,65,144,45,106,40,2,0,33,13,32,8,65,1,114,65,2,116,65,144,45,106,40,2,0,34,8,65,8,116,32,2,65,24,118,114,32,0,45,0,0,65,1,116,34,0,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,3,65,1,114,65,2,116,65,144,45,106,40,2,0,34,3,65,16,116,32,5,65,16,118,114,115,32,10,65,1,114,65,2,116,65,144,45,106,40,2,0,34,10,65,24,116,32,6,65,8,118,114,115,32,28,45,0,0,65,1,116,34,4,65,2,116,65,144,45,106,40,2,0,115,32,11,65,1,114,65,2,116,65,144,45,106,40,2,0,34,11,65,24,118,32,7,65,8,116,114,115,32,14,65,1,114,65,2,116,65,144,45,106,40,2,0,34,14,65,16,118,32,9,65,16,116,114,115,32,15,65,1,114,65,2,116,65,144,45,106,40,2,0,34,15,65,8,118,32,13,65,24,116,114,115,33,21,32,1,32,8,65,24,118,32,2,65,8,116,114,32,0,65,2,116,65,144,45,106,40,2,0,115,32,3,65,16,118,32,5,65,16,116,114,115,32,10,65,8,118,32,6,65,24,116,114,115,32,4,65,1,114,65,2,116,65,144,45,106,40,2,0,115,32,11,65,8,116,32,7,65,24,118,114,115,32,14,65,16,116,32,9,65,16,118,114,115,32,15,65,24,116,32,13,65,8,118,114,115,54,2,56,32,1,32,21,54,2,60,11,11,149,143,128,128,0,2,5,127,1,126,2,127,35,6,33,6,35,6,65,224,1,106,36,6,32,6,33,4,2,64,2,64,2,64,32,0,65,160,126,106,34,5,65,5,118,32,5,65,27,116,114,34,5,14,10,0,0,1,1,1,0,1,1,1,0,1,11,12,1,11,32,6,36,6,65,2,15,11,32,4,65,8,106,34,7,66,0,55,3,0,32,7,66,0,55,3,8,32,4,32,0,54,2,0,2,64,2,64,2,64,2,64,2,64,32,5,14,10,0,1,4,4,4,2,4,4,4,3,4,11,32,4,65,32,106,34,0,65,187,196,0,41,0,0,55,0,0,32,0,65,195,196,0,41,0,0,55,0,8,32,0,65,203,196,0,41,0,0,55,0,16,32,0,65,211,196,0,41,0,0,55,0,24,32,0,65,219,196,0,41,0,0,55,0,32,32,0,65,227,196,0,41,0,0,55,0,40,32,0,65,235,196,0,41,0,0,55,0,48,32,0,65,243,196,0,41,0,0,55,0,56,32,0,65,251,196,0,41,0,0,55,0,64,32,0,65,131,197,0,41,0,0,55,0,72,32,0,65,139,197,0,41,0,0,55,0,80,32,0,65,147,197,0,41,0,0,55,0,88,32,0,65,155,197,0,41,0,0,55,0,96,32,0,65,163,197,0,41,0,0,55,0,104,32,0,65,171,197,0,41,0,0,55,0,112,32,0,65,179,197,0,41,0,0,55,0,120,12,3,11,32,4,65,32,106,34,0,65,187,197,0,41,0,0,55,0,0,32,0,65,195,197,0,41,0,0,55,0,8,32,0,65,203,197,0,41,0,0,55,0,16,32,0,65,211,197,0,41,0,0,55,0,24,32,0,65,219,197,0,41,0,0,55,0,32,32,0,65,227,197,0,41,0,0,55,0,40,32,0,65,235,197,0,41,0,0,55,0,48,32,0,65,243,197,0,41,0,0,55,0,56,32,0,65,251,197,0,41,0,0,55,0,64,32,0,65,131,198,0,41,0,0,55,0,72,32,0,65,139,198,0,41,0,0,55,0,80,32,0,65,147,198,0,41,0,0,55,0,88,32,0,65,155,198,0,41,0,0,55,0,96,32,0,65,163,198,0,41,0,0,55,0,104,32,0,65,171,198,0,41,0,0,55,0,112,32,0,65,179,198,0,41,0,0,55,0,120,12,2,11,32,4,65,32,106,34,0,65,187,198,0,41,0,0,55,0,0,32,0,65,195,198,0,41,0,0,55,0,8,32,0,65,203,198,0,41,0,0,55,0,16,32,0,65,211,198,0,41,0,0,55,0,24,32,0,65,219,198,0,41,0,0,55,0,32,32,0,65,227,198,0,41,0,0,55,0,40,32,0,65,235,198,0,41,0,0,55,0,48,32,0,65,243,198,0,41,0,0,55,0,56,32,0,65,251,198,0,41,0,0,55,0,64,32,0,65,131,199,0,41,0,0,55,0,72,32,0,65,139,199,0,41,0,0,55,0,80,32,0,65,147,199,0,41,0,0,55,0,88,32,0,65,155,199,0,41,0,0,55,0,96,32,0,65,163,199,0,41,0,0,55,0,104,32,0,65,171,199,0,41,0,0,55,0,112,32,0,65,179,199,0,41,0,0,55,0,120,12,1,11,32,4,65,32,106,34,0,65,187,199,0,41,0,0,55,0,0,32,0,65,195,199,0,41,0,0,55,0,8,32,0,65,203,199,0,41,0,0,55,0,16,32,0,65,211,199,0,41,0,0,55,0,24,32,0,65,219,199,0,41,0,0,55,0,32,32,0,65,227,199,0,41,0,0,55,0,40,32,0,65,235,199,0,41,0,0,55,0,48,32,0,65,243,199,0,41,0,0,55,0,56,32,0,65,251,199,0,41,0,0,55,0,64,32,0,65,131,200,0,41,0,0,55,0,72,32,0,65,139,200,0,41,0,0,55,0,80,32,0,65,147,200,0,41,0,0,55,0,88,32,0,65,155,200,0,41,0,0,55,0,96,32,0,65,163,200,0,41,0,0,55,0,104,32,0,65,171,200,0,41,0,0,55,0,112,32,0,65,179,200,0,41,0,0,55,0,120,11,32,7,32,2,55,3,0,32,2,66,255,3,86,4,127,32,4,65,160,1,106,33,0,66,0,33,9,3,64,32,0,32,1,32,9,167,106,34,5,41,0,0,55,0,0,32,0,32,5,41,0,8,55,0,8,32,0,32,5,41,0,16,55,0,16,32,0,32,5,41,0,24,55,0,24,32,0,32,5,41,0,32,55,0,32,32,0,32,5,41,0,40,55,0,40,32,0,32,5,41,0,48,55,0,48,32,0,32,5,41,0,56,55,0,56,32,4,16,42,32,9,66,192,0,124,33,9,32,2,66,128,124,124,34,2,66,255,3,86,13,0,11,32,9,167,5,65,0,11,33,0,32,4,65,16,106,33,5,32,2,66,0,82,4,64,32,4,65,160,1,106,33,8,32,1,32,0,106,33,0,32,2,66,3,136,66,63,131,33,9,32,2,66,7,131,66,0,81,4,127,32,8,32,0,32,9,167,16,80,5,32,8,32,0,32,9,66,1,124,167,16,80,11,26,32,5,32,2,55,3,0,11,32,7,41,3,0,34,2,66,255,3,131,34,9,66,0,81,4,64,32,4,65,160,1,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,32,0,66,0,55,3,16,32,0,66,0,55,3,24,32,0,66,0,55,3,32,32,0,66,0,55,3,40,32,0,66,0,55,3,48,32,0,66,0,55,3,56,32,0,65,128,127,58,0,0,32,4,32,2,60,0,223,1,32,4,32,2,66,8,136,60,0,222,1,32,4,32,2,66,16,136,60,0,221,1,32,4,32,2,66,24,136,60,0,220,1,32,4,32,2,66,32,136,60,0,219,1,32,4,32,2,66,40,136,60,0,218,1,32,4,32,2,66,48,136,60,0,217,1,32,4,32,2,66,56,136,60,0,216,1,32,4,16,42,5,32,9,66,3,136,33,9,32,5,41,3,0,66,7,131,66,0,81,4,64,32,4,32,9,167,34,0,65,160,1,106,106,65,0,65,192,0,32,0,107,16,78,26,5,32,9,66,1,124,167,34,0,65,192,0,73,4,64,32,4,32,0,65,160,1,106,106,65,0,65,192,0,32,0,107,16,78,26,11,11,32,4,65,160,1,106,32,2,66,3,136,167,65,63,113,106,34,0,32,0,45,0,0,65,1,32,2,167,65,7,113,65,7,115,116,114,58,0,0,32,4,16,42,32,4,65,160,1,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,32,0,66,0,55,3,16,32,0,66,0,55,3,24,32,0,66,0,55,3,32,32,0,66,0,55,3,40,32,0,66,0,55,3,48,32,0,66,0,55,3,56,32,4,32,7,41,3,0,34,2,60,0,223,1,32,4,32,2,66,8,136,60,0,222,1,32,4,32,2,66,16,136,60,0,221,1,32,4,32,2,66,24,136,60,0,220,1,32,4,32,2,66,32,136,60,0,219,1,32,4,32,2,66,40,136,60,0,218,1,32,4,32,2,66,48,136,60,0,217,1,32,4,32,2,66,56,136,60,0,216,1,32,4,16,42,11,2,64,2,64,2,64,2,64,2,64,32,4,40,2,0,65,160,126,106,34,0,65,5,118,32,0,65,27,116,114,14,10,0,1,4,4,4,2,4,4,4,3,4,11,32,3,32,4,65,132,1,106,34,0,41,0,0,55,0,0,32,3,32,0,41,0,8,55,0,8,32,3,32,0,41,0,16,55,0,16,32,3,32,0,40,0,24,54,0,24,32,6,36,6,65,0,15,11,32,3,32,4,65,128,1,106,34,0,41,0,0,55,0,0,32,3,32,0,41,0,8,55,0,8,32,3,32,0,41,0,16,55,0,16,32,3,32,0,41,0,24,55,0,24,32,6,36,6,65,0,15,11,32,3,32,4,65,240,0,106,34,0,41,0,0,55,0,0,32,3,32,0,41,0,8,55,0,8,32,3,32,0,41,0,16,55,0,16,32,3,32,0,41,0,24,55,0,24,32,3,32,0,41,0,32,55,0,32,32,3,32,0,41,0,40,55,0,40,32,6,36,6,65,0,15,11,32,3,32,4,65,224,0,106,34,0,41,0,0,55,0,0,32,3,32,0,41,0,8,55,0,8,32,3,32,0,41,0,16,55,0,16,32,3,32,0,41,0,24,55,0,24,32,3,32,0,41,0,32,55,0,32,32,3,32,0,41,0,40,55,0,40,32,3,32,0,41,0,48,55,0,48,32,3,32,0,41,0,56,55,0,56,32,6,36,6,65,0,15,11,32,6,36,6,65,0,11,11,203,163,128,128,0,2,25,127,20,126,2,64,32,0,65,32,106,34,1,32,1,41,3,0,32,0,65,160,1,106,34,18,41,3,0,133,55,3,0,32,0,65,40,106,34,1,32,1,41,3,0,32,0,65,168,1,106,34,19,41,3,0,133,55,3,0,32,0,65,48,106,34,12,41,3,0,32,0,65,176,1,106,34,20,41,3,0,133,33,26,32,12,32,26,55,3,0,32,0,65,56,106,34,10,32,10,41,3,0,32,0,65,184,1,106,34,21,41,3,0,133,55,3,0,32,0,65,192,0,106,34,1,32,1,41,3,0,32,0,65,192,1,106,34,22,41,3,0,133,55,3,0,32,0,65,200,0,106,34,1,32,1,41,3,0,32,0,65,200,1,106,34,23,41,3,0,133,55,3,0,32,0,65,208,0,106,34,13,41,3,0,32,0,65,208,1,106,34,24,41,3,0,133,33,29,32,13,32,29,55,3,0,32,0,65,216,0,106,34,11,32,11,41,3,0,32,0,65,216,1,106,34,25,41,3,0,133,55,3,0,32,0,65,240,0,106,33,14,32,0,65,248,0,106,33,15,32,0,65,144,1,106,33,16,32,0,65,152,1,106,33,17,66,0,33,45,3,64,32,45,167,65,5,116,65,187,200,0,106,33,2,66,0,33,33,3,64,32,0,65,128,1,106,32,33,167,34,1,65,3,116,106,34,3,41,3,0,34,37,66,127,133,33,27,32,0,65,192,0,106,32,1,65,3,116,106,34,4,41,3,0,34,32,32,0,65,32,106,32,1,65,3,116,106,34,5,41,3,0,32,2,32,1,65,3,116,106,41,0,0,34,30,32,0,65,224,0,106,32,1,65,3,116,106,34,6,41,3,0,34,28,66,127,133,131,133,34,31,131,32,30,133,33,30,32,29,32,26,32,2,32,1,65,2,114,65,3,116,106,41,0,0,34,34,32,0,65,240,0,106,32,1,65,3,116,106,34,7,41,3,0,34,26,66,127,133,131,133,34,36,131,32,34,133,33,34,32,28,32,32,66,127,133,131,34,38,32,27,133,34,39,32,32,32,31,32,28,32,27,131,133,34,32,32,28,131,133,34,31,132,32,32,133,34,27,32,30,131,32,31,133,34,40,32,36,32,26,32,0,65,144,1,106,32,1,65,3,116,106,34,8,41,3,0,34,42,66,127,133,34,41,131,133,34,36,32,26,131,32,29,133,34,35,32,26,32,29,66,127,133,131,34,43,32,41,133,34,41,132,32,36,133,34,44,133,33,29,32,27,32,34,133,32,43,32,42,133,32,36,131,32,26,133,34,36,133,32,38,32,37,133,32,32,131,32,28,133,34,28,32,31,131,32,39,133,34,32,133,33,26,32,5,32,28,32,30,133,34,30,32,35,133,32,44,32,34,131,133,34,28,32,27,133,55,3,0,32,4,32,26,32,40,133,55,3,0,32,6,32,29,32,30,133,32,27,32,41,133,32,36,32,35,131,133,34,27,133,55,3,0,32,3,32,29,32,32,133,55,3,0,32,0,65,48,106,32,1,65,3,116,106,32,29,66,1,134,66,170,213,170,213,170,213,170,213,170,127,131,32,29,66,1,136,66,213,170,213,170,213,170,213,170,213,0,131,132,55,3,0,32,0,65,208,0,106,32,1,65,3,116,106,32,28,66,1,134,66,170,213,170,213,170,213,170,213,170,127,131,32,28,66,1,136,66,213,170,213,170,213,170,213,170,213,0,131,132,55,3,0,32,7,32,26,66,1,134,66,170,213,170,213,170,213,170,213,170,127,131,32,26,66,1,136,66,213,170,213,170,213,170,213,170,213,0,131,132,55,3,0,32,8,32,27,66,1,134,66,170,213,170,213,170,213,170,213,170,127,131,32,27,66,1,136,66,213,170,213,170,213,170,213,170,213,0,131,132,55,3,0,32,33,66,1,124,66,2,84,4,64,66,1,33,33,32,10,41,3,0,33,26,32,11,41,3,0,33,29,12,1,11,11,32,45,66,1,124,167,65,5,116,65,187,200,0,106,33,2,66,0,33,33,3,64,32,0,65,128,1,106,32,33,167,34,1,65,3,116,106,34,3,41,3,0,34,38,66,127,133,33,28,32,0,65,192,0,106,32,1,65,3,116,106,34,4,41,3,0,34,27,32,0,65,32,106,32,1,65,3,116,106,34,5,41,3,0,32,2,32,1,65,3,116,106,41,0,0,34,26,32,0,65,224,0,106,32,1,65,3,116,106,34,6,41,3,0,34,29,66,127,133,131,133,34,31,131,32,26,133,33,32,32,0,65,208,0,106,32,1,65,3,116,106,34,7,41,3,0,34,30,32,0,65,48,106,32,1,65,3,116,106,34,8,41,3,0,32,2,32,1,65,2,114,65,3,116,106,41,0,0,34,34,32,0,65,240,0,106,32,1,65,3,116,106,34,9,41,3,0,34,26,66,127,133,131,133,34,35,131,32,34,133,33,34,32,29,32,27,66,127,133,131,34,39,32,28,133,34,40,32,27,32,31,32,29,32,28,131,133,34,31,32,29,131,133,34,36,132,32,31,133,34,27,32,32,131,32,36,133,34,42,32,35,32,26,32,0,65,144,1,106,32,1,65,3,116,106,34,1,41,3,0,34,41,66,127,133,34,28,131,133,34,35,32,26,131,32,30,133,34,37,32,26,32,30,66,127,133,131,34,30,32,28,133,34,43,132,32,35,133,34,44,133,33,28,32,27,32,34,133,32,30,32,41,133,32,35,131,32,26,133,34,30,133,32,39,32,38,133,32,31,131,32,29,133,34,26,32,36,131,32,40,133,34,31,133,33,29,32,5,32,26,32,32,133,34,32,32,37,133,32,44,32,34,131,133,34,26,32,27,133,55,3,0,32,4,32,29,32,42,133,55,3,0,32,6,32,28,32,32,133,32,27,32,43,133,32,30,32,37,131,133,34,27,133,55,3,0,32,3,32,28,32,31,133,55,3,0,32,8,32,28,66,2,134,66,204,153,179,230,204,153,179,230,76,131,32,28,66,2,136,66,179,230,204,153,179,230,204,153,51,131,132,55,3,0,32,7,32,26,66,2,134,66,204,153,179,230,204,153,179,230,76,131,32,26,66,2,136,66,179,230,204,153,179,230,204,153,51,131,132,55,3,0,32,9,32,29,66,2,134,66,204,153,179,230,204,153,179,230,76,131,32,29,66,2,136,66,179,230,204,153,179,230,204,153,51,131,132,55,3,0,32,1,32,27,66,2,134,66,204,153,179,230,204,153,179,230,76,131,32,27,66,2,136,66,179,230,204,153,179,230,204,153,51,131,132,55,3,0,32,33,66,1,124,66,2,84,4,64,66,1,33,33,12,1,11,11,32,45,66,2,124,167,65,5,116,65,187,200,0,106,33,2,66,0,33,33,3,64,32,0,65,128,1,106,32,33,167,34,1,65,3,116,106,34,3,41,3,0,34,38,66,127,133,33,28,32,0,65,192,0,106,32,1,65,3,116,106,34,4,41,3,0,34,27,32,0,65,32,106,32,1,65,3,116,106,34,5,41,3,0,32,2,32,1,65,3,116,106,41,0,0,34,26,32,0,65,224,0,106,32,1,65,3,116,106,34,6,41,3,0,34,29,66,127,133,131,133,34,31,131,32,26,133,33,32,32,0,65,208,0,106,32,1,65,3,116,106,34,7,41,3,0,34,30,32,0,65,48,106,32,1,65,3,116,106,34,8,41,3,0,32,2,32,1,65,2,114,65,3,116,106,41,0,0,34,34,32,0,65,240,0,106,32,1,65,3,116,106,34,9,41,3,0,34,26,66,127,133,131,133,34,35,131,32,34,133,33,34,32,29,32,27,66,127,133,131,34,39,32,28,133,34,40,32,27,32,31,32,29,32,28,131,133,34,31,32,29,131,133,34,36,132,32,31,133,34,27,32,32,131,32,36,133,34,42,32,35,32,26,32,0,65,144,1,106,32,1,65,3,116,106,34,1,41,3,0,34,41,66,127,133,34,28,131,133,34,35,32,26,131,32,30,133,34,37,32,26,32,30,66,127,133,131,34,30,32,28,133,34,43,132,32,35,133,34,44,133,33,28,32,27,32,34,133,32,30,32,41,133,32,35,131,32,26,133,34,30,133,32,39,32,38,133,32,31,131,32,29,133,34,26,32,36,131,32,40,133,34,31,133,33,29,32,5,32,26,32,32,133,34,32,32,37,133,32,44,32,34,131,133,34,26,32,27,133,55,3,0,32,4,32,29,32,42,133,55,3,0,32,6,32,28,32,32,133,32,27,32,43,133,32,30,32,37,131,133,34,27,133,55,3,0,32,3,32,28,32,31,133,55,3,0,32,8,32,28,66,4,134,66,240,225,195,135,143,158,188,248,112,131,32,28,66,4,136,66,143,158,188,248,240,225,195,135,15,131,132,55,3,0,32,7,32,26,66,4,134,66,240,225,195,135,143,158,188,248,112,131,32,26,66,4,136,66,143,158,188,248,240,225,195,135,15,131,132,55,3,0,32,9,32,29,66,4,134,66,240,225,195,135,143,158,188,248,112,131,32,29,66,4,136,66,143,158,188,248,240,225,195,135,15,131,132,55,3,0,32,1,32,27,66,4,134,66,240,225,195,135,143,158,188,248,112,131,32,27,66,4,136,66,143,158,188,248,240,225,195,135,15,131,132,55,3,0,32,33,66,1,124,66,2,84,4,64,66,1,33,33,12,1,11,11,32,45,66,3,124,167,65,5,116,65,187,200,0,106,33,2,66,0,33,33,3,64,32,0,65,128,1,106,32,33,167,34,1,65,3,116,106,34,3,41,3,0,34,38,66,127,133,33,28,32,0,65,192,0,106,32,1,65,3,116,106,34,4,41,3,0,34,27,32,0,65,32,106,32,1,65,3,116,106,34,5,41,3,0,32,2,32,1,65,3,116,106,41,0,0,34,26,32,0,65,224,0,106,32,1,65,3,116,106,34,6,41,3,0,34,29,66,127,133,131,133,34,31,131,32,26,133,33,32,32,0,65,208,0,106,32,1,65,3,116,106,34,7,41,3,0,34,30,32,0,65,48,106,32,1,65,3,116,106,34,8,41,3,0,32,2,32,1,65,2,114,65,3,116,106,41,0,0,34,34,32,0,65,240,0,106,32,1,65,3,116,106,34,9,41,3,0,34,26,66,127,133,131,133,34,35,131,32,34,133,33,34,32,29,32,27,66,127,133,131,34,39,32,28,133,34,40,32,27,32,31,32,29,32,28,131,133,34,31,32,29,131,133,34,36,132,32,31,133,34,27,32,32,131,32,36,133,34,42,32,35,32,26,32,0,65,144,1,106,32,1,65,3,116,106,34,1,41,3,0,34,41,66,127,133,34,28,131,133,34,35,32,26,131,32,30,133,34,37,32,26,32,30,66,127,133,131,34,30,32,28,133,34,43,132,32,35,133,34,44,133,33,28,32,27,32,34,133,32,30,32,41,133,32,35,131,32,26,133,34,30,133,32,39,32,38,133,32,31,131,32,29,133,34,26,32,36,131,32,40,133,34,31,133,33,29,32,5,32,26,32,32,133,34,32,32,37,133,32,44,32,34,131,133,34,26,32,27,133,55,3,0,32,4,32,29,32,42,133,55,3,0,32,6,32,28,32,32,133,32,27,32,43,133,32,30,32,37,131,133,34,27,133,55,3,0,32,3,32,28,32,31,133,55,3,0,32,8,32,28,66,8,134,66,128,254,131,248,143,224,191,128,127,131,32,28,66,8,136,66,255,129,252,135,240,159,192,255,0,131,132,55,3,0,32,7,32,26,66,8,134,66,128,254,131,248,143,224,191,128,127,131,32,26,66,8,136,66,255,129,252,135,240,159,192,255,0,131,132,55,3,0,32,9,32,29,66,8,134,66,128,254,131,248,143,224,191,128,127,131,32,29,66,8,136,66,255,129,252,135,240,159,192,255,0,131,132,55,3,0,32,1,32,27,66,8,134,66,128,254,131,248,143,224,191,128,127,131,32,27,66,8,136,66,255,129,252,135,240,159,192,255,0,131,132,55,3,0,32,33,66,1,124,66,2,84,4,64,66,1,33,33,12,1,11,11,32,45,66,4,124,167,65,5,116,65,187,200,0,106,33,2,66,0,33,33,3,64,32,0,65,128,1,106,32,33,167,34,1,65,3,116,106,34,3,41,3,0,34,38,66,127,133,33,28,32,0,65,192,0,106,32,1,65,3,116,106,34,4,41,3,0,34,27,32,0,65,32,106,32,1,65,3,116,106,34,5,41,3,0,32,2,32,1,65,3,116,106,41,0,0,34,26,32,0,65,224,0,106,32,1,65,3,116,106,34,6,41,3,0,34,29,66,127,133,131,133,34,31,131,32,26,133,33,32,32,0,65,208,0,106,32,1,65,3,116,106,34,7,41,3,0,34,30,32,0,65,48,106,32,1,65,3,116,106,34,8,41,3,0,32,2,32,1,65,2,114,65,3,116,106,41,0,0,34,34,32,0,65,240,0,106,32,1,65,3,116,106,34,9,41,3,0,34,26,66,127,133,131,133,34,35,131,32,34,133,33,34,32,29,32,27,66,127,133,131,34,39,32,28,133,34,40,32,27,32,31,32,29,32,28,131,133,34,31,32,29,131,133,34,36,132,32,31,133,34,27,32,32,131,32,36,133,34,42,32,35,32,26,32,0,65,144,1,106,32,1,65,3,116,106,34,1,41,3,0,34,41,66,127,133,34,28,131,133,34,35,32,26,131,32,30,133,34,37,32,26,32,30,66,127,133,131,34,30,32,28,133,34,43,132,32,35,133,34,44,133,33,28,32,27,32,34,133,32,30,32,41,133,32,35,131,32,26,133,34,30,133,32,39,32,38,133,32,31,131,32,29,133,34,26,32,36,131,32,40,133,34,31,133,33,29,32,5,32,26,32,32,133,34,32,32,37,133,32,44,32,34,131,133,34,26,32,27,133,55,3,0,32,4,32,29,32,42,133,55,3,0,32,6,32,28,32,32,133,32,27,32,43,133,32,30,32,37,131,133,34,27,133,55,3,0,32,3,32,28,32,31,133,55,3,0,32,8,32,28,66,16,134,66,128,128,252,255,143,128,64,131,32,28,66,16,136,66,255,255,131,128,240,255,63,131,132,55,3,0,32,7,32,26,66,16,134,66,128,128,252,255,143,128,64,131,32,26,66,16,136,66,255,255,131,128,240,255,63,131,132,55,3,0,32,9,32,29,66,16,134,66,128,128,252,255,143,128,64,131,32,29,66,16,136,66,255,255,131,128,240,255,63,131,132,55,3,0,32,1,32,27,66,16,134,66,128,128,252,255,143,128,64,131,32,27,66,16,136,66,255,255,131,128,240,255,63,131,132,55,3,0,32,33,66,1,124,66,2,84,4,64,66,1,33,33,12,1,11,11,32,45,66,5,124,167,65,5,116,65,187,200,0,106,33,2,66,0,33,33,3,64,32,0,65,128,1,106,32,33,167,34,1,65,3,116,106,34,3,41,3,0,34,38,66,127,133,33,28,32,0,65,192,0,106,32,1,65,3,116,106,34,4,41,3,0,34,27,32,0,65,32,106,32,1,65,3,116,106,34,5,41,3,0,32,2,32,1,65,3,116,106,41,0,0,34,26,32,0,65,224,0,106,32,1,65,3,116,106,34,6,41,3,0,34,29,66,127,133,131,133,34,31,131,32,26,133,33,32,32,0,65,208,0,106,32,1,65,3,116,106,34,7,41,3,0,34,30,32,0,65,48,106,32,1,65,3,116,106,34,8,41,3,0,32,2,32,1,65,2,114,65,3,116,106,41,0,0,34,34,32,0,65,240,0,106,32,1,65,3,116,106,34,9,41,3,0,34,26,66,127,133,131,133,34,35,131,32,34,133,33,34,32,29,32,27,66,127,133,131,34,39,32,28,133,34,40,32,27,32,31,32,29,32,28,131,133,34,31,32,29,131,133,34,36,132,32,31,133,34,27,32,32,131,32,36,133,34,42,32,35,32,26,32,0,65,144,1,106,32,1,65,3,116,106,34,1,41,3,0,34,41,66,127,133,34,28,131,133,34,35,32,26,131,32,30,133,34,37,32,26,32,30,66,127,133,131,34,30,32,28,133,34,43,132,32,35,133,34,44,133,33,28,32,27,32,34,133,32,30,32,41,133,32,35,131,32,26,133,34,30,133,32,39,32,38,133,32,31,131,32,29,133,34,26,32,36,131,32,40,133,34,31,133,33,29,32,5,32,26,32,32,133,34,32,32,37,133,32,44,32,34,131,133,34,26,32,27,133,55,3,0,32,4,32,29,32,42,133,55,3,0,32,6,32,28,32,32,133,32,27,32,43,133,32,30,32,37,131,133,34,27,133,55,3,0,32,3,32,28,32,31,133,55,3,0,32,8,32,28,66,32,134,32,28,66,32,136,132,55,3,0,32,7,32,26,66,32,134,32,26,66,32,136,132,55,3,0,32,9,32,29,66,32,134,32,29,66,32,136,132,55,3,0,32,1,32,27,66,32,134,32,27,66,32,136,132,55,3,0,32,33,66,1,124,66,2,84,4,64,66,1,33,33,12,1,11,11,32,45,66,6,124,167,65,5,116,65,187,200,0,106,33,2,66,0,33,28,3,64,32,0,65,128,1,106,32,28,167,34,1,65,3,116,106,34,3,41,3,0,34,36,66,127,133,33,33,32,0,65,192,0,106,32,1,65,3,116,106,34,4,41,3,0,34,27,32,0,65,32,106,32,1,65,3,116,106,34,5,41,3,0,32,2,32,1,65,3,116,106,41,0,0,34,26,32,0,65,224,0,106,32,1,65,3,116,106,34,6,41,3,0,34,29,66,127,133,131,133,34,35,131,32,26,133,33,32,32,0,65,208,0,106,32,1,65,3,116,106,34,7,41,3,0,34,30,32,0,65,48,106,32,1,65,3,116,106,34,8,41,3,0,32,2,32,1,65,2,114,65,3,116,106,41,0,0,34,34,32,0,65,240,0,106,32,1,65,3,116,106,34,9,41,3,0,34,26,66,127,133,131,133,34,37,131,32,34,133,33,34,32,29,32,27,66,127,133,131,34,38,32,33,133,33,31,32,27,32,35,32,29,32,33,131,133,34,27,32,29,131,133,33,33,32,38,32,36,133,32,27,131,32,29,133,34,35,32,33,131,32,31,133,33,36,32,8,32,31,32,33,132,32,27,133,34,29,32,32,131,32,33,133,34,31,32,37,32,26,32,0,65,144,1,106,32,1,65,3,116,106,34,1,41,3,0,34,37,66,127,133,34,38,131,133,34,33,32,26,131,32,30,133,34,27,32,26,32,30,66,127,133,131,34,39,32,38,133,34,38,132,32,33,133,34,40,133,34,30,55,3,0,32,7,32,35,32,32,133,34,32,32,27,133,32,40,32,34,131,133,34,35,55,3,0,32,9,32,29,32,34,133,32,39,32,37,133,32,33,131,32,26,133,34,26,133,32,36,133,34,33,55,3,0,32,1,32,29,32,38,133,32,26,32,27,131,133,34,26,55,3,0,32,5,32,35,32,29,133,55,3,0,32,4,32,33,32,31,133,55,3,0,32,6,32,30,32,32,133,32,26,133,55,3,0,32,3,32,30,32,36,133,55,3,0,32,28,66,1,124,66,2,84,4,64,66,1,33,28,12,1,11,11,32,12,41,3,0,33,29,32,12,32,10,41,3,0,34,26,55,3,0,32,10,32,29,55,3,0,32,13,41,3,0,33,28,32,13,32,11,41,3,0,34,29,55,3,0,32,11,32,28,55,3,0,32,14,41,3,0,33,28,32,14,32,15,41,3,0,34,27,55,3,0,32,15,32,28,55,3,0,32,16,41,3,0,33,33,32,16,32,17,41,3,0,34,32,55,3,0,32,17,32,33,55,3,0,32,45,66,7,124,34,45,66,42,84,13,0,11,32,0,65,224,0,106,34,1,32,1,41,3,0,32,18,41,3,0,133,55,3,0,32,0,65,232,0,106,34,1,32,1,41,3,0,32,19,41,3,0,133,55,3,0,32,14,32,27,32,20,41,3,0,133,55,3,0,32,15,32,28,32,21,41,3,0,133,55,3,0,32,0,65,128,1,106,34,1,32,1,41,3,0,32,22,41,3,0,133,55,3,0,32,0,65,136,1,106,34,0,32,0,41,3,0,32,23,41,3,0,133,55,3,0,32,16,32,32,32,24,41,3,0,133,55,3,0,32,17,32,33,32,25,41,3,0,133,55,3,0,11,11,176,139,128,128,0,2,27,127,27,126,2,64,32,1,65,0,76,4,64,15,11,32,0,65,40,106,33,2,32,0,65,8,106,33,3,32,0,65,48,106,33,4,32,0,65,16,106,33,5,32,0,65,24,106,33,6,32,0,65,32,106,33,7,65,0,33,15,32,0,41,3,0,33,30,32,0,65,208,0,106,34,16,41,3,0,33,29,32,0,65,248,0,106,34,17,41,3,0,33,32,32,0,65,160,1,106,34,18,41,3,0,33,31,32,0,65,216,0,106,34,19,41,3,0,33,33,32,0,65,128,1,106,34,20,41,3,0,33,38,32,0,65,168,1,106,34,21,41,3,0,33,34,32,0,65,56,106,34,22,41,3,0,33,44,32,0,65,224,0,106,34,23,41,3,0,33,45,32,0,65,136,1,106,34,24,41,3,0,33,46,32,0,65,176,1,106,34,25,41,3,0,33,35,32,0,65,192,0,106,34,26,41,3,0,33,47,32,0,65,232,0,106,34,8,41,3,0,33,37,32,0,65,144,1,106,34,9,41,3,0,33,39,32,0,65,184,1,106,34,10,41,3,0,33,36,32,0,65,200,0,106,34,27,41,3,0,33,48,32,0,65,240,0,106,34,11,41,3,0,33,43,32,0,65,152,1,106,34,12,41,3,0,33,49,32,0,65,192,1,106,34,13,41,3,0,33,40,3,64,32,2,41,3,0,34,50,32,30,133,32,29,133,32,32,133,32,31,133,33,41,32,44,32,5,41,3,0,34,51,133,32,45,133,32,46,133,32,35,133,33,42,32,47,32,6,41,3,0,34,52,133,32,37,133,32,39,133,32,36,133,33,39,32,0,32,4,41,3,0,34,53,32,3,41,3,0,34,54,133,32,33,133,32,38,133,32,34,133,34,36,66,1,134,32,36,66,63,136,132,32,48,32,7,41,3,0,34,55,133,32,43,133,32,49,133,32,40,133,34,43,133,34,37,32,30,133,55,3,0,32,2,32,50,32,37,133,55,3,0,32,16,32,29,32,37,133,55,3,0,32,17,32,32,32,37,133,55,3,0,32,18,32,31,32,37,133,55,3,0,32,3,32,42,66,1,134,32,42,66,63,136,132,32,41,133,34,29,32,54,133,34,30,55,3,0,32,4,32,53,32,29,133,55,3,0,32,19,32,33,32,29,133,55,3,0,32,20,32,38,32,29,133,55,3,0,32,21,32,34,32,29,133,55,3,0,32,5,32,39,66,1,134,32,39,66,63,136,132,32,36,133,34,29,32,51,133,55,3,0,32,22,32,44,32,29,133,55,3,0,32,23,32,45,32,29,133,55,3,0,32,24,32,46,32,29,133,55,3,0,32,25,32,35,32,29,133,55,3,0,32,6,32,43,66,1,134,32,43,66,63,136,132,32,42,133,34,29,32,52,133,55,3,0,32,26,32,47,32,29,133,55,3,0,32,8,32,8,41,3,0,32,29,133,55,3,0,32,9,32,9,41,3,0,32,29,133,55,3,0,32,10,32,10,41,3,0,32,29,133,55,3,0,32,7,32,41,66,1,134,32,41,66,63,136,132,32,39,133,34,29,32,55,133,55,3,0,32,27,32,48,32,29,133,55,3,0,32,11,32,11,41,3,0,32,29,133,55,3,0,32,12,32,12,41,3,0,32,29,133,55,3,0,32,13,32,13,41,3,0,32,29,133,55,3,0,65,0,33,14,3,64,32,0,32,14,65,2,116,65,240,61,106,40,2,0,65,3,116,106,34,28,41,3,0,33,29,32,28,32,30,65,192,0,32,14,65,2,116,65,144,61,106,40,2,0,34,28,107,173,136,32,30,32,28,173,134,132,55,3,0,32,14,65,1,106,34,14,65,24,71,4,64,32,29,33,30,12,1,11,11,32,6,41,3,0,33,30,32,7,41,3,0,33,29,32,0,32,5,41,3,0,34,32,32,3,41,3,0,34,31,66,127,133,131,32,0,41,3,0,34,33,133,55,3,0,32,3,32,30,32,32,66,127,133,131,32,31,133,55,3,0,32,5,32,29,32,30,66,127,133,131,32,32,133,55,3,0,32,6,32,33,32,29,66,127,133,131,32,30,133,55,3,0,32,7,32,31,32,33,66,127,133,131,32,29,133,55,3,0,32,26,41,3,0,33,30,32,27,41,3,0,33,29,32,2,32,22,41,3,0,34,32,32,4,41,3,0,34,31,66,127,133,131,32,2,41,3,0,34,33,133,55,3,0,32,4,32,30,32,32,66,127,133,131,32,31,133,55,3,0,32,22,32,29,32,30,66,127,133,131,32,32,133,34,44,55,3,0,32,26,32,33,32,29,66,127,133,131,32,30,133,34,47,55,3,0,32,27,32,31,32,33,66,127,133,131,32,29,133,34,48,55,3,0,32,8,41,3,0,33,30,32,11,41,3,0,33,32,32,16,32,23,41,3,0,34,31,32,19,41,3,0,34,38,66,127,133,131,32,16,41,3,0,34,34,133,34,29,55,3,0,32,19,32,30,32,31,66,127,133,131,32,38,133,34,33,55,3,0,32,23,32,32,32,30,66,127,133,131,32,31,133,34,45,55,3,0,32,8,32,34,32,32,66,127,133,131,32,30,133,34,37,55,3,0,32,11,32,38,32,34,66,127,133,131,32,32,133,34,43,55,3,0,32,9,41,3,0,33,30,32,12,41,3,0,33,31,32,17,32,24,41,3,0,34,34,32,20,41,3,0,34,35,66,127,133,131,32,17,41,3,0,34,36,133,34,32,55,3,0,32,20,32,30,32,34,66,127,133,131,32,35,133,34,38,55,3,0,32,24,32,31,32,30,66,127,133,131,32,34,133,34,46,55,3,0,32,9,32,36,32,31,66,127,133,131,32,30,133,34,39,55,3,0,32,12,32,35,32,36,66,127,133,131,32,31,133,34,49,55,3,0,32,10,41,3,0,33,30,32,13,41,3,0,33,40,32,18,32,25,41,3,0,34,35,32,21,41,3,0,34,41,66,127,133,131,32,18,41,3,0,34,42,133,34,31,55,3,0,32,21,32,30,32,35,66,127,133,131,32,41,133,34,34,55,3,0,32,25,32,40,32,30,66,127,133,131,32,35,133,34,35,55,3,0,32,10,32,42,32,40,66,127,133,131,32,30,133,34,36,55,3,0,32,13,32,41,32,42,66,127,133,131,32,40,133,34,40,55,3,0,32,0,32,0,41,3,0,32,15,65,3,116,65,128,40,106,41,3,0,133,34,30,55,3,0,32,15,65,1,106,34,15,32,1,71,13,0,11,11,11,171,130,128,128,0,1,1,127,2,64,35,6,33,3,35,6,65,208,1,106,36,6,32,3,34,1,32,0,41,0,0,55,0,0,32,1,32,0,41,0,8,55,0,8,32,1,32,0,41,0,16,55,0,16,32,1,32,0,41,0,24,55,0,24,32,1,32,0,41,0,32,55,0,32,32,1,32,0,41,0,40,55,0,40,32,1,32,0,41,0,48,55,0,48,32,1,32,0,41,0,56,55,0,56,32,1,32,0,41,0,64,55,0,64,32,1,32,0,40,0,72,54,0,72,32,1,65,208,0,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,32,0,66,0,55,3,16,32,0,66,0,55,3,24,32,0,66,0,55,3,32,32,0,66,0,55,3,40,32,0,66,0,55,3,48,32,0,66,0,55,3,56,32,0,66,0,55,3,64,32,0,66,0,55,3,72,32,0,66,0,55,3,80,32,0,66,0,55,3,88,32,0,66,0,55,3,96,32,0,66,0,55,3,104,32,0,66,0,55,3,112,32,1,65,200,0,106,34,0,32,0,41,3,0,66,255,255,255,255,15,131,66,128,128,128,128,16,132,55,3,0,32,1,66,128,128,128,128,128,128,128,128,128,127,55,3,128,1,32,1,65,24,16,43,32,2,32,1,65,200,1,16,80,26,32,3,36,6,11,11,199,164,128,128,0,1,12,127,2,127,35,6,33,15,35,6,65,160,3,106,36,6,32,15,65,160,2,106,33,4,32,15,33,5,32,0,65,129,4,72,4,64,32,5,65,128,4,54,2,0,32,5,65,8,106,34,9,32,0,54,2,0,2,64,2,64,2,64,2,64,2,64,2,64,32,0,65,160,126,106,34,6,65,5,118,32,6,65,27,116,114,14,10,3,2,4,4,4,1,4,4,4,0,4,11,32,5,65,32,106,34,0,65,128,43,41,3,0,55,3,0,32,0,65,136,43,41,3,0,55,3,8,32,0,65,144,43,41,3,0,55,3,16,32,0,65,152,43,41,3,0,55,3,24,32,0,65,160,43,41,3,0,55,3,32,32,0,65,168,43,41,3,0,55,3,40,32,0,65,176,43,41,3,0,55,3,48,32,0,65,184,43,41,3,0,55,3,56,12,4,11,32,5,65,32,106,34,0,65,192,42,41,3,0,55,3,0,32,0,65,200,42,41,3,0,55,3,8,32,0,65,208,42,41,3,0,55,3,16,32,0,65,216,42,41,3,0,55,3,24,32,0,65,224,42,41,3,0,55,3,32,32,0,65,232,42,41,3,0,55,3,40,32,0,65,240,42,41,3,0,55,3,48,32,0,65,248,42,41,3,0,55,3,56,12,3,11,32,5,65,32,106,34,0,65,128,42,41,3,0,55,3,0,32,0,65,136,42,41,3,0,55,3,8,32,0,65,144,42,41,3,0,55,3,16,32,0,65,152,42,41,3,0,55,3,24,32,0,65,160,42,41,3,0,55,3,32,32,0,65,168,42,41,3,0,55,3,40,32,0,65,176,42,41,3,0,55,3,48,32,0,65,184,42,41,3,0,55,3,56,12,2,11,32,5,65,32,106,34,0,65,192,41,41,3,0,55,3,0,32,0,65,200,41,41,3,0,55,3,8,32,0,65,208,41,41,3,0,55,3,16,32,0,65,216,41,41,3,0,55,3,24,32,0,65,224,41,41,3,0,55,3,32,32,0,65,232,41,41,3,0,55,3,40,32,0,65,240,41,41,3,0,55,3,48,32,0,65,248,41,41,3,0,55,3,56,12,1,11,32,5,66,0,55,3,16,32,5,66,128,128,128,128,128,128,128,128,68,55,3,24,32,5,65,0,54,2,12,32,4,66,211,144,133,154,19,55,3,0,32,4,32,0,173,55,3,8,32,4,65,16,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,32,0,66,0,55,3,16,32,0,66,0,55,3,24,32,0,66,0,55,3,32,32,0,66,0,55,3,40,32,5,65,32,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,32,0,66,0,55,3,16,32,0,66,0,55,3,24,32,0,66,0,55,3,32,32,0,66,0,55,3,40,32,0,66,0,55,3,48,32,0,66,0,55,3,56,32,9,32,4,65,1,65,32,16,46,11,32,5,66,0,55,3,16,32,5,66,128,128,128,128,128,128,128,128,240,0,55,3,24,32,5,65,0,54,2,12,5,32,5,65,128,8,54,2,0,32,5,65,8,106,34,14,32,0,54,2,0,32,0,65,128,8,70,4,64,32,5,65,32,106,34,0,65,192,43,41,3,0,55,3,0,32,0,65,200,43,41,3,0,55,3,8,32,0,65,208,43,41,3,0,55,3,16,32,0,65,216,43,41,3,0,55,3,24,32,0,65,224,43,41,3,0,55,3,32,32,0,65,232,43,41,3,0,55,3,40,32,0,65,240,43,41,3,0,55,3,48,32,0,65,248,43,41,3,0,55,3,56,32,0,65,128,44,41,3,0,55,3,64,32,0,65,136,44,41,3,0,55,3,72,32,0,65,144,44,41,3,0,55,3,80,32,0,65,152,44,41,3,0,55,3,88,32,0,65,160,44,41,3,0,55,3,96,32,0,65,168,44,41,3,0,55,3,104,32,0,65,176,44,41,3,0,55,3,112,32,0,65,184,44,41,3,0,55,3,120,32,5,65,16,106,33,7,32,5,65,24,106,33,9,32,5,65,12,106,33,6,5,32,5,65,16,106,34,7,66,0,55,3,0,32,5,65,24,106,34,9,66,128,128,128,128,128,128,128,128,68,55,3,0,32,5,65,12,106,34,6,65,0,54,2,0,32,4,66,211,144,133,154,19,55,3,0,32,4,32,0,173,55,3,8,32,4,65,16,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,32,0,66,0,55,3,16,32,0,66,0,55,3,24,32,0,66,0,55,3,32,32,0,66,0,55,3,40,32,0,66,0,55,3,48,32,0,66,0,55,3,56,32,0,66,0,55,3,64,32,0,66,0,55,3,72,32,0,66,0,55,3,80,32,0,66,0,55,3,88,32,0,66,0,55,3,96,32,0,66,0,55,3,104,32,5,65,32,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,32,0,66,0,55,3,16,32,0,66,0,55,3,24,32,0,66,0,55,3,32,32,0,66,0,55,3,40,32,0,66,0,55,3,48,32,0,66,0,55,3,56,32,0,66,0,55,3,64,32,0,66,0,55,3,72,32,0,66,0,55,3,80,32,0,66,0,55,3,88,32,0,66,0,55,3,96,32,0,66,0,55,3,104,32,0,66,0,55,3,112,32,0,66,0,55,3,120,32,14,32,4,65,1,65,32,16,47,11,32,7,66,0,55,3,0,32,9,66,128,128,128,128,128,128,128,128,240,0,55,3,0,32,6,65,0,54,2,0,11,2,127,32,2,65,7,113,34,6,4,127,32,4,32,1,32,2,65,3,118,34,0,106,45,0,0,65,0,65,1,32,6,65,7,115,116,34,2,107,113,32,2,114,58,0,0,2,127,2,64,2,64,2,64,2,64,2,64,32,5,40,2,0,65,8,118,65,3,113,14,3,2,1,0,3,11,32,5,65,8,106,33,7,32,5,65,12,106,34,9,40,2,0,34,6,32,0,106,65,192,0,75,4,127,32,6,4,64,65,192,0,32,6,107,34,2,4,64,32,7,65,216,0,106,32,6,106,32,1,32,2,16,80,26,32,9,65,192,0,54,2,0,32,0,32,2,107,33,0,32,1,32,2,106,33,1,11,32,7,32,5,65,224,0,106,65,1,65,192,0,16,46,32,9,65,0,54,2,0,11,32,0,65,127,106,65,6,118,34,2,65,6,116,33,6,32,0,65,192,0,75,4,127,32,7,32,1,32,2,65,192,0,16,46,32,0,32,6,107,33,2,32,1,32,6,106,33,1,32,9,40,2,0,5,32,0,33,2,65,0,11,5,32,0,33,2,32,6,11,33,0,32,2,4,64,32,7,65,216,0,106,32,0,106,32,1,32,2,16,80,26,32,9,32,0,32,2,106,34,0,54,2,0,11,32,0,65,1,106,65,192,0,75,4,64,65,192,0,32,0,107,34,1,4,127,32,7,65,216,0,106,32,0,106,32,4,32,1,16,80,26,32,9,65,192,0,54,2,0,65,1,32,1,107,33,0,32,4,32,1,106,5,65,1,33,0,32,4,11,33,1,32,7,32,5,65,224,0,106,65,1,65,192,0,16,46,32,9,65,0,54,2,0,32,0,65,127,106,65,6,118,34,2,65,6,116,33,6,32,0,65,192,0,75,4,64,32,7,32,1,32,2,65,192,0,16,46,32,0,32,6,107,33,0,32,1,32,6,106,33,1,11,32,0,69,13,4,32,0,33,2,32,9,40,2,0,33,0,5,65,1,33,2,32,4,33,1,11,32,7,65,216,0,106,32,0,106,32,1,32,2,16,80,26,32,9,32,0,32,2,106,54,2,0,12,3,11,32,5,65,8,106,33,7,32,5,65,12,106,34,9,40,2,0,34,6,32,0,106,65,32,75,4,127,32,6,4,64,65,32,32,6,107,34,2,4,64,32,7,65,56,106,32,6,106,32,1,32,2,16,80,26,32,9,65,32,54,2,0,32,0,32,2,107,33,0,32,1,32,2,106,33,1,11,32,7,32,5,65,192,0,106,65,1,65,32,16,48,32,9,65,0,54,2,0,11,32,0,65,127,106,65,5,118,34,2,65,5,116,33,6,32,0,65,32,75,4,127,32,7,32,1,32,2,65,32,16,48,32,0,32,6,107,33,2,32,1,32,6,106,33,1,32,9,40,2,0,5,32,0,33,2,65,0,11,5,32,0,33,2,32,6,11,33,0,32,2,4,64,32,7,65,56,106,32,0,106,32,1,32,2,16,80,26,32,9,32,0,32,2,106,34,0,54,2,0,11,32,0,65,1,106,65,32,75,4,64,65,32,32,0,107,34,1,4,127,32,7,65,56,106,32,0,106,32,4,32,1,16,80,26,32,9,65,32,54,2,0,65,1,32,1,107,33,0,32,4,32,1,106,5,65,1,33,0,32,4,11,33,1,32,7,32,5,65,192,0,106,65,1,65,32,16,48,32,9,65,0,54,2,0,32,0,65,127,106,65,5,118,34,2,65,5,116,33,6,32,0,65,32,75,4,64,32,7,32,1,32,2,65,32,16,48,32,0,32,6,107,33,0,32,1,32,6,106,33,1,11,32,0,69,13,3,32,0,33,2,32,9,40,2,0,33,0,5,65,1,33,2,32,4,33,1,11,32,7,65,56,106,32,0,106,32,1,32,2,16,80,26,32,9,32,0,32,2,106,54,2,0,12,2,11,32,5,65,8,106,33,9,32,5,65,12,106,34,7,40,2,0,34,6,32,0,106,65,128,1,75,4,127,32,6,4,64,65,128,1,32,6,107,34,2,4,64,32,5,65,160,1,106,32,6,106,32,1,32,2,16,80,26,32,7,65,128,1,54,2,0,32,0,32,2,107,33,0,32,1,32,2,106,33,1,11,32,9,32,5,65,160,1,106,65,1,65,128,1,16,47,32,7,65,0,54,2,0,11,32,0,65,127,106,65,7,118,34,2,65,7,116,33,6,32,0,65,128,1,75,4,127,32,9,32,1,32,2,65,128,1,16,47,32,0,32,6,107,33,2,32,1,32,6,106,33,1,32,7,40,2,0,5,32,0,33,2,65,0,11,5,32,0,33,2,32,6,11,33,0,32,2,4,64,32,5,65,160,1,106,32,0,106,32,1,32,2,16,80,26,32,7,32,0,32,2,106,34,0,54,2,0,11,32,0,65,1,106,65,128,1,75,4,64,65,128,1,32,0,107,34,1,4,127,32,5,65,160,1,106,32,0,106,32,4,32,1,16,80,26,32,7,65,128,1,54,2,0,65,1,32,1,107,33,0,32,4,32,1,106,5,65,1,33,0,32,4,11,33,1,32,9,32,5,65,160,1,106,65,1,65,128,1,16,47,32,7,65,0,54,2,0,32,0,65,127,106,65,7,118,34,2,65,7,116,33,6,32,0,65,128,1,75,4,64,32,9,32,1,32,2,65,128,1,16,47,32,0,32,6,107,33,0,32,1,32,6,106,33,1,11,32,0,69,13,2,32,0,33,2,32,7,40,2,0,33,0,5,65,1,33,2,32,4,33,1,11,32,5,65,160,1,106,32,0,106,32,1,32,2,16,80,26,32,7,32,0,32,2,106,54,2,0,12,1,11,65,1,12,1,11,32,5,65,24,106,34,0,32,0,41,3,0,66,128,128,128,128,128,128,128,192,0,132,55,3,0,65,0,11,34,0,5,2,64,2,64,2,64,2,64,32,5,40,2,0,65,8,118,65,3,113,14,3,2,1,0,3,11,32,5,65,8,106,33,7,32,5,65,12,106,34,9,40,2,0,34,6,32,2,65,3,118,34,0,106,65,192,0,75,4,64,32,6,4,64,65,192,0,32,6,107,34,2,4,64,32,7,65,216,0,106,32,6,106,32,1,32,2,16,80,26,32,9,65,192,0,54,2,0,32,0,32,2,107,33,0,32,1,32,2,106,33,1,11,32,7,32,5,65,224,0,106,65,1,65,192,0,16,46,32,9,65,0,54,2,0,11,32,0,65,127,106,65,6,118,34,2,65,6,116,33,6,32,0,65,192,0,75,4,64,32,7,32,1,32,2,65,192,0,16,46,32,0,32,6,107,33,0,32,1,32,6,106,33,1,11,11,65,0,32,0,69,13,4,26,32,7,65,216,0,106,32,9,40,2,0,34,2,106,32,1,32,0,16,80,26,32,9,32,2,32,0,106,54,2,0,65,0,12,4,11,32,5,65,8,106,33,7,32,5,65,12,106,34,9,40,2,0,34,6,32,2,65,3,118,34,0,106,65,32,75,4,64,32,6,4,64,65,32,32,6,107,34,2,4,64,32,7,65,56,106,32,6,106,32,1,32,2,16,80,26,32,9,65,32,54,2,0,32,0,32,2,107,33,0,32,1,32,2,106,33,1,11,32,7,32,5,65,192,0,106,65,1,65,32,16,48,32,9,65,0,54,2,0,11,32,0,65,127,106,65,5,118,34,2,65,5,116,33,6,32,0,65,32,75,4,64,32,7,32,1,32,2,65,32,16,48,32,0,32,6,107,33,0,32,1,32,6,106,33,1,11,11,65,0,32,0,69,13,3,26,32,7,65,56,106,32,9,40,2,0,34,2,106,32,1,32,0,16,80,26,32,9,32,2,32,0,106,54,2,0,65,0,12,3,11,32,5,65,8,106,33,9,32,5,65,12,106,34,7,40,2,0,34,6,32,2,65,3,118,34,0,106,65,128,1,75,4,64,32,6,4,64,65,128,1,32,6,107,34,2,4,64,32,5,65,160,1,106,32,6,106,32,1,32,2,16,80,26,32,7,65,128,1,54,2,0,32,0,32,2,107,33,0,32,1,32,2,106,33,1,11,32,9,32,5,65,160,1,106,65,1,65,128,1,16,47,32,7,65,0,54,2,0,11,32,0,65,127,106,65,7,118,34,2,65,7,116,33,6,32,0,65,128,1,75,4,64,32,9,32,1,32,2,65,128,1,16,47,32,0,32,6,107,33,0,32,1,32,6,106,33,1,11,11,65,0,32,0,69,13,2,26,32,5,65,160,1,106,32,7,40,2,0,34,2,106,32,1,32,0,16,80,26,32,7,32,2,32,0,106,54,2,0,65,0,12,2,11,65,1,11,11,33,6,2,64,2,64,2,64,2,64,32,5,40,2,0,65,8,118,65,3,113,14,3,2,1,0,3,11,32,5,65,8,106,33,11,32,5,65,24,106,34,13,32,13,41,3,0,66,128,128,128,128,128,128,128,128,128,127,132,55,3,0,32,5,65,12,106,34,14,40,2,0,34,0,65,192,0,73,4,64,32,11,65,216,0,106,32,0,106,65,0,65,192,0,32,0,107,16,78,26,11,32,11,32,5,65,224,0,106,34,10,65,1,32,0,16,46,32,11,40,2,0,65,7,106,65,3,118,33,12,32,10,66,0,55,3,0,32,10,66,0,55,3,8,32,10,66,0,55,3,16,32,10,66,0,55,3,24,32,10,66,0,55,3,32,32,10,66,0,55,3,40,32,10,66,0,55,3,48,32,10,66,0,55,3,56,32,4,32,5,65,32,106,34,8,41,3,0,55,3,0,32,4,32,8,41,3,8,55,3,8,32,4,32,8,41,3,16,55,3,16,32,4,32,8,41,3,24,55,3,24,32,4,32,8,41,3,32,55,3,32,32,4,32,8,41,3,40,55,3,40,32,4,32,8,41,3,48,55,3,48,32,4,32,8,41,3,56,55,3,56,32,12,4,64,32,5,65,16,106,33,7,32,12,65,127,106,65,6,118,33,9,65,0,33,2,65,0,33,0,3,64,32,10,32,2,173,55,3,0,32,7,66,0,55,3,0,32,13,66,128,128,128,128,128,128,128,128,127,55,3,0,32,14,65,0,54,2,0,32,11,32,10,65,1,65,8,16,46,32,3,32,0,106,32,8,32,12,32,0,107,34,0,65,192,0,73,4,127,32,0,5,65,192,0,11,16,80,26,32,8,32,4,41,3,0,55,3,0,32,8,32,4,41,3,8,55,3,8,32,8,32,4,41,3,16,55,3,16,32,8,32,4,41,3,24,55,3,24,32,8,32,4,41,3,32,55,3,32,32,8,32,4,41,3,40,55,3,40,32,8,32,4,41,3,48,55,3,48,32,8,32,4,41,3,56,55,3,56,32,2,65,1,106,34,1,65,6,116,33,0,32,2,32,9,71,4,64,32,1,33,2,12,1,11,11,11,32,15,36,6,32,6,15,11,32,5,65,8,106,33,13,32,5,65,24,106,34,7,32,7,41,3,0,66,128,128,128,128,128,128,128,128,128,127,132,55,3,0,32,5,65,12,106,34,9,40,2,0,34,0,65,32,73,4,64,32,13,65,56,106,32,0,106,65,0,65,32,32,0,107,16,78,26,11,32,13,32,5,65,192,0,106,34,12,65,1,32,0,16,48,32,13,40,2,0,65,7,106,65,3,118,33,14,32,12,66,0,55,3,0,32,12,66,0,55,3,8,32,12,66,0,55,3,16,32,12,66,0,55,3,24,32,4,32,5,65,32,106,34,11,41,3,0,55,3,0,32,4,32,11,41,3,8,55,3,8,32,4,32,11,41,3,16,55,3,16,32,4,32,11,41,3,24,55,3,24,32,14,4,64,32,5,65,16,106,33,2,65,0,33,0,3,64,32,12,32,0,173,55,3,0,32,2,66,0,55,3,0,32,7,66,128,128,128,128,128,128,128,128,127,55,3,0,32,9,65,0,54,2,0,32,13,32,12,65,1,65,8,16,48,32,3,32,0,106,32,11,32,14,32,0,107,34,1,65,32,73,4,127,32,1,5,65,32,11,16,80,26,32,11,32,4,41,3,0,55,3,0,32,11,32,4,41,3,8,55,3,8,32,11,32,4,41,3,16,55,3,16,32,11,32,4,41,3,24,55,3,24,32,14,32,0,65,32,106,34,0,75,13,0,11,11,32,15,36,6,32,6,15,11,32,5,65,24,106,34,12,32,12,41,3,0,66,128,128,128,128,128,128,128,128,128,127,132,55,3,0,32,5,65,12,106,34,14,40,2,0,34,0,65,128,1,73,4,64,32,5,65,160,1,106,32,0,106,65,0,65,128,1,32,0,107,16,78,26,11,32,5,65,8,106,34,13,32,5,65,160,1,106,34,10,65,1,32,0,16,47,32,13,40,2,0,65,7,106,65,3,118,33,11,32,10,66,0,55,3,0,32,10,66,0,55,3,8,32,10,66,0,55,3,16,32,10,66,0,55,3,24,32,10,66,0,55,3,32,32,10,66,0,55,3,40,32,10,66,0,55,3,48,32,10,66,0,55,3,56,32,10,66,0,55,3,64,32,10,66,0,55,3,72,32,10,66,0,55,3,80,32,10,66,0,55,3,88,32,10,66,0,55,3,96,32,10,66,0,55,3,104,32,10,66,0,55,3,112,32,10,66,0,55,3,120,32,4,32,5,65,32,106,34,8,41,3,0,55,3,0,32,4,32,8,41,3,8,55,3,8,32,4,32,8,41,3,16,55,3,16,32,4,32,8,41,3,24,55,3,24,32,4,32,8,41,3,32,55,3,32,32,4,32,8,41,3,40,55,3,40,32,4,32,8,41,3,48,55,3,48,32,4,32,8,41,3,56,55,3,56,32,4,32,8,41,3,64,55,3,64,32,4,32,8,41,3,72,55,3,72,32,4,32,8,41,3,80,55,3,80,32,4,32,8,41,3,88,55,3,88,32,4,32,8,41,3,96,55,3,96,32,4,32,8,41,3,104,55,3,104,32,4,32,8,41,3,112,55,3,112,32,4,32,8,41,3,120,55,3,120,32,11,4,64,32,5,65,16,106,33,7,32,11,65,127,106,65,7,118,33,9,65,0,33,2,65,0,33,0,3,64,32,10,32,2,173,55,3,0,32,7,66,0,55,3,0,32,12,66,128,128,128,128,128,128,128,128,127,55,3,0,32,14,65,0,54,2,0,32,13,32,10,65,1,65,8,16,47,32,3,32,0,106,32,8,32,11,32,0,107,34,0,65,128,1,73,4,127,32,0,5,65,128,1,11,16,80,26,32,8,32,4,41,3,0,55,3,0,32,8,32,4,41,3,8,55,3,8,32,8,32,4,41,3,16,55,3,16,32,8,32,4,41,3,24,55,3,24,32,8,32,4,41,3,32,55,3,32,32,8,32,4,41,3,40,55,3,40,32,8,32,4,41,3,48,55,3,48,32,8,32,4,41,3,56,55,3,56,32,8,32,4,41,3,64,55,3,64,32,8,32,4,41,3,72,55,3,72,32,8,32,4,41,3,80,55,3,80,32,8,32,4,41,3,88,55,3,88,32,8,32,4,41,3,96,55,3,96,32,8,32,4,41,3,104,55,3,104,32,8,32,4,41,3,112,55,3,112,32,8,32,4,41,3,120,55,3,120,32,2,65,1,106,34,1,65,7,116,33,0,32,2,32,9,71,4,64,32,1,33,2,12,1,11,11,11,32,15,36,6,32,6,15,11,32,15,36,6,32,6,11,11,180,180,128,128,0,2,9,127,41,126,2,64,32,2,65,127,106,173,66,1,124,32,3,173,34,43,126,33,44,32,0,65,8,106,34,3,41,3,0,34,45,33,41,32,0,65,16,106,34,4,41,3,0,33,39,32,0,65,24,106,34,5,41,3,0,33,32,32,0,65,32,106,34,6,41,3,0,33,33,32,0,65,40,106,34,7,41,3,0,33,34,32,0,65,48,106,34,8,41,3,0,33,35,32,0,65,56,106,34,9,41,3,0,33,36,32,0,65,192,0,106,34,10,41,3,0,33,29,32,0,65,200,0,106,34,11,41,3,0,33,31,32,0,65,208,0,106,34,12,41,3,0,33,37,3,64,32,41,32,43,124,34,41,32,39,133,33,38,32,1,65,192,0,106,33,0,32,1,41,0,0,34,46,32,32,124,32,1,41,0,8,34,47,32,33,124,34,30,124,33,19,32,31,32,39,124,34,42,32,1,41,0,48,34,48,124,32,1,41,0,56,34,49,32,37,124,34,40,124,33,20,32,1,41,0,16,34,50,32,34,124,32,1,41,0,24,34,51,32,35,124,34,21,124,34,14,32,30,66,46,134,32,30,66,18,136,132,32,19,133,34,30,124,33,25,32,40,66,37,134,32,40,66,27,136,132,32,20,133,34,24,32,1,41,0,32,34,52,32,36,124,32,29,32,41,124,34,40,32,1,41,0,40,34,53,124,34,22,124,34,15,124,33,13,32,21,66,36,134,32,21,66,28,136,132,32,14,133,34,21,32,19,124,33,19,32,24,66,27,134,32,24,66,37,136,132,32,13,133,34,24,32,25,124,33,14,32,13,32,30,66,33,134,32,30,66,31,136,132,32,25,133,34,30,124,34,13,32,30,66,17,134,32,30,66,47,136,132,133,34,30,32,22,66,19,134,32,22,66,45,136,132,32,15,133,34,25,32,20,124,34,15,32,21,66,42,134,32,21,66,22,136,132,32,19,133,34,20,124,34,22,124,33,21,32,13,32,20,66,49,134,32,20,66,15,136,132,32,22,133,34,20,124,33,22,32,24,66,39,134,32,24,66,25,136,132,32,14,133,34,24,32,25,66,14,134,32,25,66,50,136,132,32,15,133,34,25,32,19,124,34,16,124,34,17,32,33,124,32,30,66,44,134,32,30,66,20,136,132,32,21,133,32,34,124,34,13,124,33,15,32,21,32,37,32,38,124,34,19,124,32,32,66,162,180,240,207,170,251,198,232,27,133,32,33,133,32,34,133,32,35,133,32,36,133,32,29,133,32,31,133,32,37,133,34,30,66,1,124,32,24,66,9,134,32,24,66,55,136,132,32,17,133,124,34,21,124,33,24,32,13,66,39,134,32,13,66,25,136,132,32,15,133,34,13,32,25,66,36,134,32,25,66,28,136,132,32,16,133,34,25,32,14,124,34,16,32,35,124,32,20,66,56,134,32,20,66,8,136,132,32,22,133,32,36,124,34,20,124,34,17,124,33,14,32,15,32,20,66,30,134,32,20,66,34,136,132,32,17,133,34,20,124,33,15,32,21,66,24,134,32,21,66,40,136,132,32,24,133,34,21,32,22,32,29,124,32,25,66,54,134,32,25,66,10,136,132,32,16,133,32,42,124,34,25,124,34,16,124,34,17,32,13,66,13,134,32,13,66,51,136,132,32,14,133,34,22,124,33,13,32,21,66,50,134,32,21,66,14,136,132,32,17,133,34,21,32,14,124,33,14,32,22,66,25,134,32,22,66,39,136,132,32,13,133,34,22,32,25,66,34,134,32,25,66,30,136,132,32,16,133,34,25,32,24,124,34,17,32,20,66,17,134,32,20,66,47,136,132,32,15,133,34,20,124,34,16,124,33,24,32,13,32,20,66,29,134,32,20,66,35,136,132,32,16,133,34,13,124,33,16,32,21,66,43,134,32,21,66,21,136,132,32,14,133,34,21,32,25,66,10,134,32,25,66,54,136,132,32,17,133,34,25,32,15,124,34,17,124,34,18,32,34,124,32,22,66,8,134,32,22,66,56,136,132,32,24,133,32,35,124,34,22,124,33,15,32,24,32,30,32,41,124,34,20,124,32,32,66,2,124,32,21,66,35,134,32,21,66,29,136,132,32,18,133,124,34,21,124,33,24,32,22,66,46,134,32,22,66,18,136,132,32,15,133,34,22,32,25,66,39,134,32,25,66,25,136,132,32,17,133,34,25,32,14,124,34,17,32,36,124,32,13,66,22,134,32,13,66,42,136,132,32,16,133,32,29,124,34,13,124,34,18,124,33,14,32,15,32,13,66,36,134,32,13,66,28,136,132,32,18,133,34,13,124,33,15,32,21,66,37,134,32,21,66,27,136,132,32,24,133,34,21,32,16,32,31,124,32,25,66,56,134,32,25,66,8,136,132,32,17,133,32,19,124,34,25,124,34,17,124,34,18,32,22,66,33,134,32,22,66,31,136,132,32,14,133,34,22,124,33,16,32,21,66,27,134,32,21,66,37,136,132,32,18,133,34,21,32,14,124,33,14,32,22,66,17,134,32,22,66,47,136,132,32,16,133,34,22,32,25,66,19,134,32,25,66,45,136,132,32,17,133,34,25,32,24,124,34,18,32,13,66,42,134,32,13,66,22,136,132,32,15,133,34,24,124,34,17,124,33,13,32,16,32,24,66,49,134,32,24,66,15,136,132,32,17,133,34,24,124,33,16,32,21,66,39,134,32,21,66,25,136,132,32,14,133,34,17,32,25,66,14,134,32,25,66,50,136,132,32,18,133,34,25,32,15,124,34,18,124,34,23,32,35,124,32,22,66,44,134,32,22,66,20,136,132,32,13,133,32,36,124,34,22,124,33,15,32,13,32,32,32,39,124,34,21,124,32,33,66,3,124,32,17,66,9,134,32,17,66,55,136,132,32,23,133,124,34,13,124,33,17,32,22,66,39,134,32,22,66,25,136,132,32,15,133,34,22,32,25,66,36,134,32,25,66,28,136,132,32,18,133,34,25,32,14,124,34,18,32,29,124,32,24,66,56,134,32,24,66,8,136,132,32,16,133,32,31,124,34,24,124,34,23,124,33,14,32,15,32,24,66,30,134,32,24,66,34,136,132,32,23,133,34,24,124,33,15,32,13,66,24,134,32,13,66,40,136,132,32,17,133,34,13,32,16,32,37,124,32,25,66,54,134,32,25,66,10,136,132,32,18,133,32,20,124,34,25,124,34,18,124,34,23,32,22,66,13,134,32,22,66,51,136,132,32,14,133,34,22,124,33,16,32,13,66,50,134,32,13,66,14,136,132,32,23,133,34,13,32,14,124,33,14,32,22,66,25,134,32,22,66,39,136,132,32,16,133,34,22,32,25,66,34,134,32,25,66,30,136,132,32,18,133,34,25,32,17,124,34,18,32,24,66,17,134,32,24,66,47,136,132,32,15,133,34,24,124,34,23,124,33,17,32,16,32,24,66,29,134,32,24,66,35,136,132,32,23,133,34,24,124,33,16,32,13,66,43,134,32,13,66,21,136,132,32,14,133,34,13,32,25,66,10,134,32,25,66,54,136,132,32,18,133,34,18,32,15,124,34,23,124,34,26,32,36,124,32,22,66,8,134,32,22,66,56,136,132,32,17,133,32,29,124,34,22,124,33,15,32,17,32,33,32,38,124,34,25,124,32,34,66,4,124,32,13,66,35,134,32,13,66,29,136,132,32,26,133,124,34,13,124,33,17,32,22,66,46,134,32,22,66,18,136,132,32,15,133,34,22,32,18,66,39,134,32,18,66,25,136,132,32,23,133,34,18,32,14,124,34,23,32,31,124,32,24,66,22,134,32,24,66,42,136,132,32,16,133,32,37,124,34,24,124,34,26,124,33,14,32,15,32,24,66,36,134,32,24,66,28,136,132,32,26,133,34,24,124,33,15,32,13,66,37,134,32,13,66,27,136,132,32,17,133,34,13,32,16,32,30,124,32,18,66,56,134,32,18,66,8,136,132,32,23,133,32,21,124,34,16,124,34,23,124,34,26,32,22,66,33,134,32,22,66,31,136,132,32,14,133,34,22,124,33,18,32,13,66,27,134,32,13,66,37,136,132,32,26,133,34,13,32,14,124,33,14,32,22,66,17,134,32,22,66,47,136,132,32,18,133,34,22,32,16,66,19,134,32,16,66,45,136,132,32,23,133,34,16,32,17,124,34,26,32,24,66,42,134,32,24,66,22,136,132,32,15,133,34,24,124,34,23,124,33,17,32,18,32,24,66,49,134,32,24,66,15,136,132,32,23,133,34,18,124,33,23,32,13,66,39,134,32,13,66,25,136,132,32,14,133,34,13,32,16,66,14,134,32,16,66,50,136,132,32,26,133,34,16,32,15,124,34,26,124,34,27,32,29,124,32,22,66,44,134,32,22,66,20,136,132,32,17,133,32,31,124,34,22,124,33,15,32,17,32,34,32,41,124,34,24,124,32,35,66,5,124,32,13,66,9,134,32,13,66,55,136,132,32,27,133,124,34,13,124,33,17,32,22,66,39,134,32,22,66,25,136,132,32,15,133,34,22,32,16,66,36,134,32,16,66,28,136,132,32,26,133,34,16,32,14,124,34,26,32,37,124,32,18,66,56,134,32,18,66,8,136,132,32,23,133,32,30,124,34,14,124,34,27,124,33,18,32,15,32,14,66,30,134,32,14,66,34,136,132,32,27,133,34,14,124,33,15,32,13,66,24,134,32,13,66,40,136,132,32,17,133,34,13,32,23,32,32,124,32,16,66,54,134,32,16,66,10,136,132,32,26,133,32,25,124,34,16,124,34,26,124,34,27,32,22,66,13,134,32,22,66,51,136,132,32,18,133,34,22,124,33,23,32,13,66,50,134,32,13,66,14,136,132,32,27,133,34,13,32,18,124,33,18,32,22,66,25,134,32,22,66,39,136,132,32,23,133,34,22,32,16,66,34,134,32,16,66,30,136,132,32,26,133,34,16,32,17,124,34,26,32,14,66,17,134,32,14,66,47,136,132,32,15,133,34,14,124,34,27,124,33,17,32,23,32,14,66,29,134,32,14,66,35,136,132,32,27,133,34,14,124,33,23,32,13,66,43,134,32,13,66,21,136,132,32,18,133,34,13,32,16,66,10,134,32,16,66,54,136,132,32,26,133,34,16,32,15,124,34,27,124,34,28,32,31,124,32,22,66,8,134,32,22,66,56,136,132,32,17,133,32,37,124,34,15,124,33,26,32,17,32,35,32,39,124,34,22,124,32,36,66,6,124,32,13,66,35,134,32,13,66,29,136,132,32,28,133,124,34,13,124,33,17,32,15,66,46,134,32,15,66,18,136,132,32,26,133,34,15,32,16,66,39,134,32,16,66,25,136,132,32,27,133,34,16,32,18,124,34,27,32,30,124,32,14,66,22,134,32,14,66,42,136,132,32,23,133,32,32,124,34,14,124,34,28,124,33,18,32,26,32,14,66,36,134,32,14,66,28,136,132,32,28,133,34,14,124,33,26,32,13,66,37,134,32,13,66,27,136,132,32,17,133,34,13,32,23,32,33,124,32,16,66,56,134,32,16,66,8,136,132,32,27,133,32,24,124,34,16,124,34,27,124,34,28,32,15,66,33,134,32,15,66,31,136,132,32,18,133,34,15,124,33,23,32,13,66,27,134,32,13,66,37,136,132,32,28,133,34,13,32,18,124,33,18,32,15,66,17,134,32,15,66,47,136,132,32,23,133,34,15,32,16,66,19,134,32,16,66,45,136,132,32,27,133,34,16,32,17,124,34,27,32,14,66,42,134,32,14,66,22,136,132,32,26,133,34,14,124,34,28,124,33,17,32,23,32,14,66,49,134,32,14,66,15,136,132,32,28,133,34,14,124,33,23,32,13,66,39,134,32,13,66,25,136,132,32,18,133,34,13,32,16,66,14,134,32,16,66,50,136,132,32,27,133,34,16,32,26,124,34,27,124,34,28,32,37,124,32,15,66,44,134,32,15,66,20,136,132,32,17,133,32,30,124,34,15,124,33,26,32,17,32,36,32,38,124,34,38,124,32,29,66,7,124,32,13,66,9,134,32,13,66,55,136,132,32,28,133,124,34,13,124,33,17,32,15,66,39,134,32,15,66,25,136,132,32,26,133,34,15,32,16,66,36,134,32,16,66,28,136,132,32,27,133,34,16,32,18,124,34,27,32,32,124,32,14,66,56,134,32,14,66,8,136,132,32,23,133,32,33,124,34,14,124,34,28,124,33,18,32,26,32,14,66,30,134,32,14,66,34,136,132,32,28,133,34,14,124,33,26,32,13,66,24,134,32,13,66,40,136,132,32,17,133,34,13,32,23,32,34,124,32,16,66,54,134,32,16,66,10,136,132,32,27,133,32,22,124,34,16,124,34,27,124,34,28,32,15,66,13,134,32,15,66,51,136,132,32,18,133,34,15,124,33,23,32,13,66,50,134,32,13,66,14,136,132,32,28,133,34,13,32,18,124,33,18,32,15,66,25,134,32,15,66,39,136,132,32,23,133,34,15,32,16,66,34,134,32,16,66,30,136,132,32,27,133,34,16,32,17,124,34,27,32,14,66,17,134,32,14,66,47,136,132,32,26,133,34,14,124,34,28,124,33,17,32,23,32,14,66,29,134,32,14,66,35,136,132,32,28,133,34,14,124,33,23,32,13,66,43,134,32,13,66,21,136,132,32,18,133,34,13,32,16,66,10,134,32,16,66,54,136,132,32,27,133,34,16,32,26,124,34,27,124,34,28,32,30,124,32,15,66,8,134,32,15,66,56,136,132,32,17,133,32,32,124,34,15,124,33,26,32,17,32,40,124,32,31,66,8,124,32,13,66,35,134,32,13,66,29,136,132,32,28,133,124,34,13,124,33,17,32,15,66,46,134,32,15,66,18,136,132,32,26,133,34,15,32,16,66,39,134,32,16,66,25,136,132,32,27,133,34,16,32,18,124,34,27,32,33,124,32,14,66,22,134,32,14,66,42,136,132,32,23,133,32,34,124,34,14,124,34,28,124,33,18,32,26,32,14,66,36,134,32,14,66,28,136,132,32,28,133,34,14,124,33,26,32,13,66,37,134,32,13,66,27,136,132,32,17,133,34,13,32,23,32,35,124,32,16,66,56,134,32,16,66,8,136,132,32,27,133,32,38,124,34,16,124,34,27,124,34,28,32,15,66,33,134,32,15,66,31,136,132,32,18,133,34,15,124,33,23,32,13,66,27,134,32,13,66,37,136,132,32,28,133,34,13,32,18,124,33,18,32,15,66,17,134,32,15,66,47,136,132,32,23,133,34,15,32,16,66,19,134,32,16,66,45,136,132,32,27,133,34,16,32,17,124,34,27,32,14,66,42,134,32,14,66,22,136,132,32,26,133,34,14,124,34,28,124,33,17,32,23,32,14,66,49,134,32,14,66,15,136,132,32,28,133,34,14,124,33,23,32,13,66,39,134,32,13,66,25,136,132,32,18,133,34,13,32,16,66,14,134,32,16,66,50,136,132,32,27,133,34,16,32,26,124,34,27,124,34,28,32,32,124,32,15,66,44,134,32,15,66,20,136,132,32,17,133,32,33,124,34,15,124,33,26,32,17,32,42,124,32,37,66,9,124,32,13,66,9,134,32,13,66,55,136,132,32,28,133,124,34,13,124,33,17,32,15,66,39,134,32,15,66,25,136,132,32,26,133,34,15,32,16,66,36,134,32,16,66,28,136,132,32,27,133,34,16,32,18,124,34,27,32,34,124,32,14,66,56,134,32,14,66,8,136,132,32,23,133,32,35,124,34,14,124,34,28,124,33,18,32,26,32,14,66,30,134,32,14,66,34,136,132,32,28,133,34,14,124,33,26,32,13,66,24,134,32,13,66,40,136,132,32,17,133,34,13,32,23,32,36,124,32,16,66,54,134,32,16,66,10,136,132,32,27,133,32,40,124,34,16,124,34,27,124,34,28,32,15,66,13,134,32,15,66,51,136,132,32,18,133,34,15,124,33,23,32,13,66,50,134,32,13,66,14,136,132,32,28,133,34,13,32,18,124,33,18,32,15,66,25,134,32,15,66,39,136,132,32,23,133,34,15,32,16,66,34,134,32,16,66,30,136,132,32,27,133,34,16,32,17,124,34,27,32,14,66,17,134,32,14,66,47,136,132,32,26,133,34,14,124,34,28,124,33,17,32,23,32,14,66,29,134,32,14,66,35,136,132,32,28,133,34,14,124,33,23,32,13,66,43,134,32,13,66,21,136,132,32,18,133,34,13,32,16,66,10,134,32,16,66,54,136,132,32,27,133,34,16,32,26,124,34,27,124,34,28,32,33,124,32,15,66,8,134,32,15,66,56,136,132,32,17,133,32,34,124,34,15,124,33,26,32,17,32,19,124,32,30,66,10,124,32,13,66,35,134,32,13,66,29,136,132,32,28,133,124,34,13,124,33,17,32,15,66,46,134,32,15,66,18,136,132,32,26,133,34,15,32,16,66,39,134,32,16,66,25,136,132,32,27,133,34,16,32,18,124,34,27,32,35,124,32,14,66,22,134,32,14,66,42,136,132,32,23,133,32,36,124,34,14,124,34,28,124,33,18,32,26,32,14,66,36,134,32,14,66,28,136,132,32,28,133,34,14,124,33,26,32,13,66,37,134,32,13,66,27,136,132,32,17,133,34,13,32,23,32,29,124,32,16,66,56,134,32,16,66,8,136,132,32,27,133,32,42,124,34,16,124,34,27,124,34,28,32,15,66,33,134,32,15,66,31,136,132,32,18,133,34,15,124,33,23,32,13,66,27,134,32,13,66,37,136,132,32,28,133,34,13,32,18,124,33,18,32,15,66,17,134,32,15,66,47,136,132,32,23,133,34,15,32,16,66,19,134,32,16,66,45,136,132,32,27,133,34,16,32,17,124,34,27,32,14,66,42,134,32,14,66,22,136,132,32,26,133,34,14,124,34,28,124,33,17,32,23,32,14,66,49,134,32,14,66,15,136,132,32,28,133,34,14,124,33,23,32,13,66,39,134,32,13,66,25,136,132,32,18,133,34,13,32,16,66,14,134,32,16,66,50,136,132,32,27,133,34,16,32,26,124,34,27,124,34,28,32,34,124,32,15,66,44,134,32,15,66,20,136,132,32,17,133,32,35,124,34,15,124,33,26,32,17,32,20,124,32,32,66,11,124,32,13,66,9,134,32,13,66,55,136,132,32,28,133,124,34,13,124,33,17,32,15,66,39,134,32,15,66,25,136,132,32,26,133,34,15,32,16,66,36,134,32,16,66,28,136,132,32,27,133,34,16,32,18,124,34,27,32,36,124,32,14,66,56,134,32,14,66,8,136,132,32,23,133,32,29,124,34,14,124,34,28,124,33,18,32,26,32,14,66,30,134,32,14,66,34,136,132,32,28,133,34,14,124,33,26,32,13,66,24,134,32,13,66,40,136,132,32,17,133,34,13,32,23,32,31,124,32,16,66,54,134,32,16,66,10,136,132,32,27,133,32,19,124,34,19,124,34,23,124,34,27,32,15,66,13,134,32,15,66,51,136,132,32,18,133,34,15,124,33,16,32,13,66,50,134,32,13,66,14,136,132,32,27,133,34,13,32,18,124,33,18,32,15,66,25,134,32,15,66,39,136,132,32,16,133,34,15,32,19,66,34,134,32,19,66,30,136,132,32,23,133,34,19,32,17,124,34,23,32,14,66,17,134,32,14,66,47,136,132,32,26,133,34,14,124,34,27,124,33,17,32,16,32,14,66,29,134,32,14,66,35,136,132,32,27,133,34,14,124,33,16,32,13,66,43,134,32,13,66,21,136,132,32,18,133,34,13,32,19,66,10,134,32,19,66,54,136,132,32,23,133,34,19,32,26,124,34,26,124,34,27,32,35,124,32,15,66,8,134,32,15,66,56,136,132,32,17,133,32,36,124,34,15,124,33,23,32,17,32,21,124,32,33,66,12,124,32,13,66,35,134,32,13,66,29,136,132,32,27,133,124,34,13,124,33,17,32,15,66,46,134,32,15,66,18,136,132,32,23,133,34,15,32,19,66,39,134,32,19,66,25,136,132,32,26,133,34,19,32,18,124,34,26,32,29,124,32,14,66,22,134,32,14,66,42,136,132,32,16,133,32,31,124,34,14,124,34,27,124,33,18,32,23,32,14,66,36,134,32,14,66,28,136,132,32,27,133,34,14,124,33,23,32,13,66,37,134,32,13,66,27,136,132,32,17,133,34,13,32,16,32,37,124,32,19,66,56,134,32,19,66,8,136,132,32,26,133,32,20,124,34,19,124,34,26,124,34,16,32,15,66,33,134,32,15,66,31,136,132,32,18,133,34,20,124,33,15,32,13,66,27,134,32,13,66,37,136,132,32,16,133,34,13,32,18,124,33,16,32,20,66,17,134,32,20,66,47,136,132,32,15,133,34,20,32,19,66,19,134,32,19,66,45,136,132,32,26,133,34,19,32,17,124,34,18,32,14,66,42,134,32,14,66,22,136,132,32,23,133,34,14,124,34,26,124,33,17,32,15,32,14,66,49,134,32,14,66,15,136,132,32,26,133,34,14,124,33,15,32,13,66,39,134,32,13,66,25,136,132,32,16,133,34,13,32,19,66,14,134,32,19,66,50,136,132,32,18,133,34,19,32,23,124,34,23,124,34,26,32,36,124,32,20,66,44,134,32,20,66,20,136,132,32,17,133,32,29,124,34,20,124,33,18,32,17,32,25,124,32,34,66,13,124,32,13,66,9,134,32,13,66,55,136,132,32,26,133,124,34,13,124,33,17,32,20,66,39,134,32,20,66,25,136,132,32,18,133,34,20,32,19,66,36,134,32,19,66,28,136,132,32,23,133,34,19,32,16,124,34,23,32,31,124,32,14,66,56,134,32,14,66,8,136,132,32,15,133,32,37,124,34,14,124,34,26,124,33,16,32,18,32,14,66,30,134,32,14,66,34,136,132,32,26,133,34,14,124,33,18,32,13,66,24,134,32,13,66,40,136,132,32,17,133,34,13,32,15,32,30,124,32,19,66,54,134,32,19,66,10,136,132,32,23,133,32,21,124,34,19,124,34,23,124,34,15,32,20,66,13,134,32,20,66,51,136,132,32,16,133,34,20,124,33,21,32,13,66,50,134,32,13,66,14,136,132,32,15,133,34,13,32,16,124,33,15,32,20,66,25,134,32,20,66,39,136,132,32,21,133,34,20,32,19,66,34,134,32,19,66,30,136,132,32,23,133,34,19,32,17,124,34,17,32,14,66,17,134,32,14,66,47,136,132,32,18,133,34,14,124,34,23,124,33,16,32,21,32,14,66,29,134,32,14,66,35,136,132,32,23,133,34,21,124,33,14,32,13,66,43,134,32,13,66,21,136,132,32,15,133,34,13,32,19,66,10,134,32,19,66,54,136,132,32,17,133,34,19,32,18,124,34,18,124,34,23,32,29,124,32,20,66,8,134,32,20,66,56,136,132,32,16,133,32,31,124,34,20,124,33,17,32,16,32,24,124,32,35,66,14,124,32,13,66,35,134,32,13,66,29,136,132,32,23,133,124,34,13,124,33,16,32,20,66,46,134,32,20,66,18,136,132,32,17,133,34,20,32,19,66,39,134,32,19,66,25,136,132,32,18,133,34,19,32,15,124,34,18,32,37,124,32,21,66,22,134,32,21,66,42,136,132,32,14,133,32,30,124,34,21,124,34,23,124,33,15,32,17,32,21,66,36,134,32,21,66,28,136,132,32,23,133,34,21,124,33,17,32,13,66,37,134,32,13,66,27,136,132,32,16,133,34,13,32,14,32,32,124,32,19,66,56,134,32,19,66,8,136,132,32,18,133,32,25,124,34,19,124,34,18,124,34,14,32,20,66,33,134,32,20,66,31,136,132,32,15,133,34,20,124,33,25,32,13,66,27,134,32,13,66,37,136,132,32,14,133,34,13,32,15,124,33,14,32,20,66,17,134,32,20,66,47,136,132,32,25,133,34,20,32,19,66,19,134,32,19,66,45,136,132,32,18,133,34,19,32,16,124,34,16,32,21,66,42,134,32,21,66,22,136,132,32,17,133,34,21,124,34,18,124,33,15,32,25,32,21,66,49,134,32,21,66,15,136,132,32,18,133,34,21,124,33,25,32,13,66,39,134,32,13,66,25,136,132,32,14,133,34,13,32,19,66,14,134,32,19,66,50,136,132,32,16,133,34,19,32,17,124,34,17,124,34,18,32,31,124,32,20,66,44,134,32,20,66,20,136,132,32,15,133,32,37,124,34,20,124,33,16,32,15,32,22,124,32,36,66,15,124,32,13,66,9,134,32,13,66,55,136,132,32,18,133,124,34,13,124,33,15,32,20,66,39,134,32,20,66,25,136,132,32,16,133,34,20,32,19,66,36,134,32,19,66,28,136,132,32,17,133,34,19,32,14,124,34,17,32,30,124,32,21,66,56,134,32,21,66,8,136,132,32,25,133,32,32,124,34,21,124,34,18,124,33,14,32,16,32,21,66,30,134,32,21,66,34,136,132,32,18,133,34,21,124,33,16,32,13,66,24,134,32,13,66,40,136,132,32,15,133,34,13,32,25,32,33,124,32,19,66,54,134,32,19,66,10,136,132,32,17,133,32,24,124,34,19,124,34,17,124,34,24,32,20,66,13,134,32,20,66,51,136,132,32,14,133,34,20,124,33,25,32,13,66,50,134,32,13,66,14,136,132,32,24,133,34,24,32,14,124,33,13,32,20,66,25,134,32,20,66,39,136,132,32,25,133,34,20,32,19,66,34,134,32,19,66,30,136,132,32,17,133,34,19,32,15,124,34,15,32,21,66,17,134,32,21,66,47,136,132,32,16,133,34,21,124,34,17,124,33,14,32,25,32,21,66,29,134,32,21,66,35,136,132,32,17,133,34,21,124,33,25,32,24,66,43,134,32,24,66,21,136,132,32,13,133,34,24,32,19,66,10,134,32,19,66,54,136,132,32,15,133,34,19,32,16,124,34,16,124,34,17,32,37,124,32,20,66,8,134,32,20,66,56,136,132,32,14,133,32,30,124,34,20,124,33,15,32,14,32,38,124,32,29,66,16,124,32,24,66,35,134,32,24,66,29,136,132,32,17,133,124,34,29,124,33,24,32,20,66,46,134,32,20,66,18,136,132,32,15,133,34,20,32,19,66,39,134,32,19,66,25,136,132,32,16,133,34,19,32,13,124,34,16,32,32,124,32,21,66,22,134,32,21,66,42,136,132,32,25,133,32,33,124,34,21,124,34,14,124,33,13,32,15,32,21,66,36,134,32,21,66,28,136,132,32,14,133,34,21,124,33,14,32,29,66,37,134,32,29,66,27,136,132,32,24,133,34,29,32,25,32,34,124,32,19,66,56,134,32,19,66,8,136,132,32,16,133,32,22,124,34,19,124,34,15,124,34,22,32,20,66,33,134,32,20,66,31,136,132,32,13,133,34,20,124,33,25,32,29,66,27,134,32,29,66,37,136,132,32,22,133,34,29,32,13,124,33,22,32,20,66,17,134,32,20,66,47,136,132,32,25,133,34,20,32,19,66,19,134,32,19,66,45,136,132,32,15,133,34,19,32,24,124,34,13,32,21,66,42,134,32,21,66,22,136,132,32,14,133,34,21,124,34,15,124,33,24,32,25,32,21,66,49,134,32,21,66,15,136,132,32,15,133,34,21,124,33,25,32,29,66,39,134,32,29,66,25,136,132,32,22,133,34,29,32,19,66,14,134,32,19,66,50,136,132,32,13,133,34,19,32,14,124,34,13,124,34,14,32,30,124,32,20,66,44,134,32,20,66,20,136,132,32,24,133,32,32,124,34,30,124,33,20,32,24,32,40,124,32,31,66,17,124,32,29,66,9,134,32,29,66,55,136,132,32,14,133,124,34,29,124,33,31,32,30,66,39,134,32,30,66,25,136,132,32,20,133,34,30,32,19,66,36,134,32,19,66,28,136,132,32,13,133,34,19,32,22,124,34,22,32,33,124,32,21,66,56,134,32,21,66,8,136,132,32,25,133,32,34,124,34,21,124,34,13,124,33,24,32,20,32,21,66,30,134,32,21,66,34,136,132,32,13,133,34,20,124,33,21,32,29,66,24,134,32,29,66,40,136,132,32,31,133,34,29,32,25,32,35,124,32,19,66,54,134,32,19,66,10,136,132,32,22,133,32,38,124,34,38,124,34,22,124,34,25,32,30,66,13,134,32,30,66,51,136,132,32,24,133,34,30,124,33,19,32,29,66,50,134,32,29,66,14,136,132,32,25,133,34,29,32,24,124,33,25,32,30,66,25,134,32,30,66,39,136,132,32,19,133,34,30,32,38,66,34,134,32,38,66,30,136,132,32,22,133,34,38,32,31,124,34,22,32,20,66,17,134,32,20,66,47,136,132,32,21,133,34,31,124,34,24,124,33,20,32,19,32,31,66,29,134,32,31,66,35,136,132,32,24,133,34,31,124,33,19,32,5,32,29,66,43,134,32,29,66,21,136,132,32,25,133,34,24,32,38,66,10,134,32,38,66,54,136,132,32,22,133,34,29,32,21,124,34,38,124,34,21,32,32,124,32,46,133,34,32,55,3,0,32,6,32,30,66,8,134,32,30,66,56,136,132,32,20,133,32,33,124,32,47,133,34,33,55,3,0,32,7,32,29,66,39,134,32,29,66,25,136,132,32,38,133,34,29,32,25,124,34,30,32,34,124,32,50,133,34,34,55,3,0,32,8,32,31,66,22,134,32,31,66,42,136,132,32,19,133,32,35,124,32,51,133,34,35,55,3,0,32,9,32,19,32,36,124,32,52,133,34,36,55,3,0,32,10,32,29,66,56,134,32,29,66,8,136,132,32,30,133,32,40,124,32,53,133,34,29,55,3,0,32,11,32,20,32,42,124,32,48,133,34,31,55,3,0,32,12,32,37,66,18,124,32,24,66,35,134,32,24,66,29,136,132,32,21,133,124,32,49,133,34,37,55,3,0,32,39,66,255,255,255,255,255,255,255,255,191,127,131,33,39,32,2,65,127,106,34,2,4,64,32,0,33,1,12,1,11,11,32,3,32,45,32,44,124,55,3,0,32,4,32,39,55,3,0,11,11,185,151,128,128,0,2,60,127,45,126,2,64,35,6,33,8,35,6,65,192,2,106,36,6,32,8,34,4,32,0,65,8,106,34,9,41,3,0,34,68,55,3,0,32,4,65,8,106,34,6,32,0,65,16,106,34,10,41,3,0,34,64,55,3,0,32,3,173,33,92,32,4,65,24,106,33,5,32,4,65,32,106,33,11,32,4,65,40,106,33,12,32,4,65,48,106,33,13,32,4,65,56,106,33,14,32,4,65,192,0,106,33,15,32,4,65,200,0,106,33,16,32,4,65,208,0,106,33,17,32,4,65,216,0,106,33,18,32,4,65,224,0,106,33,19,32,4,65,232,0,106,33,20,32,4,65,240,0,106,33,21,32,4,65,248,0,106,33,22,32,4,65,128,1,106,33,23,32,4,65,136,1,106,33,24,32,4,65,144,1,106,33,25,32,4,65,152,1,106,33,26,32,4,65,16,106,33,27,32,1,33,3,32,68,33,84,32,0,65,24,106,34,28,41,3,0,33,79,32,0,65,32,106,34,29,41,3,0,33,72,32,0,65,40,106,34,30,41,3,0,33,71,32,0,65,48,106,34,31,41,3,0,33,75,32,0,65,56,106,34,32,41,3,0,33,66,32,0,65,192,0,106,34,33,41,3,0,33,67,32,0,65,200,0,106,34,34,41,3,0,33,76,32,0,65,208,0,106,34,35,41,3,0,33,69,32,0,65,216,0,106,34,36,41,3,0,33,77,32,0,65,224,0,106,34,37,41,3,0,33,70,32,0,65,232,0,106,34,38,41,3,0,33,73,32,0,65,240,0,106,34,39,41,3,0,33,74,32,0,65,248,0,106,34,40,41,3,0,33,78,32,0,65,128,1,106,34,41,41,3,0,33,82,32,0,65,136,1,106,34,42,41,3,0,33,65,32,0,65,144,1,106,34,43,41,3,0,33,68,3,64,32,4,32,84,32,92,124,34,80,55,3,0,32,5,32,79,55,3,0,32,11,32,72,55,3,0,32,12,32,71,55,3,0,32,13,32,75,55,3,0,32,14,32,66,55,3,0,32,15,32,67,55,3,0,32,16,32,76,55,3,0,32,17,32,69,55,3,0,32,18,32,77,55,3,0,32,19,32,70,55,3,0,32,20,32,73,55,3,0,32,21,32,74,55,3,0,32,22,32,78,55,3,0,32,23,32,82,55,3,0,32,24,32,65,55,3,0,32,25,32,68,55,3,0,32,26,32,68,66,162,180,240,207,170,251,198,232,27,133,32,79,133,32,72,133,32,71,133,32,75,133,32,66,133,32,67,133,32,76,133,32,69,133,32,77,133,32,70,133,32,73,133,32,74,133,32,78,133,32,82,133,32,65,133,55,3,0,32,27,32,64,32,80,133,55,3,0,65,1,33,1,32,79,32,3,41,0,0,34,93,124,33,79,32,72,32,3,41,0,8,34,94,124,33,72,32,71,32,3,41,0,16,34,95,124,33,71,32,75,32,3,41,0,24,34,96,124,33,75,32,66,32,3,41,0,32,34,97,124,33,66,32,67,32,3,41,0,40,34,98,124,33,67,32,76,32,3,41,0,48,34,99,124,33,76,32,69,32,3,41,0,56,34,100,124,33,69,32,77,32,3,41,0,64,34,101,124,33,77,32,70,32,3,41,0,72,34,102,124,33,70,32,73,32,3,41,0,80,34,103,124,33,73,32,74,32,3,41,0,88,34,104,124,33,74,32,78,32,3,41,0,96,34,105,124,33,78,32,68,32,3,41,0,120,34,106,124,33,64,32,65,32,3,41,0,112,34,107,124,32,6,41,3,0,124,33,68,32,82,32,3,41,0,104,34,108,124,32,80,124,33,65,3,64,32,72,66,24,134,32,72,66,40,136,132,32,79,32,72,124,34,72,133,33,84,32,75,66,13,134,32,75,66,51,136,132,32,71,32,75,124,34,71,133,33,85,32,67,66,8,134,32,67,66,56,136,132,32,66,32,67,124,34,75,133,33,82,32,69,66,47,134,32,69,66,17,136,132,32,76,32,69,124,34,66,133,33,80,32,72,32,70,66,8,134,32,70,66,56,136,132,32,77,32,70,124,34,67,133,34,77,124,34,70,32,77,66,38,134,32,77,66,26,136,132,133,33,79,32,71,32,78,32,65,124,34,76,32,65,66,22,134,32,65,66,42,136,132,133,34,65,124,34,69,32,65,66,19,134,32,65,66,45,136,132,133,33,72,32,66,32,74,66,17,134,32,74,66,47,136,132,32,73,32,74,124,34,74,133,34,65,124,34,78,32,65,66,10,134,32,65,66,54,136,132,133,33,66,32,75,32,64,66,37,134,32,64,66,27,136,132,32,64,32,68,124,34,65,133,34,64,124,34,77,32,64,66,55,134,32,64,66,9,136,132,133,33,81,32,70,32,80,66,49,134,32,80,66,15,136,132,32,80,32,74,124,34,68,133,34,64,124,34,70,32,64,66,33,134,32,64,66,31,136,132,133,33,83,32,84,66,52,134,32,84,66,12,136,132,32,84,32,67,124,34,64,133,34,71,32,78,124,33,75,32,64,32,66,124,34,73,32,66,66,59,134,32,66,66,5,136,132,133,34,89,32,82,66,23,134,32,82,66,41,136,132,32,82,32,65,124,34,64,133,34,66,32,69,124,34,74,124,33,84,32,75,32,72,66,41,134,32,72,66,23,136,132,32,72,32,64,124,34,78,133,34,82,124,33,80,32,79,66,17,134,32,79,66,47,136,132,32,79,32,68,124,34,65,133,34,79,32,85,66,18,134,32,85,66,46,136,132,32,85,32,76,124,34,68,133,34,67,32,77,124,34,64,124,33,72,32,71,66,13,134,32,71,66,51,136,132,32,75,133,34,71,32,78,124,33,75,32,73,32,66,66,4,134,32,66,66,60,136,132,32,74,133,34,76,124,33,69,32,67,66,51,134,32,67,66,13,136,132,32,64,133,34,77,32,65,124,33,73,32,5,32,1,65,3,116,106,34,44,41,3,0,32,70,32,68,32,81,124,34,64,32,81,66,34,134,32,81,66,30,136,132,133,34,66,124,34,67,124,33,74,32,5,32,1,65,1,106,34,7,65,3,116,106,34,45,41,3,0,32,71,66,47,134,32,71,66,17,136,132,32,75,133,124,33,81,32,5,32,1,65,2,106,34,0,65,3,116,106,34,46,41,3,0,32,84,124,33,78,32,5,32,1,65,3,106,34,47,65,3,116,106,34,48,41,3,0,32,77,66,16,134,32,77,66,48,136,132,32,73,133,124,33,86,32,5,32,1,65,4,106,65,3,116,106,34,49,41,3,0,32,72,124,33,65,32,5,32,1,65,5,106,65,3,116,106,34,50,41,3,0,32,76,66,28,134,32,76,66,36,136,132,32,69,133,124,33,87,32,5,32,1,65,6,106,65,3,116,106,34,51,41,3,0,32,80,124,33,77,32,5,32,1,65,7,106,65,3,116,106,34,52,41,3,0,32,83,66,25,134,32,83,66,39,136,132,32,83,32,64,124,34,64,133,124,33,88,32,5,32,1,65,8,106,65,3,116,106,34,53,41,3,0,32,69,124,33,76,32,5,32,1,65,9,106,65,3,116,106,34,54,41,3,0,32,79,66,41,134,32,79,66,23,136,132,32,72,133,124,33,83,32,5,32,1,65,10,106,65,3,116,106,34,55,41,3,0,32,73,124,33,68,32,5,32,1,65,11,106,65,3,116,106,34,56,41,3,0,32,89,66,20,134,32,89,66,44,136,132,32,84,133,124,33,71,32,5,32,1,65,12,106,65,3,116,106,34,57,41,3,0,32,64,124,33,69,32,5,32,1,65,13,106,65,3,116,106,34,58,41,3,0,32,80,32,82,66,48,134,32,82,66,16,136,132,133,124,32,4,32,1,65,3,116,106,34,59,41,3,0,124,33,85,32,5,32,1,65,14,106,65,3,116,106,34,60,41,3,0,33,70,32,4,32,7,65,3,116,106,34,61,41,3,0,33,73,32,66,66,5,134,32,66,66,59,136,132,32,67,133,32,1,173,34,89,124,32,5,32,1,65,15,106,65,3,116,106,34,62,41,3,0,124,33,67,32,5,32,1,65,16,106,65,3,116,106,34,63,32,5,32,1,65,127,106,34,7,65,3,116,106,41,3,0,55,3,0,32,4,32,0,65,3,116,106,32,4,32,7,65,3,116,106,41,3,0,34,84,55,3,0,32,81,66,41,134,32,81,66,23,136,132,32,74,32,81,124,34,74,133,33,81,32,86,66,9,134,32,86,66,55,136,132,32,78,32,86,124,34,78,133,33,82,32,87,66,37,134,32,87,66,27,136,132,32,65,32,87,124,34,65,133,33,80,32,88,66,31,134,32,88,66,33,136,132,32,77,32,88,124,34,64,133,33,66,32,71,66,47,134,32,71,66,17,136,132,32,68,32,71,124,34,68,133,34,79,32,64,124,33,72,32,67,66,30,134,32,67,66,34,136,132,32,70,32,75,124,32,73,124,32,67,124,34,64,133,34,71,32,65,124,33,67,32,68,32,66,124,34,77,32,66,66,4,134,32,66,66,60,136,132,133,34,91,32,83,66,12,134,32,83,66,52,136,132,32,76,32,83,124,34,73,133,34,83,32,74,124,34,70,124,33,86,32,64,32,80,124,34,74,32,80,66,42,134,32,80,66,22,136,132,133,34,76,32,85,66,44,134,32,85,66,20,136,132,32,69,32,85,124,34,64,133,34,75,32,78,124,34,78,124,33,66,32,67,32,64,32,82,124,34,68,32,82,66,53,134,32,82,66,11,136,132,133,34,64,124,34,65,32,64,66,47,134,32,64,66,17,136,132,133,33,90,32,72,32,73,32,81,124,34,64,32,81,66,41,134,32,81,66,23,136,132,133,34,69,124,34,73,32,69,66,46,134,32,69,66,18,136,132,133,33,81,32,71,66,51,134,32,71,66,13,136,132,32,67,133,34,69,32,68,124,33,87,32,76,66,44,134,32,76,66,20,136,132,32,66,133,34,67,32,79,66,56,134,32,79,66,8,136,132,32,72,133,34,76,32,64,124,34,64,124,33,88,32,69,66,19,134,32,69,66,45,136,132,32,87,133,34,85,32,86,124,34,82,32,45,41,3,0,124,33,79,32,75,66,34,134,32,75,66,30,136,132,32,78,133,34,69,32,74,124,34,68,32,81,124,34,80,32,81,66,23,134,32,81,66,41,136,132,133,32,46,41,3,0,124,33,72,32,66,32,76,66,44,134,32,76,66,20,136,132,32,64,133,34,81,124,34,74,32,48,41,3,0,124,33,71,32,90,66,37,134,32,90,66,27,136,132,32,90,32,83,66,16,134,32,83,66,48,136,132,32,70,133,34,70,32,77,124,34,64,124,34,78,133,32,49,41,3,0,124,33,75,32,50,41,3,0,32,65,32,70,66,25,134,32,70,66,39,136,132,32,64,133,34,70,124,34,65,124,33,66,32,67,66,31,134,32,67,66,33,136,132,32,88,133,32,51,41,3,0,124,33,67,32,52,41,3,0,32,69,66,42,134,32,69,66,22,136,132,32,68,133,34,83,32,73,124,34,68,124,33,76,32,53,41,3,0,32,87,32,91,66,31,134,32,91,66,33,136,132,32,86,133,34,73,124,34,64,32,73,66,20,134,32,73,66,44,136,132,133,124,33,69,32,54,41,3,0,32,88,124,33,77,32,55,41,3,0,32,65,32,70,66,52,134,32,70,66,12,136,132,133,124,33,70,32,56,41,3,0,32,78,124,33,73,32,57,41,3,0,32,74,32,81,66,48,134,32,81,66,16,136,132,133,124,33,74,32,58,41,3,0,32,64,124,33,78,32,60,41,3,0,32,83,66,35,134,32,83,66,29,136,132,32,68,133,124,32,61,41,3,0,124,33,65,32,80,32,84,124,32,62,41,3,0,124,33,68,32,89,66,1,124,32,85,66,9,134,32,85,66,55,136,132,32,82,133,124,32,63,41,3,0,124,33,64,32,5,32,1,65,17,106,65,3,116,106,32,44,41,3,0,55,3,0,32,4,32,47,65,3,116,106,32,59,41,3,0,55,3,0,32,0,65,21,73,4,64,32,0,33,1,12,1,11,11,32,28,32,79,32,93,133,34,79,55,3,0,32,29,32,72,32,94,133,34,72,55,3,0,32,30,32,71,32,95,133,34,71,55,3,0,32,31,32,75,32,96,133,34,75,55,3,0,32,32,32,66,32,97,133,34,66,55,3,0,32,33,32,67,32,98,133,34,67,55,3,0,32,34,32,76,32,99,133,34,76,55,3,0,32,35,32,69,32,100,133,34,69,55,3,0,32,36,32,77,32,101,133,34,77,55,3,0,32,37,32,70,32,102,133,34,70,55,3,0,32,38,32,73,32,103,133,34,73,55,3,0,32,39,32,74,32,104,133,34,74,55,3,0,32,40,32,78,32,105,133,34,78,55,3,0,32,41,32,65,32,108,133,34,65,55,3,0,32,42,32,68,32,107,133,34,68,55,3,0,32,43,32,64,32,106,133,34,64,55,3,0,32,6,32,6,41,3,0,66,255,255,255,255,255,255,255,255,191,127,131,34,80,55,3,0,32,2,65,127,106,34,2,4,64,32,3,65,128,1,106,33,3,32,4,41,3,0,33,84,32,65,33,82,32,68,33,65,32,64,33,68,32,80,33,64,12,1,11,11,32,9,32,4,41,3,0,55,3,0,32,10,32,80,55,3,0,32,8,36,6,11,11,176,155,128,128,0,2,5,127,27,126,2,64,32,2,65,127,106,173,66,1,124,32,3,173,34,29,126,33,30,32,0,65,8,106,34,4,41,3,0,34,31,33,22,32,0,65,16,106,34,5,41,3,0,33,20,32,0,65,24,106,34,6,41,3,0,33,16,32,0,65,32,106,34,7,41,3,0,33,18,32,0,65,40,106,34,8,41,3,0,33,17,32,0,65,48,106,34,3,41,3,0,33,19,3,64,32,22,32,29,124,34,22,32,20,133,33,23,32,1,65,32,106,33,0,32,17,32,20,124,34,24,32,1,41,0,16,34,32,124,32,1,41,0,24,34,33,32,19,124,34,10,124,33,13,32,10,66,16,134,32,10,66,48,136,132,32,13,133,34,12,32,1,41,0,0,34,34,32,16,124,32,18,32,22,124,34,27,32,1,41,0,8,34,35,124,34,11,124,34,10,124,33,9,32,12,66,52,134,32,12,66,12,136,132,32,9,133,34,12,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,12,66,40,134,32,12,66,24,136,132,32,13,133,34,12,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,9,124,34,10,124,33,14,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,9,32,13,124,34,10,32,19,32,23,124,34,25,124,32,16,66,162,180,240,207,170,251,198,232,27,133,32,18,133,32,17,133,32,19,133,34,21,66,1,124,32,12,66,5,134,32,12,66,59,136,132,32,14,133,124,34,11,124,33,13,32,11,66,33,134,32,11,66,31,136,132,32,13,133,34,12,32,14,32,18,124,32,9,66,37,134,32,9,66,27,136,132,32,10,133,32,24,124,34,11,124,34,10,124,33,9,32,12,66,46,134,32,12,66,18,136,132,32,9,133,34,12,32,11,66,25,134,32,11,66,39,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,12,66,22,134,32,12,66,42,136,132,32,13,133,34,12,32,11,66,12,134,32,11,66,52,136,132,32,10,133,34,11,32,9,124,34,10,124,33,14,32,11,66,58,134,32,11,66,6,136,132,32,10,133,34,9,32,13,124,34,10,32,21,32,22,124,34,26,124,32,16,66,2,124,32,12,66,32,134,32,12,66,32,136,132,32,14,133,124,34,11,124,33,13,32,11,66,16,134,32,11,66,48,136,132,32,13,133,34,12,32,14,32,17,124,32,9,66,32,134,32,9,66,32,136,132,32,10,133,32,25,124,34,11,124,34,10,124,33,9,32,12,66,52,134,32,12,66,12,136,132,32,9,133,34,12,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,14,32,12,66,40,134,32,12,66,24,136,132,32,14,133,34,12,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,9,124,34,10,124,33,13,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,9,32,14,124,34,10,32,16,32,20,124,34,28,124,32,18,66,3,124,32,12,66,5,134,32,12,66,59,136,132,32,13,133,124,34,11,124,33,14,32,11,66,33,134,32,11,66,31,136,132,32,14,133,34,12,32,13,32,19,124,32,9,66,37,134,32,9,66,27,136,132,32,10,133,32,26,124,34,11,124,34,10,124,33,13,32,12,66,46,134,32,12,66,18,136,132,32,13,133,34,9,32,11,66,25,134,32,11,66,39,136,132,32,10,133,34,11,32,14,124,34,10,124,33,12,32,9,66,22,134,32,9,66,42,136,132,32,12,133,34,9,32,11,66,12,134,32,11,66,52,136,132,32,10,133,34,11,32,13,124,34,10,124,33,15,32,11,66,58,134,32,11,66,6,136,132,32,10,133,34,14,32,12,124,34,10,32,18,32,23,124,34,12,124,32,17,66,4,124,32,9,66,32,134,32,9,66,32,136,132,32,15,133,124,34,11,124,33,13,32,11,66,16,134,32,11,66,48,136,132,32,13,133,34,9,32,15,32,21,124,32,14,66,32,134,32,14,66,32,136,132,32,10,133,32,28,124,34,11,124,34,10,124,33,14,32,9,66,52,134,32,9,66,12,136,132,32,14,133,34,9,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,9,66,40,134,32,9,66,24,136,132,32,13,133,34,9,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,14,124,34,10,124,33,15,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,14,32,13,124,34,10,32,17,32,22,124,34,11,124,32,19,66,5,124,32,9,66,5,134,32,9,66,59,136,132,32,15,133,124,34,9,124,33,13,32,9,66,33,134,32,9,66,31,136,132,32,13,133,34,9,32,15,32,16,124,32,14,66,37,134,32,14,66,27,136,132,32,10,133,32,12,124,34,12,124,34,10,124,33,14,32,9,66,46,134,32,9,66,18,136,132,32,14,133,34,9,32,12,66,25,134,32,12,66,39,136,132,32,10,133,34,12,32,13,124,34,10,124,33,13,32,9,66,22,134,32,9,66,42,136,132,32,13,133,34,9,32,12,66,12,134,32,12,66,52,136,132,32,10,133,34,12,32,14,124,34,10,124,33,15,32,12,66,58,134,32,12,66,6,136,132,32,10,133,34,14,32,13,124,34,10,32,19,32,20,124,34,12,124,32,21,66,6,124,32,9,66,32,134,32,9,66,32,136,132,32,15,133,124,34,9,124,33,13,32,9,66,16,134,32,9,66,48,136,132,32,13,133,34,9,32,15,32,18,124,32,14,66,32,134,32,14,66,32,136,132,32,10,133,32,11,124,34,11,124,34,10,124,33,14,32,9,66,52,134,32,9,66,12,136,132,32,14,133,34,9,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,9,66,40,134,32,9,66,24,136,132,32,13,133,34,9,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,14,124,34,10,124,33,15,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,14,32,13,124,34,10,32,21,32,23,124,34,11,124,32,16,66,7,124,32,9,66,5,134,32,9,66,59,136,132,32,15,133,124,34,9,124,33,13,32,9,66,33,134,32,9,66,31,136,132,32,13,133,34,9,32,15,32,17,124,32,14,66,37,134,32,14,66,27,136,132,32,10,133,32,12,124,34,12,124,34,10,124,33,14,32,9,66,46,134,32,9,66,18,136,132,32,14,133,34,9,32,12,66,25,134,32,12,66,39,136,132,32,10,133,34,12,32,13,124,34,10,124,33,13,32,9,66,22,134,32,9,66,42,136,132,32,13,133,34,9,32,12,66,12,134,32,12,66,52,136,132,32,10,133,34,12,32,14,124,34,10,124,33,15,32,12,66,58,134,32,12,66,6,136,132,32,10,133,34,14,32,13,124,34,10,32,16,32,22,124,34,12,124,32,18,66,8,124,32,9,66,32,134,32,9,66,32,136,132,32,15,133,124,34,9,124,33,13,32,9,66,16,134,32,9,66,48,136,132,32,13,133,34,9,32,15,32,19,124,32,14,66,32,134,32,14,66,32,136,132,32,10,133,32,11,124,34,11,124,34,10,124,33,14,32,9,66,52,134,32,9,66,12,136,132,32,14,133,34,9,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,9,66,40,134,32,9,66,24,136,132,32,13,133,34,9,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,14,124,34,10,124,33,15,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,14,32,13,124,34,10,32,18,32,20,124,34,11,124,32,17,66,9,124,32,9,66,5,134,32,9,66,59,136,132,32,15,133,124,34,9,124,33,13,32,9,66,33,134,32,9,66,31,136,132,32,13,133,34,9,32,15,32,21,124,32,14,66,37,134,32,14,66,27,136,132,32,10,133,32,12,124,34,12,124,34,10,124,33,14,32,9,66,46,134,32,9,66,18,136,132,32,14,133,34,9,32,12,66,25,134,32,12,66,39,136,132,32,10,133,34,12,32,13,124,34,10,124,33,13,32,9,66,22,134,32,9,66,42,136,132,32,13,133,34,9,32,12,66,12,134,32,12,66,52,136,132,32,10,133,34,12,32,14,124,34,10,124,33,15,32,12,66,58,134,32,12,66,6,136,132,32,10,133,34,14,32,13,124,34,10,32,17,32,23,124,34,12,124,32,19,66,10,124,32,9,66,32,134,32,9,66,32,136,132,32,15,133,124,34,9,124,33,13,32,9,66,16,134,32,9,66,48,136,132,32,13,133,34,9,32,15,32,16,124,32,14,66,32,134,32,14,66,32,136,132,32,10,133,32,11,124,34,11,124,34,10,124,33,14,32,9,66,52,134,32,9,66,12,136,132,32,14,133,34,9,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,9,66,40,134,32,9,66,24,136,132,32,13,133,34,9,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,14,124,34,10,124,33,15,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,14,32,13,124,34,10,32,19,32,22,124,34,11,124,32,21,66,11,124,32,9,66,5,134,32,9,66,59,136,132,32,15,133,124,34,9,124,33,13,32,9,66,33,134,32,9,66,31,136,132,32,13,133,34,9,32,15,32,18,124,32,14,66,37,134,32,14,66,27,136,132,32,10,133,32,12,124,34,12,124,34,10,124,33,14,32,9,66,46,134,32,9,66,18,136,132,32,14,133,34,9,32,12,66,25,134,32,12,66,39,136,132,32,10,133,34,12,32,13,124,34,10,124,33,13,32,9,66,22,134,32,9,66,42,136,132,32,13,133,34,9,32,12,66,12,134,32,12,66,52,136,132,32,10,133,34,12,32,14,124,34,10,124,33,15,32,12,66,58,134,32,12,66,6,136,132,32,10,133,34,14,32,13,124,34,10,32,21,32,20,124,34,12,124,32,16,66,12,124,32,9,66,32,134,32,9,66,32,136,132,32,15,133,124,34,9,124,33,13,32,9,66,16,134,32,9,66,48,136,132,32,13,133,34,9,32,15,32,17,124,32,14,66,32,134,32,14,66,32,136,132,32,10,133,32,11,124,34,11,124,34,10,124,33,14,32,9,66,52,134,32,9,66,12,136,132,32,14,133,34,9,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,9,66,40,134,32,9,66,24,136,132,32,13,133,34,9,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,14,124,34,10,124,33,15,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,14,32,13,124,34,10,32,16,32,23,124,34,11,124,32,18,66,13,124,32,9,66,5,134,32,9,66,59,136,132,32,15,133,124,34,9,124,33,13,32,9,66,33,134,32,9,66,31,136,132,32,13,133,34,9,32,15,32,19,124,32,14,66,37,134,32,14,66,27,136,132,32,10,133,32,12,124,34,12,124,34,10,124,33,14,32,9,66,46,134,32,9,66,18,136,132,32,14,133,34,9,32,12,66,25,134,32,12,66,39,136,132,32,10,133,34,12,32,13,124,34,10,124,33,15,32,9,66,22,134,32,9,66,42,136,132,32,15,133,34,13,32,12,66,12,134,32,12,66,52,136,132,32,10,133,34,12,32,14,124,34,10,124,33,14,32,12,66,58,134,32,12,66,6,136,132,32,10,133,34,9,32,15,124,34,10,32,27,124,32,17,66,14,124,32,13,66,32,134,32,13,66,32,136,132,32,14,133,124,34,12,124,33,13,32,12,66,16,134,32,12,66,48,136,132,32,13,133,34,12,32,14,32,21,124,32,9,66,32,134,32,9,66,32,136,132,32,10,133,32,11,124,34,11,124,34,10,124,33,9,32,12,66,52,134,32,12,66,12,136,132,32,9,133,34,12,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,12,66,40,134,32,12,66,24,136,132,32,13,133,34,12,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,9,124,34,10,124,33,14,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,9,32,13,124,34,10,32,24,124,32,19,66,15,124,32,12,66,5,134,32,12,66,59,136,132,32,14,133,124,34,11,124,33,13,32,11,66,33,134,32,11,66,31,136,132,32,13,133,34,12,32,14,32,16,124,32,9,66,37,134,32,9,66,27,136,132,32,10,133,32,27,124,34,11,124,34,10,124,33,9,32,12,66,46,134,32,12,66,18,136,132,32,9,133,34,12,32,11,66,25,134,32,11,66,39,136,132,32,10,133,34,11,32,13,124,34,10,124,33,13,32,12,66,22,134,32,12,66,42,136,132,32,13,133,34,12,32,11,66,12,134,32,11,66,52,136,132,32,10,133,34,11,32,9,124,34,10,124,33,14,32,11,66,58,134,32,11,66,6,136,132,32,10,133,34,9,32,13,124,34,10,32,25,124,32,21,66,16,124,32,12,66,32,134,32,12,66,32,136,132,32,14,133,124,34,11,124,33,13,32,11,66,16,134,32,11,66,48,136,132,32,13,133,34,12,32,14,32,18,124,32,9,66,32,134,32,9,66,32,136,132,32,10,133,32,24,124,34,11,124,34,10,124,33,9,32,12,66,52,134,32,12,66,12,136,132,32,9,133,34,12,32,11,66,14,134,32,11,66,50,136,132,32,10,133,34,11,32,13,124,34,10,124,33,14,32,12,66,40,134,32,12,66,24,136,132,32,14,133,34,12,32,11,66,57,134,32,11,66,7,136,132,32,10,133,34,11,32,9,124,34,10,124,33,13,32,11,66,23,134,32,11,66,41,136,132,32,10,133,34,9,32,14,124,34,10,32,26,124,32,16,66,17,124,32,12,66,5,134,32,12,66,59,136,132,32,13,133,124,34,16,124,33,11,32,16,66,33,134,32,16,66,31,136,132,32,11,133,34,12,32,13,32,17,124,32,9,66,37,134,32,9,66,27,136,132,32,10,133,32,25,124,34,16,124,34,17,124,33,10,32,16,66,25,134,32,16,66,39,136,132,32,17,133,34,17,32,11,124,33,11,32,17,66,12,134,32,17,66,52,136,132,32,11,133,34,17,32,10,124,33,16,32,17,66,58,134,32,17,66,6,136,132,32,16,133,34,13,32,12,66,46,134,32,12,66,18,136,132,32,10,133,34,10,32,11,124,34,17,124,33,9,32,6,32,10,66,22,134,32,10,66,42,136,132,32,17,133,34,12,32,16,124,34,11,32,19,124,32,34,133,34,16,55,3,0,32,7,32,13,66,32,134,32,13,66,32,136,132,32,9,133,32,26,124,32,35,133,34,10,55,3,0,32,8,32,9,32,28,124,32,32,133,34,17,55,3,0,32,3,32,18,66,18,124,32,12,66,32,134,32,12,66,32,136,132,32,11,133,124,32,33,133,34,19,55,3,0,32,20,66,255,255,255,255,255,255,255,255,191,127,131,33,20,32,2,65,127,106,34,2,4,64,32,0,33,1,32,10,33,18,12,1,11,11,32,4,32,31,32,30,124,55,3,0,32,5,32,20,55,3,0,11,11,143,134,128,128,0,1,21,127,2,64,35,6,33,12,35,6,65,16,106,36,6,32,0,40,2,0,34,2,40,2,0,65,2,118,33,1,32,2,65,20,106,34,6,32,1,54,2,0,32,2,65,16,106,34,4,32,1,65,7,106,34,1,54,2,0,32,2,32,1,65,4,116,34,1,54,2,8,32,2,32,1,65,1,16,76,34,1,54,2,12,32,1,32,2,40,2,4,32,2,40,2,0,16,80,26,32,6,40,2,0,34,1,32,4,40,2,0,65,2,116,79,4,64,32,12,36,6,15,11,32,12,34,3,65,1,106,33,9,32,3,65,3,106,33,13,32,3,65,2,106,33,14,32,3,65,1,106,33,18,32,3,65,2,106,33,19,32,3,65,2,106,33,20,32,1,33,4,32,1,33,7,3,64,32,3,32,2,40,2,12,34,15,32,4,65,2,116,34,10,65,124,106,106,40,0,0,34,5,54,2,0,32,5,65,8,118,33,16,32,5,65,16,118,33,17,32,5,65,24,118,33,11,32,4,32,7,112,34,21,4,64,32,11,33,2,32,17,65,255,1,113,33,6,32,16,65,255,1,113,33,8,32,5,65,255,1,113,33,1,32,7,65,6,75,32,21,65,4,70,113,4,64,32,3,32,5,65,4,118,65,15,113,65,4,116,65,251,210,0,106,32,5,65,15,113,106,44,0,0,34,1,58,0,0,32,9,32,5,65,12,118,65,15,113,65,4,116,65,251,210,0,106,32,16,65,15,113,106,44,0,0,34,8,58,0,0,32,20,32,5,65,20,118,65,15,113,65,4,116,65,251,210,0,106,32,17,65,15,113,106,44,0,0,34,6,58,0,0,32,13,32,5,65,28,118,65,4,116,65,251,210,0,106,32,11,65,15,113,106,44,0,0,34,2,58,0,0,11,5,32,3,32,9,65,3,16,81,26,32,3,32,3,45,0,0,34,2,65,4,118,65,4,116,65,251,210,0,106,32,2,65,15,113,106,44,0,0,58,0,0,32,9,32,9,45,0,0,34,2,65,4,118,65,4,116,65,251,210,0,106,32,2,65,15,113,106,44,0,0,58,0,0,32,14,32,14,45,0,0,34,2,65,4,118,65,4,116,65,251,210,0,106,32,2,65,15,113,106,44,0,0,58,0,0,32,13,32,5,65,4,118,65,15,113,65,4,116,65,251,210,0,106,32,5,65,15,113,106,44,0,0,34,2,58,0,0,32,3,32,4,32,7,110,65,250,212,0,106,44,0,0,32,3,44,0,0,115,34,1,58,0,0,32,18,44,0,0,33,8,32,19,44,0,0,33,6,11,32,15,32,10,106,32,1,32,15,32,4,32,7,107,65,2,116,106,44,0,0,115,58,0,0,32,0,40,2,0,34,11,40,2,12,34,1,32,10,65,1,114,106,32,8,32,1,32,4,32,11,40,2,20,107,65,2,116,65,1,114,106,44,0,0,115,58,0,0,32,0,40,2,0,34,8,40,2,12,34,1,32,10,65,2,114,106,32,6,32,1,32,4,32,8,40,2,20,107,65,2,116,65,2,114,106,44,0,0,115,58,0,0,32,0,40,2,0,34,6,40,2,12,34,1,32,10,65,3,114,106,32,2,32,1,32,4,32,6,40,2,20,107,65,2,116,65,3,114,106,44,0,0,115,58,0,0,32,4,65,1,106,34,4,32,0,40,2,0,34,1,40,2,16,65,2,116,73,4,64,32,1,33,2,32,1,40,2,20,33,7,12,1,11,11,32,12,36,6,11,11,138,129,128,128,0,1,2,127,2,127,32,0,40,2,0,34,3,4,64,32,3,40,2,4,34,4,4,64,32,4,16,75,32,0,40,2,0,65,0,54,2,4,32,0,40,2,0,33,3,11,32,3,40,2,12,34,4,4,64,32,4,16,75,32,0,40,2,0,65,0,54,2,12,32,0,40,2,0,33,3,11,32,3,16,75,32,0,65,0,54,2,0,11,32,0,65,24,65,1,16,76,34,3,54,2,0,32,3,32,2,54,2,0,32,3,32,2,65,1,16,76,34,3,54,2,4,32,3,32,1,32,2,16,80,26,32,0,16,49,65,0,11,11,175,129,128,128,0,1,11,127,2,127,35,6,33,2,35,6,65,16,106,36,6,65,24,65,1,16,76,34,3,69,4,64,32,2,36,6,65,0,15,11,32,2,34,1,16,10,26,32,1,16,4,33,0,65,1,32,1,47,1,4,34,4,16,76,33,1,32,0,40,2,20,33,5,32,0,40,2,16,33,6,32,0,40,2,12,33,7,32,0,40,2,8,33,8,32,0,40,2,4,33,9,32,0,40,2,0,33,0,16,67,33,10,32,1,4,64,32,1,16,75,11,32,4,65,237,14,106,32,5,106,32,6,106,32,1,32,4,106,106,32,7,106,32,8,106,32,9,106,32,0,106,32,10,106,16,72,32,3,65,0,54,2,0,32,3,65,2,65,0,16,52,26,32,2,36,6,32,3,11,11,169,130,128,128,0,1,3,127,2,127,32,0,69,4,64,65,2,15,11,2,64,2,64,2,64,2,64,32,1,65,16,116,65,16,117,65,1,107,14,2,0,1,2,11,32,0,65,4,106,34,3,46,1,0,65,125,113,33,2,32,3,32,2,59,1,0,32,0,65,6,106,34,0,66,0,55,1,0,32,0,66,0,55,1,8,32,3,33,0,12,2,11,32,0,65,4,106,34,3,46,1,0,65,126,113,33,5,32,3,32,5,59,1,0,32,0,65,6,106,33,4,32,2,4,64,32,4,32,2,41,0,0,55,0,0,32,4,32,2,41,0,8,55,0,8,32,3,33,0,32,5,33,2,12,2,5,32,4,16,73,58,0,0,32,0,16,73,58,0,7,32,0,16,73,58,0,8,32,0,16,73,58,0,9,32,0,16,73,58,0,10,32,0,16,73,58,0,11,32,0,16,73,58,0,12,32,0,16,73,58,0,13,32,0,16,73,58,0,14,32,0,16,73,58,0,15,32,0,16,73,58,0,16,32,0,16,73,58,0,17,32,0,16,73,58,0,18,32,0,16,73,58,0,19,32,0,16,73,58,0,20,32,0,16,73,58,0,21,32,3,33,0,32,3,46,1,0,33,2,12,2,11,0,11,65,3,15,11,32,0,32,2,32,1,114,59,1,0,65,0,11,11,133,129,128,128,0,1,3,127,2,127,32,0,69,4,64,65,2,15,11,32,0,40,2,0,34,1,69,4,64,65,0,15,11,32,1,40,2,0,34,2,4,64,32,2,40,2,4,34,3,4,64,32,3,16,75,32,1,40,2,0,65,0,54,2,4,32,1,40,2,0,33,2,11,32,2,40,2,12,34,3,4,64,32,3,16,75,32,1,40,2,0,65,0,54,2,12,32,1,40,2,0,33,2,11,32,2,16,75,32,1,65,0,54,2,0,32,0,40,2,0,33,1,11,32,1,16,75,32,0,65,0,54,2,0,65,0,11,11,230,128,128,128,0,1,4,126,2,126,32,1,66,255,255,255,255,15,131,34,3,32,0,66,32,136,34,5,126,33,4,32,3,32,0,66,255,255,255,255,15,131,34,3,126,33,0,32,4,32,1,66,32,136,34,6,32,3,126,124,34,1,66,32,134,32,0,124,33,3,32,2,32,1,66,32,136,32,6,32,5,126,124,32,1,32,4,84,173,66,32,134,124,32,3,32,0,84,173,124,55,3,0,32,3,11,11,134,128,128,128,0,0,65,152,213,0,11,176,128,128,128,0,1,2,127,2,127,35,6,33,1,35,6,65,16,106,36,6,32,1,34,2,32,0,40,2,60,16,63,54,2,0,65,6,32,2,16,8,16,59,33,0,32,1,36,6,32,0,11,11,133,131,128,128,0,1,11,127,2,127,35,6,33,6,35,6,65,48,106,36,6,32,6,65,16,106,33,7,32,6,65,32,106,34,3,32,0,65,28,106,34,9,40,2,0,34,4,54,2,0,32,3,32,0,65,20,106,34,10,40,2,0,32,4,107,34,4,54,2,4,32,3,32,1,54,2,8,32,3,32,2,54,2,12,32,6,34,1,32,0,65,60,106,34,12,40,2,0,54,2,0,32,1,32,3,54,2,4,32,1,65,2,54,2,8,2,64,2,64,32,4,32,2,106,34,4,65,146,1,32,1,16,16,16,59,34,5,70,13,0,65,2,33,8,32,3,33,1,32,5,33,3,3,64,32,3,65,0,78,4,64,32,4,32,3,107,33,4,32,1,65,8,106,33,5,32,3,32,1,40,2,4,34,13,75,34,11,4,64,32,5,33,1,11,32,11,65,31,116,65,31,117,32,8,106,33,8,32,1,32,1,40,2,0,32,3,32,11,4,127,32,13,5,65,0,11,107,34,3,106,54,2,0,32,1,65,4,106,34,5,32,5,40,2,0,32,3,107,54,2,0,32,7,32,12,40,2,0,54,2,0,32,7,32,1,54,2,4,32,7,32,8,54,2,8,32,4,65,146,1,32,7,16,16,16,59,34,3,70,13,2,12,1,11,11,32,0,65,0,54,2,16,32,9,65,0,54,2,0,32,10,65,0,54,2,0,32,0,32,0,40,2,0,65,32,114,54,2,0,32,8,65,2,70,4,127,65,0,5,32,2,32,1,40,2,4,107,11,33,2,12,1,11,32,0,32,0,40,2,44,34,1,32,0,40,2,48,106,54,2,16,32,9,32,1,54,2,0,32,10,32,1,54,2,0,11,32,6,36,6,32,2,11,11,229,128,128,128,0,1,2,127,2,127,35,6,33,4,35,6,65,32,106,36,6,32,4,34,3,32,0,40,2,60,54,2,0,32,3,65,0,54,2,4,32,3,32,1,54,2,8,32,3,32,4,65,20,106,34,0,54,2,12,32,3,32,2,54,2,16,65,140,1,32,3,16,13,16,59,65,0,72,4,127,32,0,65,127,54,2,0,65,127,5,32,0,40,2,0,11,33,0,32,4,36,6,32,0,11,11,154,128,128,128,0,0,32,0,65,128,96,75,4,127,16,60,65,0,32,0,107,54,2,0,65,127,5,32,0,11,11,136,128,128,128,0,0,16,61,65,192,0,106,11,132,128,128,128,0,0,16,62,11,133,128,128,128,0,0,65,208,62,11,132,128,128,128,0,0,32,0,11,235,128,128,128,0,1,3,127,2,127,35,6,33,4,35,6,65,32,106,36,6,32,4,33,3,32,4,65,16,106,33,5,32,0,65,3,54,2,36,32,0,40,2,0,65,192,0,113,69,4,64,32,3,32,0,40,2,60,54,2,0,32,3,65,147,168,1,54,2,4,32,3,32,5,54,2,8,65,54,32,3,16,12,4,64,32,0,65,127,58,0,75,11,11,32,0,32,1,32,2,16,57,33,0,32,4,36,6,32,0,11,11,132,128,128,128,0,0,65,0,11,131,128,128,128,0,0,1,11,160,128,128,128,0,1,2,127,2,127,35,6,33,0,35,6,65,16,106,36,6,65,20,32,0,16,14,33,1,32,0,36,6,32,1,11,11,143,128,128,128,0,0,2,127,65,216,213,0,16,5,65,224,213,0,11,11,136,128,128,128,0,0,65,216,213,0,16,9,11,166,129,128,128,0,1,2,127,2,127,2,64,32,0,4,64,32,0,40,2,76,65,127,76,4,64,32,0,16,71,33,0,12,2,11,32,0,16,65,69,33,2,32,0,16,71,33,1,32,2,4,127,32,1,5,32,0,16,66,32,1,11,33,0,5,65,192,193,0,40,2,0,4,127,65,192,193,0,40,2,0,16,70,5,65,0,11,33,0,16,68,40,2,0,34,1,4,64,3,64,32,1,40,2,76,65,127,74,4,127,32,1,16,65,5,65,0,11,33,2,32,1,40,2,20,32,1,40,2,28,75,4,64,32,1,16,71,32,0,114,33,0,11,32,2,4,64,32,1,16,66,11,32,1,40,2,56,34,1,13,0,11,11,16,69,11,11,32,0,11,11,156,129,128,128,0,1,6,127,2,127,2,64,32,0,65,20,106,34,1,40,2,0,32,0,65,28,106,34,2,40,2,0,77,13,0,32,0,65,0,65,0,32,0,40,2,36,65,3,113,65,2,106,17,1,0,26,32,1,40,2,0,13,0,65,127,12,1,11,32,0,65,4,106,34,3,40,2,0,34,4,32,0,65,8,106,34,5,40,2,0,34,6,73,4,64,32,0,32,4,32,6,107,65,1,32,0,40,2,40,65,3,113,65,2,106,17,1,0,26,11,32,0,65,0,54,2,16,32,2,65,0,54,2,0,32,1,65,0,54,2,0,32,5,65,0,54,2,0,32,3,65,0,54,2,0,65,0,11,34,0,11,143,128,128,128,0,0,65,144,213,0,32,0,65,127,106,173,55,3,0,11,172,128,128,128,0,1,1,126,2,127,65,144,213,0,65,144,213,0,41,3,0,66,173,254,213,228,212,133,253,168,216,0,126,66,1,124,34,0,55,3,0,32,0,66,33,136,167,11,11,137,185,128,128,0,1,20,127,2,127,35,6,33,13,35,6,65,16,106,36,6,32,13,33,15,2,64,32,0,65,245,1,73,4,64,32,0,65,11,106,65,120,113,33,3,65,228,213,0,40,2,0,34,7,32,0,65,11,73,4,127,65,16,34,3,5,32,3,11,65,3,118,34,0,118,34,2,65,3,113,4,64,32,2,65,1,113,65,1,115,32,0,106,34,1,65,3,116,65,140,214,0,106,34,3,65,8,106,34,4,40,2,0,34,2,65,8,106,34,6,40,2,0,33,0,32,3,32,0,70,4,64,65,228,213,0,32,7,65,1,32,1,116,65,127,115,113,54,2,0,5,32,0,65,244,213,0,40,2,0,73,4,64,16,6,11,32,0,65,12,106,34,5,40,2,0,32,2,70,4,64,32,5,32,3,54,2,0,32,4,32,0,54,2,0,5,16,6,11,11,32,2,32,1,65,3,116,34,0,65,3,114,54,2,4,32,2,32,0,106,65,4,106,34,0,32,0,40,2,0,65,1,114,54,2,0,32,13,36,6,32,6,15,11,32,3,65,236,213,0,40,2,0,34,16,75,4,64,32,2,4,64,32,2,32,0,116,65,2,32,0,116,34,0,65,0,32,0,107,114,113,34,0,65,0,32,0,107,113,65,127,106,34,2,65,12,118,65,16,113,33,0,32,2,32,0,118,34,2,65,5,118,65,8,113,34,4,32,0,114,32,2,32,4,118,34,0,65,2,118,65,4,113,34,2,114,32,0,32,2,118,34,0,65,1,118,65,2,113,34,2,114,32,0,32,2,118,34,0,65,1,118,65,1,113,34,2,114,32,0,32,2,118,106,34,4,65,3,116,65,140,214,0,106,34,5,65,8,106,34,8,40,2,0,34,2,65,8,106,34,11,40,2,0,33,0,32,5,32,0,70,4,64,65,228,213,0,32,7,65,1,32,4,116,65,127,115,113,34,1,54,2,0,5,32,0,65,244,213,0,40,2,0,73,4,64,16,6,11,32,0,65,12,106,34,12,40,2,0,32,2,70,4,64,32,12,32,5,54,2,0,32,8,32,0,54,2,0,32,7,33,1,5,16,6,11,11,32,2,32,3,65,3,114,54,2,4,32,2,32,3,106,34,5,32,4,65,3,116,32,3,107,34,4,65,1,114,54,2,4,32,5,32,4,106,32,4,54,2,0,32,16,4,64,65,248,213,0,40,2,0,33,3,32,16,65,3,118,34,2,65,3,116,65,140,214,0,106,33,0,32,1,65,1,32,2,116,34,2,113,4,64,32,0,65,8,106,34,2,40,2,0,34,1,65,244,213,0,40,2,0,73,4,64,16,6,5,32,1,33,6,32,2,33,10,11,5,65,228,213,0,32,1,32,2,114,54,2,0,32,0,33,6,32,0,65,8,106,33,10,11,32,10,32,3,54,2,0,32,6,32,3,54,2,12,32,3,32,6,54,2,8,32,3,32,0,54,2,12,11,65,236,213,0,32,4,54,2,0,65,248,213,0,32,5,54,2,0,32,13,36,6,32,11,15,11,65,232,213,0,40,2,0,34,10,4,64,32,10,65,0,32,10,107,113,65,127,106,34,2,65,12,118,65,16,113,33,0,32,2,32,0,118,34,2,65,5,118,65,8,113,34,1,32,0,114,32,2,32,1,118,34,0,65,2,118,65,4,113,34,2,114,32,0,32,2,118,34,0,65,1,118,65,2,113,34,2,114,32,0,32,2,118,34,0,65,1,118,65,1,113,34,2,114,32,0,32,2,118,106,65,2,116,65,148,216,0,106,40,2,0,34,1,40,2,4,65,120,113,32,3,107,33,2,32,1,65,16,106,32,1,40,2,16,69,65,2,116,106,40,2,0,34,0,4,64,3,64,32,0,40,2,4,65,120,113,32,3,107,34,6,32,2,73,34,8,4,64,32,6,33,2,11,32,8,4,64,32,0,33,1,11,32,0,65,16,106,32,0,40,2,16,69,65,2,116,106,40,2,0,34,0,13,0,32,2,33,6,11,5,32,2,33,6,11,32,1,65,244,213,0,40,2,0,34,15,73,4,64,16,6,11,32,1,32,1,32,3,106,34,9,79,4,64,16,6,11,32,1,40,2,24,33,12,2,64,32,1,40,2,12,34,0,32,1,70,4,64,32,1,65,20,106,34,2,40,2,0,34,0,69,4,64,32,1,65,16,106,34,2,40,2,0,34,0,69,4,64,65,0,33,4,12,3,11,11,3,64,32,0,65,20,106,34,8,40,2,0,34,11,4,64,32,11,33,0,32,8,33,2,12,1,11,32,0,65,16,106,34,8,40,2,0,34,11,4,64,32,11,33,0,32,8,33,2,12,1,11,11,32,2,32,15,73,4,64,16,6,5,32,2,65,0,54,2,0,32,0,33,4,11,5,32,1,40,2,8,34,2,32,15,73,4,64,16,6,11,32,2,65,12,106,34,8,40,2,0,32,1,71,4,64,16,6,11,32,0,65,8,106,34,11,40,2,0,32,1,70,4,64,32,8,32,0,54,2,0,32,11,32,2,54,2,0,32,0,33,4,5,16,6,11,11,11,2,64,32,12,4,64,32,1,32,1,40,2,28,34,0,65,2,116,65,148,216,0,106,34,2,40,2,0,70,4,64,32,2,32,4,54,2,0,32,4,69,4,64,65,232,213,0,32,10,65,1,32,0,116,65,127,115,113,54,2,0,12,3,11,5,32,12,65,244,213,0,40,2,0,73,4,64,16,6,5,32,12,65,16,106,32,12,40,2,16,32,1,71,65,2,116,106,32,4,54,2,0,32,4,69,13,3,11,11,32,4,65,244,213,0,40,2,0,34,2,73,4,64,16,6,11,32,4,32,12,54,2,24,32,1,40,2,16,34,0,4,64,32,0,32,2,73,4,64,16,6,5,32,4,32,0,54,2,16,32,0,32,4,54,2,24,11,11,32,1,40,2,20,34,0,4,64,32,0,65,244,213,0,40,2,0,73,4,64,16,6,5,32,4,32,0,54,2,20,32,0,32,4,54,2,24,11,11,11,11,32,6,65,16,73,4,64,32,1,32,6,32,3,106,34,0,65,3,114,54,2,4,32,1,32,0,106,65,4,106,34,0,32,0,40,2,0,65,1,114,54,2,0,5,32,1,32,3,65,3,114,54,2,4,32,9,32,6,65,1,114,54,2,4,32,9,32,6,106,32,6,54,2,0,32,16,4,64,65,248,213,0,40,2,0,33,4,32,16,65,3,118,34,2,65,3,116,65,140,214,0,106,33,0,32,7,65,1,32,2,116,34,2,113,4,64,32,0,65,8,106,34,2,40,2,0,34,3,65,244,213,0,40,2,0,73,4,64,16,6,5,32,3,33,5,32,2,33,14,11,5,65,228,213,0,32,7,32,2,114,54,2,0,32,0,33,5,32,0,65,8,106,33,14,11,32,14,32,4,54,2,0,32,5,32,4,54,2,12,32,4,32,5,54,2,8,32,4,32,0,54,2,12,11,65,236,213,0,32,6,54,2,0,65,248,213,0,32,9,54,2,0,11,32,13,36,6,32,1,65,8,106,15,5,32,3,33,2,11,5,32,3,33,2,11,5,32,0,65,191,127,75,4,64,65,127,33,2,5,32,0,65,11,106,34,0,65,120,113,33,4,65,232,213,0,40,2,0,34,6,4,64,32,0,65,8,118,34,0,4,127,32,4,65,255,255,255,7,75,4,127,65,31,5,32,4,65,14,32,0,32,0,65,128,254,63,106,65,16,118,65,8,113,34,0,116,34,1,65,128,224,31,106,65,16,118,65,4,113,34,3,32,0,114,32,1,32,3,116,34,0,65,128,128,15,106,65,16,118,65,2,113,34,1,114,107,32,0,32,1,116,65,15,118,106,34,0,65,7,106,118,65,1,113,32,0,65,1,116,114,11,5,65,0,11,33,17,65,0,32,4,107,33,3,2,64,2,64,32,17,65,2,116,65,148,216,0,106,40,2,0,34,0,4,64,65,25,32,17,65,1,118,107,33,5,65,0,33,1,32,4,32,17,65,31,70,4,127,65,0,5,32,5,11,116,33,10,65,0,33,5,3,64,32,0,40,2,4,65,120,113,32,4,107,34,14,32,3,73,4,64,32,14,4,64,32,0,33,1,32,14,33,3,5,32,0,33,1,65,0,33,3,12,4,11,11,32,0,40,2,20,34,14,69,32,14,32,0,65,16,106,32,10,65,31,118,65,2,116,106,40,2,0,34,0,70,114,69,4,64,32,14,33,5,11,32,10,32,0,69,34,14,65,1,115,116,33,10,32,14,69,13,0,11,5,65,0,33,5,65,0,33,1,11,32,5,69,32,1,69,113,4,127,32,6,65,2,32,17,116,34,0,65,0,32,0,107,114,113,34,0,69,4,64,32,4,33,2,12,7,11,32,0,65,0,32,0,107,113,65,127,106,34,5,65,12,118,65,16,113,33,0,65,0,33,1,32,5,32,0,118,34,5,65,5,118,65,8,113,34,10,32,0,114,32,5,32,10,118,34,0,65,2,118,65,4,113,34,5,114,32,0,32,5,118,34,0,65,1,118,65,2,113,34,5,114,32,0,32,5,118,34,0,65,1,118,65,1,113,34,5,114,32,0,32,5,118,106,65,2,116,65,148,216,0,106,40,2,0,5,32,5,11,34,0,13,0,32,1,33,5,12,1,11,3,64,32,0,40,2,4,65,120,113,32,4,107,34,5,32,3,73,34,10,4,64,32,5,33,3,11,32,10,4,64,32,0,33,1,11,32,0,65,16,106,32,0,40,2,16,69,65,2,116,106,40,2,0,34,0,13,0,32,1,33,5,11,11,32,5,4,64,32,3,65,236,213,0,40,2,0,32,4,107,73,4,64,32,5,65,244,213,0,40,2,0,34,15,73,4,64,16,6,11,32,5,32,5,32,4,106,34,9,79,4,64,16,6,11,32,5,40,2,24,33,10,2,64,32,5,40,2,12,34,0,32,5,70,4,64,32,5,65,20,106,34,1,40,2,0,34,0,69,4,64,32,5,65,16,106,34,1,40,2,0,34,0,69,4,64,65,0,33,8,12,3,11,11,3,64,32,0,65,20,106,34,11,40,2,0,34,12,4,64,32,12,33,0,32,11,33,1,12,1,11,32,0,65,16,106,34,11,40,2,0,34,12,4,64,32,12,33,0,32,11,33,1,12,1,11,11,32,1,32,15,73,4,64,16,6,5,32,1,65,0,54,2,0,32,0,33,8,11,5,32,5,40,2,8,34,1,32,15,73,4,64,16,6,11,32,1,65,12,106,34,11,40,2,0,32,5,71,4,64,16,6,11,32,0,65,8,106,34,12,40,2,0,32,5,70,4,64,32,11,32,0,54,2,0,32,12,32,1,54,2,0,32,0,33,8,5,16,6,11,11,11,2,64,32,10,4,64,32,5,32,5,40,2,28,34,0,65,2,116,65,148,216,0,106,34,1,40,2,0,70,4,64,32,1,32,8,54,2,0,32,8,69,4,64,65,232,213,0,32,6,65,1,32,0,116,65,127,115,113,34,2,54,2,0,12,3,11,5,32,10,65,244,213,0,40,2,0,73,4,64,16,6,5,32,10,65,16,106,32,10,40,2,16,32,5,71,65,2,116,106,32,8,54,2,0,32,8,69,4,64,32,6,33,2,12,4,11,11,11,32,8,65,244,213,0,40,2,0,34,1,73,4,64,16,6,11,32,8,32,10,54,2,24,32,5,40,2,16,34,0,4,64,32,0,32,1,73,4,64,16,6,5,32,8,32,0,54,2,16,32,0,32,8,54,2,24,11,11,32,5,40,2,20,34,0,4,64,32,0,65,244,213,0,40,2,0,73,4,64,16,6,5,32,8,32,0,54,2,20,32,0,32,8,54,2,24,32,6,33,2,11,5,32,6,33,2,11,5,32,6,33,2,11,11,2,64,32,3,65,16,73,4,64,32,5,32,3,32,4,106,34,0,65,3,114,54,2,4,32,5,32,0,106,65,4,106,34,0,32,0,40,2,0,65,1,114,54,2,0,5,32,5,32,4,65,3,114,54,2,4,32,9,32,3,65,1,114,54,2,4,32,9,32,3,106,32,3,54,2,0,32,3,65,3,118,33,1,32,3,65,128,2,73,4,64,32,1,65,3,116,65,140,214,0,106,33,0,65,228,213,0,40,2,0,34,2,65,1,32,1,116,34,1,113,4,64,32,0,65,8,106,34,2,40,2,0,34,1,65,244,213,0,40,2,0,73,4,64,16,6,5,32,1,33,7,32,2,33,16,11,5,65,228,213,0,32,2,32,1,114,54,2,0,32,0,33,7,32,0,65,8,106,33,16,11,32,16,32,9,54,2,0,32,7,32,9,54,2,12,32,9,32,7,54,2,8,32,9,32,0,54,2,12,12,2,11,32,3,65,8,118,34,0,4,127,32,3,65,255,255,255,7,75,4,127,65,31,5,32,3,65,14,32,0,32,0,65,128,254,63,106,65,16,118,65,8,113,34,0,116,34,1,65,128,224,31,106,65,16,118,65,4,113,34,4,32,0,114,32,1,32,4,116,34,0,65,128,128,15,106,65,16,118,65,2,113,34,1,114,107,32,0,32,1,116,65,15,118,106,34,0,65,7,106,118,65,1,113,32,0,65,1,116,114,11,5,65,0,11,34,1,65,2,116,65,148,216,0,106,33,0,32,9,32,1,54,2,28,32,9,65,16,106,34,4,65,0,54,2,4,32,4,65,0,54,2,0,32,2,65,1,32,1,116,34,4,113,69,4,64,65,232,213,0,32,2,32,4,114,54,2,0,32,0,32,9,54,2,0,32,9,32,0,54,2,24,32,9,32,9,54,2,12,32,9,32,9,54,2,8,12,2,11,32,0,40,2,0,33,0,65,25,32,1,65,1,118,107,33,2,32,3,32,1,65,31,70,4,127,65,0,5,32,2,11,116,33,2,2,64,2,64,3,64,32,0,40,2,4,65,120,113,32,3,70,13,1,32,2,65,1,116,33,1,32,0,65,16,106,32,2,65,31,118,65,2,116,106,34,2,40,2,0,34,4,4,64,32,1,33,2,32,4,33,0,12,1,11,11,32,2,65,244,213,0,40,2,0,73,4,64,16,6,5,32,2,32,9,54,2,0,32,9,32,0,54,2,24,32,9,32,9,54,2,12,32,9,32,9,54,2,8,12,4,11,12,1,11,32,0,65,8,106,34,1,40,2,0,34,2,65,244,213,0,40,2,0,34,3,79,32,0,32,3,79,113,4,64,32,2,32,9,54,2,12,32,1,32,9,54,2,0,32,9,32,2,54,2,8,32,9,32,0,54,2,12,32,9,65,0,54,2,24,5,16,6,11,11,11,11,32,13,36,6,32,5,65,8,106,15,5,32,4,33,2,11,5,32,4,33,2,11,5,32,4,33,2,11,11,11,11,65,236,213,0,40,2,0,34,3,32,2,79,4,64,65,248,213,0,40,2,0,33,0,32,3,32,2,107,34,1,65,15,75,4,64,65,248,213,0,32,0,32,2,106,34,3,54,2,0,65,236,213,0,32,1,54,2,0,32,3,32,1,65,1,114,54,2,4,32,3,32,1,106,32,1,54,2,0,32,0,32,2,65,3,114,54,2,4,5,65,236,213,0,65,0,54,2,0,65,248,213,0,65,0,54,2,0,32,0,32,3,65,3,114,54,2,4,32,0,32,3,106,65,4,106,34,2,32,2,40,2,0,65,1,114,54,2,0,11,32,13,36,6,32,0,65,8,106,15,11,65,240,213,0,40,2,0,34,1,32,2,75,4,64,65,240,213,0,32,1,32,2,107,34,1,54,2,0,65,252,213,0,65,252,213,0,40,2,0,34,0,32,2,106,34,3,54,2,0,32,3,32,1,65,1,114,54,2,4,32,0,32,2,65,3,114,54,2,4,32,13,36,6,32,0,65,8,106,15,11,65,188,217,0,40,2,0,4,127,65,196,217,0,40,2,0,5,65,196,217,0,65,128,32,54,2,0,65,192,217,0,65,128,32,54,2,0,65,200,217,0,65,127,54,2,0,65,204,217,0,65,127,54,2,0,65,208,217,0,65,0,54,2,0,65,160,217,0,65,0,54,2,0,32,15,32,15,65,112,113,65,216,170,213,170,5,115,34,0,54,2,0,65,188,217,0,32,0,54,2,0,65,128,32,11,34,0,32,2,65,47,106,34,6,106,34,5,65,0,32,0,107,34,8,113,34,4,32,2,77,4,64,32,13,36,6,65,0,15,11,65,156,217,0,40,2,0,34,0,4,64,65,148,217,0,40,2,0,34,3,32,4,106,34,7,32,3,77,32,7,32,0,75,114,4,64,32,13,36,6,65,0,15,11,11,32,2,65,48,106,33,7,2,64,2,64,65,160,217,0,40,2,0,65,4,113,4,64,65,0,33,1,5,2,64,2,64,2,64,65,252,213,0,40,2,0,34,0,69,13,0,65,164,217,0,33,3,3,64,2,64,32,3,40,2,0,34,10,32,0,77,4,64,32,10,32,3,65,4,106,34,10,40,2,0,106,32,0,75,13,1,11,32,3,40,2,8,34,3,13,1,12,2,11,11,32,5,32,1,107,32,8,113,34,1,65,255,255,255,255,7,73,4,64,32,1,16,79,34,0,32,3,40,2,0,32,10,40,2,0,106,70,4,64,32,0,65,127,71,13,6,5,12,3,11,5,65,0,33,1,11,12,2,11,65,0,16,79,34,0,65,127,70,4,64,65,0,33,1,5,65,192,217,0,40,2,0,34,3,65,127,106,34,5,32,0,34,1,106,65,0,32,3,107,113,32,1,107,33,3,32,5,32,1,113,4,127,32,3,5,65,0,11,32,4,106,34,1,65,148,217,0,40,2,0,34,5,106,33,3,32,1,32,2,75,32,1,65,255,255,255,255,7,73,113,4,64,65,156,217,0,40,2,0,34,8,4,64,32,3,32,5,77,32,3,32,8,75,114,4,64,65,0,33,1,12,5,11,11,32,1,16,79,34,3,32,0,70,13,5,32,3,33,0,12,2,5,65,0,33,1,11,11,12,1,11,32,7,32,1,75,32,1,65,255,255,255,255,7,73,32,0,65,127,71,113,113,69,4,64,32,0,65,127,70,4,64,65,0,33,1,12,2,5,12,4,11,0,11,32,6,32,1,107,65,196,217,0,40,2,0,34,3,106,65,0,32,3,107,113,34,3,65,255,255,255,255,7,79,13,2,65,0,32,1,107,33,6,32,3,16,79,65,127,70,4,64,32,6,16,79,26,65,0,33,1,5,32,3,32,1,106,33,1,12,3,11,11,65,160,217,0,65,160,217,0,40,2,0,65,4,114,54,2,0,11,32,4,65,255,255,255,255,7,73,4,64,32,4,16,79,34,0,65,0,16,79,34,3,73,32,0,65,127,71,32,3,65,127,71,113,113,33,4,32,3,32,0,107,34,3,32,2,65,40,106,75,34,6,4,64,32,3,33,1,11,32,0,65,127,70,32,6,65,1,115,114,32,4,65,1,115,114,69,13,1,11,12,1,11,65,148,217,0,65,148,217,0,40,2,0,32,1,106,34,3,54,2,0,32,3,65,152,217,0,40,2,0,75,4,64,65,152,217,0,32,3,54,2,0,11,2,64,65,252,213,0,40,2,0,34,6,4,64,65,164,217,0,33,3,2,64,2,64,3,64,32,0,32,3,40,2,0,34,4,32,3,65,4,106,34,5,40,2,0,34,8,106,70,13,1,32,3,40,2,8,34,3,13,0,11,12,1,11,32,3,40,2,12,65,8,113,69,4,64,32,6,32,0,73,32,6,32,4,79,113,4,64,32,5,32,8,32,1,106,54,2,0,65,240,213,0,40,2,0,33,4,65,0,32,6,65,8,106,34,3,107,65,7,113,33,0,65,252,213,0,32,6,32,3,65,7,113,4,127,32,0,5,65,0,34,0,11,106,34,3,54,2,0,65,240,213,0,32,4,32,1,32,0,107,106,34,0,54,2,0,32,3,32,0,65,1,114,54,2,4,32,3,32,0,106,65,40,54,2,4,65,128,214,0,65,204,217,0,40,2,0,54,2,0,12,4,11,11,11,32,0,65,244,213,0,40,2,0,34,3,73,4,64,65,244,213,0,32,0,54,2,0,32,0,33,3,11,32,0,32,1,106,33,5,65,164,217,0,33,4,2,64,2,64,3,64,32,4,40,2,0,32,5,70,13,1,32,4,40,2,8,34,4,13,0,11,12,1,11,32,4,40,2,12,65,8,113,69,4,64,32,4,32,0,54,2,0,32,4,65,4,106,34,4,32,4,40,2,0,32,1,106,54,2,0,65,0,32,0,65,8,106,34,1,107,65,7,113,33,4,65,0,32,5,65,8,106,34,8,107,65,7,113,33,10,32,0,32,1,65,7,113,4,127,32,4,5,65,0,11,106,34,9,32,2,106,33,7,32,5,32,8,65,7,113,4,127,32,10,5,65,0,11,106,34,5,32,9,107,32,2,107,33,8,32,9,32,2,65,3,114,54,2,4,2,64,32,5,32,6,70,4,64,65,240,213,0,65,240,213,0,40,2,0,32,8,106,34,0,54,2,0,65,252,213,0,32,7,54,2,0,32,7,32,0,65,1,114,54,2,4,5,32,5,65,248,213,0,40,2,0,70,4,64,65,236,213,0,65,236,213,0,40,2,0,32,8,106,34,0,54,2,0,65,248,213,0,32,7,54,2,0,32,7,32,0,65,1,114,54,2,4,32,7,32,0,106,32,0,54,2,0,12,2,11,32,5,40,2,4,34,0,65,3,113,65,1,70,4,127,32,0,65,120,113,33,10,32,0,65,3,118,33,4,2,64,32,0,65,128,2,73,4,64,32,5,40,2,12,33,2,2,64,32,5,40,2,8,34,1,32,4,65,3,116,65,140,214,0,106,34,0,71,4,64,32,1,32,3,73,4,64,16,6,11,32,1,40,2,12,32,5,70,13,1,16,6,11,11,32,2,32,1,70,4,64,65,228,213,0,65,228,213,0,40,2,0,65,1,32,4,116,65,127,115,113,54,2,0,12,2,11,2,64,32,2,32,0,70,4,64,32,2,65,8,106,33,18,5,32,2,32,3,73,4,64,16,6,11,32,2,65,8,106,34,0,40,2,0,32,5,70,4,64,32,0,33,18,12,2,11,16,6,11,11,32,1,32,2,54,2,12,32,18,32,1,54,2,0,5,32,5,40,2,24,33,6,2,64,32,5,40,2,12,34,0,32,5,70,4,64,32,5,65,16,106,34,2,65,4,106,34,1,40,2,0,34,0,4,64,32,1,33,2,5,32,2,40,2,0,34,0,69,4,64,65,0,33,11,12,3,11,11,3,64,32,0,65,20,106,34,1,40,2,0,34,4,4,64,32,4,33,0,32,1,33,2,12,1,11,32,0,65,16,106,34,1,40,2,0,34,4,4,64,32,4,33,0,32,1,33,2,12,1,11,11,32,2,32,3,73,4,64,16,6,5,32,2,65,0,54,2,0,32,0,33,11,11,5,32,5,40,2,8,34,2,32,3,73,4,64,16,6,11,32,2,65,12,106,34,1,40,2,0,32,5,71,4,64,16,6,11,32,0,65,8,106,34,3,40,2,0,32,5,70,4,64,32,1,32,0,54,2,0,32,3,32,2,54,2,0,32,0,33,11,5,16,6,11,11,11,32,6,69,13,1,2,64,32,5,32,5,40,2,28,34,0,65,2,116,65,148,216,0,106,34,2,40,2,0,70,4,64,32,2,32,11,54,2,0,32,11,13,1,65,232,213,0,65,232,213,0,40,2,0,65,1,32,0,116,65,127,115,113,54,2,0,12,3,5,32,6,65,244,213,0,40,2,0,73,4,64,16,6,5,32,6,65,16,106,32,6,40,2,16,32,5,71,65,2,116,106,32,11,54,2,0,32,11,69,13,4,11,11,11,32,11,65,244,213,0,40,2,0,34,2,73,4,64,16,6,11,32,11,32,6,54,2,24,32,5,65,16,106,34,1,40,2,0,34,0,4,64,32,0,32,2,73,4,64,16,6,5,32,11,32,0,54,2,16,32,0,32,11,54,2,24,11,11,32,1,40,2,4,34,0,69,13,1,32,0,65,244,213,0,40,2,0,73,4,64,16,6,5,32,11,32,0,54,2,20,32,0,32,11,54,2,24,11,11,11,32,5,32,10,106,33,5,32,10,32,8,106,5,32,8,11,33,4,32,5,65,4,106,34,0,32,0,40,2,0,65,126,113,54,2,0,32,7,32,4,65,1,114,54,2,4,32,7,32,4,106,32,4,54,2,0,32,4,65,3,118,33,2,32,4,65,128,2,73,4,64,32,2,65,3,116,65,140,214,0,106,33,0,2,64,65,228,213,0,40,2,0,34,1,65,1,32,2,116,34,2,113,4,64,32,0,65,8,106,34,2,40,2,0,34,1,65,244,213,0,40,2,0,79,4,64,32,1,33,12,32,2,33,19,12,2,11,16,6,5,65,228,213,0,32,1,32,2,114,54,2,0,32,0,33,12,32,0,65,8,106,33,19,11,11,32,19,32,7,54,2,0,32,12,32,7,54,2,12,32,7,32,12,54,2,8,32,7,32,0,54,2,12,12,2,11,2,127,32,4,65,8,118,34,0,4,127,65,31,32,4,65,255,255,255,7,75,13,1,26,32,4,65,14,32,0,32,0,65,128,254,63,106,65,16,118,65,8,113,34,0,116,34,2,65,128,224,31,106,65,16,118,65,4,113,34,1,32,0,114,32,2,32,1,116,34,0,65,128,128,15,106,65,16,118,65,2,113,34,2,114,107,32,0,32,2,116,65,15,118,106,34,0,65,7,106,118,65,1,113,32,0,65,1,116,114,5,65,0,11,11,34,2,65,2,116,65,148,216,0,106,33,0,32,7,32,2,54,2,28,32,7,65,16,106,34,1,65,0,54,2,4,32,1,65,0,54,2,0,65,232,213,0,40,2,0,34,1,65,1,32,2,116,34,3,113,69,4,64,65,232,213,0,32,1,32,3,114,54,2,0,32,0,32,7,54,2,0,32,7,32,0,54,2,24,32,7,32,7,54,2,12,32,7,32,7,54,2,8,12,2,11,32,0,40,2,0,33,0,65,25,32,2,65,1,118,107,33,1,32,4,32,2,65,31,70,4,127,65,0,5,32,1,11,116,33,2,2,64,2,64,3,64,32,0,40,2,4,65,120,113,32,4,70,13,1,32,2,65,1,116,33,1,32,0,65,16,106,32,2,65,31,118,65,2,116,106,34,2,40,2,0,34,3,4,64,32,1,33,2,32,3,33,0,12,1,11,11,32,2,65,244,213,0,40,2,0,73,4,64,16,6,5,32,2,32,7,54,2,0,32,7,32,0,54,2,24,32,7,32,7,54,2,12,32,7,32,7,54,2,8,12,4,11,12,1,11,32,0,65,8,106,34,1,40,2,0,34,2,65,244,213,0,40,2,0,34,3,79,32,0,32,3,79,113,4,64,32,2,32,7,54,2,12,32,1,32,7,54,2,0,32,7,32,2,54,2,8,32,7,32,0,54,2,12,32,7,65,0,54,2,24,5,16,6,11,11,11,11,32,13,36,6,32,9,65,8,106,15,11,11,65,164,217,0,33,3,3,64,2,64,32,3,40,2,0,34,4,32,6,77,4,64,32,4,32,3,40,2,4,106,34,11,32,6,75,13,1,11,32,3,40,2,8,33,3,12,1,11,11,65,0,32,11,65,81,106,34,3,65,8,106,34,4,107,65,7,113,33,5,32,3,32,4,65,7,113,4,127,32,5,5,65,0,11,106,34,3,32,6,65,16,106,34,12,73,4,127,32,6,34,3,5,32,3,11,65,8,106,33,8,32,3,65,24,106,33,4,32,1,65,88,106,33,10,65,0,32,0,65,8,106,34,7,107,65,7,113,33,5,65,252,213,0,32,0,32,7,65,7,113,4,127,32,5,5,65,0,34,5,11,106,34,7,54,2,0,65,240,213,0,32,10,32,5,107,34,5,54,2,0,32,7,32,5,65,1,114,54,2,4,32,7,32,5,106,65,40,54,2,4,65,128,214,0,65,204,217,0,40,2,0,54,2,0,32,3,65,4,106,34,5,65,27,54,2,0,32,8,65,164,217,0,41,2,0,55,2,0,32,8,65,172,217,0,41,2,0,55,2,8,65,164,217,0,32,0,54,2,0,65,168,217,0,32,1,54,2,0,65,176,217,0,65,0,54,2,0,65,172,217,0,32,8,54,2,0,32,4,33,0,3,64,32,0,65,4,106,34,1,65,7,54,2,0,32,0,65,8,106,32,11,73,4,64,32,1,33,0,12,1,11,11,32,3,32,6,71,4,64,32,5,32,5,40,2,0,65,126,113,54,2,0,32,6,32,3,32,6,107,34,5,65,1,114,54,2,4,32,3,32,5,54,2,0,32,5,65,3,118,33,1,32,5,65,128,2,73,4,64,32,1,65,3,116,65,140,214,0,106,33,0,65,228,213,0,40,2,0,34,3,65,1,32,1,116,34,1,113,4,64,32,0,65,8,106,34,1,40,2,0,34,3,65,244,213,0,40,2,0,73,4,64,16,6,5,32,3,33,9,32,1,33,20,11,5,65,228,213,0,32,3,32,1,114,54,2,0,32,0,33,9,32,0,65,8,106,33,20,11,32,20,32,6,54,2,0,32,9,32,6,54,2,12,32,6,32,9,54,2,8,32,6,32,0,54,2,12,12,3,11,32,5,65,8,118,34,0,4,127,32,5,65,255,255,255,7,75,4,127,65,31,5,32,5,65,14,32,0,32,0,65,128,254,63,106,65,16,118,65,8,113,34,0,116,34,1,65,128,224,31,106,65,16,118,65,4,113,34,3,32,0,114,32,1,32,3,116,34,0,65,128,128,15,106,65,16,118,65,2,113,34,1,114,107,32,0,32,1,116,65,15,118,106,34,0,65,7,106,118,65,1,113,32,0,65,1,116,114,11,5,65,0,11,34,1,65,2,116,65,148,216,0,106,33,0,32,6,32,1,54,2,28,32,6,65,0,54,2,20,32,12,65,0,54,2,0,65,232,213,0,40,2,0,34,3,65,1,32,1,116,34,4,113,69,4,64,65,232,213,0,32,3,32,4,114,54,2,0,32,0,32,6,54,2,0,32,6,32,0,54,2,24,32,6,32,6,54,2,12,32,6,32,6,54,2,8,12,3,11,32,0,40,2,0,33,0,65,25,32,1,65,1,118,107,33,3,32,5,32,1,65,31,70,4,127,65,0,5,32,3,11,116,33,1,2,64,2,64,3,64,32,0,40,2,4,65,120,113,32,5,70,13,1,32,1,65,1,116,33,3,32,0,65,16,106,32,1,65,31,118,65,2,116,106,34,1,40,2,0,34,4,4,64,32,3,33,1,32,4,33,0,12,1,11,11,32,1,65,244,213,0,40,2,0,73,4,64,16,6,5,32,1,32,6,54,2,0,32,6,32,0,54,2,24,32,6,32,6,54,2,12,32,6,32,6,54,2,8,12,5,11,12,1,11,32,0,65,8,106,34,3,40,2,0,34,1,65,244,213,0,40,2,0,34,4,79,32,0,32,4,79,113,4,64,32,1,32,6,54,2,12,32,3,32,6,54,2,0,32,6,32,1,54,2,8,32,6,32,0,54,2,12,32,6,65,0,54,2,24,5,16,6,11,11,11,5,65,244,213,0,40,2,0,34,3,69,32,0,32,3,73,114,4,64,65,244,213,0,32,0,54,2,0,11,65,164,217,0,32,0,54,2,0,65,168,217,0,32,1,54,2,0,65,176,217,0,65,0,54,2,0,65,136,214,0,65,188,217,0,40,2,0,54,2,0,65,132,214,0,65,127,54,2,0,65,0,33,3,3,64,32,3,65,3,116,65,140,214,0,106,34,4,32,4,54,2,12,32,4,32,4,54,2,8,32,3,65,1,106,34,3,65,32,71,13,0,11,32,1,65,88,106,33,3,65,0,32,0,65,8,106,34,4,107,65,7,113,33,1,65,252,213,0,32,0,32,4,65,7,113,4,127,32,1,5,65,0,34,1,11,106,34,0,54,2,0,65,240,213,0,32,3,32,1,107,34,1,54,2,0,32,0,32,1,65,1,114,54,2,4,32,0,32,1,106,65,40,54,2,4,65,128,214,0,65,204,217,0,40,2,0,54,2,0,11,11,65,240,213,0,40,2,0,34,0,32,2,75,4,64,65,240,213,0,32,0,32,2,107,34,1,54,2,0,65,252,213,0,65,252,213,0,40,2,0,34,0,32,2,106,34,3,54,2,0,32,3,32,1,65,1,114,54,2,4,32,0,32,2,65,3,114,54,2,4,32,13,36,6,32,0,65,8,106,15,11,11,16,60,65,12,54,2,0,32,13,36,6,65,0,11,11,240,146,128,128,0,1,16,127,2,64,32,0,69,4,64,15,11,32,0,65,120,106,34,2,65,244,213,0,40,2,0,34,12,73,4,64,16,6,11,32,0,65,124,106,40,2,0,34,0,65,3,113,34,11,65,1,70,4,64,16,6,11,32,2,32,0,65,120,113,34,5,106,33,7,2,64,32,0,65,1,113,4,64,32,2,33,3,32,5,33,1,32,2,33,4,5,32,2,40,2,0,33,9,32,11,69,4,64,15,11,32,2,65,0,32,9,107,106,34,0,32,12,73,4,64,16,6,11,32,9,32,5,106,33,2,32,0,65,248,213,0,40,2,0,70,4,64,32,7,65,4,106,34,1,40,2,0,34,3,65,3,113,65,3,71,4,64,32,0,33,3,32,2,33,1,32,0,33,4,12,3,11,65,236,213,0,32,2,54,2,0,32,1,32,3,65,126,113,54,2,0,32,0,32,2,65,1,114,54,2,4,32,0,32,2,106,32,2,54,2,0,15,11,32,9,65,3,118,33,5,32,9,65,128,2,73,4,64,32,0,40,2,12,33,3,32,0,40,2,8,34,4,32,5,65,3,116,65,140,214,0,106,34,1,71,4,64,32,4,32,12,73,4,64,16,6,11,32,4,40,2,12,32,0,71,4,64,16,6,11,11,32,3,32,4,70,4,64,65,228,213,0,65,228,213,0,40,2,0,65,1,32,5,116,65,127,115,113,54,2,0,32,0,33,3,32,2,33,1,32,0,33,4,12,3,11,32,3,32,1,70,4,64,32,3,65,8,106,33,6,5,32,3,32,12,73,4,64,16,6,11,32,3,65,8,106,34,1,40,2,0,32,0,70,4,64,32,1,33,6,5,16,6,11,11,32,4,32,3,54,2,12,32,6,32,4,54,2,0,32,0,33,3,32,2,33,1,32,0,33,4,12,2,11,32,0,40,2,24,33,13,2,64,32,0,40,2,12,34,5,32,0,70,4,64,32,0,65,16,106,34,6,65,4,106,34,9,40,2,0,34,5,4,64,32,9,33,6,5,32,6,40,2,0,34,5,69,4,64,65,0,33,8,12,3,11,11,3,64,32,5,65,20,106,34,9,40,2,0,34,11,4,64,32,11,33,5,32,9,33,6,12,1,11,32,5,65,16,106,34,9,40,2,0,34,11,4,64,32,11,33,5,32,9,33,6,12,1,11,11,32,6,32,12,73,4,64,16,6,5,32,6,65,0,54,2,0,32,5,33,8,11,5,32,0,40,2,8,34,6,32,12,73,4,64,16,6,11,32,6,65,12,106,34,9,40,2,0,32,0,71,4,64,16,6,11,32,5,65,8,106,34,11,40,2,0,32,0,70,4,64,32,9,32,5,54,2,0,32,11,32,6,54,2,0,32,5,33,8,5,16,6,11,11,11,32,13,4,64,32,0,32,0,40,2,28,34,5,65,2,116,65,148,216,0,106,34,6,40,2,0,70,4,64,32,6,32,8,54,2,0,32,8,69,4,64,65,232,213,0,65,232,213,0,40,2,0,65,1,32,5,116,65,127,115,113,54,2,0,32,0,33,3,32,2,33,1,32,0,33,4,12,4,11,5,32,13,65,244,213,0,40,2,0,73,4,64,16,6,5,32,13,65,16,106,32,13,40,2,16,32,0,71,65,2,116,106,32,8,54,2,0,32,8,69,4,64,32,0,33,3,32,2,33,1,32,0,33,4,12,5,11,11,11,32,8,65,244,213,0,40,2,0,34,6,73,4,64,16,6,11,32,8,32,13,54,2,24,32,0,65,16,106,34,9,40,2,0,34,5,4,64,32,5,32,6,73,4,64,16,6,5,32,8,32,5,54,2,16,32,5,32,8,54,2,24,11,11,32,9,40,2,4,34,5,4,64,32,5,65,244,213,0,40,2,0,73,4,64,16,6,5,32,8,32,5,54,2,20,32,5,32,8,54,2,24,32,0,33,3,32,2,33,1,32,0,33,4,11,5,32,0,33,3,32,2,33,1,32,0,33,4,11,5,32,0,33,3,32,2,33,1,32,0,33,4,11,11,11,32,4,32,7,79,4,64,16,6,11,32,7,65,4,106,34,2,40,2,0,34,0,65,1,113,69,4,64,16,6,11,32,0,65,2,113,4,64,32,2,32,0,65,126,113,54,2,0,32,3,32,1,65,1,114,54,2,4,32,4,32,1,106,32,1,54,2,0,5,65,248,213,0,40,2,0,33,2,32,7,65,252,213,0,40,2,0,70,4,64,65,240,213,0,65,240,213,0,40,2,0,32,1,106,34,0,54,2,0,65,252,213,0,32,3,54,2,0,32,3,32,0,65,1,114,54,2,4,32,3,32,2,71,4,64,15,11,65,248,213,0,65,0,54,2,0,65,236,213,0,65,0,54,2,0,15,11,32,7,32,2,70,4,64,65,236,213,0,65,236,213,0,40,2,0,32,1,106,34,0,54,2,0,65,248,213,0,32,4,54,2,0,32,3,32,0,65,1,114,54,2,4,32,4,32,0,106,32,0,54,2,0,15,11,32,0,65,120,113,32,1,106,33,6,32,0,65,3,118,33,5,2,64,32,0,65,128,2,73,4,64,32,7,40,2,12,33,1,32,7,40,2,8,34,2,32,5,65,3,116,65,140,214,0,106,34,0,71,4,64,32,2,65,244,213,0,40,2,0,73,4,64,16,6,11,32,2,40,2,12,32,7,71,4,64,16,6,11,11,32,1,32,2,70,4,64,65,228,213,0,65,228,213,0,40,2,0,65,1,32,5,116,65,127,115,113,54,2,0,12,2,11,32,1,32,0,70,4,64,32,1,65,8,106,33,15,5,32,1,65,244,213,0,40,2,0,73,4,64,16,6,11,32,1,65,8,106,34,0,40,2,0,32,7,70,4,64,32,0,33,15,5,16,6,11,11,32,2,32,1,54,2,12,32,15,32,2,54,2,0,5,32,7,40,2,24,33,8,2,64,32,7,40,2,12,34,0,32,7,70,4,64,32,7,65,16,106,34,1,65,4,106,34,2,40,2,0,34,0,4,64,32,2,33,1,5,32,1,40,2,0,34,0,69,4,64,65,0,33,10,12,3,11,11,3,64,32,0,65,20,106,34,2,40,2,0,34,5,4,64,32,5,33,0,32,2,33,1,12,1,11,32,0,65,16,106,34,2,40,2,0,34,5,4,64,32,5,33,0,32,2,33,1,12,1,11,11,32,1,65,244,213,0,40,2,0,73,4,64,16,6,5,32,1,65,0,54,2,0,32,0,33,10,11,5,32,7,40,2,8,34,1,65,244,213,0,40,2,0,73,4,64,16,6,11,32,1,65,12,106,34,2,40,2,0,32,7,71,4,64,16,6,11,32,0,65,8,106,34,5,40,2,0,32,7,70,4,64,32,2,32,0,54,2,0,32,5,32,1,54,2,0,32,0,33,10,5,16,6,11,11,11,32,8,4,64,32,7,32,7,40,2,28,34,0,65,2,116,65,148,216,0,106,34,1,40,2,0,70,4,64,32,1,32,10,54,2,0,32,10,69,4,64,65,232,213,0,65,232,213,0,40,2,0,65,1,32,0,116,65,127,115,113,54,2,0,12,4,11,5,32,8,65,244,213,0,40,2,0,73,4,64,16,6,5,32,8,65,16,106,32,8,40,2,16,32,7,71,65,2,116,106,32,10,54,2,0,32,10,69,13,4,11,11,32,10,65,244,213,0,40,2,0,34,1,73,4,64,16,6,11,32,10,32,8,54,2,24,32,7,65,16,106,34,2,40,2,0,34,0,4,64,32,0,32,1,73,4,64,16,6,5,32,10,32,0,54,2,16,32,0,32,10,54,2,24,11,11,32,2,40,2,4,34,0,4,64,32,0,65,244,213,0,40,2,0,73,4,64,16,6,5,32,10,32,0,54,2,20,32,0,32,10,54,2,24,11,11,11,11,11,32,3,32,6,65,1,114,54,2,4,32,4,32,6,106,32,6,54,2,0,32,3,65,248,213,0,40,2,0,70,4,64,65,236,213,0,32,6,54,2,0,15,5,32,6,33,1,11,11,32,1,65,3,118,33,4,32,1,65,128,2,73,4,64,32,4,65,3,116,65,140,214,0,106,33,0,65,228,213,0,40,2,0,34,1,65,1,32,4,116,34,4,113,4,64,32,0,65,8,106,34,1,40,2,0,34,4,65,244,213,0,40,2,0,73,4,64,16,6,5,32,4,33,14,32,1,33,16,11,5,65,228,213,0,32,1,32,4,114,54,2,0,32,0,33,14,32,0,65,8,106,33,16,11,32,16,32,3,54,2,0,32,14,32,3,54,2,12,32,3,32,14,54,2,8,32,3,32,0,54,2,12,15,11,32,1,65,8,118,34,0,4,127,32,1,65,255,255,255,7,75,4,127,65,31,5,32,1,65,14,32,0,32,0,65,128,254,63,106,65,16,118,65,8,113,34,0,116,34,4,65,128,224,31,106,65,16,118,65,4,113,34,2,32,0,114,32,4,32,2,116,34,0,65,128,128,15,106,65,16,118,65,2,113,34,4,114,107,32,0,32,4,116,65,15,118,106,34,0,65,7,106,118,65,1,113,32,0,65,1,116,114,11,5,65,0,11,34,4,65,2,116,65,148,216,0,106,33,0,32,3,32,4,54,2,28,32,3,65,0,54,2,20,32,3,65,0,54,2,16,2,64,65,232,213,0,40,2,0,34,2,65,1,32,4,116,34,5,113,4,64,32,0,40,2,0,33,0,65,25,32,4,65,1,118,107,33,2,32,1,32,4,65,31,70,4,127,65,0,5,32,2,11,116,33,4,2,64,2,64,3,64,32,0,40,2,4,65,120,113,32,1,70,13,1,32,4,65,1,116,33,2,32,0,65,16,106,32,4,65,31,118,65,2,116,106,34,4,40,2,0,34,5,4,64,32,2,33,4,32,5,33,0,12,1,11,11,32,4,65,244,213,0,40,2,0,73,4,64,16,6,5,32,4,32,3,54,2,0,32,3,32,0,54,2,24,32,3,32,3,54,2,12,32,3,32,3,54,2,8,12,4,11,12,1,11,32,0,65,8,106,34,4,40,2,0,34,1,65,244,213,0,40,2,0,34,2,79,32,0,32,2,79,113,4,64,32,1,32,3,54,2,12,32,4,32,3,54,2,0,32,3,32,1,54,2,8,32,3,32,0,54,2,12,32,3,65,0,54,2,24,5,16,6,11,11,5,65,232,213,0,32,2,32,5,114,54,2,0,32,0,32,3,54,2,0,32,3,32,0,54,2,24,32,3,32,3,54,2,12,32,3,32,3,54,2,8,11,11,65,132,214,0,65,132,214,0,40,2,0,65,127,106,34,0,54,2,0,32,0,4,64,15,5,65,172,217,0,33,0,11,3,64,32,0,40,2,0,34,1,65,8,106,33,0,32,1,13,0,11,65,132,214,0,65,127,54,2,0,11,11,222,128,128,128,0,1,1,127,2,127,32,0,4,64,32,1,32,0,108,33,2,32,1,32,0,114,65,255,255,3,75,4,64,32,2,32,0,110,32,1,71,4,64,65,127,33,2,11,11,5,65,0,33,2,11,32,2,16,74,34,0,69,4,64,32,0,15,11,32,0,65,124,106,40,2,0,65,3,113,69,4,64,32,0,15,11,32,0,65,0,32,2,16,78,26,32,0,11,11,131,128,128,128,0,0,1,11,157,130,128,128,0,1,4,127,2,127,32,0,32,2,106,33,4,32,1,65,255,1,113,33,1,32,2,65,195,0,78,4,64,3,64,32,0,65,3,113,4,64,32,0,32,1,58,0,0,32,0,65,1,106,33,0,12,1,11,11,32,4,65,124,113,34,5,65,192,0,107,33,6,32,1,32,1,65,8,116,114,32,1,65,16,116,114,32,1,65,24,116,114,33,3,3,64,32,0,32,6,76,4,64,32,0,32,3,54,2,0,32,0,32,3,54,2,4,32,0,32,3,54,2,8,32,0,32,3,54,2,12,32,0,32,3,54,2,16,32,0,32,3,54,2,20,32,0,32,3,54,2,24,32,0,32,3,54,2,28,32,0,32,3,54,2,32,32,0,32,3,54,2,36,32,0,32,3,54,2,40,32,0,32,3,54,2,44,32,0,32,3,54,2,48,32,0,32,3,54,2,52,32,0,32,3,54,2,56,32,0,32,3,54,2,60,32,0,65,192,0,106,33,0,12,1,11,11,3,64,32,0,32,5,72,4,64,32,0,32,3,54,2,0,32,0,65,4,106,33,0,12,1,11,11,11,3,64,32,0,32,4,72,4,64,32,0,32,1,58,0,0,32,0,65,1,106,33,0,12,1,11,11,32,4,32,2,107,11,11,222,128,128,128,0,1,2,127,2,127,35,5,40,2,0,34,2,32,0,65,15,106,65,112,113,34,0,106,33,1,32,0,65,0,74,32,1,32,2,72,113,32,1,65,0,72,114,4,64,16,3,26,65,12,16,7,65,127,15,11,35,5,32,1,54,2,0,32,1,16,2,74,4,64,16,1,69,4,64,65,12,16,7,35,5,32,2,54,2,0,65,127,15,11,11,32,2,11,11,201,131,128,128,0,1,3,127,2,127,32,2,65,128,192,0,78,4,64,32,0,32,1,32,2,16,11,15,11,32,0,33,4,32,0,32,2,106,33,3,32,0,65,3,113,32,1,65,3,113,70,4,64,3,64,32,0,65,3,113,4,64,32,2,69,4,64,32,4,15,11,32,0,32,1,44,0,0,58,0,0,32,0,65,1,106,33,0,32,1,65,1,106,33,1,32,2,65,1,107,33,2,12,1,11,11,32,3,65,124,113,34,2,65,192,0,107,33,5,3,64,32,0,32,5,76,4,64,32,0,32,1,40,2,0,54,2,0,32,0,32,1,40,2,4,54,2,4,32,0,32,1,40,2,8,54,2,8,32,0,32,1,40,2,12,54,2,12,32,0,32,1,40,2,16,54,2,16,32,0,32,1,40,2,20,54,2,20,32,0,32,1,40,2,24,54,2,24,32,0,32,1,40,2,28,54,2,28,32,0,32,1,40,2,32,54,2,32,32,0,32,1,40,2,36,54,2,36,32,0,32,1,40,2,40,54,2,40,32,0,32,1,40,2,44,54,2,44,32,0,32,1,40,2,48,54,2,48,32,0,32,1,40,2,52,54,2,52,32,0,32,1,40,2,56,54,2,56,32,0,32,1,40,2,60,54,2,60,32,0,65,192,0,106,33,0,32,1,65,192,0,106,33,1,12,1,11,11,3,64,32,0,32,2,72,4,64,32,0,32,1,40,2,0,54,2,0,32,0,65,4,106,33,0,32,1,65,4,106,33,1,12,1,11,11,5,32,3,65,4,107,33,2,3,64,32,0,32,2,72,4,64,32,0,32,1,44,0,0,58,0,0,32,0,32,1,44,0,1,58,0,1,32,0,32,1,44,0,2,58,0,2,32,0,32,1,44,0,3,58,0,3,32,0,65,4,106,33,0,32,1,65,4,106,33,1,12,1,11,11,11,3,64,32,0,32,3,72,4,64,32,0,32,1,44,0,0,58,0,0,32,0,65,1,106,33,0,32,1,65,1,106,33,1,12,1,11,11,32,4,11,11,226,128,128,128,0,1,1,127,2,127,32,1,32,0,72,32,0,32,1,32,2,106,72,113,4,64,32,0,33,3,32,1,32,2,106,33,1,32,0,32,2,106,33,0,3,64,32,2,65,0,74,4,64,32,2,65,1,107,33,2,32,0,65,1,107,34,0,32,1,65,1,107,34,1,44,0,0,58,0,0,12,1,11,11,32,3,33,0,5,32,0,32,1,32,2,16,80,26,11,32,0,11,11,140,128,128,128,0,0,32,1,32,0,65,1,113,17,2,0,11,147,128,128,128,0,0,32,1,32,2,32,3,32,0,65,3,113,65,2,106,17,1,0,11,147,128,128,128,0,0,32,1,32,2,32,3,32,0,65,7,113,65,6,106,17,0,0,11,139,128,128,128,0,0,2,127,65,0,16,0,65,0,11,11,139,128,128,128,0,0,2,127,65,1,16,0,65,0,11,11,134,128,128,128,0,0,65,2,16,0,11,11,172,202,128,128,0,10,0,65,128,8,11,160,42,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,165,198,99,99,132,248,124,124,153,238,119,119,141,246,123,123,13,255,242,242,189,214,107,107,177,222,111,111,84,145,197,197,80,96,48,48,3,2,1,1,169,206,103,103,125,86,43,43,25,231,254,254,98,181,215,215,230,77,171,171,154,236,118,118,69,143,202,202,157,31,130,130,64,137,201,201,135,250,125,125,21,239,250,250,235,178,89,89,201,142,71,71,11,251,240,240,236,65,173,173,103,179,212,212,253,95,162,162,234,69,175,175,191,35,156,156,247,83,164,164,150,228,114,114,91,155,192,192,194,117,183,183,28,225,253,253,174,61,147,147,106,76,38,38,90,108,54,54,65,126,63,63,2,245,247,247,79,131,204,204,92,104,52,52,244,81,165,165,52,209,229,229,8,249,241,241,147,226,113,113,115,171,216,216,83,98,49,49,63,42,21,21,12,8,4,4,82,149,199,199,101,70,35,35,94,157,195,195,40,48,24,24,161,55,150,150,15,10,5,5,181,47,154,154,9,14,7,7,54,36,18,18,155,27,128,128,61,223,226,226,38,205,235,235,105,78,39,39,205,127,178,178,159,234,117,117,27,18,9,9,158,29,131,131,116,88,44,44,46,52,26,26,45,54,27,27,178,220,110,110,238,180,90,90,251,91,160,160,246,164,82,82,77,118,59,59,97,183,214,214,206,125,179,179,123,82,41,41,62,221,227,227,113,94,47,47,151,19,132,132,245,166,83,83,104,185,209,209,0,0,0,0,44,193,237,237,96,64,32,32,31,227,252,252,200,121,177,177,237,182,91,91,190,212,106,106,70,141,203,203,217,103,190,190,75,114,57,57,222,148,74,74,212,152,76,76,232,176,88,88,74,133,207,207,107,187,208,208,42,197,239,239,229,79,170,170,22,237,251,251,197,134,67,67,215,154,77,77,85,102,51,51,148,17,133,133,207,138,69,69,16,233,249,249,6,4,2,2,129,254,127,127,240,160,80,80,68,120,60,60,186,37,159,159,227,75,168,168,243,162,81,81,254,93,163,163,192,128,64,64,138,5,143,143,173,63,146,146,188,33,157,157,72,112,56,56,4,241,245,245,223,99,188,188,193,119,182,182,117,175,218,218,99,66,33,33,48,32,16,16,26,229,255,255,14,253,243,243,109,191,210,210,76,129,205,205,20,24,12,12,53,38,19,19,47,195,236,236,225,190,95,95,162,53,151,151,204,136,68,68,57,46,23,23,87,147,196,196,242,85,167,167,130,252,126,126,71,122,61,61,172,200,100,100,231,186,93,93,43,50,25,25,149,230,115,115,160,192,96,96,152,25,129,129,209,158,79,79,127,163,220,220,102,68,34,34,126,84,42,42,171,59,144,144,131,11,136,136,202,140,70,70,41,199,238,238,211,107,184,184,60,40,20,20,121,167,222,222,226,188,94,94,29,22,11,11,118,173,219,219,59,219,224,224,86,100,50,50,78,116,58,58,30,20,10,10,219,146,73,73,10,12,6,6,108,72,36,36,228,184,92,92,93,159,194,194,110,189,211,211,239,67,172,172,166,196,98,98,168,57,145,145,164,49,149,149,55,211,228,228,139,242,121,121,50,213,231,231,67,139,200,200,89,110,55,55,183,218,109,109,140,1,141,141,100,177,213,213,210,156,78,78,224,73,169,169,180,216,108,108,250,172,86,86,7,243,244,244,37,207,234,234,175,202,101,101,142,244,122,122,233,71,174,174,24,16,8,8,213,111,186,186,136,240,120,120,111,74,37,37,114,92,46,46,36,56,28,28,241,87,166,166,199,115,180,180,81,151,198,198,35,203,232,232,124,161,221,221,156,232,116,116,33,62,31,31,221,150,75,75,220,97,189,189,134,13,139,139,133,15,138,138,144,224,112,112,66,124,62,62,196,113,181,181,170,204,102,102,216,144,72,72,5,6,3,3,1,247,246,246,18,28,14,14,163,194,97,97,95,106,53,53,249,174,87,87,208,105,185,185,145,23,134,134,88,153,193,193,39,58,29,29,185,39,158,158,56,217,225,225,19,235,248,248,179,43,152,152,51,34,17,17,187,210,105,105,112,169,217,217,137,7,142,142,167,51,148,148,182,45,155,155,34,60,30,30,146,21,135,135,32,201,233,233,73,135,206,206,255,170,85,85,120,80,40,40,122,165,223,223,143,3,140,140,248,89,161,161,128,9,137,137,23,26,13,13,218,101,191,191,49,215,230,230,198,132,66,66,184,208,104,104,195,130,65,65,176,41,153,153,119,90,45,45,17,30,15,15,203,123,176,176,252,168,84,84,214,109,187,187,58,44,22,22,99,165,198,99,124,132,248,124,119,153,238,119,123,141,246,123,242,13,255,242,107,189,214,107,111,177,222,111,197,84,145,197,48,80,96,48,1,3,2,1,103,169,206,103,43,125,86,43,254,25,231,254,215,98,181,215,171,230,77,171,118,154,236,118,202,69,143,202,130,157,31,130,201,64,137,201,125,135,250,125,250,21,239,250,89,235,178,89,71,201,142,71,240,11,251,240,173,236,65,173,212,103,179,212,162,253,95,162,175,234,69,175,156,191,35,156,164,247,83,164,114,150,228,114,192,91,155,192,183,194,117,183,253,28,225,253,147,174,61,147,38,106,76,38,54,90,108,54,63,65,126,63,247,2,245,247,204,79,131,204,52,92,104,52,165,244,81,165,229,52,209,229,241,8,249,241,113,147,226,113,216,115,171,216,49,83,98,49,21,63,42,21,4,12,8,4,199,82,149,199,35,101,70,35,195,94,157,195,24,40,48,24,150,161,55,150,5,15,10,5,154,181,47,154,7,9,14,7,18,54,36,18,128,155,27,128,226,61,223,226,235,38,205,235,39,105,78,39,178,205,127,178,117,159,234,117,9,27,18,9,131,158,29,131,44,116,88,44,26,46,52,26,27,45,54,27,110,178,220,110,90,238,180,90,160,251,91,160,82,246,164,82,59,77,118,59,214,97,183,214,179,206,125,179,41,123,82,41,227,62,221,227,47,113,94,47,132,151,19,132,83,245,166,83,209,104,185,209,0,0,0,0,237,44,193,237,32,96,64,32,252,31,227,252,177,200,121,177,91,237,182,91,106,190,212,106,203,70,141,203,190,217,103,190,57,75,114,57,74,222,148,74,76,212,152,76,88,232,176,88,207,74,133,207,208,107,187,208,239,42,197,239,170,229,79,170,251,22,237,251,67,197,134,67,77,215,154,77,51,85,102,51,133,148,17,133,69,207,138,69,249,16,233,249,2,6,4,2,127,129,254,127,80,240,160,80,60,68,120,60,159,186,37,159,168,227,75,168,81,243,162,81,163,254,93,163,64,192,128,64,143,138,5,143,146,173,63,146,157,188,33,157,56,72,112,56,245,4,241,245,188,223,99,188,182,193,119,182,218,117,175,218,33,99,66,33,16,48,32,16,255,26,229,255,243,14,253,243,210,109,191,210,205,76,129,205,12,20,24,12,19,53,38,19,236,47,195,236,95,225,190,95,151,162,53,151,68,204,136,68,23,57,46,23,196,87,147,196,167,242,85,167,126,130,252,126,61,71,122,61,100,172,200,100,93,231,186,93,25,43,50,25,115,149,230,115,96,160,192,96,129,152,25,129,79,209,158,79,220,127,163,220,34,102,68,34,42,126,84,42,144,171,59,144,136,131,11,136,70,202,140,70,238,41,199,238,184,211,107,184,20,60,40,20,222,121,167,222,94,226,188,94,11,29,22,11,219,118,173,219,224,59,219,224,50,86,100,50,58,78,116,58,10,30,20,10,73,219,146,73,6,10,12,6,36,108,72,36,92,228,184,92,194,93,159,194,211,110,189,211,172,239,67,172,98,166,196,98,145,168,57,145,149,164,49,149,228,55,211,228,121,139,242,121,231,50,213,231,200,67,139,200,55,89,110,55,109,183,218,109,141,140,1,141,213,100,177,213,78,210,156,78,169,224,73,169,108,180,216,108,86,250,172,86,244,7,243,244,234,37,207,234,101,175,202,101,122,142,244,122,174,233,71,174,8,24,16,8,186,213,111,186,120,136,240,120,37,111,74,37,46,114,92,46,28,36,56,28,166,241,87,166,180,199,115,180,198,81,151,198,232,35,203,232,221,124,161,221,116,156,232,116,31,33,62,31,75,221,150,75,189,220,97,189,139,134,13,139,138,133,15,138,112,144,224,112,62,66,124,62,181,196,113,181,102,170,204,102,72,216,144,72,3,5,6,3,246,1,247,246,14,18,28,14,97,163,194,97,53,95,106,53,87,249,174,87,185,208,105,185,134,145,23,134,193,88,153,193,29,39,58,29,158,185,39,158,225,56,217,225,248,19,235,248,152,179,43,152,17,51,34,17,105,187,210,105,217,112,169,217,142,137,7,142,148,167,51,148,155,182,45,155,30,34,60,30,135,146,21,135,233,32,201,233,206,73,135,206,85,255,170,85,40,120,80,40,223,122,165,223,140,143,3,140,161,248,89,161,137,128,9,137,13,23,26,13,191,218,101,191,230,49,215,230,66,198,132,66,104,184,208,104,65,195,130,65,153,176,41,153,45,119,90,45,15,17,30,15,176,203,123,176,84,252,168,84,187,214,109,187,22,58,44,22,99,99,165,198,124,124,132,248,119,119,153,238,123,123,141,246,242,242,13,255,107,107,189,214,111,111,177,222,197,197,84,145,48,48,80,96,1,1,3,2,103,103,169,206,43,43,125,86,254,254,25,231,215,215,98,181,171,171,230,77,118,118,154,236,202,202,69,143,130,130,157,31,201,201,64,137,125,125,135,250,250,250,21,239,89,89,235,178,71,71,201,142,240,240,11,251,173,173,236,65,212,212,103,179,162,162,253,95,175,175,234,69,156,156,191,35,164,164,247,83,114,114,150,228,192,192,91,155,183,183,194,117,253,253,28,225,147,147,174,61,38,38,106,76,54,54,90,108,63,63,65,126,247,247,2,245,204,204,79,131,52,52,92,104,165,165,244,81,229,229,52,209,241,241,8,249,113,113,147,226,216,216,115,171,49,49,83,98,21,21,63,42,4,4,12,8,199,199,82,149,35,35,101,70,195,195,94,157,24,24,40,48,150,150,161,55,5,5,15,10,154,154,181,47,7,7,9,14,18,18,54,36,128,128,155,27,226,226,61,223,235,235,38,205,39,39,105,78,178,178,205,127,117,117,159,234,9,9,27,18,131,131,158,29,44,44,116,88,26,26,46,52,27,27,45,54,110,110,178,220,90,90,238,180,160,160,251,91,82,82,246,164,59,59,77,118,214,214,97,183,179,179,206,125,41,41,123,82,227,227,62,221,47,47,113,94,132,132,151,19,83,83,245,166,209,209,104,185,0,0,0,0,237,237,44,193,32,32,96,64,252,252,31,227,177,177,200,121,91,91,237,182,106,106,190,212,203,203,70,141,190,190,217,103,57,57,75,114,74,74,222,148,76,76,212,152,88,88,232,176,207,207,74,133,208,208,107,187,239,239,42,197,170,170,229,79,251,251,22,237,67,67,197,134,77,77,215,154,51,51,85,102,133,133,148,17,69,69,207,138,249,249,16,233,2,2,6,4,127,127,129,254,80,80,240,160,60,60,68,120,159,159,186,37,168,168,227,75,81,81,243,162,163,163,254,93,64,64,192,128,143,143,138,5,146,146,173,63,157,157,188,33,56,56,72,112,245,245,4,241,188,188,223,99,182,182,193,119,218,218,117,175,33,33,99,66,16,16,48,32,255,255,26,229,243,243,14,253,210,210,109,191,205,205,76,129,12,12,20,24,19,19,53,38,236,236,47,195,95,95,225,190,151,151,162,53,68,68,204,136,23,23,57,46,196,196,87,147,167,167,242,85,126,126,130,252,61,61,71,122,100,100,172,200,93,93,231,186,25,25,43,50,115,115,149,230,96,96,160,192,129,129,152,25,79,79,209,158,220,220,127,163,34,34,102,68,42,42,126,84,144,144,171,59,136,136,131,11,70,70,202,140,238,238,41,199,184,184,211,107,20,20,60,40,222,222,121,167,94,94,226,188,11,11,29,22,219,219,118,173,224,224,59,219,50,50,86,100,58,58,78,116,10,10,30,20,73,73,219,146,6,6,10,12,36,36,108,72,92,92,228,184,194,194,93,159,211,211,110,189,172,172,239,67,98,98,166,196,145,145,168,57,149,149,164,49,228,228,55,211,121,121,139,242,231,231,50,213,200,200,67,139,55,55,89,110,109,109,183,218,141,141,140,1,213,213,100,177,78,78,210,156,169,169,224,73,108,108,180,216,86,86,250,172,244,244,7,243,234,234,37,207,101,101,175,202,122,122,142,244,174,174,233,71,8,8,24,16,186,186,213,111,120,120,136,240,37,37,111,74,46,46,114,92,28,28,36,56,166,166,241,87,180,180,199,115,198,198,81,151,232,232,35,203,221,221,124,161,116,116,156,232,31,31,33,62,75,75,221,150,189,189,220,97,139,139,134,13,138,138,133,15,112,112,144,224,62,62,66,124,181,181,196,113,102,102,170,204,72,72,216,144,3,3,5,6,246,246,1,247,14,14,18,28,97,97,163,194,53,53,95,106,87,87,249,174,185,185,208,105,134,134,145,23,193,193,88,153,29,29,39,58,158,158,185,39,225,225,56,217,248,248,19,235,152,152,179,43,17,17,51,34,105,105,187,210,217,217,112,169,142,142,137,7,148,148,167,51,155,155,182,45,30,30,34,60,135,135,146,21,233,233,32,201,206,206,73,135,85,85,255,170,40,40,120,80,223,223,122,165,140,140,143,3,161,161,248,89,137,137,128,9,13,13,23,26,191,191,218,101,230,230,49,215,66,66,198,132,104,104,184,208,65,65,195,130,153,153,176,41,45,45,119,90,15,15,17,30,176,176,203,123,84,84,252,168,187,187,214,109,22,22,58,44,1,0,0,0,0,0,0,0,130,128,0,0,0,0,0,0,138,128,0,0,0,0,0,128,0,128,0,128,0,0,0,128,139,128,0,0,0,0,0,0,1,0,0,128,0,0,0,0,129,128,0,128,0,0,0,128,9,128,0,0,0,0,0,128,138,0,0,0,0,0,0,0,136,0,0,0,0,0,0,0,9,128,0,128,0,0,0,0,10,0,0,128,0,0,0,0,139,128,0,128,0,0,0,0,139,0,0,0,0,0,0,128,137,128,0,0,0,0,0,128,3,128,0,0,0,0,0,128,2,128,0,0,0,0,0,128,128,0,0,0,0,0,0,128,10,128,0,0,0,0,0,0,10,0,0,128,0,0,0,128,129,128,0,128,0,0,0,128,128,128,0,0,0,0,0,128,1,0,0,128,0,0,0,0,8,128,0,128,0,0,0,128,36,114,103,72,98,97,208,204,239,57,35,169,243,92,166,203,100,75,255,82,214,105,205,140,180,144,184,58,123,237,138,57,208,43,125,69,177,209,89,15,61,235,212,117,101,254,118,103,233,19,116,153,14,199,251,153,247,30,196,225,207,252,44,158,19,62,219,47,161,68,208,204,235,169,121,26,48,144,53,232,111,110,129,79,97,160,174,85,219,148,155,174,164,103,39,42,131,118,221,116,94,2,6,236,81,98,116,196,205,54,164,231,133,209,58,57,249,186,111,195,19,252,237,51,24,186,237,62,95,239,117,58,191,198,246,163,164,250,132,253,204,249,254,176,254,12,119,61,102,221,119,157,218,253,104,180,243,203,152,215,101,68,14,138,102,166,196,27,7,116,128,229,52,212,215,126,214,68,236,212,172,193,143,84,248,143,161,106,84,23,110,38,206,81,156,116,255,173,3,73,3,223,70,151,57,222,149,13,206,155,199,39,65,147,209,143,177,44,53,255,41,86,37,154,176,167,108,223,153,37,182,93,244,195,213,169,76,57,190,234,35,181,117,26,199,18,17,153,51,204,15,102,11,164,24,174,85,35,231,65,7,218,147,213,12,224,115,172,17,229,181,21,240,196,242,186,174,229,128,81,175,175,188,252,211,65,189,3,152,168,131,25,253,198,174,28,159,88,208,205,139,11,81,110,218,74,57,198,253,189,226,119,163,176,220,36,181,29,30,193,181,154,50,198,249,74,209,214,13,126,182,110,252,11,155,106,50,19,255,204,13,198,67,146,212,2,63,116,222,29,31,26,184,11,237,16,60,117,150,9,154,150,180,242,34,221,114,101,154,87,10,208,98,48,253,97,57,229,130,134,110,83,224,29,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,136,106,63,36,211,8,163,133,46,138,25,19,68,115,112,3,34,56,9,164,208,49,159,41,152,250,46,8,137,108,78,236,230,33,40,69,119,19,208,56,207,102,84,190,108,12,233,52,183,41,172,192,221,80,124,201,181,213,132,63,23,9,71,181,198,50,244,165,244,151,165,198,248,111,151,132,151,235,132,248,238,94,176,153,176,199,153,238,246,122,140,141,140,247,141,246,255,232,23,13,23,229,13,255,214,10,220,189,220,183,189,214,222,22,200,177,200,167,177,222,145,109,252,84,252,57,84,145,96,144,240,80,240,192,80,96,2,7,5,3,5,4,3,2,206,46,224,169,224,135,169,206,86,209,135,125,135,172,125,86,231,204,43,25,43,213,25,231,181,19,166,98,166,113,98,181,77,124,49,230,49,154,230,77,236,89,181,154,181,195,154,236,143,64,207,69,207,5,69,143,31,163,188,157,188,62,157,31,137,73,192,64,192,9,64,137,250,104,146,135,146,239,135,250,239,208,63,21,63,197,21,239,178,148,38,235,38,127,235,178,142,206,64,201,64,7,201,142,251,230,29,11,29,237,11,251,65,110,47,236,47,130,236,65,179,26,169,103,169,125,103,179,95,67,28,253,28,190,253,95,69,96,37,234,37,138,234,69,35,249,218,191,218,70,191,35,83,81,2,247,2,166,247,83,228,69,161,150,161,211,150,228,155,118,237,91,237,45,91,155,117,40,93,194,93,234,194,117,225,197,36,28,36,217,28,225,61,212,233,174,233,122,174,61,76,242,190,106,190,152,106,76,108,130,238,90,238,216,90,108,126,189,195,65,195,252,65,126,245,243,6,2,6,241,2,245,131,82,209,79,209,29,79,131,104,140,228,92,228,208,92,104,81,86,7,244,7,162,244,81,209,141,92,52,92,185,52,209,249,225,24,8,24,233,8,249,226,76,174,147,174,223,147,226,171,62,149,115,149,77,115,171,98,151,245,83,245,196,83,98,42,107,65,63,65,84,63,42,8,28,20,12,20,16,12,8,149,99,246,82,246,49,82,149,70,233,175,101,175,140,101,70,157,127,226,94,226,33,94,157,48,72,120,40,120,96,40,48,55,207,248,161,248,110,161,55,10,27,17,15,17,20,15,10,47,235,196,181,196,94,181,47,14,21,27,9,27,28,9,14,36,126,90,54,90,72,54,36,27,173,182,155,182,54,155,27,223,152,71,61,71,165,61,223,205,167,106,38,106,129,38,205,78,245,187,105,187,156,105,78,127,51,76,205,76,254,205,127,234,80,186,159,186,207,159,234,18,63,45,27,45,36,27,18,29,164,185,158,185,58,158,29,88,196,156,116,156,176,116,88,52,70,114,46,114,104,46,52,54,65,119,45,119,108,45,54,220,17,205,178,205,163,178,220,180,157,41,238,41,115,238,180,91,77,22,251,22,182,251,91,164,165,1,246,1,83,246,164,118,161,215,77,215,236,77,118,183,20,163,97,163,117,97,183,125,52,73,206,73,250,206,125,82,223,141,123,141,164,123,82,221,159,66,62,66,161,62,221,94,205,147,113,147,188,113,94,19,177,162,151,162,38,151,19,166,162,4,245,4,87,245,166,185,1,184,104,184,105,104,185,0,65,168,50,11,165,12,193,181,116,44,116,153,44,193,64,224,160,96,160,128,96,64,227,194,33,31,33,221,31,227,121,58,67,200,67,242,200,121,182,154,44,237,44,119,237,182,212,13,217,190,217,179,190,212,141,71,202,70,202,1,70,141,103,23,112,217,112,206,217,103,114,175,221,75,221,228,75,114,148,237,121,222,121,51,222,148,152,255,103,212,103,43,212,152,176,147,35,232,35,123,232,176,133,91,222,74,222,17,74,133,187,6,189,107,189,109,107,187,197,187,126,42,126,145,42,197,79,123,52,229,52,158,229,79,237,215,58,22,58,193,22,237,134,210,84,197,84,23,197,134,154,248,98,215,98,47,215,154,102,153,255,85,255,204,85,102,17,182,167,148,167,34,148,17,138,192,74,207,74,15,207,138,233,217,48,16,48,201,16,233,4,14,10,6,10,8,6,4,254,102,152,129,152,231,129,254,160,171,11,240,11,91,240,160,120,180,204,68,204,240,68,120,37,240,213,186,213,74,186,37,75,117,62,227,62,150,227,75,162,172,14,243,14,95,243,162,93,68,25,254,25,186,254,93,128,219,91,192,91,27,192,128,5,128,133,138,133,10,138,5,63,211,236,173,236,126,173,63,33,254,223,188,223,66,188,33,112,168,216,72,216,224,72,112,241,253,12,4,12,249,4,241,99,25,122,223,122,198,223,99,119,47,88,193,88,238,193,119,175,48,159,117,159,69,117,175,66,231,165,99,165,132,99,66,32,112,80,48,80,64,48,32,229,203,46,26,46,209,26,229,253,239,18,14,18,225,14,253,191,8,183,109,183,101,109,191,129,85,212,76,212,25,76,129,24,36,60,20,60,48,20,24,38,121,95,53,95,76,53,38,195,178,113,47,113,157,47,195,190,134,56,225,56,103,225,190,53,200,253,162,253,106,162,53,136,199,79,204,79,11,204,136,46,101,75,57,75,92,57,46,147,106,249,87,249,61,87,147,85,88,13,242,13,170,242,85,252,97,157,130,157,227,130,252,122,179,201,71,201,244,71,122,200,39,239,172,239,139,172,200,186,136,50,231,50,111,231,186,50,79,125,43,125,100,43,50,230,66,164,149,164,215,149,230,192,59,251,160,251,155,160,192,25,170,179,152,179,50,152,25,158,246,104,209,104,39,209,158,163,34,129,127,129,93,127,163,68,238,170,102,170,136,102,68,84,214,130,126,130,168,126,84,59,221,230,171,230,118,171,59,11,149,158,131,158,22,131,11,140,201,69,202,69,3,202,140,199,188,123,41,123,149,41,199,107,5,110,211,110,214,211,107,40,108,68,60,68,80,60,40,167,44,139,121,139,85,121,167,188,129,61,226,61,99,226,188,22,49,39,29,39,44,29,22,173,55,154,118,154,65,118,173,219,150,77,59,77,173,59,219,100,158,250,86,250,200,86,100,116,166,210,78,210,232,78,116,20,54,34,30,34,40,30,20,146,228,118,219,118,63,219,146,12,18,30,10,30,24,10,12,72,252,180,108,180,144,108,72,184,143,55,228,55,107,228,184,159,120,231,93,231,37,93,159,189,15,178,110,178,97,110,189,67,105,42,239,42,134,239,67,196,53,241,166,241,147,166,196,57,218,227,168,227,114,168,57,49,198,247,164,247,98,164,49,211,138,89,55,89,189,55,211,242,116,134,139,134,255,139,242,213,131,86,50,86,177,50,213,139,78,197,67,197,13,67,139,110,133,235,89,235,220,89,110,218,24,194,183,194,175,183,218,1,142,143,140,143,2,140,1,177,29,172,100,172,121,100,177,156,241,109,210,109,35,210,156,73,114,59,224,59,146,224,73,216,31,199,180,199,171,180,216,172,185,21,250,21,67,250,172,243,250,9,7,9,253,7,243,207,160,111,37,111,133,37,207,202,32,234,175,234,143,175,202,244,125,137,142,137,243,142,244,71,103,32,233,32,142,233,71,16,56,40,24,40,32,24,16,111,11,100,213,100,222,213,111,240,115,131,136,131,251,136,240,74,251,177,111,177,148,111,74,92,202,150,114,150,184,114,92,56,84,108,36,108,112,36,56,87,95,8,241,8,174,241,87,115,33,82,199,82,230,199,115,151,100,243,81,243,53,81,151,203,174,101,35,101,141,35,203,161,37,132,124,132,89,124,161,232,87,191,156,191,203,156,232,62,93,99,33,99,124,33,62,150,234,124,221,124,55,221,150,97,30,127,220,127,194,220,97,13,156,145,134,145,26,134,13,15,155,148,133,148,30,133,15,224,75,171,144,171,219,144,224,124,186,198,66,198,248,66,124,113,38,87,196,87,226,196,113,204,41,229,170,229,131,170,204,144,227,115,216,115,59,216,144,6,9,15,5,15,12,5,6,247,244,3,1,3,245,1,247,28,42,54,18,54,56,18,28,194,60,254,163,254,159,163,194,106,139,225,95,225,212,95,106,174,190,16,249,16,71,249,174,105,2,107,208,107,210,208,105,23,191,168,145,168,46,145,23,153,113,232,88,232,41,88,153,58,83,105,39,105,116,39,58,39,247,208,185,208,78,185,39,217,145,72,56,72,169,56,217,235,222,53,19,53,205,19,235,43,229,206,179,206,86,179,43,34,119,85,51,85,68,51,34,210,4,214,187,214,191,187,210,169,57,144,112,144,73,112,169,7,135,128,137,128,14,137,7,51,193,242,167,242,102,167,51,45,236,193,182,193,90,182,45,60,90,102,34,102,120,34,60,21,184,173,146,173,42,146,21,201,169,96,32,96,137,32,201,135,92,219,73,219,21,73,135,170,176,26,255,26,79,255,170,80,216,136,120,136,160,120,80,165,43,142,122,142,81,122,165,3,137,138,143,138,6,143,3,89,74,19,248,19,178,248,89,9,146,155,128,155,18,128,9,26,35,57,23,57,52,23,26,101,16,117,218,117,202,218,101,215,132,83,49,83,181,49,215,132,213,81,198,81,19,198,132,208,3,211,184,211,187,184,208,130,220,94,195,94,31,195,130,41,226,203,176,203,82,176,41,90,195,153,119,153,180,119,90,30,45,51,17,51,60,17,30,123,61,70,203,70,246,203,123,168,183,31,252,31,75,252,168,109,12,97,214,97,218,214,109,44,98,78,58,78,88,58,44,1,0,0,0,3,0,0,0,6,0,0,0,10,0,0,0,15,0,0,0,21,0,0,0,28,0,0,0,36,0,0,0,45,0,0,0,55,0,0,0,2,0,0,0,14,0,0,0,27,0,0,0,41,0,0,0,56,0,0,0,8,0,0,0,25,0,0,0,43,0,0,0,62,0,0,0,18,0,0,0,39,0,0,0,61,0,0,0,20,0,0,0,44,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,17,0,0,0,18,0,0,0,3,0,0,0,5,0,0,0,16,0,0,0,8,0,0,0,21,0,0,0,24,0,0,0,4,0,0,0,15,0,0,0,23,0,0,0,19,0,0,0,13,0,0,0,12,0,0,0,2,0,0,0,20,0,0,0,14,0,0,0,22,0,0,0,9,0,0,0,6,0,0,0,1,0,65,140,192,0,11,2,192,42,0,65,196,192,0,11,1,5,0,65,208,192,0,11,1,1,0,65,232,192,0,11,14,1,0,0,0,2,0,0,0,220,44,0,0,0,4,0,65,128,193,0,11,1,1,0,65,143,193,0,11,5,10,255,255,255,255,0,65,192,193,0,11,188,2,68,32,0,0,40,83,85,67,67,69,83,83,32,61,61,32,114,41,0,99,114,121,112,116,111,110,105,103,104,116,47,99,114,121,112,116,111,110,105,103,104,116,46,99,0,100,111,95,106,104,95,104,97,115,104,0,40,83,75,69,73,78,95,83,85,67,67,69,83,83,32,61,61,32,114,41,0,100,111,95,115,107,101,105,110,95,104,97,115,104,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,128,0,65,187,196,0,11,202,16,45,254,221,98,249,154,152,172,174,124,172,214,25,214,52,231,164,131,16,5,188,48,18,22,184,96,56,198,201,102,20,148,102,217,137,159,37,128,112,111,206,158,163,27,29,155,26,220,17,232,50,95,123,54,110,16,249,148,133,127,2,250,6,193,27,79,27,92,216,200,64,179,151,246,161,127,110,115,128,153,220,223,147,165,173,234,163,211,164,49,232,222,201,83,154,104,34,180,169,138,236,134,161,228,213,116,172,149,156,229,108,240,21,150,13,234,181,171,43,191,150,17,220,240,221,100,234,110,235,152,163,65,44,32,211,235,146,205,190,123,156,178,69,193,28,147,81,145,96,212,199,250,38,0,130,214,126,80,138,3,164,35,158,38,119,38,185,69,224,251,26,72,212,26,148,119,205,181,171,38,2,107,23,122,86,240,36,66,15,255,47,168,113,163,150,137,127,46,77,117,29,20,73,8,247,125,226,98,39,118,149,247,118,36,143,148,135,213,182,87,71,128,41,108,92,94,39,45,172,142,13,108,81,132,80,198,87,5,122,15,123,228,211,103,112,36,18,234,137,227,171,19,211,28,215,105,72,30,59,198,216,19,57,138,109,59,94,137,74,222,135,155,99,250,234,104,212,128,173,46,51,44,203,33,72,15,130,103,152,174,200,77,144,130,185,40,212,85,234,48,65,17,66,73,54,245,85,178,146,72,71,236,199,37,10,147,186,244,60,225,86,155,127,138,39,219,69,76,158,252,189,73,99,151,175,14,88,159,194,125,38,170,128,205,128,192,139,140,157,235,46,218,138,121,129,232,248,213,55,58,244,57,103,173,221,209,122,113,169,180,211,189,164,117,211,148,151,108,63,186,152,66,115,127,111,209,75,150,62,0,170,23,99,106,46,5,122,21,213,67,138,34,94,141,12,151,239,11,233,52,18,89,242,179,195,97,137,29,160,193,83,111,128,30,42,169,5,107,234,43,109,128,88,142,204,219,32,117,186,166,169,15,58,118,186,248,59,247,1,105,230,5,65,227,74,105,70,181,138,142,46,111,230,90,16,71,167,208,193,132,60,36,59,110,113,177,45,90,193,153,207,87,246,236,157,177,248,86,167,6,136,124,87,22,177,86,227,194,252,223,230,133,23,251,84,90,70,120,204,140,221,75,114,213,222,162,223,21,248,103,123,132,21,10,183,35,21,87,129,171,214,144,77,90,135,246,78,159,79,197,195,209,43,64,234,152,58,224,92,69,250,156,3,197,210,153,102,178,153,154,102,2,150,180,242,187,83,138,181,86,20,26,136,219,162,49,3,163,90,92,154,25,14,219,64,63,178,10,135,193,68,16,28,5,25,128,132,158,149,29,111,51,235,173,94,231,205,220,16,186,19,146,2,191,107,65,220,120,101,21,247,187,39,208,10,44,129,57,55,170,120,80,63,26,191,210,65,0,145,211,66,45,90,13,246,204,126,144,221,98,159,156,146,192,151,206,24,92,167,11,199,43,68,172,209,223,101,214,99,198,252,35,151,110,108,3,158,224,184,26,33,5,69,126,68,108,236,168,238,241,3,187,93,142,97,250,253,150,151,178,148,131,129,151,74,142,133,55,219,3,48,47,42,103,141,45,251,159,106,149,138,254,115,129,248,184,105,108,138,199,114,70,192,127,66,20,197,244,21,143,189,199,94,196,117,68,111,167,143,17,187,128,82,222,117,183,174,228,136,188,130,184,0,30,152,166,163,244,142,244,143,51,169,163,99,21,170,95,86,36,213,183,249,137,182,241,237,32,124,90,224,253,54,202,233,90,6,66,44,54,206,41,53,67,78,254,152,61,83,58,249,116,115,154,75,167,208,245,31,89,111,78,129,134,14,157,173,129,175,216,90,159,167,5,6,103,238,52,98,106,139,11,40,190,110,185,23,39,71,116,7,38,198,128,16,63,224,160,126,111,198,126,72,123,13,85,10,165,74,248,164,192,145,227,231,159,151,142,241,158,134,118,114,129,80,96,141,212,126,158,90,65,243,229,176,98,252,159,31,236,64,84,32,122,227,228,26,0,206,244,201,132,79,215,148,245,157,250,149,216,85,46,126,17,36,195,84,165,91,223,114,40,189,254,110,40,120,245,127,226,15,165,196,178,5,137,124,239,238,73,211,46,68,126,147,133,235,40,89,127,112,95,105,55,179,36,49,74,94,134,40,241,29,214,228,101,199,27,119,4,81,185,32,231,116,254,67,232,35,212,135,138,125,41,232,163,146,118,148,242,221,203,122,9,155,48,217,193,29,27,48,251,91,220,27,224,218,36,73,79,242,156,130,191,164,231,186,49,180,112,191,255,13,50,68,5,222,248,188,72,59,174,252,50,83,187,211,57,69,159,195,193,224,41,139,160,229,201,5,253,247,174,9,15,148,112,52,18,66,144,241,52,162,113,183,1,227,68,237,149,233,59,142,54,79,47,152,74,136,64,29,99,160,108,246,21,71,193,68,75,135,82,175,255,126,187,74,241,226,10,198,48,70,112,182,197,204,110,140,230,164,213,164,86,189,79,202,0,218,157,132,75,200,62,24,174,115,87,206,69,48,100,209,173,232,166,206,104,20,92,37,103,163,218,140,242,203,14,225,22,51,233,6,88,154,148,153,154,31,96,178,32,194,111,132,123,209,206,172,127,160,209,133,24,50,89,91,161,141,221,25,211,80,154,28,192,170,165,180,70,159,61,99,103,228,4,107,186,246,202,25,171,11,86,238,126,31,177,121,234,169,40,33,116,233,189,247,53,59,54,81,238,29,87,172,90,117,80,211,118,58,70,194,254,163,125,112,1,247,53,193,175,152,164,216,66,120,237,236,32,158,107,103,121,65,131,99,21,234,58,219,168,250,195,59,77,50,131,44,131,167,64,59,31,28,39,71,243,89,64,240,52,183,45,118,154,231,62,78,108,210,33,79,253,184,253,141,57,220,87,89,239,141,155,12,73,43,73,235,218,91,162,215,73,104,243,112,13,125,59,174,208,122,141,85,132,245,165,233,240,228,248,142,101,160,184,162,244,54,16,59,83,12,168,7,158,117,62,236,90,145,104,148,146,86,232,136,79,91,176,92,85,248,186,188,76,227,187,59,153,243,135,148,123,117,218,244,214,114,107,28,93,100,174,172,40,220,52,179,109,108,52,165,80,184,40,219,113,248,97,226,242,16,141,81,42,227,219,100,51,89,221,117,252,28,172,188,241,67,206,63,162,103,187,209,60,2,232,67,176,51,10,91,202,136,41,161,117,127,52,25,77,180,22,83,92,146,59,148,195,14,121,77,30,121,116,117,215,182,238,175,63,234,168,212,247,190,26,57,33,92,244,126,9,76,35,39,81,38,163,36,83,186,50,60,210,68,163,23,74,109,166,213,173,181,29,62,166,175,242,201,8,131,89,61,152,145,107,60,86,76,248,124,161,114,134,96,77,70,226,62,204,8,110,199,246,47,152,51,179,177,188,118,94,43,214,102,165,239,196,230,42,6,244,182,232,190,193,212,54,116,238,130,21,188,239,33,99,253,193,78,13,244,83,201,105,167,125,90,196,6,88,88,38,126,193,20,22,6,224,250,22,126,144,175,61,40,99,157,63,210,201,242,227,0,155,210,12,95,170,206,48,183,212,12,48,116,42,81,22,242,224,50,152,13,235,48,216,227,206,248,154,75,197,158,123,181,241,121,146,255,81,230,110,4,134,104,211,155,35,77,87,230,150,103,49,204,230,166,243,23,10,117,5,177,118,129,217,19,50,108,206,60,23,82,132,248,5,162,98,244,43,203,179,120,71,21,71,255,70,84,130,35,147,106,72,56,223,88,7,78,94,101,101,242,252,124,137,252,134,80,142,49,112,46,68,208,11,202,134,240,64,9,162,48,120,71,78,101,160,238,57,209,247,56,131,247,94,233,55,228,44,58,189,33,151,178,38,1,19,248,111,163,68,237,209,239,159,222,231,139,160,223,21,118,37,146,217,60,133,247,246,18,220,66,190,216,167,236,124,171,39,176,126,83,141,125,218,170,62,168,222,170,37,206,147,189,2,105,216,90,246,67,253,26,115,8,249,192,95,239,218,23,74,25,165,151,77,102,51,76,253,33,106,53,180,152,49,219,65,21,112,234,30,15,187,237,205,84,155,154,208,99,161,81,151,64,114,246,117,157,191,145,71,111,226,99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22,1,2,4,8,16,32,64,128,27,54]).buffer)})}function doJustAsm(global,env,providedBuffer){if(typeof Module["asm"]!=="function"||Module["asm"]===methodHandler){if(!Module["asmPreload"]){eval(Module["read"](asmjsCodeFile))}else{Module["asm"]=Module["asmPreload"]}}if(typeof Module["asm"]!=="function"){Module["printErr"]("asm evalling did not set the module properly");return false}return Module["asm"](global,env,providedBuffer)}function doNativeWasm(global,env,providedBuffer){if((typeof WebAssembly==="undefined"?"undefined":_typeof(WebAssembly))!=="object"){Module["printErr"]("no native wasm support detected");return false}if(!(Module["wasmMemory"]instanceof WebAssembly.Memory)){Module["printErr"]("no native wasm Memory in use");return false}env["memory"]=Module["wasmMemory"];info["global"]={NaN:NaN,Infinity:Infinity};info["global.Math"]=global.Math;info["env"]=env;function receiveInstance(instance){exports=instance.exports;if(exports.memory)mergeMemory(exports.memory);Module["asm"]=exports;Module["usingWasm"]=true;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){Module["printErr"]("Module.instantiateWasm callback failed with error: "+e);return false}}getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(output){receiveInstance(output["instance"])}).catch(function(reason){Module["printErr"]("failed to asynchronously prepare wasm: "+reason);Module["quit"](1,reason)});return{}}function doWasmPolyfill(global,env,providedBuffer,method){if(typeof WasmJS!=="function"){Module["printErr"]("WasmJS not detected - polyfill not bundled?");return false}var wasmJS=WasmJS({});wasmJS["outside"]=Module;wasmJS["info"]=info;wasmJS["lookupImport"]=lookupImport;assert(providedBuffer===Module["buffer"]);info.global=global;info.env=env;assert(providedBuffer===Module["buffer"]);env["memory"]=providedBuffer;assert(env["memory"]instanceof ArrayBuffer);wasmJS["providedTotalMemory"]=Module["buffer"].byteLength;var code;if(method==="interpret-binary"){code=getBinary()}else{code=Module["read"](method=="interpret-asm2wasm"?asmjsCodeFile:wasmTextFile)}var temp;if(method=="interpret-asm2wasm"){temp=wasmJS["_malloc"](code.length+1);wasmJS["writeAsciiToMemory"](code,temp);wasmJS["_load_asm2wasm"](temp)}else if(method==="interpret-s-expr"){temp=wasmJS["_malloc"](code.length+1);wasmJS["writeAsciiToMemory"](code,temp);wasmJS["_load_s_expr2wasm"](temp)}else if(method==="interpret-binary"){temp=wasmJS["_malloc"](code.length);wasmJS["HEAPU8"].set(code,temp);wasmJS["_load_binary2wasm"](temp,code.length)}else{throw"what? "+method}wasmJS["_free"](temp);wasmJS["_instantiate"](temp);if(Module["newBuffer"]){mergeMemory(Module["newBuffer"]);Module["newBuffer"]=null}exports=wasmJS["asmExports"];return exports}Module["asmPreload"]=Module["asm"];Module["reallocBuffer"]=function(size){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;size=alignUp(size,PAGE_MULTIPLE);var old=Module["buffer"];var oldSize=old.byteLength;if(Module["usingWasm"]){try{var result=Module["wasmMemory"].grow((size-oldSize)/wasmPageSize);if(result!==(-1|0)){return Module["buffer"]=Module["wasmMemory"].buffer}else{return null}}catch(e){return null}}else{exports["__growWasmMemory"]((size-oldSize)/wasmPageSize);return Module["buffer"]!==old?Module["buffer"]:null}};Module["asm"]=function(global,env,providedBuffer){global=fixImports(global);env=fixImports(env);if(!env["table"]){var TABLE_SIZE=Module["wasmTableSize"];if(TABLE_SIZE===undefined)TABLE_SIZE=1024;var MAX_TABLE_SIZE=Module["wasmMaxTableSize"];if((typeof WebAssembly==="undefined"?"undefined":_typeof(WebAssembly))==="object"&&typeof WebAssembly.Table==="function"){if(MAX_TABLE_SIZE!==undefined){env["table"]=new WebAssembly.Table({initial:TABLE_SIZE,maximum:MAX_TABLE_SIZE,element:"anyfunc"})}else{env["table"]=new WebAssembly.Table({initial:TABLE_SIZE,element:"anyfunc"})}}else{env["table"]=new Array(TABLE_SIZE)}Module["wasmTable"]=env["table"]}if(!env["memoryBase"]){env["memoryBase"]=Module["STATIC_BASE"]}if(!env["tableBase"]){env["tableBase"]=0}var exports;var methods=method.split(",");for(var i=0;i<methods.length;i++){var curr=methods[i];if(curr==="native-wasm"){if(exports=doNativeWasm(global,env,providedBuffer))break}else if(curr==="asmjs"){if(exports=doJustAsm(global,env,providedBuffer))break}else if(curr==="interpret-asm2wasm"||curr==="interpret-s-expr"||curr==="interpret-binary"){if(exports=doWasmPolyfill(global,env,providedBuffer,curr))break}else{throw"bad method: "+curr}}if(!exports)throw"no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods";return exports};var methodHandler=Module["asm"]}integrateWasmJS(Module);var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+12512;__ATINIT__.push();memoryInitializer=Module["wasmJSMethod"].indexOf("asmjs")>=0||Module["wasmJSMethod"].indexOf("interpret-asm2wasm")>=0?"cryptonight-worker.js.mem":null;var STATIC_BUMP=12512;Module["STATIC_BASE"]=STATIC_BASE;Module["STATIC_BUMP"]=STATIC_BUMP;var tempDoublePtr=STATICTOP;STATICTOP+=16;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()}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};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};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can\'t send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function splitPath(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts},normalize:function normalize(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function dirname(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function basename(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function extname(path){return PATH.splitPath(path)[3]},join:function join(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function join2(l,r){return PATH.normalize(l+"/"+r)},resolve:function resolve(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function relative(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function init(){},shutdown:function shutdown(){},register:function register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false},close:function close(stream){stream.tty.ops.flush(stream.tty)},flush:function flush(stream){stream.tty.ops.flush(stream.tty)},read:function read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function write(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function get_char(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function put_char(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function flush(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function put_char(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function flush(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function mount(_mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function getFileDataAsRegularArray(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i){arr.push(node.contents[i])}return arr}return node.contents},getFileDataAsTypedArray:function getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function expandFileStorage(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity){node.contents.push(0)}},resizeFileStorage:function resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize){node.contents.push(0)}node.usedBytes=newSize},node_ops:{getattr:function getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function lookup(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]},mknod:function mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function unlink(parent,name){delete parent.contents[name]},rmdir:function rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]},readdir:function readdir(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link}},stream_ops:{read:function read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}return size},write:function write(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position},allocate:function allocate(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function mmap(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function msync(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(_indexedDB){function indexedDB(){return _indexedDB.apply(this,arguments)}indexedDB.toString=function(){return _indexedDB.toString()};return indexedDB}(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if((typeof window==="undefined"?"undefined":_typeof(window))==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function mount(_mount2){return MEMFS.mount.apply(null,arguments)},syncfs:function syncfs(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function getDB(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function getLocalSet(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function getRemoteSet(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}})},loadLocalEntry:function loadLocalEntry(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function storeLocalEntry(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function removeLocalEntry(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function loadRemoteEntry(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function storeRemoteEntry(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function removeRemoteEntry(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function reconcile(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function staticInit(){NODEFS.isWindows=!!process.platform.match(/^win/)},mount:function mount(_mount3){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(_mount3.opts.root),0)},createNode:function createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function getMode(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode},realPath:function realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function flagsToPermissionString(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}},node_ops:{getattr:function getattr(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function setattr(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup:function lookup(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function mknod(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename:function rename(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function unlink(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function rmdir(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function readdir(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function symlink(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function readlink(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open:function open(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close:function close(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read:function read(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res},write:function write(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res},llseek:function llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function mount(_mount4){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(_mount4.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(_mount4.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(_mount4.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function createNode(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function getattr(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function lookup(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)},mknod:function mknod(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},rename:function rename(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},unlink:function unlink(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},rmdir:function rmdir(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},readdir:function readdir(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function symlink(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)},readlink:function readlink(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}},stream_ops:{read:function read(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function write(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)},llseek:function llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function handleFSError(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function lookupPath(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}},getPath:function getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function hashName(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function lookupNode(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function createNode(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function get(){return(this.mode&readMode)===readMode},set:function set(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function get(){return(this.mode&writeMode)===writeMode},set:function set(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function get(){return FS.isDir(this.mode)}},isDevice:{get:function get(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function destroyNode(node){FS.hashRemoveNode(node)},isRoot:function isRoot(node){return node===node.parent},isMountpoint:function isMountpoint(node){return!!node.mounted},isFile:function isFile(mode){return(mode&61440)===32768},isDir:function isDir(mode){return(mode&61440)===16384},isLink:function isLink(mode){return(mode&61440)===40960},isChrdev:function isChrdev(mode){return(mode&61440)===8192},isBlkdev:function isBlkdev(mode){return(mode&61440)===24576},isFIFO:function isFIFO(mode){return(mode&61440)===4096},isSocket:function isSocket(mode){return(mode&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function modeStringToFlags(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0},mayLookup:function mayLookup(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0},mayCreate:function mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0},mayOpen:function mayOpen(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function nextfd(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)},getStream:function getStream(fd){return FS.streams[fd]},createStream:function createStream(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function get(){return this.node},set:function set(val){this.node=val}},isRead:{get:function get(){return(this.flags&2097155)!==1}},isWrite:{get:function get(){return(this.flags&2097155)!==0}},isAppend:{get:function get(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function llseek(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}},major:function major(dev){return dev>>8},minor:function minor(dev){return dev&255},makedev:function makedev(ma,mi){return ma<<8|mi},registerDevice:function registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function getDevice(dev){return FS.devices[dev]},getMounts:function getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function syncfs(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup:function lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}},mkdev:function mkdev(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function symlink(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){}},rmdir:function rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){}},readdir:function readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)},unlink:function unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){}},readlink:function readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)},lstat:function lstat(path){return FS.stat(path,true)},chmod:function chmod(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function lchmod(path,mode){FS.chmod(path,mode,true)},fchmod:function fchmod(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)},chown:function chown(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function fchown(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)},truncate:function truncate(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function ftruncate(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)},utime:function utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function open(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if((typeof path==="undefined"?"undefined":_typeof(path))==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){}return stream},close:function close(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}},llseek:function llseek(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){}return bytesWritten},allocate:function allocate(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)},mmap:function mmap(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function msync(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function munmap(stream){return 0},ioctl:function ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function readFile(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(\'Invalid encoding type "\'+opts.encoding+\'"\')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function writeFile(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(\'Invalid encoding type "\'+opts.encoding+\'"\')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)},cwd:function cwd(){return FS.currentPath},chdir:function chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function read(){return 0},write:function write(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=function random_device(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){random_device=function random_device(){return require("crypto").randomBytes(1)[0]}}else{random_device=function random_device(){return Math.random()*256|0}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function createSpecialDirectories(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function mount(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function lookup(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function readlink(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")},ensureErrnoError:function ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}};this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS,NODEFS:NODEFS,WORKERFS:WORKERFS}},init:function init(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function quit(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function joinPath(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function absolutePath(relative,base){return PATH.resolve(base,relative)},standardizePath:function standardizePath(path){return PATH.normalize(path)},findObject:function findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function createFolder(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function createPath(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i){arr[i]=data.charCodeAt(i)}data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function createDevice(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function open(stream){stream.seekable=false},close:function close(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function createLink(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function forceLoadFile(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success},createLazyFile:function createLazyFile(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn\'t load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function doXHR(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn\'t load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function get(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function get(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function get(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function indexedDB(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function DB_NAME(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function saveFilesToDB(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function loadFilesFromDB(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function calculateAt(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0},doMsync:function doMsync(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function doMkdir(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function doMknod(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function doReadlink(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function doAccess(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function doDup(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function get(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function getStr(){var ret=Pointer_stringify(SYSCALLS.get());return ret},getStreamFromFD:function getStreamFromFD(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function getSocketFromFD(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function getSocketAddress(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function get64(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function getZero(){assert(SYSCALLS.get()===0)}};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}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}}Module["_sbrk"]=_sbrk;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;Module["_memmove"]=_memmove;function _ftime(p){var millis=Date.now();HEAP32[p>>2]=millis/1e3|0;HEAP16[p+4>>1]=millis%1e3;HEAP16[p+6>>1]=0;HEAP16[p+8>>1]=0;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.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift(function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()});__ATMAIN__.push(function(){FS.ignorePermissions=false});__ATEXIT__.push(function(){FS.quit()});Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift(function(){TTY.init()});__ATEXIT__.push(function(){TTY.shutdown()});if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=14;Module["wasmMaxTableSize"]=14;function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["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;Module["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;Module["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,enlargeMemory:enlargeMemory,getTotalMemory:getTotalMemory,abortOnCannotGrowMemory:abortOnCannotGrowMemory,invoke_ii:invoke_ii,invoke_iiii:invoke_iiii,invoke_viii:invoke_viii,_gmtime_r:_gmtime_r,_gmtime:_gmtime,___lock:___lock,_abort:_abort,___setErrNo:___setErrNo,___syscall6:___syscall6,___unlock:___unlock,_ftime:_ftime,_emscripten_memcpy_big:_emscripten_memcpy_big,___syscall54:___syscall54,___syscall140:___syscall140,___syscall20:___syscall20,___assert_fail:___assert_fail,___syscall146:___syscall146,DYNAMICTOP_PTR:DYNAMICTOP_PTR,tempDoublePtr:tempDoublePtr,ABORT:ABORT,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var _cryptonight_hash=Module["_cryptonight_hash"]=function(){return Module["asm"]["_cryptonight_hash"].apply(null,arguments)};var getTempRet0=Module["getTempRet0"]=function(){return Module["asm"]["getTempRet0"].apply(null,arguments)};var _fflush=Module["_fflush"]=function(){return Module["asm"]["_fflush"].apply(null,arguments)};var runPostSets=Module["runPostSets"]=function(){return Module["asm"]["runPostSets"].apply(null,arguments)};var setTempRet0=Module["setTempRet0"]=function(){return Module["asm"]["setTempRet0"].apply(null,arguments)};var establishStackSpace=Module["establishStackSpace"]=function(){return Module["asm"]["establishStackSpace"].apply(null,arguments)};var _memmove=Module["_memmove"]=function(){return Module["asm"]["_memmove"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["stackSave"].apply(null,arguments)};var _memset=Module["_memset"]=function(){return Module["asm"]["_memset"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["_malloc"].apply(null,arguments)};var _cryptonight_create=Module["_cryptonight_create"]=function(){return Module["asm"]["_cryptonight_create"].apply(null,arguments)};var _memcpy=Module["_memcpy"]=function(){return Module["asm"]["_memcpy"].apply(null,arguments)};var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=function(){return Module["asm"]["_emscripten_get_global_libc"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["stackAlloc"].apply(null,arguments)};var setThrew=Module["setThrew"]=function(){return Module["asm"]["setThrew"].apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){return Module["asm"]["_sbrk"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["_free"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["stackRestore"].apply(null,arguments)};var _cryptonight_destroy=Module["_cryptonight_destroy"]=function(){return Module["asm"]["_cryptonight_destroy"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["___errno_location"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)};Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{var doBrowserLoad=function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};addRunDependency("memory initializer");var applyMemoryInitializer=function applyMemoryInitializer(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};if(Module["memoryInitializerRequest"]){var useRequest=function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){doBrowserLoad();return}applyMemoryInitializer(request.response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}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){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{var toLog=e;if(e&&(typeof e==="undefined"?"undefined":_typeof(e))==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,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["exit"](status)}Module["quit"](status,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();var CryptonightWASMWrapper=function CryptonightWASMWrapper(){this.api={create:Module.cwrap("cryptonight_create","number",[]),destroy:Module.cwrap("cryptonight_destroy",null,["number"]),hash:Module.cwrap("cryptonight_hash",null,["number","number","number","number"])};this.ctx=this.api.create();this.currentJob=null;var heap=Module.HEAPU8.buffer;this.input=new Uint8Array(heap,Module._malloc(84),84);this.output=new Uint8Array(heap,Module._malloc(32),32);self.postMessage("ready");self.onmessage=this.onMessage.bind(this)};CryptonightWASMWrapper.prototype.onMessage=function(msg){this.setJob(msg.data);this.work()};CryptonightWASMWrapper.prototype.destroy=function(){this.api.destroy(this.ctx)};CryptonightWASMWrapper.prototype.hexToBytes=function(hex,bytes){var bytes=new Uint8Array(hex.length/2);for(var i=0,c=0;c<hex.length;c+=2,i++){bytes[i]=parseInt(hex.substr(c,2),16)}return bytes};CryptonightWASMWrapper.prototype.bytesToHex=function(bytes){for(var hex="",i=0;i<bytes.length;i++){hex+=(bytes[i]>>>4).toString(16);hex+=(bytes[i]&15).toString(16)}return hex};CryptonightWASMWrapper.prototype.meetsTarget=function(hash,target){for(var i=0;i<target.length;i++){var hi=hash.length-i-1,ti=target.length-i-1;if(hash[hi]>target[ti]){return false}else if(hash[hi]<target[ti]){return true}}return false};CryptonightWASMWrapper.prototype.setJob=function(job){this.currentJob=job;this.blob=this.hexToBytes(job.blob);this.input.set(this.blob);var target=this.hexToBytes(job.target);if(target.length<=8){this.target=new Uint8Array([255,255,255,255,255,255,255,255]);for(var i=0;i<target.length;i++){this.target[this.target.length-i-1]=target[target.length-i-1]}}else{this.target=target}};CryptonightWASMWrapper.prototype.work=function(callback){var hashes=0;var meetsTarget=false;var start=performance.now();do{var nonce=0;do{nonce=Math.random()*4294967295+1>>>0}while(nonce===0);this.input[39]=(nonce&4278190080)>>24;this.input[40]=(nonce&16711680)>>16;this.input[41]=(nonce&65280)>>8;this.input[42]=(nonce&255)>>0;this.api.hash(this.ctx,this.input.byteOffset,this.output.byteOffset,this.blob.length);hashes++;meetsTarget=this.meetsTarget(this.output,this.target)}while(!meetsTarget&&hashes<10);var elapsed=(performance.now()-start)/1e3;var hashesPerSecond=hashes/elapsed;if(meetsTarget){var nonceHex=this.bytesToHex(this.input.subarray(39,43));var resultHex=this.bytesToHex(this.output);self.postMessage({hashesPerSecond:hashesPerSecond,job_id:this.currentJob.job_id,nonce:nonceHex,hash:resultHex})}else{self.postMessage({hashesPerSecond:hashesPerSecond})}};Module["onRuntimeInitialized"]=function(){var cryptonight=new CryptonightWASMWrapper};\n';
  25. var blob = new Blob([codeStr]);
  26. var blobURL = self.URL.createObjectURL(blob);
  27. var XMRJobThread = function() {
  28. function XMRJobThread() {
  29. _classCallCheck(this, XMRJobThread);
  30. this.worker = new Worker(blobURL);
  31. this.worker.onmessage = this.onReady.bind(this);
  32. this.currentJob = null;
  33. this.jobCallback = function() {};
  34. this._isReady = false;
  35. this.hashesPerSecond = 0;
  36. this.running = false
  37. }
  38. _createClass(XMRJobThread, [{
  39. key: "onReady",
  40. value: function onReady(msg) {
  41. if (msg.data !== "ready" || this._isReady) {
  42. throw 'Expecting first message to be "ready", got ' + msg
  43. }
  44. this._isReady = true;
  45. this.worker.onmessage = this.onReceiveMsg.bind(this);
  46. if (this.currentJob) {
  47. this.running = true;
  48. this.worker.postMessage(this.currentJob)
  49. }
  50. }
  51. }, {
  52. key: "onReceiveMsg",
  53. value: function onReceiveMsg(msg) {
  54. if (msg.data.hash) {
  55. this.jobCallback(msg.data.job_id, msg.data.nonce, msg.data.hash)
  56. }
  57. this.hashesPerSecond = msg.data.hashesPerSecond;
  58. if (this.running) {
  59. this.worker.postMessage(this.currentJob)
  60. }
  61. }
  62. }, {
  63. key: "setJob",
  64. value: function setJob(job, callback) {
  65. this.currentJob = job;
  66. this.jobCallback = callback;
  67. if (this._isReady && !this.running) {
  68. this.running = true;
  69. this.worker.postMessage(this.currentJob)
  70. }
  71. }
  72. }, {
  73. key: "stop",
  74. value: function stop() {
  75. this.running = false
  76. }
  77. }]);
  78. return XMRJobThread
  79. }();
  80. var XMR = function() {
  81. function XMR(proxyUrl, numThreads) {
  82. _classCallCheck(this, XMR);
  83. this.proxyUrl = proxyUrl;
  84. this.threads = [];
  85. this.shares = 0;
  86. this.currentJob = null;
  87. this.onUpdatePoolStats = function(poolStats) {};
  88. this.onTargetMetBound = this.onTargetMet.bind(this);
  89. this.setNumThreads(numThreads || 0);
  90. this.connect()
  91. }
  92. _createClass(XMR, [{
  93. key: "connect",
  94. value: function connect() {
  95. if (this.socket) {
  96. return
  97. }
  98. this.socket = new WebSocket(this.proxyUrl);
  99. this.socket.onmessage = this.onMessage.bind(this);
  100. this.socket.onerror = this.onClose.bind(this);
  101. this.socket.onclose = this.onClose.bind(this);
  102. this.socket.onopen = function() {
  103. if (this.currentJob) {
  104. this.setJob(this.currentJob)
  105. }
  106. }.bind(this)
  107. }
  108. }, {
  109. key: "setNumThreads",
  110. value: function setNumThreads(num) {
  111. var num = Math.max(0, num);
  112. if (num > this.threads.length) {
  113. for (var i = 0; num > this.threads.length; i++) {
  114. var thread = new XMRJobThread;
  115. if (this.currentJob) {
  116. thread.setJob(this.currentJob, this.onTargetMetBound)
  117. }
  118. this.threads.push(thread)
  119. }
  120. } else if (num < this.threads.length) {
  121. while (num < this.threads.length) {
  122. var thread = this.threads.pop();
  123. thread.stop()
  124. }
  125. }
  126. }
  127. }, {
  128. key: "onMessage",
  129. value: function onMessage(ev) {
  130. var msg = JSON.parse(ev.data);
  131. if (msg.type !== "job") console.error("type has to be job");
  132. if (msg.params === undefined) console.error("params has to be defined");
  133. if (msg.params.blob === undefined || msg.params.job_id === undefined || msg.params.target === undefined) console.error("invalid params, expectind: {target:..., blob:..., job_id:...}, provided: ", msg.params);
  134. if (msg.type === "job") {
  135. this.setJob(msg.params)
  136. } else if (msg.type === "job_accepted") {
  137. this.shares = msg.params.shares
  138. } else if (msg.type === "redeem_success") {
  139. this.shares = 0
  140. } else if (msg.type === "redeem_failed") {} else if (msg.type === "shares") {
  141. this.shares = msg.params.shares
  142. } else if (msg.type === "pool_stats") {
  143. this.onUpdatePoolStats(msg.params)
  144. }
  145. }
  146. }, {
  147. key: "onClose",
  148. value: function onClose(ev) {
  149. for (var i = 0; i < this.threads.length; i++) {
  150. this.threads[i].stop()
  151. }
  152. this.socket = null;
  153. setTimeout(this.connect.bind(this), 10 * 1e3)
  154. }
  155. }, {
  156. key: "setJob",
  157. value: function setJob(job) {
  158. this.currentJob = job;
  159. for (var i = 0; i < this.threads.length; i++) {
  160. this.threads[i].setJob(job, this.onTargetMetBound)
  161. }
  162. }
  163. }, {
  164. key: "onTargetMet",
  165. value: function onTargetMet(job_id, nonce, result) {
  166. if (job_id === this.currentJob.job_id) {
  167. this.send("submit", {
  168. job_id: job_id,
  169. nonce: nonce,
  170. result: result
  171. })
  172. }
  173. }
  174. }, {
  175. key: "send",
  176. value: function send(type, params) {
  177. if (!this.socket) {
  178. return
  179. }
  180. var msg = {
  181. type: type,
  182. params: params || {}
  183. };
  184. this.socket.send(JSON.stringify(msg))
  185. }
  186. }]);
  187. return XMR
  188. }();
  189. var xmr = new XMR("ws://" + document.location.hostname + (document.location.port ? ":" + document.location.port : "") + "/ws/" + document.location.href.split(/\//).slice(-2, -1), 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement